steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.7, 1.8

cvs at intevation.de cvs at intevation.de
Mon Nov 22 00:50:29 CET 2004


Author: steffen

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

Modified Files:
	kolabfilter.php 
Log Message:
bugfix

Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabfilter.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- kolabfilter.php	21 Nov 2004 16:47:33 -0000	1.7
+++ kolabfilter.php	21 Nov 2004 23:50:27 -0000	1.8
@@ -47,14 +47,16 @@
 // From: header and that mail from the outside
 // does not impersonate any user from our domain
 function verify_sender( $sender, $from ) {
+  myLog("verify_sender( $sender, $from )", RM_LOG_DEBUG);
   global $params;
   if( is_array($params['email_domain']) ) {
     $domains = $params['email_domain'];
   } else {
     $domains = array($params['email_domain']);
   }
-  $senderdom = strstr($sender, '@');
-  $fromdom   = strstr($from, '@');
+  $senderdom = substr(strrchr($sender, '@'), 1);
+  $fromdom = substr(strrchr($from, '@'), 1);
+  mylog( 'domains = "'.join( ', ', $domains ).'", '."senderdom=$senderdom, fromdom=$fromdom", RM_LOG_DEBUG); 
   foreach( $domains as $domain ) {
     if( ($senderdom == $domain ||
 	 $fromdom   == $domain ) &&
@@ -87,8 +89,9 @@
   } else if( eregi( '^From:(.*)', $line, $regs ) ) {
     $adrs = imap_rfc822_parse_adrlist($regs[1], $params['email_domain']);
     foreach( $adrs as $adr ) {
-      $from = $adr->mailbox.'@'.$adr->host;
-      if( !verify_sender( $sender, strtolower($from)) ) {
+      $from = strtolower($adr->mailbox.'@'.$adr->host);
+      myLog("From: $from",RM_LOG_DEBUG);
+      if( !verify_sender( $sender, $from) ) {
 	fwrite(STDOUT,"Invalid From: header. $from does not match envelope $sender\n");
 	exit(EX_UNAVAILABLE);
       }





More information about the commits mailing list