Added proxying information to the Received: header if the user comes
authorgustavf <gustavf@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 6 Jul 2000 10:35:59 +0000 (10:35 +0000)
committergustavf <gustavf@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Thu, 6 Jul 2000 10:35:59 +0000 (10:35 +0000)
through a HTTP-prxy that sets either HTTP_VIA or HTTP_X_FORWARDED_FOR.

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@597 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/smtp.php

index 8b81c90c26c1745623370a4cb29d292f9c357570..b7ececf2c20312ffe92b9c961ff01c8c965bf3d9 100644 (file)
    function write822Header ($fp, $t, $c, $b, $subject, $more_headers) {
       global $REMOTE_ADDR, $SERVER_NAME, $REMOTE_PORT;
       global $data_dir, $username, $domain, $version, $useSendmail;
-      global $default_charset;
+      global $default_charset, $HTTP_VIA, $HTTP_X_FORWARDED_FOR;
 
       // Storing the header to make sure the header is the same
       // everytime the header is printed.
          $message_id .= time() . "@" . $SERVER_NAME .">";
          
          /* Make an RFC822 Received: line */
-         $header = "Received: from $REMOTE_ADDR by $SERVER_NAME with HTTP; ";
+         $received_from = "$REMOTE_ADDR";
+         if (isset($HTTP_VIA) || isset ($HTTP_X_FORWARDED_FOR)) {
+            if ($HTTP_X_FORWARDED_FOR == "")
+               $HTTP_X_FORWARDED_FOR = "unknown";
+            $received_from .= " (proxying for $HTTP_X_FORWARDED_FOR)";
+         }            
+         $header = "Received: from $received_from by $SERVER_NAME with HTTP; ";
          $header .= "$date\r\n";
          
          /* Insert the rest of the header fields */