diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-03-26 12:46:56 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-03-26 12:46:56 +0000 |
commit | 4bc984a3b066550977bd7ad9080a175ff0e81625 (patch) | |
tree | cabb2ba62f938208b527297e8dada72158795360 | |
parent | 142aaa9da464d2778dc58df489fb397f16641fca (diff) | |
download | gnutls-4bc984a3b066550977bd7ad9080a175ff0e81625.tar.gz |
Added the --debug option to the gnutls-serv.
-rw-r--r-- | src/serv-gaa.c | 147 | ||||
-rw-r--r-- | src/serv-gaa.h | 60 | ||||
-rw-r--r-- | src/serv.c | 10 | ||||
-rw-r--r-- | src/serv.gaa | 7 |
4 files changed, 130 insertions, 94 deletions
diff --git a/src/serv-gaa.c b/src/serv-gaa.c index f8f0f15d77..67fa23c828 100644 --- a/src/serv-gaa.c +++ b/src/serv-gaa.c @@ -125,13 +125,14 @@ void __gaa_helpsingle(char short_name, char *name, void gaa_help(void) { printf("GNU TLS test server\nUsage: gnutls-serv [options]\n\n\n"); + __gaa_helpsingle('d', "debug", "integer ", "Enable debugging"); __gaa_helpsingle('g', "generate", "", "Generate Diffie Hellman Parameters."); __gaa_helpsingle('p', "port", "integer ", "The port to connect to."); __gaa_helpsingle('q', "quiet", "", "Suppress some messages."); __gaa_helpsingle(0, "nodb", "", "Does not use the resume database."); __gaa_helpsingle(0, "http", "", "Act as an HTTP Server."); __gaa_helpsingle(0, "echo", "", "Act as an Echo Server."); - __gaa_helpsingle('d', "dhparams", "FILE ", "DH params file to use."); + __gaa_helpsingle(0, "dhparams", "FILE ", "DH params file to use."); __gaa_helpsingle(0, "x509fmtder", "", "Use DER format for certificates"); __gaa_helpsingle(0, "x509cafile", "FILE ", "Certificate file to use."); __gaa_helpsingle(0, "x509crlfile", "FILE ", "CRL file to use."); @@ -167,64 +168,66 @@ typedef struct _gaainfo gaainfo; struct _gaainfo { -#line 86 "serv.gaa" +#line 89 "serv.gaa" char **ctype; -#line 85 "serv.gaa" +#line 88 "serv.gaa" int nctype; -#line 82 "serv.gaa" +#line 85 "serv.gaa" char **kx; -#line 81 "serv.gaa" +#line 84 "serv.gaa" int nkx; -#line 78 "serv.gaa" +#line 81 "serv.gaa" char **macs; -#line 77 "serv.gaa" +#line 80 "serv.gaa" int nmacs; -#line 74 "serv.gaa" +#line 77 "serv.gaa" char **comp; -#line 73 "serv.gaa" +#line 76 "serv.gaa" int ncomp; -#line 70 "serv.gaa" +#line 73 "serv.gaa" char **proto; -#line 69 "serv.gaa" +#line 72 "serv.gaa" int nproto; -#line 66 "serv.gaa" +#line 69 "serv.gaa" char **ciphers; -#line 65 "serv.gaa" +#line 68 "serv.gaa" int nciphers; -#line 61 "serv.gaa" +#line 64 "serv.gaa" char *srp_passwd_conf; -#line 58 "serv.gaa" +#line 61 "serv.gaa" char *srp_passwd; -#line 55 "serv.gaa" +#line 58 "serv.gaa" char *x509_certfile; -#line 52 "serv.gaa" +#line 55 "serv.gaa" char *x509_keyfile; -#line 49 "serv.gaa" +#line 52 "serv.gaa" char *pgp_certfile; -#line 46 "serv.gaa" +#line 49 "serv.gaa" char *pgp_keyfile; -#line 43 "serv.gaa" +#line 46 "serv.gaa" char *pgp_trustdb; -#line 40 "serv.gaa" +#line 43 "serv.gaa" char *pgp_keyring; -#line 37 "serv.gaa" +#line 40 "serv.gaa" char *x509_crlfile; -#line 34 "serv.gaa" +#line 37 "serv.gaa" char *x509_cafile; -#line 31 "serv.gaa" +#line 34 "serv.gaa" int fmtder; -#line 28 "serv.gaa" +#line 31 "serv.gaa" char *dh_params_file; -#line 24 "serv.gaa" +#line 27 "serv.gaa" int http; -#line 21 "serv.gaa" +#line 24 "serv.gaa" int nodb; -#line 18 "serv.gaa" +#line 21 "serv.gaa" int quiet; -#line 15 "serv.gaa" +#line 18 "serv.gaa" int port; -#line 12 "serv.gaa" +#line 15 "serv.gaa" int generate; +#line 12 "serv.gaa" + int debug; #line 114 "gaa.skel" }; @@ -279,7 +282,7 @@ int gaa_error = 0; #define GAA_MULTIPLE_OPTION 3 #define GAA_REST 0 -#define GAA_NB_OPTION 28 +#define GAA_NB_OPTION 29 #define GAAOPTID_copyright 1 #define GAAOPTID_version 2 #define GAAOPTID_help 3 @@ -308,6 +311,7 @@ int gaa_error = 0; #define GAAOPTID_quiet 26 #define GAAOPTID_port 27 #define GAAOPTID_generate 28 +#define GAAOPTID_debug 29 #line 168 "gaa.skel" @@ -601,6 +605,12 @@ struct GAAOPTION_port int arg1; int size1; }; + +struct GAAOPTION_debug +{ + int arg1; + int size1; +}; #line 349 "gaa.skel" int gaa_is_an_argument(char *str) @@ -647,8 +657,9 @@ int gaa_get_option_num(char *str, int status) GAA_CHECK1STR("", GAAOPTID_pgpkeyring); GAA_CHECK1STR("", GAAOPTID_x509crlfile); GAA_CHECK1STR("", GAAOPTID_x509cafile); - GAA_CHECK1STR("d", GAAOPTID_dhparams); + GAA_CHECK1STR("", GAAOPTID_dhparams); GAA_CHECK1STR("p", GAAOPTID_port); + GAA_CHECK1STR("d", GAAOPTID_debug); case GAA_MULTIPLE_OPTION: #line 375 "gaa.skel" GAA_CHECK1STR("", GAAOPTID_copyright); @@ -693,6 +704,7 @@ int gaa_get_option_num(char *str, int status) GAA_CHECKSTR("quiet", GAAOPTID_quiet); GAA_CHECKSTR("port", GAAOPTID_port); GAA_CHECKSTR("generate", GAAOPTID_generate); + GAA_CHECKSTR("debug", GAAOPTID_debug); #line 281 "gaa.skel" break; @@ -723,6 +735,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) struct GAAOPTION_x509cafile GAATMP_x509cafile; struct GAAOPTION_dhparams GAATMP_dhparams; struct GAAOPTION_port GAATMP_port; + struct GAAOPTION_debug GAATMP_debug; #line 393 "gaa.skel" #ifdef GAA_REST_EXISTS @@ -745,28 +758,28 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) { case GAAOPTID_copyright: OK = 0; -#line 94 "serv.gaa" +#line 97 "serv.gaa" { print_license(); exit(0); ;}; return GAA_OK; break; case GAAOPTID_version: OK = 0; -#line 93 "serv.gaa" +#line 96 "serv.gaa" { serv_version(); exit(0); ;}; return GAA_OK; break; case GAAOPTID_help: OK = 0; -#line 91 "serv.gaa" +#line 94 "serv.gaa" { gaa_help(); exit(0); ;}; return GAA_OK; break; case GAAOPTID_list: OK = 0; -#line 90 "serv.gaa" +#line 93 "serv.gaa" { print_list(); exit(0); ;}; return GAA_OK; @@ -774,7 +787,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) case GAAOPTID_ctypes: OK = 0; GAA_LIST_FILL(GAATMP_ctypes.arg1, gaa_getstr, char*, GAATMP_ctypes.size1); -#line 87 "serv.gaa" +#line 90 "serv.gaa" { gaaval->ctype = GAATMP_ctypes.arg1; gaaval->nctype = GAATMP_ctypes.size1 ;}; return GAA_OK; @@ -782,7 +795,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) case GAAOPTID_kx: OK = 0; GAA_LIST_FILL(GAATMP_kx.arg1, gaa_getstr, char*, GAATMP_kx.size1); -#line 83 "serv.gaa" +#line 86 "serv.gaa" { gaaval->kx = GAATMP_kx.arg1; gaaval->nkx = GAATMP_kx.size1 ;}; return GAA_OK; @@ -790,7 +803,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) case GAAOPTID_macs: OK = 0; GAA_LIST_FILL(GAATMP_macs.arg1, gaa_getstr, char*, GAATMP_macs.size1); -#line 79 "serv.gaa" +#line 82 "serv.gaa" { gaaval->macs = GAATMP_macs.arg1; gaaval->nmacs = GAATMP_macs.size1 ;}; return GAA_OK; @@ -798,7 +811,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) case GAAOPTID_comp: OK = 0; GAA_LIST_FILL(GAATMP_comp.arg1, gaa_getstr, char*, GAATMP_comp.size1); -#line 75 "serv.gaa" +#line 78 "serv.gaa" { gaaval->comp = GAATMP_comp.arg1; gaaval->ncomp = GAATMP_comp.size1 ;}; return GAA_OK; @@ -806,7 +819,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) case GAAOPTID_protocols: OK = 0; GAA_LIST_FILL(GAATMP_protocols.arg1, gaa_getstr, char*, GAATMP_protocols.size1); -#line 71 "serv.gaa" +#line 74 "serv.gaa" { gaaval->proto = GAATMP_protocols.arg1; gaaval->nproto = GAATMP_protocols.size1 ;}; return GAA_OK; @@ -814,7 +827,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) case GAAOPTID_ciphers: OK = 0; GAA_LIST_FILL(GAATMP_ciphers.arg1, gaa_getstr, char*, GAATMP_ciphers.size1); -#line 67 "serv.gaa" +#line 70 "serv.gaa" { gaaval->ciphers = GAATMP_ciphers.arg1; gaaval->nciphers = GAATMP_ciphers.size1 ;}; return GAA_OK; @@ -824,7 +837,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_srppasswdconf.arg1, gaa_getstr, GAATMP_srppasswdconf.size1); gaa_index++; -#line 62 "serv.gaa" +#line 65 "serv.gaa" { gaaval->srp_passwd_conf = GAATMP_srppasswdconf.arg1 ;}; return GAA_OK; @@ -834,7 +847,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_srppasswd.arg1, gaa_getstr, GAATMP_srppasswd.size1); gaa_index++; -#line 59 "serv.gaa" +#line 62 "serv.gaa" { gaaval->srp_passwd = GAATMP_srppasswd.arg1 ;}; return GAA_OK; @@ -844,7 +857,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_x509certfile.arg1, gaa_getstr, GAATMP_x509certfile.size1); gaa_index++; -#line 56 "serv.gaa" +#line 59 "serv.gaa" { gaaval->x509_certfile = GAATMP_x509certfile.arg1 ;}; return GAA_OK; @@ -854,7 +867,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_x509keyfile.arg1, gaa_getstr, GAATMP_x509keyfile.size1); gaa_index++; -#line 53 "serv.gaa" +#line 56 "serv.gaa" { gaaval->x509_keyfile = GAATMP_x509keyfile.arg1 ;}; return GAA_OK; @@ -864,7 +877,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_pgpcertfile.arg1, gaa_getstr, GAATMP_pgpcertfile.size1); gaa_index++; -#line 50 "serv.gaa" +#line 53 "serv.gaa" { gaaval->pgp_certfile = GAATMP_pgpcertfile.arg1 ;}; return GAA_OK; @@ -874,7 +887,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_pgpkeyfile.arg1, gaa_getstr, GAATMP_pgpkeyfile.size1); gaa_index++; -#line 47 "serv.gaa" +#line 50 "serv.gaa" { gaaval->pgp_keyfile = GAATMP_pgpkeyfile.arg1 ;}; return GAA_OK; @@ -884,7 +897,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_pgptrustdb.arg1, gaa_getstr, GAATMP_pgptrustdb.size1); gaa_index++; -#line 44 "serv.gaa" +#line 47 "serv.gaa" { gaaval->pgp_trustdb = GAATMP_pgptrustdb.arg1 ;}; return GAA_OK; @@ -894,7 +907,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_pgpkeyring.arg1, gaa_getstr, GAATMP_pgpkeyring.size1); gaa_index++; -#line 41 "serv.gaa" +#line 44 "serv.gaa" { gaaval->pgp_keyring = GAATMP_pgpkeyring.arg1 ;}; return GAA_OK; @@ -904,7 +917,7 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_x509crlfile.arg1, gaa_getstr, GAATMP_x509crlfile.size1); gaa_index++; -#line 38 "serv.gaa" +#line 41 "serv.gaa" { gaaval->x509_crlfile = GAATMP_x509crlfile.arg1 ;}; return GAA_OK; @@ -914,14 +927,14 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_x509cafile.arg1, gaa_getstr, GAATMP_x509cafile.size1); gaa_index++; -#line 35 "serv.gaa" +#line 38 "serv.gaa" { gaaval->x509_cafile = GAATMP_x509cafile.arg1 ;}; return GAA_OK; break; case GAAOPTID_x509fmtder: OK = 0; -#line 32 "serv.gaa" +#line 35 "serv.gaa" { gaaval->fmtder = 1 ;}; return GAA_OK; @@ -931,35 +944,35 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_dhparams.arg1, gaa_getstr, GAATMP_dhparams.size1); gaa_index++; -#line 29 "serv.gaa" +#line 32 "serv.gaa" { gaaval->dh_params_file = GAATMP_dhparams.arg1 ;}; return GAA_OK; break; case GAAOPTID_echo: OK = 0; -#line 26 "serv.gaa" +#line 29 "serv.gaa" { gaaval->http = 0 ;}; return GAA_OK; break; case GAAOPTID_http: OK = 0; -#line 25 "serv.gaa" +#line 28 "serv.gaa" { gaaval->http = 1 ;}; return GAA_OK; break; case GAAOPTID_nodb: OK = 0; -#line 22 "serv.gaa" +#line 25 "serv.gaa" { gaaval->nodb = 1 ;}; return GAA_OK; break; case GAAOPTID_quiet: OK = 0; -#line 19 "serv.gaa" +#line 22 "serv.gaa" { gaaval->quiet = 1 ;}; return GAA_OK; @@ -969,18 +982,28 @@ int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) GAA_TESTMOREARGS; GAA_FILL(GAATMP_port.arg1, gaa_getint, GAATMP_port.size1); gaa_index++; -#line 16 "serv.gaa" +#line 19 "serv.gaa" { gaaval->port = GAATMP_port.arg1 ;}; return GAA_OK; break; case GAAOPTID_generate: OK = 0; -#line 13 "serv.gaa" +#line 16 "serv.gaa" { gaaval->generate = 1 ;}; return GAA_OK; break; + case GAAOPTID_debug: + OK = 0; + GAA_TESTMOREARGS; + GAA_FILL(GAATMP_debug.arg1, gaa_getint, GAATMP_debug.size1); + gaa_index++; +#line 13 "serv.gaa" +{ gaaval->debug = GAATMP_debug.arg1 ;}; + + return GAA_OK; + break; #line 413 "gaa.skel" default: break; @@ -1005,7 +1028,7 @@ int gaa(int argc, char **argv, gaainfo *gaaval) if(inited == 0) { -#line 97 "serv.gaa" +#line 100 "serv.gaa" { gaaval->generate=0; gaaval->port=5556; gaaval->http=0; gaaval->ciphers=NULL; gaaval->kx=NULL; gaaval->comp=NULL; gaaval->macs=NULL; gaaval->ctype=NULL; gaaval->nciphers=0; gaaval->nkx=0; gaaval->ncomp=0; gaaval->nmacs=0; gaaval->nctype = 0; gaaval->nodb = 0; @@ -1013,7 +1036,7 @@ int gaa(int argc, char **argv, gaainfo *gaaval) gaaval->x509_keyfile=NULL; gaaval->x509_certfile=NULL; gaaval->x509_crlfile = NULL; gaaval->srp_passwd=NULL; gaaval->srp_passwd_conf=NULL; gaaval->quiet = 0; gaaval->pgp_trustdb=NULL; gaaval->pgp_keyring=NULL; gaaval->fmtder = 0; - gaaval->dh_params_file=NULL; ;}; + gaaval->dh_params_file=NULL; gaaval->debug=0; ;}; } inited = 1; diff --git a/src/serv-gaa.h b/src/serv-gaa.h index 8eb3e76be0..69857bb1c4 100644 --- a/src/serv-gaa.h +++ b/src/serv-gaa.h @@ -8,64 +8,66 @@ typedef struct _gaainfo gaainfo; struct _gaainfo { -#line 86 "serv.gaa" +#line 89 "serv.gaa" char **ctype; -#line 85 "serv.gaa" +#line 88 "serv.gaa" int nctype; -#line 82 "serv.gaa" +#line 85 "serv.gaa" char **kx; -#line 81 "serv.gaa" +#line 84 "serv.gaa" int nkx; -#line 78 "serv.gaa" +#line 81 "serv.gaa" char **macs; -#line 77 "serv.gaa" +#line 80 "serv.gaa" int nmacs; -#line 74 "serv.gaa" +#line 77 "serv.gaa" char **comp; -#line 73 "serv.gaa" +#line 76 "serv.gaa" int ncomp; -#line 70 "serv.gaa" +#line 73 "serv.gaa" char **proto; -#line 69 "serv.gaa" +#line 72 "serv.gaa" int nproto; -#line 66 "serv.gaa" +#line 69 "serv.gaa" char **ciphers; -#line 65 "serv.gaa" +#line 68 "serv.gaa" int nciphers; -#line 61 "serv.gaa" +#line 64 "serv.gaa" char *srp_passwd_conf; -#line 58 "serv.gaa" +#line 61 "serv.gaa" char *srp_passwd; -#line 55 "serv.gaa" +#line 58 "serv.gaa" char *x509_certfile; -#line 52 "serv.gaa" +#line 55 "serv.gaa" char *x509_keyfile; -#line 49 "serv.gaa" +#line 52 "serv.gaa" char *pgp_certfile; -#line 46 "serv.gaa" +#line 49 "serv.gaa" char *pgp_keyfile; -#line 43 "serv.gaa" +#line 46 "serv.gaa" char *pgp_trustdb; -#line 40 "serv.gaa" +#line 43 "serv.gaa" char *pgp_keyring; -#line 37 "serv.gaa" +#line 40 "serv.gaa" char *x509_crlfile; -#line 34 "serv.gaa" +#line 37 "serv.gaa" char *x509_cafile; -#line 31 "serv.gaa" +#line 34 "serv.gaa" int fmtder; -#line 28 "serv.gaa" +#line 31 "serv.gaa" char *dh_params_file; -#line 24 "serv.gaa" +#line 27 "serv.gaa" int http; -#line 21 "serv.gaa" +#line 24 "serv.gaa" int nodb; -#line 18 "serv.gaa" +#line 21 "serv.gaa" int quiet; -#line 15 "serv.gaa" +#line 18 "serv.gaa" int port; -#line 12 "serv.gaa" +#line 15 "serv.gaa" int generate; +#line 12 "serv.gaa" + int debug; #line 114 "gaa.skel" }; diff --git a/src/serv.c b/src/serv.c index 68b28b4e42..048e3c7dec 100644 --- a/src/serv.c +++ b/src/serv.c @@ -59,7 +59,7 @@ static int generate = 0; static int http = 0; static int port = 0; static int x509ctype; -static int prime_bits = 1024; +static int debug; static int quiet; static int nodb; @@ -511,6 +511,11 @@ void check_alert(gnutls_session session, int ret) } } +static void tls_log_func( int level, const char* str) +{ + fprintf(stderr, "|<%d>| %s", level, str); +} + static void gaa_parser(int argc, char **argv); int main(int argc, char **argv) @@ -542,6 +547,8 @@ int main(int argc, char **argv) fprintf(stderr, "global state initialization error\n"); exit(1); } + gnutls_global_set_log_function( tls_log_func); + gnutls_global_set_log_level(debug); if (gnutls_global_init_extra() < 0) { fprintf(stderr, "global state (extra) initialization error\n"); @@ -913,6 +920,7 @@ void gaa_parser(int argc, char **argv) exit(1); } + debug = info.debug; quiet = info.quiet; nodb = info.nodb; diff --git a/src/serv.gaa b/src/serv.gaa index f3dcb2bc97..5746a8492f 100644 --- a/src/serv.gaa +++ b/src/serv.gaa @@ -9,6 +9,9 @@ void serv_version(void); helpnode "GNU TLS test server\nUsage: gnutls-serv [options]\n\n" +#int debug; +option (d, debug) INT "integer" { $debug = $1 } "Enable debugging" + #int generate; option (g, generate) { $generate = 1 } "Generate Diffie Hellman Parameters." @@ -26,7 +29,7 @@ option (http) { $http = 1 } "Act as an HTTP Server." option (echo) { $http = 0 } "Act as an Echo Server." #char *dh_params_file; -option (d, dhparams) STR "FILE" { $dh_params_file = $1 } "DH params file to use." +option (dhparams) STR "FILE" { $dh_params_file = $1 } "DH params file to use." #int fmtder; option (x509fmtder) { $fmtder = 1 } "Use DER format for certificates" @@ -101,7 +104,7 @@ init { $generate=0; $port=5556; $http=0; $ciphers=NULL; $x509_keyfile=NULL; $x509_certfile=NULL; $x509_crlfile = NULL; $srp_passwd=NULL; $srp_passwd_conf=NULL; $quiet = 0; $pgp_trustdb=NULL; $pgp_keyring=NULL; $fmtder = 0; - $dh_params_file=NULL; } + $dh_params_file=NULL; $debug=0; } INCOMP dg |