steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.31, 1.32

cvs at intevation.de cvs at intevation.de
Wed Nov 30 03:41:31 CET 2005


Author: steffen

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

Modified Files:
	kolabfilter.php 
Log Message:
Fixed a few things and revived subdomain support

Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabfilter.php,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- kolabfilter.php	30 Nov 2005 01:20:14 -0000	1.31
+++ kolabfilter.php	30 Nov 2005 02:41:29 -0000	1.32
@@ -206,7 +206,9 @@
       }
     } else {
       foreach( $domains as $domain ) {
-	if( strtolower($fromdom) == $domain ) {
+	if( strtolower($fromdom) == $domain 
+	    || ( $params['verify_subdomains'] 
+		 && substr($fromdom, -strlen($domain)-1) == ".$domain" ) ) {
 	  if( $params['reject_forged_from_header'] ) {
 	    myLog("$from is not an allowed From address for unauthenticated users", RM_LOG_DEBUG);	    
 	    return false;
@@ -303,6 +305,7 @@
       } else if( is_string($rc) ) {
 	/* Rewrite from */
 	if( strpos( $from, $rc )===false ) {
+	  myLog("Rewriting '$from' to '$rc'", RM_LOG_DEBUG);
 	  $rewrittenfrom = "From: $rc\r\n";
 	}
       }
@@ -342,8 +345,9 @@
       exit(0);
     }
   } else {
-    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");
+    $msg = "Invalid From: header. $from looks like a forged sender";
+    myLog($msg, RM_LOG_DEBUG);
+    fwrite(STDOUT,"$msg\n");
     exit(EX_UNAVAILABLE);
   }
 }
@@ -352,7 +356,8 @@
 //$outputtime->start();
 
 $tmpf = fopen($tmpfname,"r");
-$smtp = new KolabSMTP( 'localhost', 10026 );
+/* TODO: Dont hardcode localhost:10025 */
+$smtp = new KolabSMTP( 'localhost', 10025 );
 if( PEAR::isError( $smtp ) ) {
   fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
   if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);





More information about the commits mailing list