unset 'headitem' header entry when provider_proxy address
authorMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Tue, 10 Feb 2015 17:42:31 +0000 (18:42 +0100)
committerMatteo Nastasi (mop) <nastasi@alternativeoutput.it>
Tue, 10 Feb 2015 17:54:23 +0000 (18:54 +0100)
web/Obj/provider_proxy.phh
web/Obj/sac-a-push.phh

index b1a4d95..fc01aba 100644 (file)
@@ -80,7 +80,7 @@ class ProviderProxy
         }
     }
 
-    function realip($header, $ip)
+    function realip(&$header, $ip)
     {
         fprintf(STDERR, "PP realip: [%d]\n", count($this->pp));
         if ($this->pp != NULL) {
@@ -89,7 +89,9 @@ class ProviderProxy
                 if ($pp_item->ipclass->check($ip)) {
                     if (isset($header[$pp_item->headitem])) {
                         fprintf(STDERR, "PP: match public proxy [%s][%s]\n", $pp_name, $header[$pp_item->headitem]);
-                        return ($header[$pp_item->headitem]);
+                        $ret = $header['POST_'.$pp_item->headitem] = $header[$pp_item->headitem];
+                        unset($header[$pp_item->headitem]);
+                        return ($ret);
                     }
                 }
             }
index 0d489d0..1d55c3e 100644 (file)
@@ -719,7 +719,7 @@ class Sac_a_push {
                             // FOR TEST $header['X-Forwarded-For'] = '154.155.22.33';
                             $addr = $this->pproxy_realip($header, addrtoipv4($addr_full));
 
-                            printf("PATH: [%s]\n", $path);
+                            printf("PATH: [%s] [%s]\n", $path, print_r($header, TRUE));
                             if ($method == "POST" && $rest > 0) {
                                 if (isset($header['Expect']) && $header['Expect'] == '100-continue') {
                                     fprintf(STDERR, "\nPOSTA DE CHE\n\n");
@@ -963,7 +963,7 @@ class Sac_a_push {
         }  // while (...
     }  // function run(...
 
-    function pproxy_realip($header, $ip_str)
+    function pproxy_realip(&$header, $ip_str)
     {
         return ($this->provider_proxy->realip($header, $ip_str));
     }