steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.24, 1.25 resmgr.conf, 1.6, 1.7
cvs at intevation.de
cvs at intevation.de
Sat Jun 11 01:54:39 CEST 2005
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv1169/kolab-resource-handlers/kolab-resource-handlers/resmgr
Modified Files:
kolabfilter.php resmgr.conf
Log Message:
rewite from header (Issue783)
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabfilter.php,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- kolabfilter.php 17 May 2005 10:25:18 -0000 1.24
+++ kolabfilter.php 10 Jun 2005 23:54:37 -0000 1.25
@@ -151,6 +151,7 @@
$from = false;
$subject = false;
$senderok = true;
+$rewrittenfrom = false;
while (!feof(STDIN) && !$headers_done) {
$buffer = fgets(STDIN, 8192);
$line = rtrim( $buffer, "\r\n");
@@ -159,7 +160,13 @@
$headers_done = true;
if( $from && $params['verify_from_header'] ) {
if( !verify_sender( strtolower($sender), strtolower($from), $client_address) ) {
- $senderok = false;
+ myLog("$sender and $from differ!", RM_LOG_DEBUG);
+ if( $params['reject_forged_from_header'] ) {
+ $senderok = false;
+ } else {
+ myLog("Rewriting From header", RM_LOG_DEBUG);
+ $rewrittenfrom = "From: $from (UNTRUSTED, sender is \"$sender\")\r\n";
+ }
}
}
} else if( !$headers_done && $params['allow_sender_header'] && eregi( '^Sender: (.*)', $line, $regs ) ) {
@@ -222,6 +229,14 @@
$headers_done = false;
while (!feof($tmpf) && !$headers_done) {
$buffer = fgets($tmpf, 8192);
+ if( !$headers_done && $rewrittenfrom && eregi( '^From: (.*)', $buffer ) ) {
+ if( PEAR::isError($error = $smtp->data( $rewrittenfrom )) ) {
+ fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n");
+ if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+ else exit(EX_UNAVAILABLE);
+ }
+ continue;
+ }
if( !$headers_done && rtrim( $buffer, "\r\n" ) == '' ) {
$headers_done = true;
foreach( $add_headers as $h ) {
Index: resmgr.conf
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/resmgr.conf,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- resmgr.conf 3 Apr 2005 23:17:34 -0000 1.6
+++ resmgr.conf 10 Jun 2005 23:54:37 -0000 1.7
@@ -22,16 +22,20 @@
// that origins on this server?
$params['verify_from_header'] = true;
+// Should we perform this check on mail from our
+// subdomains too?
+$params['verify_subdomains'] = true;
+
// Should the Sender: header be used over From: if present?
$params['allow_sender_header'] = true;
+// Should reject messages with From headers that dont match
+// the envelope? Default is to rewrite the header
+$params['reject_forged_from_header'] = false;
+
// Should we allow forwarded ical messages from Outlook
// by encapsulating them in a MIME multipart
$params['allow_outlook_ical_forward'] = true;
-
-// Should we perform this check on mail from our
-// subdomains too?
-$params['verify_subdomains'] = true;
// LDAP data
// What is the address of the LDAP server address where user objects reside
More information about the commits
mailing list