steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.23, 1.24 kolabmailboxfilter.php, 1.3, 1.4 kolabmailtransport.php, 1.2, 1.3

cvs at intevation.de cvs at intevation.de
Tue May 17 12:25:21 CEST 2005


Author: steffen

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

Modified Files:
	kolabfilter.php kolabmailboxfilter.php kolabmailtransport.php 
Log Message:
updated to db from openpkg 2.3.0, better error-handling in filter scripts, and better alias handling in postfix (now the problematic ldap lookup for distribution lists really shows up)

Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabfilter.php,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- kolabfilter.php	4 May 2005 14:32:44 -0000	1.23
+++ kolabfilter.php	17 May 2005 10:25:18 -0000	1.24
@@ -209,10 +209,14 @@
 $tmpf = fopen($tmpfname,"r");
 $smtp = new KolabSMTP( 'localhost', 10026 );
 if( PEAR::isError( $smtp ) ) {
-  fwrite(STDOUT, $smtp->getMessage()."\n"); exit(EX_TEMPFAIL);
+  fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+  if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+  else exit(EX_UNAVAILABLE);
 }
 if( PEAR::isError( $error = $smtp->start($sender,$recipients) ) ) {
-  fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);  
+  fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+  if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+  else exit(EX_UNAVAILABLE);
 }
 
 $headers_done = false;
@@ -222,19 +226,25 @@
     $headers_done = true;
     foreach( $add_headers as $h ) {
       if( PEAR::isError($error = $smtp->data( "$h\r\n" )) ) {
-	fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);
+	fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+	if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+	else exit(EX_UNAVAILABLE);
       }
     }
   }
   //myLog("Calling smtp->data( ".rtrim($buffer)." )", RM_LOG_DEBUG);
   if( PEAR::isError($error = $smtp->data( $buffer )) ) {
-    fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);
+    fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+    if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+    else exit(EX_UNAVAILABLE);
   }
 }
 while (!feof($tmpf) ) {
     $buffer = fread($tmpf, 8192);
     if( PEAR::isError($error = $smtp->data( $buffer )) ) {
-        fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);
+        fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+	if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+	else exit(EX_UNAVAILABLE);
     }
 };
 

Index: kolabmailboxfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabmailboxfilter.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- kolabmailboxfilter.php	3 May 2005 02:11:25 -0000	1.3
+++ kolabmailboxfilter.php	17 May 2005 10:25:18 -0000	1.4
@@ -121,10 +121,14 @@
 $tmpf = fopen($tmpfname,"r");
 $lmtp = new KolabLMTP();
 if( PEAR::isError( $lmtp ) ) {
-  fwrite(STDOUT, $lmtp->getMessage()."\n"); exit(EX_TEMPFAIL);
+  fwrite(STDOUT, $lmtp->getMessage()."\n");
+  if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+  else exit(EX_UNAVAILABLE);
 }
 if( PEAR::isError( $error = $lmtp->start($sender,$recipients) ) ) {
-  fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);  
+  fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+  if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+  else exit(EX_UNAVAILABLE);
 }
 
 $headers_done = false;
@@ -134,19 +138,25 @@
     $headers_done = true;
     foreach( $add_headers as $h ) {
       if( PEAR::isError($error = $lmtp->data( "$h\r\n" )) ) {
-	fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);
+	fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+	if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+	else exit(EX_UNAVAILABLE);
       }
     }
   }
   //myLog("Calling smtp->data( ".rtrim($buffer)." )", RM_LOG_DEBUG);
   if( PEAR::isError($error = $lmtp->data( $buffer )) ) {
-    fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);
+    fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+    if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+    else exit(EX_UNAVAILABLE);
   }
 }
 while (!feof($tmpf) ) {
     $buffer = fread($tmpf, 8192);
     if( PEAR::isError($error = $lmtp->data( $buffer )) ) {
-        fwrite(STDOUT, $error->getMessage()."\n"); exit(EX_TEMPFAIL);
+	fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n"); 
+	if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
+	else exit(EX_UNAVAILABLE);
     }
 };
 //myLog("Calling smtp->end()", RM_LOG_DEBUG);

Index: kolabmailtransport.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabmailtransport.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- kolabmailtransport.php	16 May 2005 12:39:47 -0000	1.2
+++ kolabmailtransport.php	17 May 2005 10:25:18 -0000	1.3
@@ -34,14 +34,14 @@
     $myclass = get_class($this->transport);
 
     if (!$this->transport) {
-      return new PEAR_Error('Failed to connect to $myclass: ' . $error->getMessage());
+      return new PEAR_Error('Failed to connect to $myclass: ' . $error->getMessage(), 421);
     }
     if (PEAR::isError($error = $this->transport->connect())) {
-      return new PEAR_Error('Failed to connect to $myclass: ' . $error->getMessage());
+      return new PEAR_Error('Failed to connect to $myclass: ' . $error->getMessage(), 421);
     }
 
     if (PEAR::isError($error = $this->transport->mailFrom($sender))) {
-      return new PEAR_Error('Failed to set sender: ' . $error->getMessage());
+      return new PEAR_Error('Failed to set sender: ' . $error->getMessage(), $this->transport->_code );
     }
     
     if( !is_array( $recips ) ) $recips = array($recips);
@@ -50,7 +50,7 @@
       if (PEAR::isError($error = $this->transport->rcptTo($recip))) {
 	$msg = 'Failed to set recipient: ' . $error->getMessage();
 	myLog($msg, RM_LOG_ERROR);
-	return $error;
+	return new PEAR_Error('Failed to set recipient: '.$error->getMessage(), $this->transport->_code);
       }
     }
 





More information about the commits mailing list