int anonymization_init() { FILE* handle = fopen(ANONYMIZATION_SEED_FILE, "rb"); if (!handle) { FILE* handle = fopen(ANONYMIZATION_SEED_FILE, "wb"); if (!handle) { #ifndef NDEBUG perror("Error opening seed file"); #endif return -1; } if (!RAND_bytes(seed, ANONYMIZATION_SEED_LEN)) { #ifndef NDEBUG fprintf(stderr, "Error generating new seed"); #endif return -1; } if (fwrite(seed, 1, ANONYMIZATION_SEED_LEN, handle) < ANONYMIZATION_SEED_LEN) { #ifndef NDEBUG perror("Error writing seed file"); #endif return -1; } fclose(handle); } else { if (fread(seed, 1, ANONYMIZATION_SEED_LEN, handle) < ANONYMIZATION_SEED_LEN) { #ifndef NDEBUG perror("Error reading seed file"); #endif return -1; } fclose(handle); } #ifndef NDEBUG initialized = 1; #endif if (init_hex_seed_digest()) { #ifndef NDEBUG initialized = 0; #endif return -1; } return 0; }
int anonymization_init() { FILE* handle = fopen(ANONYMIZATION_SEED_FILE, "rb"); if (!handle) { perror("Error opening seed file"); return -1; } if (fread(seed, 1, ANONYMIZATION_SEED_LEN, handle) < ANONYMIZATION_SEED_LEN) { perror("Error reading seed file"); fclose(handle); return -1; } initialized = 1; if (init_hex_seed_digest()) { initialized = 0; return -1; } return 0; }