dovecot-2.2: lib-http: Added support for disabling automatic red...

dovecot at dovecot.org dovecot at dovecot.org
Sat Oct 12 11:14:58 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/b4d54b6f3d10
changeset: 16851:b4d54b6f3d10
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Sat Oct 12 10:55:38 2013 +0300
description:
lib-http: Added support for disabling automatic redirects.

diffstat:

 src/lib-http/http-client-connection.c |  5 +++--
 src/lib-http/http-client.c            |  1 +
 src/lib-http/http-client.h            |  3 +++
 3 files changed, 7 insertions(+), 2 deletions(-)

diffs (39 lines):

diff -r 2d44e9025af3 -r b4d54b6f3d10 src/lib-http/http-client-connection.c
--- a/src/lib-http/http-client-connection.c	Sat Oct 12 10:54:50 2013 +0300
+++ b/src/lib-http/http-client-connection.c	Sat Oct 12 10:55:38 2013 +0300
@@ -594,8 +594,9 @@
 				conn->output_locked = FALSE;
 				conn->peer->no_payload_sync = TRUE;
 				http_client_request_retry_response(req, &response);
-	
-			} else if (response.status / 100 == 3 && response.status != 304 &&
+				
+			} else if (!req->client->set.no_auto_redirect &&
+				response.status / 100 == 3 && response.status != 304 &&
 				response.location != NULL) {
 				/* redirect */
 				http_client_request_redirect(req, response.status, response.location);
diff -r 2d44e9025af3 -r b4d54b6f3d10 src/lib-http/http-client.c
--- a/src/lib-http/http-client.c	Sat Oct 12 10:54:50 2013 +0300
+++ b/src/lib-http/http-client.c	Sat Oct 12 10:55:38 2013 +0300
@@ -93,6 +93,7 @@
 	client->set.max_pipelined_requests =
 		(set->max_pipelined_requests > 0 ? set->max_pipelined_requests : 1);
 	client->set.max_attempts = set->max_attempts;
+	client->set.no_auto_redirect = set->no_auto_redirect;
 	client->set.max_redirects = set->max_redirects;
 	client->set.response_hdr_limits = set->response_hdr_limits;
 	client->set.request_timeout_msecs = set->request_timeout_msecs;
diff -r 2d44e9025af3 -r b4d54b6f3d10 src/lib-http/http-client.h
--- a/src/lib-http/http-client.h	Sat Oct 12 10:54:50 2013 +0300
+++ b/src/lib-http/http-client.h	Sat Oct 12 10:55:38 2013 +0300
@@ -54,6 +54,9 @@
 	/* maximum number of pipelined requests per connection (default = 1) */
 	unsigned int max_pipelined_requests;
 
+	/* don't automatically act upon redirect responses */
+	bool no_auto_redirect;
+
 	/* maximum number of redirects for a request
 	   (default = 0; redirects refused) 
    */


More information about the dovecot-cvs mailing list