X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fgenauth.c;h=b727eb6eb551aa6c553eb0ae4b10d43a4159861f;hp=23f9770ae9e74b92ef00147b34ee4cead54c659b;hb=6c722da77cc9185e48e22818ef88f2a88cf2efc7;hpb=210a92cae90deb5b4a410b1b7d5c625c5c5f2ffb diff --git a/src/genauth.c b/src/genauth.c index 23f9770a..b727eb6e 100644 --- a/src/genauth.c +++ b/src/genauth.c @@ -1,6 +1,6 @@ /* genauth.c -- generate a random passphrase - Copyright (C) 1998,99 Ivo Timmermans + Copyright (C) 1998,1999,2000 Ivo Timmermans This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -35,12 +35,15 @@ int main(int argc, char **argv) int bits, c, i, bytes; unsigned char *p; - if(argc != 2) + if(argc > 2 || (argc == 2 && (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help")))) { fprintf(stderr, "Usage: %s bits\n", argv[0]); return 1; } + if(!argv[1]) + argv[1] = "1024"; + if(!(bits = atol(argv[1]))) { fprintf(stderr, "Illegal number: %s\n", argv[1]); @@ -72,11 +75,22 @@ int main(int argc, char **argv) } fclose(fp); - printf("%d ", bits); - for(i = 0; i < bytes; i++) - printf("%02x", p[i]); - puts(""); - fprintf(stderr, ": done.\n"); + if(isatty(1)) + { + fprintf(stderr, ": done.\nThe following line should be ENTIRELY copied into a passphrase file:\n"); + printf("%d ", bits); + for(i = 0; i < bytes; i++) + printf("%02x", p[i]); + puts(""); + } + else + { + printf("%d ", bits); + for(i = 0; i < bytes; i++) + printf("%02x", p[i]); + puts(""); + fprintf(stderr, ": done.\n"); + } return 0; }