[shibboleth-sp2] 25/119: Reapply accidentally lost changes

Ferenc Wágner wferi-guest at moszumanska.debian.org
Tue Jan 26 21:29:46 UTC 2016


This is an automated email from the git hooks/post-receive script.

wferi-guest pushed a commit to annotated tag 1.3.1
in repository shibboleth-sp2.

commit 7cbdd7e20951f4eba044b43ea8685b08b7f42dd8
Author: Scott Cantor <cantor.2 at osu.edu>
Date:   Mon Jun 4 01:13:20 2007 +0000

    Reapply accidentally lost changes
---
 apache/mod_apache.cpp | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/apache/mod_apache.cpp b/apache/mod_apache.cpp
index 16fef79..ee827fa 100644
--- a/apache/mod_apache.cpp
+++ b/apache/mod_apache.cpp
@@ -300,7 +300,7 @@ public:
   virtual string getArgs(void) { return string(m_req->args ? m_req->args : ""); }
   virtual string getPostData(void) {
     // Read the posted data
-    if (ap_setup_client_block(m_req, REQUEST_CHUNKED_ERROR))
+    if (ap_setup_client_block(m_req, REQUEST_CHUNKED_DECHUNK) != OK)
         throw FatalProfileException("Apache function (setup_client_block) failed while reading profile submission.");
     if (!ap_should_client_block(m_req))
         throw FatalProfileException("Apache function (should_client_block) failed while reading profile submission.");
@@ -1112,14 +1112,20 @@ extern "C" void shib_child_init(apr_pool_t* p, server_rec* s)
 #ifdef SHIB_DEFERRED_HEADERS
 static void set_output_filter(request_rec *r)
 {
-   ap_add_output_filter("SHIB_HEADERS_OUT", NULL, r, r->connection);
+    ap_add_output_filter("SHIB_HEADERS_OUT", NULL, r, r->connection);
 }
 
 static void set_error_filter(request_rec *r)
 {
-   ap_add_output_filter("SHIB_HEADERS_ERR", NULL, r, r->connection);
+    ap_add_output_filter("SHIB_HEADERS_ERR", NULL, r, r->connection);
 }
 
+static int _table_add(void *v, const char *key, const char *value) 	 
+{ 	 
+    apr_table_addn((apr_table_t*)v, key, value); 	 
+    return 1; 	 
+} 	 
+	 
 static apr_status_t do_output_filter(ap_filter_t *f, apr_bucket_brigade *in)
 {
     request_rec *r = f->r;
@@ -1127,7 +1133,9 @@ static apr_status_t do_output_filter(ap_filter_t *f, apr_bucket_brigade *in)
 
     if (rc) {
         ap_log_rerror(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(r),"shib_out_filter: merging %d headers", apr_table_elts(rc->hdr_out)->nelts);
-        apr_table_overlap(r->headers_out, rc->hdr_out, APR_OVERLAP_TABLES_MERGE);
+        apr_table_do(_table_add,r->headers_out, rc->hdr_out,NULL);
+        // can't use overlap call because it will collapse Set-Cookie headers
+        // apr_table_overlap(r->headers_out, rc->hdr_out, APR_OVERLAP_TABLES_MERGE);
     }
 
     /* remove ourselves from the filter chain */
@@ -1144,7 +1152,9 @@ static apr_status_t do_error_filter(ap_filter_t *f, apr_bucket_brigade *in)
 
     if (rc) {
         ap_log_rerror(APLOG_MARK,APLOG_DEBUG|APLOG_NOERRNO,SH_AP_R(r),"shib_err_filter: merging %d headers", apr_table_elts(rc->hdr_err)->nelts);
-        apr_table_overlap(r->err_headers_out, rc->hdr_err, APR_OVERLAP_TABLES_MERGE);
+        apr_table_do(_table_add,r->err_headers_out, rc->hdr_err,NULL);
+        // can't use overlap call because it will collapse Set-Cookie headers
+        // apr_table_overlap(r->err_headers_out, rc->hdr_err, APR_OVERLAP_TABLES_MERGE);
     }
 
     /* remove ourselves from the filter chain */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-shibboleth/shibboleth-sp2.git



More information about the Pkg-shibboleth-devel mailing list