diff --git a/src/Makefile b/src/Makefile index 1e3d0a3..7b33009 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,5 +1,5 @@ CC=gcc -CFLAGS=-Wall -g +CFLAGS=-Wall LDFLAGS=-lsodium LDFLAGS_LIB=-I/usr/include/exim4 -fpic -shared -export-dynamic diff --git a/src/genkey.c b/src/genkey.c index 972e613..03a52d3 100644 --- a/src/genkey.c +++ b/src/genkey.c @@ -41,6 +41,7 @@ dump_key_as_exim_config(FILE * f, const char *name, unsigned char *key, } } fprintf(f, " }; const unsigned int %s_length = %d;\n", name, keylen); + // encode with base64 unsigned int b64len = sodium_base64_ENCODED_LEN(keylen, sodium_base64_VARIANT_ORIGINAL); unsigned char *b64string = malloc(b64len); @@ -50,24 +51,6 @@ dump_key_as_exim_config(FILE * f, const char *name, unsigned char *key, fprintf(f, "%s = \"%s\"\n", name, b64string); free(b64string); - // write a comment with C variable declaration - fprintf(f, "# const unsigned char %s[%d] = { ", name, keylen); - for (int i = 0; i < keylen; i++) { - fprintf(f, "0x%02x", key[i]); - if (i < keylen - 1) { - fprintf(f, ", "); - } - } - fprintf(f, " }; const unsigned int %s_length = %d;\n", name, keylen); - // encode with base64 - unsigned int b64len = sodium_base64_ENCODED_LEN(keylen, sodium_base64_VARIANT_ORIGINAL); - unsigned char *b64string = malloc(b64len); - sodium_bin2base64((char *const) b64string, b64len, - key, keylen, - sodium_base64_VARIANT_ORIGINAL); - fprintf(f, "%s = \"%s\"\n", name, b64string); - - free(b64string); } void