X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Ftincd.c;h=53f91e87367fca00e234688c6edcf14ca3346ada;hp=7b74cd6ca7e97b6df7844e6b3dbeaa8f8b2f6ad5;hb=0eceee6a66b28535a9c44d282e07a5825c7a1f04;hpb=8a6f278fd2606c0a8f133f05df83b2649eacf6c3 diff --git a/src/tincd.c b/src/tincd.c index 7b74cd6c..53f91e87 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -338,7 +338,7 @@ static bool keygen(int bits) { RSA *rsa_key; FILE *f; char *name = get_name(); - char *filename; + char *pubname, *privname; fprintf(stderr, "Generating %d bits keys:\n", bits); rsa_key = RSA_generate_key(bits, 0x10001, indicator, NULL); @@ -349,8 +349,9 @@ static bool keygen(int bits) { } else fprintf(stderr, "Done.\n"); - xasprintf(&filename, "%s/rsa_key.priv", confbase); - f = ask_and_open(filename, "private RSA key"); + xasprintf(&privname, "%s/rsa_key.priv", confbase); + f = ask_and_open(privname, "private RSA key"); + free(privname); if(!f) return false; @@ -363,14 +364,14 @@ static bool keygen(int bits) { fputc('\n', f); PEM_write_RSAPrivateKey(f, rsa_key, NULL, NULL, 0, NULL, NULL); fclose(f); - free(filename); if(name) - xasprintf(&filename, "%s/hosts/%s", confbase, name); + xasprintf(&pubname, "%s/hosts/%s", confbase, name); else - xasprintf(&filename, "%s/rsa_key.pub", confbase); + xasprintf(&pubname, "%s/rsa_key.pub", confbase); - f = ask_and_open(filename, "public RSA key"); + f = ask_and_open(pubname, "public RSA key"); + free(pubname); if(!f) return false; @@ -378,7 +379,6 @@ static bool keygen(int bits) { fputc('\n', f); PEM_write_RSAPublicKey(f, rsa_key); fclose(f); - free(filename); free(name); return true; @@ -467,9 +467,11 @@ static bool drop_privs() { "initgroups", strerror(errno)); return false; } - // Not supported in android NDK - //endgrent(); - //endpwent(); +#ifndef __ANDROID__ +// Not supported in android NDK + endgrent(); + endpwent(); +#endif } if (do_chroot) { tzset(); /* for proper timestamps in logs */