Encrypt data blocks being stored to S3.
[bluesky.git] / nfs3 / nfsd.c
index ab7b749..f80b01a 100644 (file)
 void register_rpc();
 
 BlueSkyFS *fs;
+static uint8_t filesystem_key[16];
 
 int main(int argc, char *argv[])
 {
+    int i;
     g_thread_init(NULL);
+    bluesky_crypt_init();
     register_rpc();
 
+    bluesky_crypt_random_bytes(filesystem_key, sizeof(filesystem_key));
+    printf("Filesystem key: ");
+    for (i = 0; i < sizeof(filesystem_key); i++) {
+        printf("%02x", filesystem_key[i]);
+    }
+    printf("\n");
+
     S3_initialize(NULL, S3_INIT_ALL);
 
     fs = bluesky_new_fs("export");
+    fs->encryption_key = filesystem_key;
 
     BlueSkyInode *root;
     root = bluesky_new_inode(BLUESKY_ROOT_INUM, fs, BLUESKY_DIRECTORY);