Only in httpd-2.2.19/docs/manual/style: lang Only in httpd-2.2.19/docs/manual/style: xsl Only in httpd-2.2.19.new: .git Only in httpd-2.2.19/srclib/apr/include/arch: darwin diff -ru httpd-2.2.19/support/ab.c httpd-2.2.19.new/support/ab.c --- httpd-2.2.19/support/ab.c 2011-04-14 09:56:17.000000000 -0400 +++ httpd-2.2.19.new/support/ab.c 2011-07-05 15:38:57.092806824 -0400 @@ -340,6 +340,7 @@ char *ssl_cipher = NULL; char *ssl_info = NULL; BIO *bio_out,*bio_err; +char * sess_in = NULL; #endif apr_time_t start, lasttime, stoptime; @@ -1195,6 +1196,28 @@ ERR_print_errors(bio_err); exit(1); } + + if (sess_in != NULL) { + SSL_SESSION *sess; + BIO *sidfile; + + if (!(sidfile = BIO_new_file(sess_in, "r"))) { + fprintf(stderr, "error opening session file %s\n", sess_in); + ERR_print_errors_fp(stderr); + exit(1); + } + + if (!(sess = PEM_read_bio_SSL_SESSION(sidfile, NULL, 0, NULL))) { + fprintf(stderr, "error reading session file %s\n", sess_in); + ERR_print_errors_fp(stderr); + exit(1); + } + + BIO_free(sidfile); + SSL_set_session(c->ssl, sess); + SSL_SESSION_free(sess); + } + ssl_rand_seed(); apr_os_sock_get(&fd, c->aprsock); bio = BIO_new_socket(fd, BIO_NOCLOSE); @@ -1876,6 +1899,7 @@ fprintf(stderr, " -h Display usage information (this message)\n"); #ifdef USE_SSL fprintf(stderr, " -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers)\n"); + fprintf(stderr, " -I in_file Specify file to read SSL session from\n"); #ifndef OPENSSL_NO_SSL2 fprintf(stderr, " -f protocol Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)\n"); #else @@ -2046,7 +2070,7 @@ apr_getopt_init(&opt, cntxt, argc, argv); while ((status = apr_getopt(opt, "n:c:t:b:T:p:u:v:rkVhwix:y:z:C:H:P:A:g:X:de:Sq" #ifdef USE_SSL - "Z:f:" + "Z:f:I:" #endif ,&c, &optarg)) == APR_SUCCESS) { switch (c) { @@ -2223,6 +2247,9 @@ meth = TLSv1_client_method(); } break; + case 'I': + sess_in = strdup(optarg); + break; #endif } }