steffen: server/kolab-resource-handlers/kolab-resource-handlers/resmgr kolabfilter.php, 1.15, 1.16 resmgr.php, 1.60, 1.61
cvs at intevation.de
cvs at intevation.de
Sat Jan 8 12:51:32 CET 2005
Author: steffen
Update of /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr
In directory doto:/tmp/cvs-serv27545/kolab-resource-handlers/kolab-resource-handlers/resmgr
Modified Files:
kolabfilter.php resmgr.php
Log Message:
use homeserver for resources/groups
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/kolabfilter.php,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- kolabfilter.php 7 Jan 2005 22:24:16 -0000 1.15
+++ kolabfilter.php 8 Jan 2005 11:51:30 -0000 1.16
@@ -89,7 +89,7 @@
return true;
}
-$options = getopt("s:r:c:");
+$options = getopt("s:r:c:h:");
if (!array_key_exists('r', $options) || !array_key_exists('s', $options)) {
fwrite(STDOUT, "Usage is $argv[0] -s sender at domain -r recip at domain\n");
@@ -99,6 +99,7 @@
$sender = strtolower($options['s']);
$recipient = strtolower($options['r']);
$client_address = $options['c'];
+$fqhostname = strtolower($options['h']);
myLog("Kolabfilter starting up, sender=$sender, recipient=$recipient, client_address=$client_address", RM_LOG_DEBUG);
@@ -130,7 +131,7 @@
if( $ical ) {
require_once 'kolabfilter/resmgr.php';
myLog("Calling resmgr_filter( $sender, $recipient, $tmpfname )", RM_LOG_DEBUG);
- $rc = resmgr_filter( $sender, $recipient, $tmpfname );
+ $rc = resmgr_filter( $fqhostname, $sender, $recipient, $tmpfname );
if( PEAR::isError( $rc ) ) {
fwrite(STDOUT,"Filter failed: ".$rc->getMessage()."\n");
exit(EX_TEMPFAIL);
Index: resmgr.php
===================================================================
RCS file: /kolabrepository/server/kolab-resource-handlers/kolab-resource-handlers/resmgr/resmgr.php,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -d -r1.60 -r1.61
--- resmgr.php 7 Jan 2005 22:24:16 -0000 1.60
+++ resmgr.php 8 Jan 2005 11:51:30 -0000 1.61
@@ -163,7 +163,7 @@
$result = ldap_search($ldap, $params['base_dn'],
"(&(objectClass=kolabInetOrgPerson)(mail=$resource))",
- array("cn", "kolabEncryptedPassword", "kolabInvitationPolicy" ));
+ array("cn", "kolabHomeServer", "kolabEncryptedPassword", "kolabInvitationPolicy" ));
if (!$result) {
myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
return new PEAR_Error('Unable to perform LDAP search: ' . ldap_error($ldap));
@@ -176,6 +176,7 @@
}
$cn = $entries[0]['cn'][0];
+ $hs = $entries[0]['kolabhomeserver'][0];
$actions = $entries[0]['kolabinvitationpolicy'];
$encpw = base64_decode($entries[0]['kolabencryptedpassword'][0]);
@@ -238,7 +239,7 @@
ldap_close($ldap);
- return array( 'cn' => $cn, 'password' => $cleartext, 'action' => $action );
+ return array( 'cn' => $cn, 'homeserver' => $hs, 'password' => $cleartext, 'action' => $action );
}
function getResourceUid($resource)
@@ -985,7 +986,7 @@
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
-function resmgr_filter( $sender, $resource, $tmpfname ) {
+function resmgr_filter( $fqhostname, $sender, $resource, $tmpfname ) {
global $params, $conf, $ldapdata,$calmbox,$organiser,$uid,$sid,$requestText;
// Make Horde happy
@@ -996,6 +997,9 @@
if( PEAR::isError($ldapdata) ) return $ldapdata;
else if( $ldapdata === false ) {
// No data, probably not a local user
+ return true;
+ } else if( (boolean)strtolower($ldapdata['homeserver']) && strtolower($ldapdata['homeserver']) != $fqhostname ) {
+ // Not the users homeserver, ignore
return true;
}
if( $ldapdata['password'] === false ) {
More information about the commits
mailing list