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