steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr resmgr.php.in, 1.5, 1.6

cvs at intevation.de cvs at intevation.de
Sun Apr 30 04:35:49 CEST 2006


Author: steffen

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

Modified Files:
	resmgr.php.in 
Log Message:
Fix for Issue966: Wrong CN for resource accounts

Index: resmgr.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/resmgr.php.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- resmgr.php.in	13 Apr 2006 14:17:54 -0000	1.5
+++ resmgr.php.in	30 Apr 2006 02:35:47 -0000	1.6
@@ -127,6 +127,17 @@
   }
 }
 
+function actiontostring( $action ) {
+  switch ($action) {
+  case RM_ACT_ALWAYS_ACCEPT: return 'ACT_ALWAYS_ACCEPT';
+  case RM_ACT_ALWAYS_REJECT: return 'ACT_ALWAYS_REJECT';
+  case RM_ACT_REJECT_IF_CONFLICTS: return 'ACT_REJECT_IF_CONFLICTS';
+  case RM_ACT_MANUAL_IF_CONFLICTS: return 'ACT_MANUAL_IF_CONFLICTS';
+  case RM_ACT_MANUAL: return 'ACT_MANUAL';
+  default:  return false;
+  }  
+};
+
 function getDN( $ldap, $mail ) {
   global $params;
   $filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$mail)(alias=$mail)))";
@@ -219,17 +230,15 @@
     if( array_key_exists( $sender, $policies ) ) {
       // We have an exact match, stop processing
       $action = $policies[$sender];
-      myLog("Found exact policy match $action for $sender", RM_LOG_DEBUG);
+      myLog("Found exact policy match ".actiontostring($action)." for $sender", RM_LOG_DEBUG);
     } else {
       $action = false;
       $dn = getDN( $ldap, $sender );
       if( $dn ) {
 	// Sender is local, check for groups
 	foreach( $policies as $gid => $policy ) {
-	  list($cn, $domain) = split( '@', $gid );
-	  if( $domain != $params['email_domain'] ) continue;
 	  $result = ldap_search($ldap, $params['base_dn'],
-				"(&(objectClass=kolabGroupOfNames)(cn=$cn)(member=$dn))",
+				"(&(objectClass=kolabGroupOfNames)(mail=$gid)(member=$dn))",
 				array('dn'));
 	  if (!$result) {
 	    myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
@@ -461,6 +470,8 @@
 {
     global $organiser, $uid, $sid, $is_update;
 
+    myLog("sendITipReply($cn,$resource,$itip,$type)", RM_LOG_DEBUG);
+
     // Build the reply.
     $vCal = &new Horde_iCalendar();
     $vCal->setAttribute('PRODID', '-//proko2//resmgr 1.0//EN');
@@ -1080,8 +1091,6 @@
 }
 
 
-
-
 ////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////
@@ -1113,7 +1122,7 @@
 
   $cn = $ldapdata['cn'];
   $params['action'] = $ldapdata['action'];
-  myLog("Action for $sender is ".$params['action'], RM_LOG_DEBUG);
+  myLog("Action for $sender is ".actiontostring($params['action']), RM_LOG_DEBUG);
   if( !$params['action'] ) {
     // Manual is the only safe default!
     $params['action'] = RM_ACT_MANUAL;





More information about the commits mailing list