#include "encryption.h" #include "shared.h" #include #include #include #include #include int checkSodium(void) { int ret = sodium_init(); if(ret < 0) error(1, ENOTSUP, "Couldn't initialize sodium for some reason. Quitting..."); return ret; } // To encrypt: // 1- Create a temp file with the correct name in the root folder of the partition being encrypted // 1.1- Detect the partition and find the root folder // 1.2- Create the temp file with the correct name // 2- Encrypt the file's contents to the temp file // 2.1- Open the file // 2.2- Stream the file's contents into some encryption algo // 2.3- Pipe the output of the encryption into the temp file // 3- Once the file has been encrypted, hard link it back to the original location // 4- Delete the original file // 5- Delete the temp file int maketmp(const char *dest, const char *format, ...) { va_list ap; va_start(ap, format); va_end(ap); return 0; } int main() { char *test = NULL; // Turns out GNU did this for me, and I trust their code more than my own, so I'm using this now if(asprintf(&test, "We do a little trolling %d", 900) < 0) error(1, ENOMEM, "asprintf call failed"); printf("%s\n", test); return 0; }