Loading CHANGES +7 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,13 @@ Daniel (12 March 2001) - Added CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET to libcurl for seeding the SSL random engine. The random seeding support was also brought to the curl client with the new options --random-file <file> and --egd-file <file>. I need some people to really test this to know they work as supposed. Remember that libcurl now informs (if verbose is on) if the random seed is considered weak (HTTPS connections). - Made the chunked transfer-encoding engine detected bad formatted data length and return error if so (we can't possibly extract sensible data if this is the case). Added a test case that detects this. Number 36. Now there are 60 Loading src/main.c +44 −22 Original line number Diff line number Diff line Loading @@ -295,7 +295,9 @@ static void help(void) " -3/--sslv3 Force usage of SSLv3 (H)"); puts(" -#/--progress-bar Display transfer progress as a progress bar\n" " --crlf Convert LF to CRLF in upload. Useful for MVS (OS/390)\n" " --stderr <file> Where to redirect stderr. - means stdout."); " --stderr <file> Where to redirect stderr. - means stdout.\n" " --random-file <file> File to use for reading random data from (SSL)\n" " --egd-file <file> EGD socket path for random data (SSL)"); } struct LongShort { Loading @@ -305,6 +307,8 @@ struct LongShort { }; struct Configurable { char *random_file; char *egd_file; char *useragent; char *cookie; bool use_resume; Loading Loading @@ -524,6 +528,8 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ {"7", "interface", TRUE}, {"6", "krb4", TRUE}, {"5", "url", TRUE}, {"5a", "random-file", TRUE}, {"5b", "egd-file", TRUE}, {"2", "sslv2", FALSE}, {"3", "sslv3", FALSE}, Loading Loading @@ -673,7 +679,14 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ GetStr(&config->krb4level, nextarg); break; case '5': /* the URL! */ switch(subletter) { case 'a': /* random-file */ GetStr(&config->random_file, nextarg); break; case 'b': /* egd-file */ GetStr(&config->egd_file, nextarg); break; default: /* the URL! */ { struct getout *url; if(config->url_get || (config->url_get=config->url_list)) { Loading @@ -698,6 +711,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ url->flags |= GETOUT_URL; } } } break; case '#': /* added 19990617 larsa */ config->progressmode ^= CURL_PROGRESS_BAR; Loading Loading @@ -1367,6 +1381,10 @@ void progressbarinit(struct ProgressData *bar) void free_config_fields(struct Configurable *config) { if(config->random_file) free(config->random_file); if(config->egd_file) free(config->egd_file); if(config->userpwd) free(config->userpwd); if(config->postfields) Loading Loading @@ -1820,6 +1838,10 @@ operate(struct Configurable *config, int argc, char *argv[]) /* new in libcurl 7.6.2: */ curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, config->telnet_options); /* new in libcurl 7.7: */ curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, config->random_file); curl_easy_setopt(curl, CURLOPT_EGDSOCKET, config->egd_file); res = curl_easy_perform(curl); if(config->writeout) { Loading Loading
CHANGES +7 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,13 @@ Daniel (12 March 2001) - Added CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET to libcurl for seeding the SSL random engine. The random seeding support was also brought to the curl client with the new options --random-file <file> and --egd-file <file>. I need some people to really test this to know they work as supposed. Remember that libcurl now informs (if verbose is on) if the random seed is considered weak (HTTPS connections). - Made the chunked transfer-encoding engine detected bad formatted data length and return error if so (we can't possibly extract sensible data if this is the case). Added a test case that detects this. Number 36. Now there are 60 Loading
src/main.c +44 −22 Original line number Diff line number Diff line Loading @@ -295,7 +295,9 @@ static void help(void) " -3/--sslv3 Force usage of SSLv3 (H)"); puts(" -#/--progress-bar Display transfer progress as a progress bar\n" " --crlf Convert LF to CRLF in upload. Useful for MVS (OS/390)\n" " --stderr <file> Where to redirect stderr. - means stdout."); " --stderr <file> Where to redirect stderr. - means stdout.\n" " --random-file <file> File to use for reading random data from (SSL)\n" " --egd-file <file> EGD socket path for random data (SSL)"); } struct LongShort { Loading @@ -305,6 +307,8 @@ struct LongShort { }; struct Configurable { char *random_file; char *egd_file; char *useragent; char *cookie; bool use_resume; Loading Loading @@ -524,6 +528,8 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ {"7", "interface", TRUE}, {"6", "krb4", TRUE}, {"5", "url", TRUE}, {"5a", "random-file", TRUE}, {"5b", "egd-file", TRUE}, {"2", "sslv2", FALSE}, {"3", "sslv3", FALSE}, Loading Loading @@ -673,7 +679,14 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ GetStr(&config->krb4level, nextarg); break; case '5': /* the URL! */ switch(subletter) { case 'a': /* random-file */ GetStr(&config->random_file, nextarg); break; case 'b': /* egd-file */ GetStr(&config->egd_file, nextarg); break; default: /* the URL! */ { struct getout *url; if(config->url_get || (config->url_get=config->url_list)) { Loading @@ -698,6 +711,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */ url->flags |= GETOUT_URL; } } } break; case '#': /* added 19990617 larsa */ config->progressmode ^= CURL_PROGRESS_BAR; Loading Loading @@ -1367,6 +1381,10 @@ void progressbarinit(struct ProgressData *bar) void free_config_fields(struct Configurable *config) { if(config->random_file) free(config->random_file); if(config->egd_file) free(config->egd_file); if(config->userpwd) free(config->userpwd); if(config->postfields) Loading Loading @@ -1820,6 +1838,10 @@ operate(struct Configurable *config, int argc, char *argv[]) /* new in libcurl 7.6.2: */ curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, config->telnet_options); /* new in libcurl 7.7: */ curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, config->random_file); curl_easy_setopt(curl, CURLOPT_EGDSOCKET, config->egd_file); res = curl_easy_perform(curl); if(config->writeout) { Loading