steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.26.2.1, 1.26.2.2
cvs at intevation.de
cvs at intevation.de
Wed Jan 11 05:38:03 CET 2006
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv7171/kolab-resource-handlers/resmgr
Modified Files:
Tag: kolab_2_0_branch
kolabfilter.php
Log Message:
Fix for issue973 (rewritten From header)
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/Attic/kolabfilter.php,v
retrieving revision 1.26.2.1
retrieving revision 1.26.2.2
diff -u -d -r1.26.2.1 -r1.26.2.2
--- kolabfilter.php 12 Oct 2005 03:24:23 -0000 1.26.2.1
+++ kolabfilter.php 11 Jan 2006 04:38:01 -0000 1.26.2.2
@@ -98,6 +98,19 @@
return false;
}
+function rewrite_from($sender,$from) {
+ global $params;
+ $adrs = imap_rfc822_parse_adrlist($from, $params['email_domain'][0]);
+ foreach ($adrs as $adr) {
+ $fromadr = $adr->mailbox.'@'.$adr->host;
+ if( !ereg( "\(UNTRUSTED, sender is <$sender>\)", $from ) ) {
+ myLog("$from is not an allowed From address for unauthenticated users, rewriting", RM_LOG_DEBUG);
+ return '"'.$adr->personal.'(UNTRUSTED, sender is <'.$sender.'>)" '.'<'.$fromadr.'>';
+ } /* else already rewritten */
+ }
+ return $from;
+}
+
// Check that mail from our domains have trustable
// From: header and that mail from the outside
// does not impersonate any user from our domain
@@ -186,13 +199,10 @@
} else {
// Only rewrite if from is ours and envelope not
if( is_my_domain( $from ) && !is_my_domain( $sender )) {
- if( !ereg( "\(UNTRUSTED, sender is $sender\)", $from ) ) {
- myLog("Rewriting From header", RM_LOG_DEBUG);
- $rewrittenfrom = "From: $from (UNTRUSTED, sender is $sender)\r\n";
- } /* else already rewritten */
+ $rewrittenfrom = "From: ".rewrite_from( $sender, $from )."\r\n";
} else {
- // Not our domain in From, reject
- $senderok = false;
+ // Not our domain in From, reject
+ $senderok = false;
}
}
}
More information about the commits
mailing list