From: Jeff Trawick Date: Sat, 21 Jun 2014 13:41:28 +0000 (+0000) Subject: Merge r1601076 from trunk: X-Git-Tag: 2.4.10~111 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=867373d1f77006882ee53fe880503ad8b479d560;p=thirdparty%2Fapache%2Fhttpd.git Merge r1601076 from trunk: ab: support custom HTTP method with -m argument. PR: 56604 Submitted by: Roman Jurkov Reviewed by: ylavic, trawick, covener (r1601680 and r1601700 not reflected in mergeinfo due to a collision with an unrelated trunk change) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1604373 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 2f8bf7ab8d8..ea9b371bed2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.4.10 + + *) ab: support custom HTTP method with -m argument. PR 56604. + [Roman Jurkov ] + *) mod_proxy_balancer: Correctly encode user provided data in management interface. PR 56532 [Maksymilian, ] diff --git a/STATUS b/STATUS index 02b0dca128a..03f11ecfd1d 100644 --- a/STATUS +++ b/STATUS @@ -143,15 +143,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK: ylavic: I don't have any conflict here but with r1586745 regarding docs/log-message-tags. BTW 2.4.x patch provided above. - * ab: support custom HTTP method with -m argument. PR 56604. - trunk patch: http://svn.apache.org/r1601076 - http://svn.apache.org/r1601680 - http://svn.apache.org/r1601700 - 2.4.x patch: trunk works (modulo CHANGES) - 2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-ab_custom_method.patch - (modulo CHANGES) - +1: ylavic, trawick, covener - PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] diff --git a/support/ab.c b/support/ab.c index a407ca06d2c..36e68a83e07 100644 --- a/support/ab.c +++ b/support/ab.c @@ -266,14 +266,14 @@ struct data { int verbosity = 0; /* no verbosity by default */ int recverrok = 0; /* ok to proceed after socket receive errors */ -enum {NO_METH = 0, GET, HEAD, PUT, POST} method = NO_METH; -const char *method_str[] = {"bug", "GET", "HEAD", "PUT", "POST"}; +enum {NO_METH = 0, GET, HEAD, PUT, POST, CUSTOM_METHOD} method = NO_METH; +const char *method_str[] = {"bug", "GET", "HEAD", "PUT", "POST", ""}; int send_body = 0; /* non-zero if sending body with request */ int requests = 1; /* Number of requests to make */ int heartbeatres = 100; /* How often do we say we're alive */ int concurrency = 1; /* Number of multiple requests to make */ int percentile = 1; /* Show percentile served */ -int nolength = 0; /* Accept variable document length */ +int nolength = 0; /* Accept variable document length */ int confidence = 1; /* Show confidence estimator and warnings */ int tlimit = 0; /* time limit in secs */ int keepalive = 0; /* try and do keepalive connections */ @@ -1949,6 +1949,7 @@ static void usage(const char *progname) fprintf(stderr, " -g filename Output collected data to gnuplot format file.\n"); fprintf(stderr, " -e filename Output CSV file with percentages served\n"); fprintf(stderr, " -r Don't exit on socket receive errors.\n"); + fprintf(stderr, " -m method Method name\n"); fprintf(stderr, " -h Display usage information (this message)\n"); #ifdef USE_SSL @@ -2127,7 +2128,7 @@ int main(int argc, const char * const argv[]) myhost = NULL; /* 0.0.0.0 or :: */ apr_getopt_init(&opt, cntxt, argc, argv); - while ((status = apr_getopt(opt, "n:c:t:s:b:T:p:u:v:lrkVhwix:y:z:C:H:P:A:g:X:de:SqB:" + while ((status = apr_getopt(opt, "n:c:t:s:b:T:p:u:v:lrkVhwix:y:z:C:H:P:A:g:X:de:SqB:m:" #ifdef USE_SSL "Z:f:" #endif @@ -2300,6 +2301,10 @@ int main(int argc, const char * const argv[]) case 'Z': ssl_cipher = strdup(opt_arg); break; + case 'm': + method = CUSTOM_METHOD; + method_str[CUSTOM_METHOD] = strdup(opt_arg); + break; case 'f': if (strncasecmp(opt_arg, "ALL", 3) == 0) { meth = SSLv23_client_method();