steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.16, 1.17 resmgr.conf, 1.4, 1.5

cvs at intevation.de cvs at intevation.de
Wed Mar 9 03:49:37 CET 2005


Author: steffen

Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv28161/kolab-resource-handlers/resmgr

Modified Files:
	kolabfilter.php resmgr.conf 
Log Message:
added optional Sender: support for rfc compliance

Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabfilter.php,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- kolabfilter.php	8 Jan 2005 11:51:30 -0000	1.16
+++ kolabfilter.php	9 Mar 2005 02:49:35 -0000	1.17
@@ -106,19 +106,24 @@
 $ical = false;
 $add_headers = array();
 $headers_done = false;
+$from = false;
 while (!feof(STDIN)) {
   $buffer = fgets(STDIN, 8192);
   $line = rtrim( $buffer, "\r\n");
   if( $line == '' ) {
     // Done with headers
     $headers_done = true;
-  } else if( !$headers_done && $params['verify_from_header'] && eregi( '^From:(.*)', $line, $regs ) ) {
+    if( $from && $params['verify_from_header'] ) {
+      if( !verify_sender( $sender, $from, $client_address) ) {
+	myLog("Invalid From: header. $from does not match envelope $sender\n", RM_LOG_DEBUG);
+	fwrite(STDOUT,"Invalid From: header. $from does not match envelope $sender\n");
+	exit(EX_UNAVAILABLE);
+      }
+    }
+  } else if( !$headers_done && $params['allow_sender_header'] && eregi( '^Sender:(.*)', $line, $regs ) ) {
+    $from = strtolower($regs[1]);
+  } else if( !$headers_done && !$from && eregi( '^From:(.*)', $line, $regs ) ) {
     $from = strtolower($regs[1]);
-    if( !verify_sender( $sender, $from, $client_address) ) {
-      myLog("Invalid From: header. $from does not match envelope $sender\n", RM_LOG_DEBUG);
-      fwrite(STDOUT,"Invalid From: header. $from does not match envelope $sender\n");
-      exit(EX_UNAVAILABLE);
-    }   
   } else if( eregi( '^Content-Type: text/calendar', $line ) ) {
     myLog("Found iCal data in message", RM_LOG_DEBUG);    
     $ical = true;

Index: resmgr.conf
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/resmgr.conf,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- resmgr.conf	23 Nov 2004 11:48:11 -0000	1.4
+++ resmgr.conf	9 Mar 2005 02:49:35 -0000	1.5
@@ -22,6 +22,9 @@
 // that origins on this server?
 $params['verify_from_header'] = true;
 
+// Should the Sender: header be used over From: if present?
+$params['allow_sender_header'] = true;
+
 // Should we perform this check on mail from our
 // subdomains too?
 $params['verify_subdomains'] = true;





More information about the commits mailing list