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