steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.27, 1.28 resmgr.conf, 1.7, 1.8
cvs at intevation.de
cvs at intevation.de
Wed Oct 12 05:21:51 CEST 2005
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv29787/kolab-resource-handlers/resmgr
Modified Files:
kolabfilter.php resmgr.conf
Log Message:
Fix for issue958 (From header rewriting)
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabfilter.php,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- kolabfilter.php 1 Jul 2005 11:59:45 -0000 1.27
+++ kolabfilter.php 12 Oct 2005 03:21:49 -0000 1.28
@@ -104,6 +104,15 @@
function verify_sender( $sender, $from, $client_addr ) {
global $params;
+ // Allow anything from fellow Kolab-hosts
+ /*
+ $kolabhosts = split(',', $params['kolabhosts'] );
+ $kolabhosts = array_map( "gethostbyname", $kolabhosts );
+ foreach( $kolabhosts as $ip ) {
+ if( $client_addr == $ip ) return true;
+ }
+ */
+
$adrs = imap_rfc822_parse_adrlist($from, $params['email_domain']);
foreach ($adrs as $adr) {
$from = $adr->mailbox.'@'.$adr->host;
@@ -119,18 +128,19 @@
if( $params['verify_subdomains'] ) {
//myLog( "Checking if ".substr($senderdom, -strlen($domain)-1)." == .$domain", RM_LOG_DEBUG );
//myLog( "Checking if ".substr($fromdom, -strlen($domain)-1)." == .$domain", RM_LOG_DEBUG );
- if( $client_addr != '127.0.0.1' &&
- ($senderdom == $domain ||
- $fromdom == $domain ||
- substr($senderdom, -strlen($domain)-1) == ".$domain" ||
- substr($fromdom, -strlen($domain)-1) == ".$domain" ) &&
- $sender != $from ) {
+ if( $client_addr != '127.0.0.1' &&
+ ($senderdom == $domain ||
+ $fromdom == $domain ||
+ substr($senderdom, -strlen($domain)-1) == ".$domain" ||
+ substr($fromdom, -strlen($domain)-1) == ".$domain" ) &&
+ $sender != $from ) {
return false;
}
} else {
- if( ($senderdom == $domain ||
- $fromdom == $domain ) &&
- $sender != $from ) {
+ if( $client_addr != '127.0.0.1' &&
+ ($senderdom == $domain ||
+ $fromdom == $domain ) &&
+ $sender != $from ) {
return false;
}
}
@@ -185,12 +195,14 @@
$senderok = false;
} else {
// Only rewrite if from is ours and envelope not
- if( is_my_domain( $from ) && !is_my_domain( $sender )) {
- myLog("Rewriting From header", RM_LOG_DEBUG);
- $rewrittenfrom = "From: $from (UNTRUSTED, sender is \"$sender\")\r\n";
+ 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 */
} else {
// Not our domain in From, reject
- $senderok = false;
+ $senderok = false;
}
}
}
Index: resmgr.conf
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/resmgr.conf,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- resmgr.conf 10 Jun 2005 23:54:37 -0000 1.7
+++ resmgr.conf 12 Oct 2005 03:21:49 -0000 1.8
@@ -11,6 +11,9 @@
// '@domain' specified after their username as part of their email address.
$params['email_domain'] = 'example.com';
+// List of kolab hosts that are priviledged
+$params['kolabhosts'] = 'one.example.com,two.example.com,three.example.com';
+
// Are we using virtual domains with Cyrus?
$params['virtual_domains'] = true;
More information about the commits
mailing list