4848 #include <netinet/in.h>
4949#endif
5050
51+ #define DEFAULT_SERVER_ADDR_FILTER "127.0.0.1"
5152
5253typedef unsigned char byte ;
5354
@@ -326,6 +327,22 @@ static void TrimNewLine(char* str)
326327 str [strSz - 1 ] = '\0' ;
327328}
328329
330+ static void Usage (void )
331+ {
332+ printf ("%s %s\n" , "decrypt" , PACKAGE_VERSION );
333+ printf ( "usage: ./decrypt or ./decrypt pcapFile keyServerURL"
334+ " [server] [port] [password]\n" );
335+ printf ("-? Help, print this usage\n" );
336+ printf ("pcapFile A previously saved pcap file\n" );
337+ printf ("keyServerURL Key Manager URL or private key as PEM (default %s)\n" ,
338+ ETSI_TEST_URL );
339+ printf ("server The server’s IP address (v4 or v6) (default %s)\n" ,
340+ DEFAULT_SERVER_ADDR_FILTER );
341+ printf ("port The server port to sniff (default %d)\n" ,
342+ HTTPS_TEST_PORT );
343+ printf ("password Private Key Password if required\n" );
344+ }
345+
329346int middlebox_decrypt_test (int argc , char * * argv )
330347{
331348 int ret = 0 ;
@@ -336,7 +353,7 @@ int middlebox_decrypt_test(int argc, char** argv)
336353 int frame = ETHER_IF_FRAME_LEN ;
337354 char err [PCAP_ERRBUF_SIZE ];
338355 char filter [32 ];
339- const char * keyFilesSrc = "https://" ETSI_TEST_HOST ":" ETSI_TEST_PORT_STR ;
356+ const char * keyFilesSrc = ETSI_TEST_URL ;
340357 char keyFilesBuf [MAX_FILENAME_SZ ];
341358 char keyFilesUser [MAX_FILENAME_SZ ];
342359 const char * server = NULL ;
@@ -347,6 +364,16 @@ int middlebox_decrypt_test(int argc, char** argv)
347364
348365 signal (SIGINT , sig_handler );
349366
367+ if (argc == 2 &&
368+ (XSTRNCMP (argv [1 ], "-?" , 2 ) == 0 ||
369+ XSTRNCMP (argv [1 ], "-h" , 2 ) == 0 ||
370+ XSTRNCMP (argv [1 ], "--help" , 6 ) == 0 ))
371+ {
372+ /* show usage */
373+ Usage ();
374+ exit (EX_USAGE );
375+ }
376+
350377#ifndef _WIN32
351378 ssl_InitSniffer (); /* dll load on Windows */
352379#endif
@@ -524,7 +551,7 @@ int middlebox_decrypt_test(int argc, char** argv)
524551
525552 /* defaults for server and port */
526553 port = portDef ;
527- server = "127.0.0.1" ;
554+ server = DEFAULT_SERVER_ADDR_FILTER ;
528555
529556 if (argc >= 3 )
530557 keyFilesSrc = argv [2 ];
@@ -554,12 +581,6 @@ int middlebox_decrypt_test(int argc, char** argv)
554581 }
555582 }
556583 }
557- else {
558- /* usage error */
559- printf ( "usage: ./decrypt or ./decrypt dumpFile keyServerURL"
560- " [server] [port] [password]\n" );
561- exit (EXIT_FAILURE );
562- }
563584
564585 if (ret != 0 )
565586 err_sys (err );
0 commit comments