--- NEW FILE: HK-GW-turba_2.2-Changes_after_ALPHA.patch ---
Some necessary fixes for Turba from CVS.
diff -r 0ca2d81b250b turba/addressbooks.php
--- a/turba/addressbooks.php Tue Oct 02 15:05:12 2007 +0200
+++ b/turba/addressbooks.php Tue Oct 02 15:12:26 2007 +0200
@@ -4,7 +4,7 @@
*
* Copyright 2005-2007 The Horde Project (http://www.horde.org/)
*
- * $Horde: turba/addressbooks.php,v 1.32 2007/08/01 10:43:29 jan Exp $
+ * $Horde: turba/addressbooks.php,v 1.33 2007/08/16 17:35:26 mrubinsk Exp $
*
* See the enclosed file LICENSE for license information (ASL). If you did
* did not receive this file, see http://www.horde.org/licenses/asl.php.
@@ -102,7 +102,6 @@ case 'add':
$notification->push(sprintf(_("There was an error creating this address book: %s"), $share->getMessage()), 'horde.error');
} else {
$notification->push(sprintf(_("The address book \"%s\" was created successfully."), $share->get('name')), 'horde.success');
- Turba::addSourceFromShare($share);
}
header('Location: ' . Horde::applicationUrl('addressbooks.php', true));
diff -r 0ca2d81b250b turba/lib/Driver/kolab.php
--- a/turba/lib/Driver/kolab.php Tue Oct 02 15:05:12 2007 +0200
+++ b/turba/lib/Driver/kolab.php Tue Oct 02 15:12:26 2007 +0200
@@ -2,7 +2,7 @@
/**
* @package Turba
*
- * $Horde: turba/lib/Driver/kolab.php,v 1.27 2007/06/19 09:50:30 wrobel Exp $
+ * $Horde: turba/lib/Driver/kolab.php,v 1.28 2007/09/19 07:43:19 wrobel Exp $
*/
/** Kolab support class. */
@@ -151,12 +151,36 @@ class Turba_Driver_kolab extends Turba_D
}
}
+ /**
+ * Creates a new Horde_Share
+ *
+ * @param array The params for the share.
+ *
+ * @return mixed The share object or PEAR_Error.
+ * @since Turba 2.2
+ */
+ function &createShare($share_id, $params)
+ {
+ if (isset($params['params']['default']) && $params['params']['default'] === true) {
+ $share_id = Auth::getAuth();
+ }
+
+ $result = &Turba::createShare($share_id, $params);
+ return $result;
+ }
+
+ function checkDefaultShare(&$share, $srcConfig)
+ {
+ $params = @unserialize($share->get('params'));
+ return $params['default'];
+ }
+
}
/**
* Horde Turba wrapper to distinguish between both Kolab driver implementations.
*
- * $Horde: turba/lib/Driver/kolab.php,v 1.27 2007/06/19 09:50:30 wrobel Exp $
+ * $Horde: turba/lib/Driver/kolab.php,v 1.28 2007/09/19 07:43:19 wrobel Exp $
*
* Copyright 2004-2007 The Horde Project (http://www.horde.org/)
*
diff -r 0ca2d81b250b turba/lib/Turba.php
--- a/turba/lib/Turba.php Tue Oct 02 15:05:12 2007 +0200
+++ b/turba/lib/Turba.php Tue Oct 02 15:12:26 2007 +0200
@@ -1,6 +1,6 @@
getName();
- if (!isset($GLOBALS['cfgSources'][$name])) {
- list($source, $user) = explode(':', $name, 2);
- if ($user != Auth::getAuth()) {
- $newSrc = $GLOBALS['cfgSources'][$source];
- unset($newSrc['use_shares']);
- $newSrc['title'] = $share->get('name');
- $GLOBALS['cfgSources'][$name] = $newSrc;
- }
- }
+ function getSourceFromShare(&$share)
+ {
+ // Require a fresh config file.
+ require TURBA_BASE . '/config/sources.php';
+
+ $params = @unserialize($share->get('params'));
+ $newConfig = $cfgSources[$params['source']];
+ $newConfig['params']['config'] = $cfgSources[$params['source']];
+ $newConfig['params']['config']['params']['share'] = &$share;
+ $newConfig['params']['config']['params']['name'] = $params['name'];
+ $newConfig['title'] = $share->get('name');
+ $newConfig['type'] = 'share';
+ $newConfig['use_shares'] = false;
+
+ return $newConfig;
}
/**
@@ -616,10 +617,13 @@ class Turba {
// Kinda hackish way of indicating what tasks need to run, until
// a more general mechanism is available.
- $needed_tasks = array('upgradeprefs');
+ $needed_tasks = array('upgradeprefs', 'upgradelists');
$successful = array();
$existing = @unserialize($GLOBALS['prefs']->getValue('turba_maintenance_tasks'));
+ if (empty($existing)) {
+ $existing = array();
+ }
foreach ($needed_tasks as $taskname) {
if (array_search($taskname, $existing) === false) {
include dirname(__file__) . '/Maintenance/Task/' . basename($taskname) . '.php';
diff -r 0ca2d81b250b turba/lib/api.php
--- a/turba/lib/api.php Tue Oct 02 15:05:12 2007 +0200
+++ b/turba/lib/api.php Tue Oct 02 15:12:26 2007 +0200
@@ -2,7 +2,7 @@
/**
* Turba external API interface.
*
- * $Horde: turba/lib/api.php,v 1.214 2007/08/02 04:37:18 chuck Exp $
+ * $Horde: turba/lib/api.php,v 1.219 2007/08/29 12:13:30 jan Exp $
*
* This file defines Turba's external API interface. Other applications can
* interact with Turba through this API.
@@ -180,18 +180,34 @@ function _turba_removeUserData($user)
/* We need a clean copy of the $cfgSources array here.*/
require TURBA_BASE . '/config/sources.php';
-
$hasError = false;
- $sourceKeys = array_keys($cfgSources);
- foreach ($sourceKeys as $sourceKey) {
- $driver = &Turba_Driver::singleton($sourceKey);
- if (is_a($driver, 'PEAR_Error')) {
+ $shares = null;
+
+ foreach ($cfgSources as $source) {
+ if (empty($source['use_shares'])) {
+ // Shares not enabled for this source
+ $driver = &Turba_Driver::singleton($source);
+ if (is_a($driver, 'PEAR_Error')) {
+ $hasError = true;
+ } else {
+ $result = $driver->removeUserData($user);
+ if (is_a($result, 'PEAR_Error')) {
+ $hasError = true;
+ }
+ }
+ }
+ }
+
+ $shares = &$GLOBALS['turba_shares']->listShares($user,
+ PERMS_EDIT,
+ $user);
+ foreach ($shares as $share) {
+ $params = @unserialize($share->get('params'));
+ $config = Turba::getSourceFromShare($share);
+ $driver = &Turba_Driver::singleton($config);
+ $result = $driver->removeUserData($user);
+ if (is_a($result, 'PEAR_Error')) {
$hasError = true;
- } else {
- $result = $driver->removeUserData($user);
- if (is_a($result, 'PEAR_Error')) {
- $hasError = true;
- }
}
}
@@ -918,6 +934,10 @@ function _turba_search($names = array(),
return array();
}
+ if (!is_array($names)) {
+ $names = is_null($names) ? array() : array($names);
+ }
+
if (!count($sources)) {
$sources = array(key($cfgSources));
}
@@ -934,7 +954,8 @@ function _turba_search($names = array(),
}
// Skip sources that aren't browseable if the search is empty.
- if (!count($names) && empty($cfgSources[$source]['browse'])) {
+ if (empty($cfgSources[$source]['browse'])
+ && (!count($names) || (count($names) == 1 && empty($names[0])))) {
continue;
}
@@ -1024,6 +1045,7 @@ function _turba_search($names = array(),
$listatt = $ob->getAttributes();
$seeninlist = array();
$members = $ob->listMembers();
+ $listName = $ob->getValue('name');
if (is_a($members, 'Turba_List')) {
if ($members->count() > 0) {
if (!isset($results[$name])) {
@@ -1032,7 +1054,8 @@ function _turba_search($names = array(),
$emails = array();
while ($ob = $members->next()) {
$att = $ob->getAttributes();
- foreach ($att as $key => $value) {
+ foreach (array_keys($att) as $key) {
+ $value = $ob->getValue($key);
if (!empty($value) && isset($attributes[$key]) &&
$attributes[$key]['type'] == 'email' &&
empty($seeninlist[trim(String::lower($att['name'])) . trim(String::lower($value))])) {
@@ -1042,7 +1065,7 @@ function _turba_search($names = array(),
}
}
}
- $results[$name][] = array('name' => $listatt['name'], 'email' => implode(', ', $emails), 'id' => $listatt['__key'], 'source' => $source);
+ $results[$name][] = array('name' => $listName, 'email' => implode(', ', $emails), 'id' => $listatt['__key'], 'source' => $source);
}
}
}
diff -r 0ca2d81b250b turba/templates/addressbooks.inc
--- a/turba/templates/addressbooks.inc Tue Oct 02 15:05:12 2007 +0200
+++ b/turba/templates/addressbooks.inc Tue Oct 02 15:12:26 2007 +0200
@@ -120,7 +120,7 @@ function verifyDelete()
- " />
+ " />
--- NEW FILE: HK-GW-turba_2.2-Fix_address_book_deletion_1.patch ---
Fixes address book deletion.
diff -r 8e461aedd317 turba/lib/Driver/kolab.php
--- a/turba/lib/Driver/kolab.php Tue Oct 02 09:24:16 2007 +0200
+++ b/turba/lib/Driver/kolab.php Tue Oct 02 09:30:45 2007 +0200
@@ -892,11 +892,6 @@ class Turba_Driver_kolab_wrapper_new ext
return $result;
}
- if ($sourceName != null) {
- Horde::logMessage('deleteAll only working for current share. Called for $sourceName', __FILE__, __LINE__, PEAR_LOG_ERR);
- return PEAR::raiseError(sprintf(_("Cannot delete all address book entries for %s"), $sourceName));
- }
-
return $this->_store->deleteAll();
}
--- NEW FILE: HK-GW-turba_2.2-Fix_editing_contacts.patch ---
Fixes editing contacts.
diff -r de15e2f26408 turba/lib/Driver/share.php
--- a/turba/lib/Driver/share.php Tue Oct 02 12:25:42 2007 +0200
+++ b/turba/lib/Driver/share.php Tue Oct 02 12:38:50 2007 +0200
@@ -58,7 +58,7 @@ class Turba_Driver_share extends Turba_D
*/
function getName()
{
- $share_parts = explode(':', $this->_share->getName());
+ $share_parts = explode(':', $this->_share->getId());
return array_pop($share_parts);
}
--- NEW FILE: HK-GW-turba_2.2-Fix_notice_on_addressbook_creation.patch ---
Fixes a notice when creating a new share.
diff -r 6da2fcb4e060 turba/lib/Driver/kolab.php
--- a/turba/lib/Driver/kolab.php Tue Oct 02 07:47:47 2007 +0200
+++ b/turba/lib/Driver/kolab.php Tue Oct 02 08:18:26 2007 +0200
@@ -222,7 +222,7 @@ class Turba_Driver_kolab_wrapper {
*/
function Turba_Driver_kolab_wrapper($addressbook, &$kolab)
{
- if ($addressbook[0] == '_') {
+ if ($addressbook && $addressbook[0] == '_') {
$addressbook = substr($addressbook, 1);
}
$this->_addressbook = $addressbook;
--- NEW FILE: HK-GW-turba_2.2-Fix_share_id_change.patch ---
This fixes a problem with the way the Kolab share driver handles ids.
diff -r dd05e667699d turba/lib/Turba.php
--- a/turba/lib/Turba.php Tue Oct 02 06:47:29 2007 +0200
+++ b/turba/lib/Turba.php Tue Oct 02 06:55:13 2007 +0200
@@ -439,7 +439,7 @@ class Turba {
$source_config = $sources[$source];
$source_config['params']['share'] = &$share;
- $sources[$sourceKey] = $source_config;
+ $sources[$share->getId()] = $source_config;
} else {
$notification->push($driver, 'horde.error');
}
@@ -564,7 +564,7 @@ class Turba {
/* Add the new addressbook to the user's list of visible
* address books. */
$prefs = explode("\n", $GLOBALS['prefs']->getValue('addressbooks'));
- if (array_search($share_id, $prefs) === false) {
+ if (array_search($share->getId(), $prefs) === false) {
$GLOBALS['prefs']->setValue('addressbooks', $GLOBALS['prefs']->getValue('addressbooks') . "\n" . $share_id);
}
return $share;
--- NEW FILE: HK-GW-turba_2.2-Ldap_read_only_fix.patch ---
This is a temporary fix to mark the ldap addressbook as read-only. This should be solved with the Horde Perms package but this needs a new driver.
diff -r b7be146cb26a turba/lib/Driver/ldap.php
--- a/turba/lib/Driver/ldap.php Tue Oct 02 07:18:36 2007 +0200
+++ b/turba/lib/Driver/ldap.php Tue Oct 02 07:19:20 2007 +0200
@@ -53,6 +53,9 @@ class Turba_Driver_ldap extends Turba_Dr
}
if (empty($params['deref'])) {
$params['deref'] = LDAP_DEREF_NEVER;
+ }
+ if (empty($params['read_only'])) {
+ $params['read_only'] = false;
}
parent::Turba_Driver($params);
@@ -749,4 +752,25 @@ class Turba_Driver_ldap extends Turba_Dr
return $dn;
}
+ /**
+ * Checks if the current user has the requested permission
+ * on this source.
+ *
+ * @param integer $perm The permission to check for.
+ *
+ * @return boolean true if user has permission, false otherwise.
+ */
+ function hasPermission($perm)
+ {
+ if ($this->_params['read_only'] === false) {
+ return parent::hasPermission($perm);
+ } else {
+ switch ($perm) {
+ case PERMS_EDIT: return false;
+ case PERMS_DELETE: return false;
+ default: return parent::hasPermission($perm);
+ }
+ }
+ }
+
}
--- NEW FILE: README_Changes_after_ALPHA.patch ---
DESCRIPTION:
These are CVS changes that ocurred in Turba after the ALPHA
release and are relevant to the share system.
IMPACT:
Turba will fail to work without this patch.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Edit_share_rights.patch ---
DESCRIPTION:
Allows editing share rights for shares other than the default
share. This is a fix that has already been applied upstream but is
still missing from the ALPHA release. This will become obsolete with
the next Horde release.
IMPACT:
Mnemo will not allow you to edit share rights without this.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Fix_address_book_deletion_1.patch ---
DESCRIPTION:
Minor fix to correct deletion of shared addressbooks.
IMPACT:
Probably none.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Fix_editing_contacts.patch ---
DESCRIPTION:
Fixes an issue with some links to the contact editing page.
IMPACT:
Turba will not allow you to edit some contacts.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Horde issue # 5763
--- NEW FILE: README_Fix_notice_on_addressbook_creation.patch ---
DESCRIPTION:
Removes a PHP notice when you edit an addressbook.
IMPACT:
Removes the notice.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Fix_share_id_change.patch ---
DESCRIPTION:
Kolab shares currently have a problematic way of handling
share ids. This is a workaround in Turba to fix the problem.
IMPACT:
Turba will behave strange when you create new shares.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Horde issue # 5762
--- NEW FILE: README_Fix_the_share_params.patch ---
DESCRIPTION:
Fixes the way Turba now handles share parameters.
IMPACT:
Turba will not allow you to edit shares without this.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Ldap_read_only_fix.patch ---
DESCRIPTION:
Marks the LDAP addressbook as read only.
IMPACT:
Turba will pretend to allow you to write to the global addresses
which will fail lif you really try to do so.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Is a bad patch since we currently don't have the permission
system file based.
From cvs at kolab.org Tue Oct 2 16:21:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 2 Oct 2007 16:21:36 +0200 (CEST)
Subject: gunnar: server/horde/horde-mnemo HK-GW-Edit_share_rights.patch, NONE,
1.1 horde-mnemo-kolab.spec, 1.16, 1.17
Message-ID: <20071002142136.5BC8D602A52@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-mnemo
In directory doto:/tmp/cvs-serv6110/horde/horde-mnemo
Modified Files:
horde-mnemo-kolab.spec
Added Files:
HK-GW-Edit_share_rights.patch
Log Message:
Adding the necessary turba and mnemo fixes for the next beta release.
--- NEW FILE: HK-GW-Edit_share_rights.patch ---
Allow to edit Kolab share rights for the notepads displayed by mnemo.
diff -r 2318390b621a mnemo/templates/notepads/notepads.inc
--- a/mnemo/templates/notepads/notepads.inc Tue Sep 25 11:50:19 2007 +0200
+++ b/mnemo/templates/notepads/notepads.inc Tue Sep 25 11:52:12 2007 +0200
@@ -53,7 +53,7 @@ function updateForm(share)
--- NEW FILE: HK-UV-kronolith_2.2-Fix_list_events.patch ---
Fix event display in kronolith.
diff -r 3bb98854b586 kronolith/lib/Driver/kolab.php
--- a/kronolith/lib/Driver/kolab.php Thu Oct 04 08:29:40 2007 +0200
+++ b/kronolith/lib/Driver/kolab.php Thu Oct 04 08:39:10 2007 +0200
@@ -1080,25 +1080,19 @@ class Kronolith_Driver_kolab_wrapper_new
}
$keep_event = false;
-/*
- echo "Start: ".$startDate->compareDate($event->start)." \n";
- echo "End: ".$endDate->compareDate($event->end)." \n";
-*/
- // check normal event date
- if ($startDate->compareDate($event->start) <= 0
- && $endDate->compareDate($event->end) >= -1)
- {
+ /* check if event period intersects with given period */
+ if (!(($endDate->compareDateTime($event->start) < 0) ||
+ ($startDate->compareDateTime($event->end) > 0))) {
$keep_event = true;
}
- // do recurrence expansion if not keeping anyway
+ /* do recurrence expansion if not keeping anyway */
if (!$keep_event && $event->recurs()) {
$next = $event->recurrence->nextRecurrence($startDate);
-
- if ($next !== false && !$event->recurrence->hasException($next->year, $next->month, $next->mday)
- && $startDate->compareDate($next) <= 0
- && $endDate->compareDate($next) >= 0)
- {
+ if ($next !== false &&
+ !$event->recurrence->hasException($next->year, $next->month, $next->mday) &&
+ (!(($endDate->compareDateTime($event->start) < 0) ||
+ ($startDate->compareDateTime($event->end) > 0)))) {
$keep_event = true;
}
}
--- NEW FILE: README_Fix_annotation_use.patch ---
DESCRIPTION:
Moves horde share description to the "/comments" annotation on
an IMAP server. This is still somewhat broken since the Kolab
patch for annotations (merge16) does not support utf-8 so we
use base64 encoded values here.
IMPACT:
You won't be able to create new groupware folder on the Kolab
server without this
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Fix_create_new_event.patch ---
DESCRIPTION:
Fixes kolab/issue2039 (https://www.intevation.de/roundup/kolab/issue2039)
IMPACT:
Invitations will not be sent out when creating a new event.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Fix_list_events.patch ---
DESCRIPTION:
Fixes kolab/issue1907 ([horde/horde-kronolith] List all events within a period)
https://www.intevation.de/roundup/kolab/issue1907
IMPACT:
Not all events defined in Kronolith will be displayed correctly.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
--- NEW FILE: README_Fix_share_right_editing.patch ---
DESCRIPTION:
Allows editing share rights for shares other than the default
share. This is a fix that has already been applied upstream but is
still missing from the ALPHA release. This will become obsolete with
the next Horde release.
IMPACT:
Nag and kronolith will not allow you to edit share rights without this.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
From cvs at kolab.org Thu Oct 4 11:47:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 4 Oct 2007 11:47:57 +0200 (CEST)
Subject: gunnar: server/horde/horde-nag HK-GW-Fix_share_right_editing.patch,
NONE, 1.1 horde-nag-kolab.spec, 1.14, 1.15
Message-ID: <20071004094757.AAE37602A54@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-nag
In directory doto:/tmp/cvs-serv11291/horde/horde-nag
Modified Files:
horde-nag-kolab.spec
Added Files:
HK-GW-Fix_share_right_editing.patch
Log Message:
Make horde ready for the beta release.
--- NEW FILE: HK-GW-Fix_share_right_editing.patch ---
Fixes share right editing for nag.
diff -r b7b4a2eab17c nag/templates/tasklists/tasklists.inc
--- a/nag/templates/tasklists/tasklists.inc Wed Oct 03 19:33:59 2007 +0200
+++ b/nag/templates/tasklists/tasklists.inc Wed Oct 03 19:42:07 2007 +0200
@@ -62,7 +62,7 @@ function checkSubmit()
Sets the annotation /explicit/annotation
+on mailbox to value.
diff -r 124e8301a15d perl/imap/IMAP/Admin.pm
--- a/perl/imap/IMAP/Admin.pm Mon Oct 01 11:18:56 2007 +0200
+++ b/perl/imap/IMAP/Admin.pm Thu Oct 11 08:14:56 2007 +0200
@@ -795,11 +795,11 @@ sub mboxconfig {
return undef;
}
- if(!exists($values{$entry})) {
- $self->{error} = "Unknown parameter $entry";
- }
-
- $entry = $values{$entry};
+ if(exists($values{$entry})) {
+ $entry = $values{$entry};
+ } else {
+ $self->{error} = "Unknown parameter $entry" unless substr($entry,0,1) eq "/";
+ }
my ($rc, $msg);
diff -r 124e8301a15d perl/imap/IMAP/Shell.pm
--- a/perl/imap/IMAP/Shell.pm Mon Oct 01 11:18:56 2007 +0200
+++ b/perl/imap/IMAP/Shell.pm Thu Oct 11 08:14:56 2007 +0200
@@ -126,7 +126,7 @@ my %builtins = (exit =>
[\&_sc_info, '[mailbox]',
'display mailbox/server metadata'],
mboxcfg =>
- [\&_sc_mboxcfg, 'mailbox [comment|condstore|news2mail|expire|sieve|squat] value',
+ [\&_sc_mboxcfg, 'mailbox [comment|condstore|news2mail|expire|sieve|squat|/] value',
'configure mailbox'],
mboxconfig => 'mboxcfg',
reconstruct =>
@@ -1424,7 +1424,7 @@ sub _sc_mboxcfg {
while (defined ($opt = shift(@argv))) {
last if $opt eq '--';
if ($opt =~ /^-/) {
- die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat] value\n";
+ die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat|/] value\n";
}
else {
push(@nargv, $opt);
@@ -1433,7 +1433,7 @@ sub _sc_mboxcfg {
}
push(@nargv, @argv);
if (@nargv < 2) {
- die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat] value\n";
+ die "usage: mboxconfig mailbox [comment|condstore|news2mail|expire|sieve|squat|/] value\n";
}
if (!$cyrref || !$$cyrref) {
die "mboxconfig: no connection to server\n";
diff -r 124e8301a15d perl/imap/cyradm.sh
--- a/perl/imap/cyradm.sh Mon Oct 01 11:18:56 2007 +0200
+++ b/perl/imap/cyradm.sh Thu Oct 11 08:14:56 2007 +0200
@@ -235,6 +235,10 @@ Sets an email address to which messages
Sets an email address to which messages injected into the server via NNTP
will be sent.
+=item C
+
+Sets the annotation I on I to I.
+
=back
=item C [C<--partition> I] I I
--- NEW FILE: README_Annotations.patch ---
DESCRIPTION:
Adds annotation support to the cyradm tool.
IMPACT:
Without this you will not be able to get/set custom annotations.
REFERENCES:
Wiki page:
http://wiki.kolab.org/index.php/Template:Patches_cyrus
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/kolab/patches/cyrus-imapd/summary
HISTORY
I currently don't know if this has been submitted alongside with
the main annotation patch.
From cvs at kolab.org Thu Oct 11 17:14:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 11 Oct 2007 17:14:55 +0200 (CEST)
Subject: gunnar: server/kolabd/kolabd kolabd.spec.in,1.17,1.18
Message-ID: <20071011151455.D6C1D60016A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv1129
Modified Files:
kolabd.spec.in
Log Message:
OpenPKG renamed the package back to apache.
Index: kolabd.spec.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolabd.spec.in,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- kolabd.spec.in 27 Aug 2007 19:11:49 -0000 1.17
+++ kolabd.spec.in 11 Oct 2007 15:14:53 -0000 1.18
@@ -59,16 +59,16 @@
PreReq: amavisd
PreReq: clamav >= 0.90
PreReq: imap, imap::with_annotate = yes
-PreReq: apache2, apache2::with_mod_dav = yes, apache2::with_mod_ssl = yes, apache2::with_mod_ldap = yes
+PreReq: apache, apache::with_mod_dav = yes, apache::with_mod_ssl = yes, apache::with_mod_ldap = yes
%if "%{with_horde}" == "yes"
# FIXME (optional)
# what about php::with_tidy = yes (for Horde Imp)
PreReq: php, php::with_pear = yes, php::with_gettext = yes, php::with_dom = yes, php::with_mcrypt = yes, php::with_iconv = yes, php::with_mbstring = yes, php::with_mbregex = yes, php::with_gd = yes, php::with_imap = yes, php::with_ssl = yes, php::with_ctype = yes, php::with_openldap = yes, php::with_mhash = yes, php::with_zlib = yes, php::with_bdb = yes, php::with_imap_annotate = yes, php::with_pear = yes, php::with_xml = yes, php::with_mm = yes
-PreReq: apache2-php, apache2-php::with_gettext = yes, apache2-php::with_dom = yes, apache2-php::with_mcrypt = yes, apache2-php::with_iconv = yes, apache2-php::with_mbstring = yes, apache2-php::with_mbregex = yes, apache2-php::with_gd = yes, apache2-php::with_imap = yes, apache2-php::with_ssl = yes, apache2-php::with_ctype = yes, apache2-php::with_openldap = yes, apache2-php::with_mhash = yes, apache2-php::with_zlib = yes, apache2-php::with_bdb = yes, apache2-php::with_imap_annotate = yes, apache2-php::with_pear = yes, apache2-php::with_xml = yes, apache2-php::with_mm = yes
+PreReq: apache-php, apache-php::with_gettext = yes, apache-php::with_dom = yes, apache-php::with_mcrypt = yes, apache-php::with_iconv = yes, apache-php::with_mbstring = yes, apache-php::with_mbregex = yes, apache-php::with_gd = yes, apache-php::with_imap = yes, apache-php::with_ssl = yes, apache-php::with_ctype = yes, apache-php::with_openldap = yes, apache-php::with_mhash = yes, apache-php::with_zlib = yes, apache-php::with_bdb = yes, apache-php::with_imap_annotate = yes, apache-php::with_pear = yes, apache-php::with_xml = yes, apache-php::with_mm = yes
%else
PreReq: php, php::with_zlib = yes, php::with_bdb = yes, php::with_gettext = yes, php::with_imap = yes, php::with_imap_annotate = yes, php::with_openldap = yes, php::with_pear = yes, php::with_xml = yes, php::with_dom = yes, php::with_ssl = yes, php::with_mbstring = yes, php::with_mm = yes
-PreReq: apache2-php, apache2-php::with_zlib = yes, apache2-php::with_bdb = yes, apache2-php::with_gettext = yes, apache2-php::with_imap = yes, apache2-php::with_imap_annotate = yes, apache2-php::with_openldap = yes, apache2-php::with_pear = yes, apache2-php::with_xml = yes, apache2-php::with_dom = yes, apache2-php::with_ssl = yes, apache2-php::with_mbstring = yes, apache2-php::with_mm = yes
+PreReq: apache-php, apache-php::with_zlib = yes, apache-php::with_bdb = yes, apache-php::with_gettext = yes, apache-php::with_imap = yes, apache-php::with_imap_annotate = yes, apache-php::with_openldap = yes, apache-php::with_pear = yes, apache-php::with_xml = yes, apache-php::with_dom = yes, apache-php::with_ssl = yes, apache-php::with_mbstring = yes, apache-php::with_mm = yes
%endif
PreReq: imapd, imapd::with_group = yes, imapd::with_group_igncase = yes, imapd::with_ldap = yes, imapd::with_annotate = yes, imapd::with_atvdom = yes, imapd::with_morelogging = yes, imapd::with_kolab = yes
From cvs at kolab.org Thu Oct 11 17:38:08 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 11 Oct 2007 17:38:08 +0200 (CEST)
Subject: gunnar: server install-kolab.sh,1.7,1.8
Message-ID: <20071011153808.A7AF5600168@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv1603
Modified Files:
install-kolab.sh
Log Message:
Update to beta2, add postfix as MTA package and specify options in order to avoid build conflicts.
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- install-kolab.sh 16 Aug 2007 10:53:19 -0000 1.7
+++ install-kolab.sh 11 Oct 2007 15:38:06 -0000 1.8
@@ -1,6 +1,6 @@
#!/bin/sh
-KOLAB_VERSION="2.2-beta1"
+KOLAB_VERSION="2.2-beta2"
KID="19414"
TAG="kolab"
@@ -9,8 +9,8 @@
INSTALL=""
-PACKAGES="openpkg-tools kolabd kolab-filter kolab-freebusy kolab-webadmin"
-DEFINE=""
+PACKAGES="openpkg-tools postfix kolabd kolab-filter kolab-freebusy kolab-webadmin"
+DEFINE="-D sasl::with_ldap -D sasl::with_login -D postfix::with_sasl -D postfix::with_ssl -D postfix::with_ldap"
#Flags
FLAG_BASE=""
From cvs at kolab.org Thu Oct 11 19:05:10 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 11 Oct 2007 19:05:10 +0200 (CEST)
Subject: gunnar: server/openldap .cvsignore, 1.1, NONE Makefile, 1.21,
NONE kolab.patch, 1.11, NONE
Message-ID: <20071011170510.94678602A2F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/openldap
In directory doto:/tmp/cvs-serv3579/openldap
Removed Files:
.cvsignore Makefile kolab.patch
Log Message:
Thomas provided a patch for the pth choice that I applied upstream. So this is not needed anymore.
--- .cvsignore DELETED ---
--- Makefile DELETED ---
--- kolab.patch DELETED ---
From cvs at kolab.org Thu Oct 11 19:05:10 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 11 Oct 2007 19:05:10 +0200 (CEST)
Subject: gunnar: server Makefile,1.41,1.42
Message-ID: <20071011170510.79CAB602A2F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv3579
Modified Files:
Makefile
Log Message:
Thomas provided a patch for the pth choice that I applied upstream. So this is not needed anymore.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/Makefile,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- Makefile 10 Oct 2007 15:41:34 -0000 1.41
+++ Makefile 11 Oct 2007 17:05:08 -0000 1.42
@@ -25,9 +25,7 @@
export KOLABRPMTMP = $(HOME)/RPM/TMP
endif
-BASE_PACKAGES=openldap \
- apache2-php \
- php-smarty
+BASE_PACKAGES=php-smarty
PERL_PACKAGES=perl-kolab \
kolabconf
From cvs at kolab.org Thu Oct 11 19:06:11 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 11 Oct 2007 19:06:11 +0200 (CEST)
Subject: gunnar: server/apache2-php .cvsignore, 1.1, NONE Makefile, 1.1,
NONE kolab.patch, 1.1, NONE
Message-ID: <20071011170611.90CB1602A2F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/apache2-php
In directory doto:/tmp/cvs-serv3673/apache2-php
Removed Files:
.cvsignore Makefile kolab.patch
Log Message:
This has also been integrated upstream a while ago.
--- .cvsignore DELETED ---
--- Makefile DELETED ---
--- kolab.patch DELETED ---
From cvs at kolab.org Thu Oct 11 20:17:07 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 11 Oct 2007 20:17:07 +0200 (CEST)
Subject: gunnar: server/kolabd/kolabd kolabd.spec.in,1.18,1.19
Message-ID: <20071011181707.B7E5B60016A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv5297
Modified Files:
kolabd.spec.in
Log Message:
Require openldap without pth.
Index: kolabd.spec.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolabd.spec.in,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- kolabd.spec.in 11 Oct 2007 15:14:53 -0000 1.18
+++ kolabd.spec.in 11 Oct 2007 18:17:05 -0000 1.19
@@ -58,6 +58,7 @@
PreReq: sasl::with_ldap = yes, sasl::with_login = yes
PreReq: amavisd
PreReq: clamav >= 0.90
+PreReq: openldap, openldap::with_pth = no
PreReq: imap, imap::with_annotate = yes
PreReq: apache, apache::with_mod_dav = yes, apache::with_mod_ssl = yes, apache::with_mod_ldap = yes
From cvs at kolab.org Fri Oct 12 11:54:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 12 Oct 2007 11:54:02 +0200 (CEST)
Subject: wilde: utils/admin hash-imap-spool,NONE,1.1
Message-ID: <20071012095402.550B8602A27@lists.intevation.de>
Author: wilde
Update of /kolabrepository/utils/admin
In directory doto:/tmp/cvs-serv27383
Added Files:
hash-imap-spool
Log Message:
Added hash-imap-spool: converts plain spool dir to basic hashing.
Initial version.
Rational:
Starting with version 2.1 Kolab Server activates "basic hashing" for
the Cyrus IMAP spool directory. Older versions of Kolab Server used
no hashing for the spool directory, therefor the structure of the
spool directory must be converted when upgrading to 2.1 or later.
--- NEW FILE: hash-imap-spool ---
#! /usr/bin/python
# -*- mode: python, coding: iso-8859-1 -*-
# --------------------------------------------------------------------
# hash-imap-spool
# $Id: hash-imap-spool,v 1.1 2007/10/12 09:54:00 wilde Exp $
# --------------------------------------------------------------------
# Copyright (C) 2007 by Intevation GmbH
# Author(s):
# Sascha Wilde
# This program is free software under the GNU GPL (>=v2)
# Read the file COPYING coming with the software for details.
# -------------------------------------------------------------------
"""Convert plain imap spool to basic hashing."
Usage:
hash-imap-spool.py [CONFFILE]
The program converts plain imap spool directory as found in Kolab
Server 2.0 to spool with basic hashing as needed for Kolab Server 2.1
and later.
The spool deirctories are read from the imapd.conf CONFFILE which
defaults to /kolab/etc/imapd/imapd.conf if not given as an argument.
"""
import sys
import os
import os.path
import re
import string
def basic_hash(name):
c = name[0].lower()
if c in string.ascii_lowercase:
return c
else:
return "q"
def tmphash_dir(dir, tmp_hash_dirs, dstdir=".", extradir=""):
hash_dir = "." + basic_hash(dir)
if not hash_dir in tmp_hash_dirs:
os.mkdir(dstdir + "/" + hash_dir, 0700)
tmp_hash_dirs.append(hash_dir)
if extradir:
extradirpath = dstdir + "/" + hash_dir + "/" + extradir
if not os.path.isdir(extradirpath):
os.mkdir(extradirpath, 0700)
if not extradir.endswith("/"): extradir = extradir + "/"
dir_new = dstdir + "/" + hash_dir + "/" + extradir + dir
os.rename(dir, dir_new)
def cleanup_tmp_hash_dirs(tmp_hash_dirs):
for hash_dir in tmp_hash_dirs:
os.rename(hash_dir, hash_dir[1])
print ".",
del tmp_hash_dirs[:]
def hash_users(tmp_hash_dirs):
for user in os.listdir("."):
tmphash_dir(user, tmp_hash_dirs, "..", "user")
print ".",
def hash_mailboxes():
tmp_hash_dirs = []
for dir in os.listdir("."):
if dir == "user":
old_cwd = os.getcwd()
os.chdir("user")
hash_users(tmp_hash_dirs)
os.chdir(old_cwd)
os.rmdir("user")
else:
tmphash_dir(dir, tmp_hash_dirs)
print ".",
cleanup_tmp_hash_dirs(tmp_hash_dirs)
def hash_domains():
tmp_hash_dirs = []
for domain in os.listdir("."):
print "Working on domain %s" % domain,
old_cwd = os.getcwd()
os.chdir(domain)
hash_mailboxes()
os.chdir(old_cwd)
tmphash_dir(domain, tmp_hash_dirs)
print ".",
print "done"
print "Cleaning up",
cleanup_tmp_hash_dirs(tmp_hash_dirs)
print "done"
def hash_spool_dir(path):
print "Converting %s ..." % path
try:
os.chdir("%s/domain" % path)
except:
print "Can't enter `%s/domain'!" % path
hash_domains()
def read_conffile(conffile):
"""Parse conffile and return list of paths to the partititions."""
n = 0
paths = []
spoolpath_re = re.compile("^(?:meta)?partition-.*:\s+(?P.+)")
try:
file = open(conffile)
for line in file:
m = spoolpath_re.match(line)
if m:
paths.append(m.group("path"))
return paths
except:
print "Can't read configuration file `%s'." % conffile
sys.exit(23)
def main():
if len(sys.argv) == 1:
conffile = '/kolab/etc/imapd/imapd.conf'
elif len(sys.argv) == 2:
conffile = sys.argv[1]
else:
print __doc__
sys.exit(0)
paths = read_conffile(conffile)
if len(paths) > 0:
for path in paths:
hash_spool_dir(path)
else:
print "Could not find any spool directories in %s" % conffile
sys.exit(23)
main()
From cvs at kolab.org Fri Oct 12 13:49:22 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 12 Oct 2007 13:49:22 +0200 (CEST)
Subject: gunnar: server install-kolab.sh,1.8,1.9
Message-ID: <20071012114922.4F70D602A27@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv29765
Modified Files:
install-kolab.sh
Log Message:
Add the required openldap options to the installer.
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- install-kolab.sh 11 Oct 2007 15:38:06 -0000 1.8
+++ install-kolab.sh 12 Oct 2007 11:49:20 -0000 1.9
@@ -9,8 +9,8 @@
INSTALL=""
-PACKAGES="openpkg-tools postfix kolabd kolab-filter kolab-freebusy kolab-webadmin"
-DEFINE="-D sasl::with_ldap -D sasl::with_login -D postfix::with_sasl -D postfix::with_ssl -D postfix::with_ldap"
+PACKAGES="openpkg-tools openldap postfix kolabd kolab-filter kolab-freebusy kolab-webadmin"
+DEFINE="-D openldap::with_pth=no -D sasl::with_ldap -D sasl::with_login -D postfix::with_sasl -D postfix::with_ssl -D postfix::with_ldap"
#Flags
FLAG_BASE=""
From cvs at kolab.org Fri Oct 12 14:47:14 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 12 Oct 2007 14:47:14 +0200 (CEST)
Subject: wilde: utils/admin hash-imap-spool,1.1,1.2
Message-ID: <20071012124714.DDC6D602A27@lists.intevation.de>
Author: wilde
Update of /kolabrepository/utils/admin
In directory doto:/tmp/cvs-serv31320
Modified Files:
hash-imap-spool
Log Message:
Fixed special case of sub folders of shared folders.
Index: hash-imap-spool
===================================================================
RCS file: /kolabrepository/utils/admin/hash-imap-spool,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- hash-imap-spool 12 Oct 2007 09:54:00 -0000 1.1
+++ hash-imap-spool 12 Oct 2007 12:47:12 -0000 1.2
@@ -62,24 +62,26 @@
del tmp_hash_dirs[:]
-def hash_users(tmp_hash_dirs):
- for user in os.listdir("."):
- tmphash_dir(user, tmp_hash_dirs, "..", "user")
- print ".",
+def hash_submb(name, tmp_hash_dirs):
+ for file in os.listdir("."):
+ if os.path.isdir(file):
+ tmphash_dir(file, tmp_hash_dirs, "..", name)
+ print ".",
def hash_mailboxes():
tmp_hash_dirs = []
for dir in os.listdir("."):
- if dir == "user":
+ if dir == "user" or dir[0:6] == "shared":
old_cwd = os.getcwd()
- os.chdir("user")
- hash_users(tmp_hash_dirs)
+ os.chdir(dir)
+ hash_submb(dir, tmp_hash_dirs)
os.chdir(old_cwd)
- os.rmdir("user")
- else:
- tmphash_dir(dir, tmp_hash_dirs)
- print ".",
+ if dir == "user":
+ os.rmdir(dir)
+ continue
+ tmphash_dir(dir, tmp_hash_dirs)
+ print ".",
cleanup_tmp_hash_dirs(tmp_hash_dirs)
From cvs at kolab.org Fri Oct 12 18:30:37 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 12 Oct 2007 18:30:37 +0200 (CEST)
Subject: thomas: server/perl-kolab perl-kolab.spec,1.101,1.102
Message-ID: <20071012163037.4E464602A52@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv4085
Modified Files:
perl-kolab.spec
Log Message:
Added epoch to circumvent upgrading problems from perl-kolab-5.8.x to -2.x
Index: perl-kolab.spec
===================================================================
RCS file: /kolabrepository/server/perl-kolab/perl-kolab.spec,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- perl-kolab.spec 10 Aug 2007 14:51:59 -0000 1.101
+++ perl-kolab.spec 12 Oct 2007 16:30:35 -0000 1.102
@@ -42,6 +42,7 @@
License: GPL
Version: %{V_version}
Release: %{V_release}
+Epoch: 1
# list of sources
Source0: %{V_package}-%{V_source_tag}.tar.gz
From cvs at kolab.org Sat Oct 13 13:51:10 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sat, 13 Oct 2007 13:51:10 +0200 (CEST)
Subject: gunnar: server/kolabd/kolabd/dist_conf kolab,1.47,1.48
Message-ID: <20071013115110.8DCA9602A28@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv28778/kolabd/kolabd/dist_conf
Modified Files:
kolab
Log Message:
OpenPKG changed the sasl apps location.
Index: kolab
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/kolab,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- kolab 16 Aug 2007 10:47:10 -0000 1.47
+++ kolab 13 Oct 2007 11:51:08 -0000 1.48
@@ -161,7 +161,7 @@
phppeardir=${phplibdir2}/pear
sasl_authdconffile=${sysconfdir}/sasl/saslauthd.conf
-sasl_smtpconffile=${sysconfdir}/sasl/apps/smtpd.conf
+sasl_smtpconffile=${sysconfdir}/sasl/smtpd.conf
sasl_logfile=${localstatedir}/sasl/log/saslauthd.log
sysrundir=${localstatedir}/run
From cvs at kolab.org Sat Oct 13 14:00:52 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sat, 13 Oct 2007 14:00:52 +0200 (CEST)
Subject: gunnar: server install-kolab.sh,1.9,1.10
Message-ID: <20071013120052.17333602A28@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv28948
Modified Files:
install-kolab.sh
Log Message:
Typo.
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- install-kolab.sh 12 Oct 2007 11:49:20 -0000 1.9
+++ install-kolab.sh 13 Oct 2007 12:00:50 -0000 1.10
@@ -205,7 +205,7 @@
if [ -d "$PREFIX/etc/openpkg" ]; then
# Assume an upgrade based on the current directory
INSTALL=`pwd`
- echo "Found an OpenPKG envrionment. Assuming upgrade..."
+ echo "Found an OpenPKG environment. Assuming upgrade..."
else
INSTALLER=`find . -name openpkg-*.src.sh -print`
BINARY=`find . -name openpkg-*.sh \! -name openpkg-*.src.sh -print`
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/kolab-freebusy/freebusy config.php,1.3,1.4
Message-ID: <20071014123200.C2D6E60C4A1@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy/freebusy
In directory doto:/tmp/cvs-serv28173/kolab-freebusy/freebusy
Modified Files:
config.php
Log Message:
OpenPKG renamed apache2 back to apache.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/freebusy/config.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- config.php 8 Aug 2007 15:45:49 -0000 1.3
+++ config.php 14 Oct 2007 12:31:58 -0000 1.4
@@ -113,7 +113,7 @@
$params['send_content_disposition'] = false;
// Where are we logging to?
-$params['log'] = 'file:/kolab/var/apache2/log/freebusy/freebusy.log'; // File...
+$params['log'] = 'file:/kolab/var/apache/log/freebusy/freebusy.log'; // File...
// $params['log'] = 'syslog:cons, pid'; // Or syslog...
// What level of output should we log? Higher levels give more verbose output.
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/kolabd/kolabd kolabd.spec.in,1.19,1.20
Message-ID: <20071014123200.C16D8602A5F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv28173/kolabd/kolabd
Modified Files:
kolabd.spec.in
Log Message:
OpenPKG renamed apache2 back to apache.
Index: kolabd.spec.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolabd.spec.in,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- kolabd.spec.in 11 Oct 2007 18:17:05 -0000 1.19
+++ kolabd.spec.in 14 Oct 2007 12:31:58 -0000 1.20
@@ -118,7 +118,7 @@
# generate file list
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
%dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/kolab/httpd_sessions \
- %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache2/log/php \
+ %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache/log/php \
'%config %{l_prefix}/etc/kolab/*.pem' \
'%config %{l_prefix}/etc/kolab/*.schema' \
'%config %{l_prefix}/etc/kolab/kolab.conf' \
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/horde/fbview-horde fbview-horde.spec,1.12,1.13
Message-ID: <20071014123200.B75FC602A56@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/fbview-horde
In directory doto:/tmp/cvs-serv28173/horde/fbview-horde
Modified Files:
fbview-horde.spec
Log Message:
OpenPKG renamed apache2 back to apache.
Index: fbview-horde.spec
===================================================================
RCS file: /kolabrepository/server/horde/fbview-horde/fbview-horde.spec,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- fbview-horde.spec 1 Oct 2007 15:47:19 -0000 1.12
+++ fbview-horde.spec 14 Oct 2007 12:31:58 -0000 1.13
@@ -3,7 +3,7 @@
%define V_package fbview-%{V_horde_name}
%define V_year 2007
%define V_month 10
-%define V_day 01
+%define V_day 13
%define V_version 3.2_alpha
%define V_uver 3.2-alpha
%define V_date %{V_year}-%{V_month}-%{V_day}
@@ -68,7 +68,7 @@
%install
rm -rf $RPM_BUILD_ROOT
- %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/apache2/log/fbview
+ %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/apache/log/fbview
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/fbview
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/etc/kolab/templates
@@ -89,7 +89,7 @@
$RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/fbview/config/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
- %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache2/log/fbview \
+ %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache/log/fbview \
'%config(noreplace) %{l_prefix}/etc/kolab/templates/fbview-horde-conf.template'\
'%defattr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/kolab/www/fbview/config/conf.php' \
'%config(noreplace) %{l_prefix}/var/kolab/www/fbview/config/conf.php' \
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/horde/horde horde-kolab.spec,1.18,1.19
Message-ID: <20071014123200.B9B0C602A59@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde
In directory doto:/tmp/cvs-serv28173/horde/horde
Modified Files:
horde-kolab.spec
Log Message:
OpenPKG renamed apache2 back to apache.
Index: horde-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde/horde-kolab.spec,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- horde-kolab.spec 4 Oct 2007 09:47:55 -0000 1.18
+++ horde-kolab.spec 14 Oct 2007 12:31:58 -0000 1.19
@@ -3,7 +3,7 @@
%define V_package %{V_horde_name}-kolab
%define V_year 2007
%define V_month 10
-%define V_day 04
+%define V_day 13
%define V_version 3.2_alpha
%define V_uver 3.2-alpha
%define V_date %{V_year}-%{V_month}-%{V_day}
@@ -68,7 +68,7 @@
%install
- %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/apache2/log/horde
+ %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/apache/log/horde
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/horde
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/etc/kolab/templates
@@ -89,7 +89,7 @@
$RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/horde/config/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
- %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache2/log/horde \
+ %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache/log/horde \
'%config(noreplace) %{l_prefix}/etc/kolab/templates/horde-kolab-conf.template'\
'%defattr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/kolab/www/horde/config/conf.php' \
'%config(noreplace) %{l_prefix}/var/kolab/www/horde/config/conf.php' \
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/kolabconf/lib/Kolab Conf.pm,1.10,1.11
Message-ID: <20071014123200.BD962602A5D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabconf/lib/Kolab
In directory doto:/tmp/cvs-serv28173/kolabconf/lib/Kolab
Modified Files:
Conf.pm
Log Message:
OpenPKG renamed apache2 back to apache.
Index: Conf.pm
===================================================================
RCS file: /kolabrepository/server/kolabconf/lib/Kolab/Conf.pm,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- Conf.pm 8 Oct 2007 15:38:05 -0000 1.10
+++ Conf.pm 14 Oct 2007 12:31:58 -0000 1.11
@@ -230,8 +230,8 @@
$haschanged{'postfix'} = 1;
} elsif ($cfg =~ /saslauthd/) {
$haschanged{'saslauthd'} = 1;
- } elsif ($cfg =~ /apache2/) {
- $haschanged{'apache2'} = 1;
+ } elsif ($cfg =~ /apache/) {
+ $haschanged{'apache'} = 1;
} elsif ($cfg =~ /proftpd/) {
$haschanged{'proftpd'} = 1;
} elsif ($cfg =~ /openldap/) {
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/kolabd/kolabd/dist_conf kolab, 1.48, 1.49 kolabsrv.in,
1.7, 1.8
Message-ID: <20071014123200.D7BAA60C4A6@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv28173/kolabd/kolabd/dist_conf
Modified Files:
kolab kolabsrv.in
Log Message:
OpenPKG renamed apache2 back to apache.
Index: kolab
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/kolab,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- kolab 13 Oct 2007 11:51:08 -0000 1.48
+++ kolab 14 Oct 2007 12:31:58 -0000 1.49
@@ -137,15 +137,15 @@
webserver_document_root=${localstatedir}/kolab/www
webserver_cgidir=${webserver_document_root}/cgi-bin
webserver_sessions=${localstatedir}/kolab/httpd_sessions
-webserver_logdir=${localstatedir}/apache2/log
+webserver_logdir=${localstatedir}/apache/log
webserver_acceptlock=${webserver_logdir}/accept.lock
webserver_runtime_status=${webserver_logdir}/apache_runtime_status
webserver_errorlogfile=${webserver_logdir}/apache-error.log
webserver_accesslogfile=${webserver_logdir}/apache-access.log
-webserver_confdir=${sysconfdir}/apache2
-webserver_pidfile=${localstatedir}/apache2/run/apache2.pid
-webserver_mime_magicfile=${sysconfdir}/apache2/mime.magic
-webserver_mime_typesfile=${sysconfdir}/apache2/mime.types
+webserver_confdir=${sysconfdir}/apache
+webserver_pidfile=${localstatedir}/apache/run/apache.pid
+webserver_mime_magicfile=${sysconfdir}/apache/mime.magic
+webserver_mime_typesfile=${sysconfdir}/apache/mime.types
webserver_sslscache=${webserver_logdir}/ssl_scache
webserver_sslmutex=${webserver_logdir}/ssl_mutex
# webserver_web_prefix is empty indeed
@@ -153,9 +153,9 @@
webserver_musr=${kolab_musr}
webserver_usr=${kolab_usr}
webserver_grp=${kolab_grp}
-webserver_rpm=apache2
+webserver_rpm=apache
-phpini_dir=${sysconfdir}/apache2
+phpini_dir=${sysconfdir}/apache
phplibdir=${libdir}/php
phplibdir2=${kolab_statedir}/php
phppeardir=${phplibdir2}/pear
@@ -178,7 +178,7 @@
resmgr_grp=${kolab_grp}
fbview_logfile=${localstatedir}/resmgr/fbview.log
-freebusy_logfile=${localstatedir}/apache2/log/freebusy/freebusy.log
+freebusy_logfile=${localstatedir}/apache/log/freebusy/freebusy.log
freebusy_confdir=${webserver_document_root}/freebusy
freebusy_cachedir=${webserver_document_root}/freebusy/cache
freebusy_usr=${kolab_musr}
Index: kolabsrv.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/kolabsrv.in,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- kolabsrv.in 11 Mar 2006 21:39:16 -0000 1.7
+++ kolabsrv.in 14 Oct 2007 12:31:58 -0000 1.8
@@ -38,7 +38,7 @@
esac
if [[ "$2" == "all" ]]; then
- SERVICES="@LDAPD@ slurpd saslauthd spamd amavis apache2 freshclam clamd cyrus postfix"
+ SERVICES="@LDAPD@ slurpd saslauthd spamd amavis apache freshclam clamd cyrus postfix"
SERVICES="$SERVICES kolabd"
else
SERVICES=$2
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/kolabd/kolabd/templates httpd.conf.template.in, 1.13,
1.14 httpd.local.template.in, 1.2, 1.3
Message-ID: <20071014123200.D6A2B60C4A5@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv28173/kolabd/kolabd/templates
Modified Files:
httpd.conf.template.in httpd.local.template.in
Log Message:
OpenPKG renamed apache2 back to apache.
Index: httpd.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/httpd.conf.template.in,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- httpd.conf.template.in 8 Oct 2007 15:39:27 -0000 1.13
+++ httpd.conf.template.in 14 Oct 2007 12:31:58 -0000 1.14
@@ -1,5 +1,5 @@
KOLAB_META_START
-TARGET=@webserver_confdir@/apache2.conf
+TARGET=@webserver_confdir@/apache.conf
PERMISSIONS=0640
OWNERSHIP=@webserver_usr@:@webserver_grp@
KOLAB_META_END
@@ -167,7 +167,7 @@
# FIXME: not autoconfigured - still hardcoded
-TypesConfig etc/apache2/mime.types
+TypesConfig etc/apache/mime.types
DefaultType text/plain
MIMEMagicFile @webserver_confdir@/mime.magic
@@ -403,7 +403,7 @@
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
-LoadModule php5_module @libexecdir@/apache2/libphp5.so
+LoadModule php5_module @libexecdir@/apache/mod_php.so
AddType application/x-tar .tgz
AddType application/x-httpd-php .php .php4 .php3 .html
AddType image/x-icon .ico
@@ -420,5 +420,5 @@
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
# used for local non Kolab extension
-Include @webserver_confdir@/apache2.local
-Include @webserver_confdir@/*.include
\ No newline at end of file
+Include @webserver_confdir@/apache.local
+Include @webserver_confdir@/*.include
Index: httpd.local.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/httpd.local.template.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- httpd.local.template.in 17 Jul 2007 15:26:05 -0000 1.2
+++ httpd.local.template.in 14 Oct 2007 12:31:58 -0000 1.3
@@ -1,5 +1,5 @@
KOLAB_META_START
-TARGET=@webserver_confdir@/apache2.local
+TARGET=@webserver_confdir@/apache.local
PERMISSIONS=0640
OWNERSHIP=@webserver_musr@:@webserver_grp@
KOLAB_META_END
@@ -13,7 +13,7 @@
# The purpose of this file is to add local non Kolab specific extensions to
# the Apache installation. This file gets included at the end of the Apache
-# configuration file (apache2.conf)
+# configuration file (apache.conf)
# e.g.
# ScriptAlias /nagios/cgi-bin/ @libdir@/nagios/cgi/
From cvs at kolab.org Sun Oct 14 14:32:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sun, 14 Oct 2007 14:32:00 +0200 (CEST)
Subject: gunnar: server/kolab-freebusy kolab-freebusy.spec,1.5,1.6
Message-ID: <20071014123200.C421B60C4A2@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv28173/kolab-freebusy
Modified Files:
kolab-freebusy.spec
Log Message:
OpenPKG renamed apache2 back to apache.
Index: kolab-freebusy.spec
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/kolab-freebusy.spec,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- kolab-freebusy.spec 24 Aug 2007 07:27:58 -0000 1.5
+++ kolab-freebusy.spec 14 Oct 2007 12:31:58 -0000 1.6
@@ -66,7 +66,7 @@
%install
- %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/apache2/log/freebusy
+ %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/apache/log/freebusy
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/share/doc/%{V_package}
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/freebusy
@@ -76,7 +76,7 @@
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
%dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/kolab/www/freebusy/cache \
- %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache2/log/freebusy \
+ %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache/log/freebusy \
'%config(noreplace) %{l_prefix}/var/kolab/www/freebusy/config.php'
%clean
From cvs at kolab.org Mon Oct 15 11:15:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 11:15:33 +0200 (CEST)
Subject: gunnar: server/horde external-horde.sh,1.1,1.2
Message-ID: <20071015091533.202D7602A28@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde
In directory doto:/tmp/cvs-serv32112
Modified Files:
external-horde.sh
Log Message:
Add another horde patch.
Index: external-horde.sh
===================================================================
RCS file: /kolabrepository/server/horde/external-horde.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- external-horde.sh 5 Oct 2007 12:52:33 -0000 1.1
+++ external-horde.sh 15 Oct 2007 09:15:30 -0000 1.2
@@ -30,6 +30,7 @@
for PATCH in HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch \
HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch \
HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch \
+ HK-GW-framework_3.2_ALPHA-Share_caching.patch \
HK-GW-kronolith_2.2-Fix_create_new_event.patch \
HK-GW-kronolith_2.2-Fix_share_right_editing.patch \
HK-GW-mnemo_2.2_ALPHA-Edit_share_rights.patch \
@@ -64,6 +65,7 @@
cd lib/Horde
for PATCH in HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch \
HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch \
+ HK-GW-framework_3.2_ALPHA-Share_caching.patch \
HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch;
do
patch -p3 < ../../../$PATCH;
From cvs at kolab.org Mon Oct 15 11:21:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 11:21:13 +0200 (CEST)
Subject: gunnar: server/patches/cyrus-imapd KOLAB_cyrus-imapd_2.3.9_UID.patch,
1.1, 1.2
Message-ID: <20071015092113.43C0E602A47@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/cyrus-imapd
In directory doto:/tmp/cvs-serv1102
Modified Files:
KOLAB_cyrus-imapd_2.3.9_UID.patch
Log Message:
Fix the UID patch. Both imapopts.* files are generated automatically and should be regenerated at build time.
Index: KOLAB_cyrus-imapd_2.3.9_UID.patch
===================================================================
RCS file: /kolabrepository/server/patches/cyrus-imapd/KOLAB_cyrus-imapd_2.3.9_UID.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- KOLAB_cyrus-imapd_2.3.9_UID.patch 29 Sep 2007 12:13:54 -0000 1.1
+++ KOLAB_cyrus-imapd_2.3.9_UID.patch 15 Oct 2007 09:21:11 -0000 1.2
@@ -1,8 +1,8 @@
Allows login by uid rather than the mail address on the cyrus imapd server [Version: 2.3.9]
-diff -r db07337ac0c3 configure
---- a/configure Sat Sep 29 13:41:01 2007 +0200
-+++ b/configure Sat Sep 29 13:41:15 2007 +0200
+diff -r a0335c09d80e configure
+--- a/configure Mon Oct 01 11:18:56 2007 +0200
++++ b/configure Mon Oct 15 11:10:31 2007 +0200
@@ -18094,7 +18094,7 @@ done
done
@@ -12,9 +12,9 @@
-diff -r db07337ac0c3 imap/global.c
---- a/imap/global.c Sat Sep 29 13:41:01 2007 +0200
-+++ b/imap/global.c Sat Sep 29 13:41:15 2007 +0200
+diff -r a0335c09d80e imap/global.c
+--- a/imap/global.c Mon Oct 01 11:18:56 2007 +0200
++++ b/imap/global.c Mon Oct 15 11:10:31 2007 +0200
@@ -52,6 +52,9 @@
#include
#include
@@ -101,10 +101,10 @@
socklen_t salen;
int error;
struct sockaddr_storage localaddr;
-diff -r db07337ac0c3 lib/imapoptions
---- a/lib/imapoptions Sat Sep 29 13:41:01 2007 +0200
-+++ b/lib/imapoptions Sat Sep 29 13:41:15 2007 +0200
-@@ -1014,7 +1014,7 @@ are listed with ``''.
+diff -r a0335c09d80e lib/imapoptions
+--- a/lib/imapoptions Mon Oct 01 11:18:56 2007 +0200
++++ b/lib/imapoptions Mon Oct 15 11:10:31 2007 +0200
+@@ -1017,7 +1017,7 @@ are listed with ``''.
mailbox hierarchy. The default is to use the netnews separator
character '.'. */
@@ -113,26 +113,3 @@
/* Enable virtual domain support. If enabled, the user's domain will
be determined by splitting a fully qualified userid at the last '@'
or '%' symbol. If the userid is unqualified, and the virtdomains
-diff -r db07337ac0c3 lib/imapopts.c
---- a/lib/imapopts.c Sat Sep 29 13:41:01 2007 +0200
-+++ b/lib/imapopts.c Sat Sep 29 13:41:15 2007 +0200
-@@ -216,7 +216,7 @@ struct imapopt_s imapopts[] =
- { IMAPOPT_USERPREFIX, "userprefix", 0, {(void *)("Other Users")}, OPT_STRING, { { NULL, IMAP_ENUM_ZERO } } },
- { IMAPOPT_UNIX_GROUP_ENABLE, "unix_group_enable", 0, {(void*)1}, OPT_SWITCH, { { NULL, IMAP_ENUM_ZERO } } },
- { IMAPOPT_UNIXHIERARCHYSEP, "unixhierarchysep", 0, {(void*)0}, OPT_SWITCH, { { NULL, IMAP_ENUM_ZERO } } },
-- { IMAPOPT_VIRTDOMAINS, "virtdomains", 0, {(void *)(IMAP_ENUM_VIRTDOMAINS_OFF)}, OPT_ENUM, { { "off" , IMAP_ENUM_VIRTDOMAINS_OFF }, { "userid" , IMAP_ENUM_VIRTDOMAINS_USERID }, { "on" , IMAP_ENUM_VIRTDOMAINS_ON }, { NULL, IMAP_ENUM_ZERO } } },
-+ { IMAPOPT_VIRTDOMAINS, "virtdomains", 0, {(void *)(IMAP_ENUM_VIRTDOMAINS_OFF)}, OPT_ENUM, { { "off" , IMAP_ENUM_VIRTDOMAINS_OFF }, { "userid" , IMAP_ENUM_VIRTDOMAINS_USERID }, { "ldap" , IMAP_ENUM_VIRTDOMAINS_LDAP }, { "on" , IMAP_ENUM_VIRTDOMAINS_ON }, { NULL, IMAP_ENUM_ZERO } } },
-
- { IMAPOPT_LAST, NULL, 0, { NULL }, OPT_NOTOPT, { { NULL, IMAP_ENUM_ZERO } } }
-
-diff -r db07337ac0c3 lib/imapopts.h
---- a/lib/imapopts.h Sat Sep 29 13:41:01 2007 +0200
-+++ b/lib/imapopts.h Sat Sep 29 13:41:15 2007 +0200
-@@ -217,6 +217,7 @@ enum enum_value {
-
- IMAP_ENUM_VIRTDOMAINS_ON,
- IMAP_ENUM_VIRTDOMAINS_USERID,
-+ IMAP_ENUM_VIRTDOMAINS_LDAP,
- IMAP_ENUM_VIRTDOMAINS_OFF = 0,
- IMAP_ENUM_SIEVE_EXTENSIONS_COPY = (1<<11),
- IMAP_ENUM_SIEVE_EXTENSIONS_SUBADDRESS = (1<<10),
From cvs at kolab.org Mon Oct 15 11:30:05 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 11:30:05 +0200 (CEST)
Subject: gunnar: server/patches/cyrus-imapd README,NONE,1.1
Message-ID: <20071015093005.D8D1A602A38@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/cyrus-imapd
In directory doto:/tmp/cvs-serv4497
Added Files:
README
Log Message:
Add a general note about a build time fix when patching for Kolab.
--- NEW FILE: README ---
If you patch cyrus-imapd with these patches for Kolab you will
need to ensure in addition that you remove two files from the
sources:
rm -f lib/imapopts.h lib/imapopts.c
Both will get rebuild automatically during the build process.
If you don't rebuild them during build time they will be
outdated.
From cvs at kolab.org Mon Oct 15 15:59:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 15:59:21 +0200 (CEST)
Subject: gunnar: server/perl-kolab DEVELOPMENT,1.5,1.6
Message-ID: <20071015135921.1A6FC60C4AB@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv17242
Modified Files:
DEVELOPMENT
Log Message:
Fix version numbers according to the recent discussion.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/perl-kolab/DEVELOPMENT,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- DEVELOPMENT 15 Aug 2007 16:39:18 -0000 1.5
+++ DEVELOPMENT 15 Oct 2007 13:59:18 -0000 1.6
@@ -37,16 +37,16 @@
in lib/Kolab.pm.
-The release number will then receive the prefix ".cvs" and the current
+The release number will then receive the suffix "+cvs" and the current
date will be appended.
Source packages will then look like this:
- perl-kolab-2.1.0.cvs-20070810.tar.gz
+ perl-kolab-2.1.0+cvs20070810.tar.gz
Source RPMs will be named similar:
- perl-kolab-2.1.0.cvs-20070810.src.rpm
+ perl-kolab-2.1.0+cvs20070810.src.rpm
For tagging the next release the version number needs to be increased
to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
@@ -54,6 +54,19 @@
my $KOLAB_CVS = 0;
+Pre-release candidates receive the suffix "betaX" or "rcX" and
+cource packages will then look like this:
+
+ perl-kolab-2.2.beta1.tar.gz
+
+Source RPMs will be named accordingly:
+
+ perl-kolab-2.2.beta1-20070810.src.rpm
+
+Or, for the cvs versions:
+
+ perl-kolab-2.2.beta1+cvs20070810.tar.gz
+ perl-kolab-2.2.beta1+cvs-20070810.src.rpm
Change log
==========
From cvs at kolab.org Mon Oct 15 15:59:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 15:59:21 +0200 (CEST)
Subject: gunnar: server/perl-kolab/lib Kolab.pm,1.5,1.6
Message-ID: <20071015135921.1C0E260C4AC@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab/lib
In directory doto:/tmp/cvs-serv17242/lib
Modified Files:
Kolab.pm
Log Message:
Fix version numbers according to the recent discussion.
Index: Kolab.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/lib/Kolab.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- Kolab.pm 8 Oct 2007 15:50:11 -0000 1.5
+++ Kolab.pm 15 Oct 2007 13:59:19 -0000 1.6
@@ -59,7 +59,7 @@
);
# The Kolab version number for the perl-kolab package
-our $KOLAB_BASE_VERSION = "2.1.0";
+our $KOLAB_BASE_VERSION = "2.2.beta1";
# Are current releases cvs based or is this a real release?
my $KOLAB_CVS = 1;
@@ -67,8 +67,8 @@
our $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
if ($KOLAB_CVS) {
- our $KOLAB_VERSION = $KOLAB_BASE_VERSION . ".cvs";
- our $VERSION = $KOLAB_VERSION . "-" . $KOLAB_RELEASE;
+ our $KOLAB_VERSION = $KOLAB_BASE_VERSION . "+cvs";
+ our $VERSION = $KOLAB_VERSION . $KOLAB_RELEASE;
} else {
our $KOLAB_VERSION = $KOLAB_BASE_VERSION;
our $VERSION = $KOLAB_VERSION;
From cvs at kolab.org Mon Oct 15 17:27:10 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 17:27:10 +0200 (CEST)
Subject: gunnar: server/perl-kolab DEVELOPMENT,1.6,1.7
Message-ID: <20071015152710.7D8DA602A23@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv19494
Modified Files:
DEVELOPMENT
Log Message:
Typo.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/perl-kolab/DEVELOPMENT,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- DEVELOPMENT 15 Oct 2007 13:59:18 -0000 1.6
+++ DEVELOPMENT 15 Oct 2007 15:27:08 -0000 1.7
@@ -46,7 +46,7 @@
Source RPMs will be named similar:
- perl-kolab-2.1.0+cvs20070810.src.rpm
+ perl-kolab-2.1.0+cvs-20070810.src.rpm
For tagging the next release the version number needs to be increased
to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
From cvs at kolab.org Mon Oct 15 17:28:09 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 17:28:09 +0200 (CEST)
Subject: gunnar: server/perl-kolab DEVELOPMENT,1.7,1.8
Message-ID: <20071015152809.36A9860C4AB@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv19517
Modified Files:
DEVELOPMENT
Log Message:
Wording.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/perl-kolab/DEVELOPMENT,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- DEVELOPMENT 15 Oct 2007 15:27:08 -0000 1.7
+++ DEVELOPMENT 15 Oct 2007 15:28:07 -0000 1.8
@@ -31,7 +31,7 @@
lib/Kolab.pm
-Once development picks up after a release, please set
+After tagging and releasing, please set
my $KOLAB_CVS = 1;
From cvs at kolab.org Mon Oct 15 17:38:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 17:38:26 +0200 (CEST)
Subject: gunnar: server/perl-kolab DEVELOPMENT,1.8,1.9
Message-ID: <20071015153826.92332602A29@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv19810
Modified Files:
DEVELOPMENT
Log Message:
Structure.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/perl-kolab/DEVELOPMENT,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- DEVELOPMENT 15 Oct 2007 15:28:07 -0000 1.8
+++ DEVELOPMENT 15 Oct 2007 15:38:24 -0000 1.9
@@ -1,9 +1,10 @@
Development notes
=================
-The perl-kolab package is a standard perl package meant to be handled
-with the Makefile.PL script. You will receive a standard "Makefile" by
-running "perl Makefile.PL".
+The perl-kolab package is a standard perl package and a Kolab Server
+core component. It is meant to be handled with the Makefile.PL
+script. You will receive a standard "Makefile" by running "perl
+Makefile.PL".
The Kolab Server packages were usually not released as source
packages. This should be changed with this new package layout. The
@@ -15,11 +16,29 @@
Version numbering
=================
-perl-kolab is a Kolab Server core package. Released packages should
-have the same core version as the Server release. As a part of Kolab
-Server 2.1.0 the version number should be 2.1.0.
+A NEW VERSION HAS TO BE SET IN
-Released source packages will look like this:
+ lib/Kolab.pm
+
+e.g.
+
+our $KOLAB_BASE_VERSION = "2.2.beta1";
+
+Release versions
+----------------
+
+For tagging the next release the version number needs to be increased
+to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
+be set to 0:
+
+my $KOLAB_CVS = 0;
+
+Released packages should have the same core version as the Server
+release. As a part of Kolab Server 2.1.0 the version number should be
+2.1.0. Pre-release candidates receive the suffix "betaX" or "rcX"
+(e.g. 2.2.beta1).
+
+Source packages will then look like this:
perl-kolab-2.1.0.tar.gz
@@ -27,9 +46,8 @@
perl-kolab-2.1.0-20070819.src.rpm
-A NEW VERSION HAS TO BE SET IN
-
- lib/Kolab.pm
+Snapshots
+---------
After tagging and releasing, please set
@@ -47,26 +65,6 @@
Source RPMs will be named similar:
perl-kolab-2.1.0+cvs-20070810.src.rpm
-
-For tagging the next release the version number needs to be increased
-to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
-be reversed:
-
-my $KOLAB_CVS = 0;
-
-Pre-release candidates receive the suffix "betaX" or "rcX" and
-cource packages will then look like this:
-
- perl-kolab-2.2.beta1.tar.gz
-
-Source RPMs will be named accordingly:
-
- perl-kolab-2.2.beta1-20070810.src.rpm
-
-Or, for the cvs versions:
-
- perl-kolab-2.2.beta1+cvs20070810.tar.gz
- perl-kolab-2.2.beta1+cvs-20070810.src.rpm
Change log
==========
From cvs at kolab.org Mon Oct 15 18:21:09 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 15 Oct 2007 18:21:09 +0200 (CEST)
Subject: thomas: server/perl-kolab DEVELOPMENT,1.9,1.10
Message-ID: <20071015162109.CDB49602A4D@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv20918
Modified Files:
DEVELOPMENT
Log Message:
Improved paragraph about version numbering
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/perl-kolab/DEVELOPMENT,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- DEVELOPMENT 15 Oct 2007 15:38:24 -0000 1.9
+++ DEVELOPMENT 15 Oct 2007 16:21:07 -0000 1.10
@@ -13,64 +13,67 @@
perl-kolab-*.src.rpm package that is suited for installation on an
OpenPKG system.
+
Version numbering
=================
-A NEW VERSION HAS TO BE SET IN
+The package version will be set in
lib/Kolab.pm
e.g.
-our $KOLAB_BASE_VERSION = "2.2.beta1";
+ our $KOLAB_BASE_VERSION = "2.2.beta1";
+ my $KOLAB_CVS = 1;
Release versions
----------------
-For tagging the next release the version number needs to be increased
+Released packages should have the same core version as the server
+release. As a part of Kolab Server 2.2.0 the version number should be
+2.2.0. Pre-release candidates receive the suffix "betaX" or "rcX"
+(e.g. 2.2.beta1).
+
+Before tagging the next release the version number needs to be increased
to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
be set to 0:
-my $KOLAB_CVS = 0;
-
-Released packages should have the same core version as the Server
-release. As a part of Kolab Server 2.1.0 the version number should be
-2.1.0. Pre-release candidates receive the suffix "betaX" or "rcX"
-(e.g. 2.2.beta1).
+ our $KOLAB_BASE_VERSION = "2.2.0";
+ my $KOLAB_CVS = 0;
-Source packages will then look like this:
+After updating $KOLAB_BASE_VERSION and $KOLAB_CVS you can commit these
+changes and tag the release.
- perl-kolab-2.1.0.tar.gz
+Now you can create source tarballs and RPMs which will look like:
-Released source RPMs will look like this:
+ perl-kolab-2.2.0.tar.gz
+ perl-kolab-2.2.0-20070819.src.rpm
- perl-kolab-2.1.0-20070819.src.rpm
+Don't forget to change $KOLAB_CVS back to 1 again and commit, so later
+CVS snapshots will be named correctly.
Snapshots
---------
-After tagging and releasing, please set
-
-my $KOLAB_CVS = 1;
+Make sure lib/Kolab.pm contains the following line:
-in lib/Kolab.pm.
+ my $KOLAB_CVS = 1;
The release number will then receive the suffix "+cvs" and the current
-date will be appended.
-
-Source packages will then look like this:
+date will be appended.
- perl-kolab-2.1.0+cvs20070810.tar.gz
+Source tarballs and RPMs will then look like this:
-Source RPMs will be named similar:
+ perl-kolab-2.2.0+cvs20070810.tar.gz
+ perl-kolab-2.2.0+cvs-20070810.src.rpm
- perl-kolab-2.1.0+cvs-20070810.src.rpm
Change log
==========
The change log for the package is provided in "Changes". Please keep
this file up-to-date if you change the source code of this package.
+
Contributors
============
From cvs at kolab.org Wed Oct 17 09:05:04 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:05:04 +0200 (CEST)
Subject: gunnar: server/perl-kolab ChangeLog, 1.22, 1.23 DEVELOPMENT, 1.10,
1.11 MANIFEST, 1.1, 1.2 Changes, 1.1, NONE
Message-ID: <20071017070504.D960E602A4D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv21162
Modified Files:
DEVELOPMENT MANIFEST
Added Files:
ChangeLog
Removed Files:
Changes
Log Message:
Rename Changes back to ChangeLog. While the default in the perl world seems to be Changes there should be no problem using the common ChangeLog used outside of the perl community.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/perl-kolab/DEVELOPMENT,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- DEVELOPMENT 15 Oct 2007 16:21:07 -0000 1.10
+++ DEVELOPMENT 17 Oct 2007 07:05:02 -0000 1.11
@@ -71,7 +71,7 @@
Change log
==========
-The change log for the package is provided in "Changes". Please keep
+The change log for the package is provided in "ChangeLog". Please keep
this file up-to-date if you change the source code of this package.
Index: MANIFEST
===================================================================
RCS file: /kolabrepository/server/perl-kolab/MANIFEST,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- MANIFEST 1 Aug 2007 14:57:41 -0000 1.1
+++ MANIFEST 17 Oct 2007 07:05:02 -0000 1.2
@@ -1,5 +1,5 @@
AUTHORS
-Changes
+ChangeLog
INSTALL
lib/Kolab.pm
lib/Kolab/Cyrus.pm
@@ -10,4 +10,4 @@
lib/Kolab/Util.pm
Makefile.PL
MANIFEST
-README
\ No newline at end of file
+README
--- Changes DELETED ---
From cvs at kolab.org Wed Oct 17 09:12:17 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:12:17 +0200 (CEST)
Subject: gunnar: server/kolabconf ChangeLog, NONE, 1.1 DEVELOPMENT, 1.4,
1.5 MANIFEST, 1.2, 1.3 Makefile.PL, 1.10, 1.11 Changes, 1.4, NONE
Message-ID: <20071017071217.D6743602A4E@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabconf
In directory doto:/tmp/cvs-serv21491
Modified Files:
DEVELOPMENT MANIFEST Makefile.PL
Added Files:
ChangeLog
Removed Files:
Changes
Log Message:
Change the version numbering to the scheme agreed upon.
--- NEW FILE: ChangeLog ---
2007-09-06 Gunnar Wrobel
* Conf.pm:
Allowed config variable replacement within the META section of
the templates. This reduces our dependence on the dist_conf
mechanism and we can use variables from kolab.globals
instead. Now add on packages can install their own templates.
Whitespace cleanup.
2007-08-07 Gunnar Wrobel
* Conf.pm:
Fixed kolab/issue1879 (kolabconf poor error message in buildCyrusConfig)
https://intevation.de/roundup/kolab/issue1879
2007-08-01 Gunnar Wrobel
Created the kolabconf package by moving kolabconf and the
Conf.pm perl module into one package. The package is now a
clean perl package.
2007-07-31 Gunnar Wrobel
* Kolab-Conf/Conf.pm.in:
Require that the configuration load call is provided with the path
to the global Kolab configuration settings. This way we remove the
knowledge that the kolabd package exist from the Kolab.pm script.
In addition the reload() function was moved to the Conf.pm
module.
2007-01-06 Joergen Fjeld
* Kolab-Conf/Conf.pm.in (build):
Patch applied by Martin Konold:
- fixes order of domains see also https://intevation.de/roundup/kolab/issue1550
2006-12-04 Gunnar Wrobel
* Kolab-Conf/Conf.pm.in (build): Only print "No configuration
variable corresponding to `$1' exists" in case we are NOT skipping
the section.
2006-03-20 Marcus Hüwe
Patch commited by Richard Bos
* Kolab-Conf/Conf.pm.in: introduce a new variable phpinit_dir for the
directory that holds the php.ini file to be used.
2006-01-15 Richard Bos
* Kolab-Conf/Conf.pm.in: use the new variable sasl_authdconffile
instead of @sasl_confdir@/saslauthd.conf
2006-01-07 Richard Bos
* Kolab-Conf/Conf.pm.in: do not crash when the file to be checked
does not exists.
Give a hint _which_ config file can not be moved
2005-12-17 Marcus Hüwe
Patch committed by Richard Bos
* bootstrap: added
* ChangeLog: added
* Kolab/Kolab.pm,
Kolab-Conf/Conf.pm,
Kolab-DirServ/DirServ.pm,
Kolab-LDAP/LDAP.pm,
Kolab-LDAP-Backend-slurpd/slurpd.pm,
Kolab-Mailer/Mailer.pm: are working now with the updated
kolabd/kolabd/dist_conf file
* Kolab/Makefile.am,
Kolab-Mailer/Makefile.am,
Kolab-Conf/Makefile.am,
Kolab-LDAP/Makefile.am,
Kolab-Util/Makefile.am,
Kolab-Cyrus/Makefile.am,
Kolab-LDAP-Backend/Makefile.am,
Kolab-LDAP-Backend-ad/Makefile.am,
Kolab-LDAP-Backend-slurpd/Makefile.am,
Kolab-DirServ/Makefile.am,
Kolab-LDAP-Backend-dirservd/Makefile.am,
Makefile.am: are removed
* Kolab/Makefile.PL,
Kolab-Mailer/Makefile.PL,
Kolab-Conf/Makefile.PL,
Kolab-LDAP/Makefile.PL,
Kolab-Util/Makefile.PL,
Kolab-Cyrus/Makefile.PL,
Kolab-LDAP-Backend/Makefile.PL,
Kolab-LDAP-Backend-ad/Makefile.PL,
Kolab-LDAP-Backend-slurpd/Makefile.PL,
Kolab-DirServ/Makefile.PL,
Kolab-LDAP-Backend-dirservd/Makefile.PL: are removed
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/kolabconf/DEVELOPMENT,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- DEVELOPMENT 15 Aug 2007 16:41:00 -0000 1.4
+++ DEVELOPMENT 17 Oct 2007 07:12:15 -0000 1.5
@@ -1,8 +1,9 @@
Development notes
=================
-The kolabconf package is a standard perl package meant to be handled
-with the Makefile.PL script.
+The kolabconf package is a standard perl package and a Kolab Server
+core component. It ismeant to be handled with the Makefile.PL script.
+You will receive a standard "Makefile" by running "perl Makefile.PL".
The Kolab Server packages were usually not released as source
packages. This should be changed with this new package layout. The
@@ -14,49 +15,61 @@
Version numbering
=================
-kolabconf is a Kolab Server core package. Released packages should
-have the same core version as the Server release. As a part of Kolab
-Server 2.1.0 the version number should be 2.1.0.
+The package version will be set in
-Released source packages will look like this:
+ Makefile.PL
- kolabconf-2.1.0.tar.gz
+e.g.
-Released source RPMs will look like this:
+my $KOLAB_BASE_VERSION = "2.2.beta1";
+my $KOLAB_CVS = 1;
- kolabconf-2.1.0-20070819.src.rpm
+Release versions
+----------------
-A NEW VERSION HAS TO BE SET IN
+Released packages should have the same core version as the server
+release. As a part of Kolab Server 2.2.0 the version number should be
+2.2.0. Pre-release candidates receive the suffix "betaX" or "rcX"
+(e.g. 2.2.beta1).
- Makefile.PL
+Before tagging the next release the version number needs to be increased
+to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
+be set to 0:
-Once development picks up after a release, please set
+ my $KOLAB_BASE_VERSION = "2.2.0";
+ my $KOLAB_CVS = 0;
-my $KOLAB_CVS = 1;
+After updating $KOLAB_BASE_VERSION and $KOLAB_CVS you can commit these
+changes and tag the release.
-in Makefile.PL.
+Now you can create source tarballs and RPMs which will look like:
-The version number will then receive the suffix ".cvs" and the current
-date will be appended.
+ kolabconf-2.2.0.tar.gz
+ kolabconf-2.2.0-20070819.src.rpm
-Source packages will then look like this:
+Don't forget to change $KOLAB_CVS back to 1 again and commit, so later
+CVS snapshots will be named correctly.
- kolabconf-2.1.0.cvs-20070810.tar.gz
+Snapshots
+---------
-Source RPMs will be named similar:
+Make sure lib/Kolab.pm contains the following line:
- kolabconf-2.1.0.cvs-20070810.src.rpm
+ my $KOLAB_CVS = 1;
-For tagging the next release the version number needs to be increased
-to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
-be reversed:
+The release number will then receive the suffix "+cvs" and the current
+date will be appended.
+
+Source tarballs and RPMs will then look like this:
+
+ kolabconf-2.2.0+cvs20070810.tar.gz
+ kolabconf-2.2.0+cvs-20070810.src.rpm
-my $KOLAB_CVS = 0;
Change log
==========
-The change log for the package is provided in "Changes". Please keep
+The change log for the package is provided in "ChangeLog". Please keep
this file up-to-date if you change the source code of this package.
Contributors
Index: MANIFEST
===================================================================
RCS file: /kolabrepository/server/kolabconf/MANIFEST,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- MANIFEST 1 Aug 2007 12:34:31 -0000 1.2
+++ MANIFEST 17 Oct 2007 07:12:15 -0000 1.3
@@ -1,8 +1,8 @@
AUTHORS
bin/kolabconf.in
-Changes
+ChangeLog
INSTALL
lib/Kolab/Conf.pm
Makefile.PL
MANIFEST
-README
\ No newline at end of file
+README
Index: Makefile.PL
===================================================================
RCS file: /kolabrepository/server/kolabconf/Makefile.PL,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- Makefile.PL 4 Sep 2007 10:23:15 -0000 1.10
+++ Makefile.PL 17 Oct 2007 07:12:15 -0000 1.11
@@ -9,7 +9,7 @@
my $KOLAB_VERSION;
# The Kolab version number for the perl-kolab package
-my $KOLAB_BASE_VERSION = "2.1.0";
+my $KOLAB_BASE_VERSION = "2.2.beta1";
# Are current releases cvs based or is this a real release?
my $KOLAB_CVS = 1;
@@ -17,8 +17,8 @@
my $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
if ($KOLAB_CVS) {
- $KOLAB_VERSION = $KOLAB_BASE_VERSION . ".cvs";
- $VERSION = $KOLAB_VERSION . "-" . $KOLAB_RELEASE;
+ $KOLAB_VERSION = $KOLAB_BASE_VERSION . "+cvs";
+ $VERSION = $KOLAB_VERSION . $KOLAB_RELEASE;
} else {
$KOLAB_VERSION = $KOLAB_BASE_VERSION;
$VERSION = $KOLAB_VERSION;
--- Changes DELETED ---
From cvs at kolab.org Wed Oct 17 09:17:18 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:17:18 +0200 (CEST)
Subject: gunnar: server/kolabconf DEVELOPMENT,1.5,1.6
Message-ID: <20071017071718.D510A602A4E@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabconf
In directory doto:/tmp/cvs-serv21569
Modified Files:
DEVELOPMENT
Log Message:
Typo.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/kolabconf/DEVELOPMENT,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- DEVELOPMENT 17 Oct 2007 07:12:15 -0000 1.5
+++ DEVELOPMENT 17 Oct 2007 07:17:16 -0000 1.6
@@ -53,7 +53,7 @@
Snapshots
---------
-Make sure lib/Kolab.pm contains the following line:
+Make sure Makefile.PL contains the following line:
my $KOLAB_CVS = 1;
From cvs at kolab.org Wed Oct 17 09:23:22 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:23:22 +0200 (CEST)
Subject: gunnar: server/php-kolab DEVELOPMENT,1.3,1.4 Makefile,1.8,1.9
Message-ID: <20071017072322.E23A260014F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab
In directory doto:/tmp/cvs-serv21675
Modified Files:
DEVELOPMENT Makefile
Log Message:
Update version numbers to the scheme agreed upon. For reasons specific to PEAR packaging the source snapshots cannot be tagged with +cvs since the version may only contain numbers and dots.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/php-kolab/DEVELOPMENT,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- DEVELOPMENT 16 Aug 2007 12:16:51 -0000 1.3
+++ DEVELOPMENT 17 Oct 2007 07:23:20 -0000 1.4
@@ -13,41 +13,58 @@
Version numbering
=================
-php-kolab is a Kolab Server core package. Released packages should
-have the same core version as the Server release. As a part of Kolab
-Server 2.1.0 the version number should be 2.1.0.
+The package version will be set in
-Released source packages will look like this:
+ Makefile
- Kolab_*-2.1.0.tar.gz
+e.g.
-Released source RPMs will look like this:
+ VERSION = 2.2.beta1
+ CVS = 1
- php-kolab-2.1.0-20070813.src.rpm
+Release versions
+----------------
-A NEW VERSION HAS TO BE SET IN
+Released packages should have the same core version as the server
+release. As a part of Kolab Server 2.2.0 the version number should be
+2.2.0. Pre-release candidates receive the suffix "betaX" or "rcX"
+(e.g. 2.2.beta1).
- Makefile
+Before tagging the next release the version number needs to be increased
+to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
+be set to 0:
-Once development picks up after a release, please switch the CVS
-variable in "Makefile" to "1":
+ VERSION = 2.2.0
+ CVS = 0
-CVS = 1
+In addition you should copy the relevant section from
+Kolab_*/ChangeLog into Kolab_*/package.xml.in.
-Source packages will then look like this:
+After updating VERSION and CVS you can commit these changes and tag
+the release.
- Kolab_*-2.1.0.20070815.tar.gz
+Now you can create source tarballs and RPMs which will look like:
-Source RPMs will be named like this:
+ Kolab_*-2.2.0.tar.gz
+ php-kolab-2.2.0-20070819.src.rpm
- php-kolab-2.1.0.cvs-20070815.src.rpm
+Don't forget to change CVS back to 1 again and commit, so later
+CVS snapshots will be named correctly.
-For tagging the next release the version number needs to be increased
-to the new Kolab Server version (e.g. 2.2.0) and the CVS parameter
-needs to be switched to "0" again.
+Snapshots
+---------
-Once releasing a new package you should copy the relevant section from
-Kolab_*/ChangeLog into Kolab_*/package.xml.in.
+Make sure Makefile contains the following line:
+
+ CVS = 1
+
+The release number will then receive the suffix "+cvs" and the current
+date will be appended.
+
+Source tarballs and RPMs will then look like this:
+
+ Kolab_*-2.2.0.20070819.tar.gz
+ php-kolab-2.2.0+cvs-20070819.src.rpm
Change log
==========
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/php-kolab/Makefile,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- Makefile 16 Aug 2007 12:16:51 -0000 1.8
+++ Makefile 17 Oct 2007 07:23:20 -0000 1.9
@@ -2,7 +2,7 @@
RELEASE = $(shell date '+%Y%m%d')
DATE = $(shell date '+%Y-%m-%d')
-VERSION = 2.1.0
+VERSION = 2.2.beta1
CVS = 1
ifeq "x$(CVS)" "x0"
@@ -10,7 +10,7 @@
SPEC_VERSION = $(VERSION)
else
SOURCE_TAG = $(VERSION).$(RELEASE)
- SPEC_VERSION = $(VERSION).cvs
+ SPEC_VERSION = $(VERSION)+cvs
endif
MODULES = Kolab_Freebusy \
From cvs at kolab.org Wed Oct 17 09:43:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:43:13 +0200 (CEST)
Subject: gunnar: server/kolab-filter DEVELOPMENT,1.3,1.4 Makefile,1.4,1.5
Message-ID: <20071017074313.7769760014F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter
In directory doto:/tmp/cvs-serv21909
Modified Files:
DEVELOPMENT Makefile
Log Message:
Update version numbers to the scheme agreed upon.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/kolab-filter/DEVELOPMENT,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- DEVELOPMENT 24 Aug 2007 07:27:58 -0000 1.3
+++ DEVELOPMENT 17 Oct 2007 07:43:11 -0000 1.4
@@ -15,41 +15,56 @@
Version numbering
=================
-kolab-filter is a Kolab Server core package. Released packages should
-have the same core version as the Server release. As a part of Kolab
-Server 2.1.0 the version number should be 2.1.0.
+The package version will be set in
-Released source packages will look like this:
+ Makefile
- kolab-filter-2.1.0.tar.gz
+e.g.
-Released source RPMs will look like this:
+ VERSION = 2.2.beta1
+ CVS = 1
- kolab-filter-2.1.0-20070819.src.rpm
+Release versions
+----------------
-A NEW VERSION AND RELEASE NUMBER HAVE TO BE SET IN
+Released packages should have the same core version as the server
+release. As a part of Kolab Server 2.2.0 the version number should be
+2.2.0. Pre-release candidates receive the suffix "betaX" or "rcX"
+(e.g. 2.2.beta1).
- Makefile
+Before tagging the next release the version number needs to be increased
+to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
+be set to 0:
-Once development picks up after a release, please set
+ VERSION = 2.2.0
+ CVS = 0
- CVS = 1
+After updating VERSION and CVS you can commit these changes and tag
+the release.
-in kolab-filter.spec.
+Now you can create source tarballs and RPMs which will look like:
-Source packages will then look like this:
+ kolab-filter-2.2.0.tar.bz2
+ kolab-filter-2.2.0-20070819.src.rpm
- kolab-filter-2.1.0.cvs-20070810.tar.gz
+Don't forget to change CVS back to 1 again and commit, so later
+CVS snapshots will be named correctly.
-Source RPMs will be named similar:
+Snapshots
+---------
- kolab-filter-2.1.0.cvs-20070810.src.rpm
+Make sure Makefile contains the following line:
-For tagging the next release the version number needs to be increased
-to the new Kolab Server version (e.g. 2.2.0) and the CVS variable needs
-to be reset to 0:
+ CVS = 1
+
+The release number will then receive the suffix "+cvs" and the current
+date will be appended.
+
+Source tarballs and RPMs will then look like this:
+
+ kolab-filter-2.2.0+cvs20070819.tar.bz2
+ kolab-filter-2.2.0+cvs-20070819.src.rpm
- CVS = 0
Change log
==========
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-filter/Makefile,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Makefile 24 Aug 2007 07:14:16 -0000 1.4
+++ Makefile 17 Oct 2007 07:43:11 -0000 1.5
@@ -1,15 +1,15 @@
PACKAGE = $(shell grep "%define[ ]*V_package" *.spec | sed -e "s/.*V_package \([a-z\_-]*\).*/\1/")
RELEASE = $(shell date '+%Y%m%d')
-VERSION = 2.1.0
+VERSION = 2.2.beta1
CVS = 1
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
SPEC_VERSION = $(VERSION)
else
- SOURCE_TAG = $(VERSION).cvs-$(RELEASE)
- SPEC_VERSION = $(VERSION).cvs
+ SOURCE_TAG = $(VERSION)+cvs$(RELEASE)
+ SPEC_VERSION = $(VERSION)+cvs
endif
TAR = $(PACKAGE)-$(SOURCE_TAG).tar.bz2
@@ -33,6 +33,9 @@
.PHONY: dist
dist: all
cp $(PACKAGE)-$(SPEC_VERSION)-$(RELEASE).src.rpm ../stage/
+
+.PHONY: tardist
+tardist: $(TAR)
.PHONY: clean_all
clean_all: clean
From cvs at kolab.org Wed Oct 17 09:44:05 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:44:05 +0200 (CEST)
Subject: gunnar: server/php-kolab DEVELOPMENT,1.4,1.5
Message-ID: <20071017074405.D5E8B60014F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab
In directory doto:/tmp/cvs-serv21987
Modified Files:
DEVELOPMENT
Log Message:
Fix source package ending.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/php-kolab/DEVELOPMENT,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- DEVELOPMENT 17 Oct 2007 07:23:20 -0000 1.4
+++ DEVELOPMENT 17 Oct 2007 07:44:03 -0000 1.5
@@ -45,7 +45,7 @@
Now you can create source tarballs and RPMs which will look like:
- Kolab_*-2.2.0.tar.gz
+ Kolab_*-2.2.0.tgz
php-kolab-2.2.0-20070819.src.rpm
Don't forget to change CVS back to 1 again and commit, so later
@@ -63,7 +63,7 @@
Source tarballs and RPMs will then look like this:
- Kolab_*-2.2.0.20070819.tar.gz
+ Kolab_*-2.2.0.20070819.tgz
php-kolab-2.2.0+cvs-20070819.src.rpm
Change log
From cvs at kolab.org Wed Oct 17 09:47:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:47:36 +0200 (CEST)
Subject: gunnar: server/kolab-freebusy DEVELOPMENT,1.4,1.5 Makefile,1.5,1.6
Message-ID: <20071017074736.5E5AB60014F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv22063
Modified Files:
DEVELOPMENT Makefile
Log Message:
Update version numbers to the scheme agreed upon.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/DEVELOPMENT,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- DEVELOPMENT 24 Aug 2007 07:27:58 -0000 1.4
+++ DEVELOPMENT 17 Oct 2007 07:47:34 -0000 1.5
@@ -15,41 +15,55 @@
Version numbering
=================
-kolab-freebusy is a Kolab Server core package. Released packages should
-have the same core version as the Server release. As a part of Kolab
-Server 2.1.0 the version number should be 2.1.0.
+The package version will be set in
-Released source packages will look like this:
+ Makefile
- kolab-freebusy-2.1.0.tar.gz
+e.g.
-Released source RPMs will look like this:
+ VERSION = 2.2.beta1
+ CVS = 1
- kolab-freebusy-2.1.0-20070813.src.rpm
+Release versions
+----------------
-A NEW VERSION AND RELEASE NUMBER HAVE TO BE SET IN
+Released packages should have the same core version as the server
+release. As a part of Kolab Server 2.2.0 the version number should be
+2.2.0. Pre-release candidates receive the suffix "betaX" or "rcX"
+(e.g. 2.2.beta1).
- Makefile
+Before tagging the next release the version number needs to be increased
+to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
+be set to 0:
-Once development picks up after a release, please set
+ VERSION = 2.2.0
+ CVS = 0
- CVS = 1
+After updating VERSION and CVS you can commit these changes and tag
+the release.
-in kolab-filter.spec.
+Now you can create source tarballs and RPMs which will look like:
-Source packages will then look like this:
+ kolab-freebusy-2.2.0.tar.bz2
+ kolab-freebusy-2.2.0-20070819.src.rpm
- kolab-freebusy-2.1.0.cvs-20070815.tar.gz
+Don't forget to change CVS back to 1 again and commit, so later
+CVS snapshots will be named correctly.
-Source RPMs will be named similar:
+Snapshots
+---------
- kolab-freebusy-2.1.0.cvs-20070815.src.rpm
+Make sure Makefile contains the following line:
-For tagging the next release the version number needs to be increased
-to the new Kolab Server version (e.g. 2.2.0) and the CVS variable needs
-to be reset to 0:
+ CVS = 1
- CVS = 0
+The release number will then receive the suffix "+cvs" and the current
+date will be appended.
+
+Source tarballs and RPMs will then look like this:
+
+ kolab-freebusy-2.2.0+cvs20070819.tar.bz2
+ kolab-freebusy-2.2.0+cvs-20070819.src.rpm
Change log
==========
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/Makefile,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- Makefile 24 Aug 2007 07:14:16 -0000 1.5
+++ Makefile 17 Oct 2007 07:47:34 -0000 1.6
@@ -1,15 +1,15 @@
PACKAGE = $(shell grep "%define[ ]*V_package" *.spec | sed -e "s/.*V_package \([a-z\_-]*\).*/\1/")
RELEASE = $(shell date '+%Y%m%d')
-VERSION = 2.1.0
+VERSION = 2.2.beta1
CVS = 1
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
SPEC_VERSION = $(VERSION)
else
- SOURCE_TAG = $(VERSION).cvs-$(RELEASE)
- SPEC_VERSION = $(VERSION).cvs
+ SOURCE_TAG = $(VERSION)+cvs$(RELEASE)
+ SPEC_VERSION = $(VERSION)+cvs
endif
TAR = $(PACKAGE)-$(SOURCE_TAG).tar.bz2
@@ -33,6 +33,9 @@
.PHONY: dist
dist: all
cp $(PACKAGE)-$(SPEC_VERSION)-$(RELEASE).src.rpm ../stage/
+
+.PHONY: tardist
+tardist: $(TAR)
.PHONY: clean_all
clean_all: clean
From cvs at kolab.org Wed Oct 17 09:49:06 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:49:06 +0200 (CEST)
Subject: gunnar: server/kolab-freebusy ChangeLog,NONE,1.1
Message-ID: <20071017074906.4102A60014F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv22112
Added Files:
ChangeLog
Log Message:
Apparently forgot to add the ChangeLog when I restructured the package.
--- NEW FILE: ChangeLog ---
2007-08-13 Gunnar Wrobel
* freebusy/freebusy.php:
* freebusy/pfb.php:
kolab/issue1606 (Allow to run kolab-resource-handlers with PHP cgi)
https://www.intevation.de/roundup/kolab/issue1606
2007-08-08 Gunnar Wrobel
The package was split into a library
part (php-kolab/Kolab_Freebusy) and a web application
part (kolab-freebusy).
2006-11-22 Gunnar Wrobel
* freebusy/freebusy.php.in:
Avoid notices because of undefined
$params['ldap_classname_suffix'].
Avoid notices because of undefined $_REQUEST['cache'] and
$_REQUEST['extended']
* freebusy/pfb.php.in:
Avoid notices because of undefined
$params['ldap_classname_suffix'].
* freebusy/pfb.php.in ():
Completed fixing cache dir path problem.
2006-11-22 Sascha Wilde
* freebusy/freebusy.php.in: Replaced @freebusy_cachedir@ with
$parms['cache_dir'].
2006-11-22 Gunnar Wrobel
* freebusy/pfb.php.in:
Fixed cache dir path problem described in
https://intevation.de/roundup/kolab/issue1490
and introduced with
http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/kolabd/kolabd/templates/freebusy.conf.template.in.diff?r1=1.3&r2=1.4
The use of $params['kolab_prefix'] originated from the original
caching patch but should not be used as introduced with
http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/kolab-resource-handlers/kolab-resource-handlers/freebusy/pfb.php.in.diff?r1=1.5&r2=1.6
since this breaks compatibility with running kolab on other
distros.
2006-11-13 Gunnar Wrobel
* freebusy/freebusy.php.in:
Trailing newline introduced in
http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/kolab-resource-handlers/kolab-resource-handlers/freebusy/freebusy.php.in.diff?r1=1.3&r2=1.4
may trigger php warnings depending on php verbosity
2006-03-28 Richard Bos
* freebusy/pfb.php.in: Add missing prefix 'kolab_php_module_prefix'
2005-12-17 richard Bos
* freebusy/pfb.php.in,
freebusy/freebusy.php.in: @freebusy_cachefile@ replaced by
@freebusy_cachedir@
From cvs at kolab.org Wed Oct 17 09:52:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 09:52:25 +0200 (CEST)
Subject: gunnar: server/kolab-freebusy ChangeLog,1.1,NONE
Message-ID: <20071017075225.1C4F160014F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv22167
Removed Files:
ChangeLog
Log Message:
I should read my own instructions.
--- ChangeLog DELETED ---
From cvs at kolab.org Wed Oct 17 12:00:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 12:00:00 +0200 (CEST)
Subject: gunnar: server/php-kolab DEVELOPMENT,1.5,1.6 Makefile,1.9,1.10
Message-ID: <20071017100000.033C9602A4D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab
In directory doto:/tmp/cvs-serv24673
Modified Files:
DEVELOPMENT Makefile
Log Message:
PEAR does not support snapshots between prerelease versions. This workaround is a suggestion to solve that.
Index: DEVELOPMENT
===================================================================
RCS file: /kolabrepository/server/php-kolab/DEVELOPMENT,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- DEVELOPMENT 17 Oct 2007 07:44:03 -0000 1.5
+++ DEVELOPMENT 17 Oct 2007 09:59:57 -0000 1.6
@@ -28,7 +28,7 @@
Released packages should have the same core version as the server
release. As a part of Kolab Server 2.2.0 the version number should be
2.2.0. Pre-release candidates receive the suffix "betaX" or "rcX"
-(e.g. 2.2.beta1).
+(e.g. 2.2beta1).
Before tagging the next release the version number needs to be increased
to the new Kolab Server version (e.g. 2.2.0) and the CVS switch needs to
@@ -37,6 +37,11 @@
VERSION = 2.2.0
CVS = 0
+For prereleases you will also have to set the following variables:
+
+ PRERELEASE = beta
+ PRERELEASE_VERSION = 1
+
In addition you should copy the relevant section from
Kolab_*/ChangeLog into Kolab_*/package.xml.in.
@@ -65,6 +70,10 @@
Kolab_*-2.2.0.20070819.tgz
php-kolab-2.2.0+cvs-20070819.src.rpm
+
+Please note that PEAR does not really support using snapshots between
+prereleases. This leads to some weird release numbers on the source
+packages in the prerelease phase.
Change log
==========
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/php-kolab/Makefile,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- Makefile 17 Oct 2007 07:23:20 -0000 1.9
+++ Makefile 17 Oct 2007 09:59:57 -0000 1.10
@@ -2,15 +2,27 @@
RELEASE = $(shell date '+%Y%m%d')
DATE = $(shell date '+%Y-%m-%d')
-VERSION = 2.2.beta1
+VERSION = 2.2
+PRERELEASE = beta
+PRERELEASE_VERSION = 1
CVS = 1
-ifeq "x$(CVS)" "x0"
- SOURCE_TAG = $(VERSION)
- SPEC_VERSION = $(VERSION)
+ifeq "x$(PRERELEASE)" "x"
+ ifeq "x$(CVS)" "x0"
+ SOURCE_TAG = $(VERSION)
+ SPEC_VERSION = $(VERSION)
+ else
+ SOURCE_TAG = $(VERSION).$(RELEASE)
+ SPEC_VERSION = $(RPM_VERSION)+cvs
+ endif
else
- SOURCE_TAG = $(VERSION).$(RELEASE)
- SPEC_VERSION = $(VERSION)+cvs
+ PEAR_RELEASE = $(shell echo $$(($(PRERELEASE_VERSION) * $(RELEASE))))
+ SOURCE_TAG = $(VERSION)$(PRERELEASE)$(PEAR_RELEASE)
+ ifeq "x$(CVS)" "x0"
+ SPEC_VERSION = $(VERSION).$(PRERELEASE)$(PRERELEASE_VERSION)
+ else
+ SPEC_VERSION = $(VERSION).$(PRERELEASE)$(PRERELEASE_VERSION)+cvs
+ endif
endif
MODULES = Kolab_Freebusy \
From cvs at kolab.org Wed Oct 17 12:25:12 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 12:25:12 +0200 (CEST)
Subject: gunnar: server/php-kolab Makefile,1.10,1.11
Message-ID: <20071017102512.AFACC602A32@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab
In directory doto:/tmp/cvs-serv25414
Modified Files:
Makefile
Log Message:
No need to use multiplication. Thanks Thomas!
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/php-kolab/Makefile,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- Makefile 17 Oct 2007 09:59:57 -0000 1.10
+++ Makefile 17 Oct 2007 10:25:10 -0000 1.11
@@ -16,7 +16,7 @@
SPEC_VERSION = $(RPM_VERSION)+cvs
endif
else
- PEAR_RELEASE = $(shell echo $$(($(PRERELEASE_VERSION) * $(RELEASE))))
+ PEAR_RELEASE = $(PRERELEASE_VERSION)$(RELEASE)
SOURCE_TAG = $(VERSION)$(PRERELEASE)$(PEAR_RELEASE)
ifeq "x$(CVS)" "x0"
SPEC_VERSION = $(VERSION).$(PRERELEASE)$(PRERELEASE_VERSION)
From cvs at kolab.org Wed Oct 17 13:39:35 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 13:39:35 +0200 (CEST)
Subject: gunnar: server cvs-kolab.sh,1.12,1.13
Message-ID: <20071017113935.3181F60014F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv27111
Modified Files:
cvs-kolab.sh
Log Message:
This is my current view on the release process poured into script form. Still untested but running at the moment.
Index: cvs-kolab.sh
===================================================================
RCS file: /kolabrepository/server/cvs-kolab.sh,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- cvs-kolab.sh 4 Oct 2007 09:47:55 -0000 1.12
+++ cvs-kolab.sh 17 Oct 2007 11:39:33 -0000 1.13
@@ -3,11 +3,15 @@
KOLAB_PACKAGES=/kolab-packages
KOLAB_DEV_USER=kolabdevel
KOLAB_INSTALL_USER=kolabtest
+KOLAB_REL_USER=kolabrelease
+
+OPENPKG_USER=p at rdus.de
ACTION_INSTALL=0
ACTION_UPDATE=0
ACTION_CLEAN=0
ACTION_DOWNLOAD=0
+ACTION_RELEASE=0
FLAG_HORDE=0
FLAG_FBVIEW=0
@@ -23,6 +27,7 @@
echo " -u Update the CVS and installed system"
echo " -D Just download the source packages"
echo " -c uninstall the Kolab CVS environment"
+ echo " -r Create a fresh Kolab source release"
echo " -h (display this help)"
echo
echo "Options:"
@@ -146,6 +151,66 @@
exit 0
}
+release() {
+ echo
+ echo "Building release packages.... This will take a while!"
+ echo
+ if [ ! -e "/${KOLAB_DEV_USER}/CVS/server" ]; then
+ die "There exists no CVS environment at /${KOLAB_DEV_USER}/CVS/server! Did you run ./cvs-kolab.sh -i to setup the CVS based Kolab server?"
+ fi
+ cd "/${KOLAB_DEV_USER}/CVS/server"
+ cvs -q update -P -d
+ chown -R "${KOLAB_DEV_USER}:" "/${KOLAB_DEV_USER}/CVS"
+ su - "${KOLAB_DEV_USER}" -c "cd `pwd` && make clean" || die "Not releasing! Looks like the Kolab developers broke CVS. Bug them at https://www.intevation.de/roundup/kolab"
+ su - "${KOLAB_DEV_USER}" -c "cd `pwd` && make" || die "Not releasing! Looks like the Kolab developers broke CVS. Bug them at https://www.intevation.de/roundup/kolab"
+ mkdir -p "${KOLAB_PACKAGES}/source-release/RELEASE"
+ cd "${KOLAB_PACKAGES}/source-release/RELEASE"
+ cp "/${KOLAB_DEV_USER}/CVS/server/install-kolab.sh" .
+ cp /"${KOLAB_DEV_USER}"/CVS/server/stage/* .
+ wget "ftp://ftp.openpkg.org/current/SRC/CORE/openpkg-*.src.sh" || die "No OpenPKG installer found!"
+ ./install-kolab.sh -E -t "${KOLAB_REL_USER}" -I 23414 -F -H > ../kolab-build.log 2>&1
+ wget "ftp://ftp.openpkg.org/current/SRC/BASE/openpkg-tools*.src.rpm" || die "No OpenPKG tools found!"
+ "/${KOLAB_REL_USER}/bin/openpkg" build -k openpkg-tools | sh
+ "/${KOLAB_REL_USER}/bin/openpkg" register --mode=post --user=${OPENPKG_USER}
+ chown ${KOLAB_REL_USER} .
+ "/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i .
+ cd ..
+ cp RELEASE/install-kolab.sh .
+ echo > 00INDEX.rdf <
+
+
+
+
+
+
+EOF
+ ./install-kolab.sh -t "${KOLAB_REL_USER}" -I 23414 -F -H > kolab-build.log2 2>&1
+ cp /"${KOLAB_REL_USER}"/RPM/PKG/*.src.rpm RELEASE/
+ cd RELEASE
+ "/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i .
+ md5sum *.sh *.rpm > MD5SUMS
+ cd ..
+
+ echo "Everything finished!"
+ echo "The release sources have been prepared in ${KOLAB_PACKAGES}/source-release/RELEASE"
+ echo "Your test installation resides in /${KOLAB_REL_USER}"
+ echo
+ echo "Configure the release installation with"
+ echo
+ echo " /${KOLAB_REL_USER}/sbin/kolabconf"
+ echo " /${KOLAB_REL_USER}/bin/openpkg rc all restart"
+ echo
+ echo "If everything is ready for a release, sign the md5 hashes in RELEASE with"
+ echo
+ echo " gpg --clearsign MD5SUMS"
+ echo
+ echo "and upload the packages."
+ exit 0
+}
+
clean() {
echo "This will completely wipe ${KOLAB_PACKAGES}, /${KOLAB_DEV_USER}, and /${KOLAB_INSTALL_USER}."
echo "Are you certain you want to do that (YES/NO)?"
@@ -163,7 +228,7 @@
-while getopts hicuDHFb:d:t: ARGS; do
+while getopts hircuDHFb:d:t: ARGS; do
case $ARGS in
h) # Display help
usage
@@ -177,6 +242,9 @@
u) # Update
ACTION_UPDATE=1
;;
+ r) #
+ ACTION_RELEASE=1
+ ;;
D) # Download
ACTION_DOWNLOAD=1
;;
@@ -216,6 +284,10 @@
if [ "${ACTION_CLEAN}" == "1" ]; then
clean
+fi
+
+if [ "${ACTION_RELEASE}" == "1" ]; then
+ release
fi
update
From cvs at kolab.org Wed Oct 17 14:37:04 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 14:37:04 +0200 (CEST)
Subject: gunnar: server cvs-kolab.sh,1.13,1.14
Message-ID: <20071017123704.3F3A0602A4F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv27663
Modified Files:
cvs-kolab.sh
Log Message:
Unpersonalize.
Index: cvs-kolab.sh
===================================================================
RCS file: /kolabrepository/server/cvs-kolab.sh,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- cvs-kolab.sh 17 Oct 2007 11:39:33 -0000 1.13
+++ cvs-kolab.sh 17 Oct 2007 12:37:01 -0000 1.14
@@ -5,7 +5,7 @@
KOLAB_INSTALL_USER=kolabtest
KOLAB_REL_USER=kolabrelease
-OPENPKG_USER=p at rdus.de
+OPENPKG_USER=developer at mydomain.de
ACTION_INSTALL=0
ACTION_UPDATE=0
From cvs at kolab.org Wed Oct 17 15:10:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 15:10:43 +0200 (CEST)
Subject: gunnar: server cvs-kolab.sh,1.14,1.15
Message-ID: <20071017131043.45768602A5F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv28497
Modified Files:
cvs-kolab.sh
Log Message:
Remove binary packages here otherwise the next step will error out.
Index: cvs-kolab.sh
===================================================================
RCS file: /kolabrepository/server/cvs-kolab.sh,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- cvs-kolab.sh 17 Oct 2007 12:37:01 -0000 1.14
+++ cvs-kolab.sh 17 Oct 2007 13:10:41 -0000 1.15
@@ -172,6 +172,8 @@
wget "ftp://ftp.openpkg.org/current/SRC/BASE/openpkg-tools*.src.rpm" || die "No OpenPKG tools found!"
"/${KOLAB_REL_USER}/bin/openpkg" build -k openpkg-tools | sh
"/${KOLAB_REL_USER}/bin/openpkg" register --mode=post --user=${OPENPKG_USER}
+ PLATFORM=`/"${KOLAB_REL_USER}"/lib/openpkg/shtool platform --type=binary`
+ rm *$PLATFORM*
chown ${KOLAB_REL_USER} .
"/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i .
cd ..
From cvs at kolab.org Wed Oct 17 15:27:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 15:27:36 +0200 (CEST)
Subject: gunnar: server cvs-kolab.sh,1.15,1.16
Message-ID: <20071017132736.D974560C4A6@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv28736
Modified Files:
cvs-kolab.sh
Log Message:
Typo
Index: cvs-kolab.sh
===================================================================
RCS file: /kolabrepository/server/cvs-kolab.sh,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- cvs-kolab.sh 17 Oct 2007 13:10:41 -0000 1.15
+++ cvs-kolab.sh 17 Oct 2007 13:27:34 -0000 1.16
@@ -178,17 +178,17 @@
"/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i .
cd ..
cp RELEASE/install-kolab.sh .
- echo > 00INDEX.rdf <
-
-
-
-
-
-
-EOF
+ cat << EOF > 00INDEX.rdf
+
+
+
+
+
+
+
+EOF
./install-kolab.sh -t "${KOLAB_REL_USER}" -I 23414 -F -H > kolab-build.log2 2>&1
cp /"${KOLAB_REL_USER}"/RPM/PKG/*.src.rpm RELEASE/
cd RELEASE
From cvs at kolab.org Wed Oct 17 19:57:15 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 19:57:15 +0200 (CEST)
Subject: thomas: server/kolab-webadmin/admin/docs ChangeLog,1.1,1.2
Message-ID: <20071017175715.2DFAB602A4E@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/admin/docs
In directory doto:/tmp/cvs-serv9800/kolab-webadmin/admin/docs
Modified Files:
ChangeLog
Log Message:
Fix kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/admin/docs/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ChangeLog 17 Aug 2007 08:51:26 -0000 1.1
+++ ChangeLog 17 Oct 2007 17:57:13 -0000 1.2
@@ -1,3 +1,7 @@
+2007-10-17 Thomas Arendsen Hein
+
+ * templates/kolab.tpl: kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+
2007-08-07 Gunnar Wrobel
* php/admin/templates/page.tpl.in:
From cvs at kolab.org Wed Oct 17 19:57:15 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 19:57:15 +0200 (CEST)
Subject: thomas: server 00INDEX.rdf,1.1,1.2
Message-ID: <20071017175715.1AF77602A4A@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv9800
Modified Files:
00INDEX.rdf
Log Message:
Fix kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
Index: 00INDEX.rdf
===================================================================
RCS file: /kolabrepository/server/00INDEX.rdf,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- 00INDEX.rdf 17 Jul 2007 16:30:53 -0000 1.1
+++ 00INDEX.rdf 17 Oct 2007 17:57:12 -0000 1.2
@@ -2103,8 +2103,6 @@
imapd::with_atvdomimapd::with_moreloggingimapd::with_kolab
- proftpd
- proftpd::with_ldapperl-sslperl-wwwperl-ldap
@@ -4957,180 +4955,6 @@
arrival (e.g. to generate different chimes on your workstation for
different types of mail) or selectively forward certain incoming
mail automatically to someone.
-
-
-
- proftpd
- 1.3.0a
- 20070522
- OpenPKG Community
- BASE
- FTP
- GPL
- OpenPKG Foundation e.V.
- Professional FTP Daemon
- http://www.proftpd.org/
- The ProFTPD Project
-
-
- OpenPKG
- openpkg
- make
- ncurses
- getopt
-
-
-
-
- kerberos
-
-
-
-
- openldap
- openssl
-
-
-
-
- mysql
-
-
-
-
- ODBC
-
-
-
-
- opie
-
-
-
-
- PAM
-
-
-
-
- postgresql
- openssl
-
-
-
-
- skey
-
-
-
-
- sqlite
-
-
-
-
- OpenPKG
- openpkg
- ncurses
- getopt
-
-
-
-
- kerberos
-
-
-
-
- openldap
- openssl
-
-
-
-
- mysql
-
-
-
-
- ODBC
-
-
-
-
- opie
-
-
-
-
- PAM
-
-
-
-
- postgresql
- openssl
-
-
-
-
- skey
-
-
-
-
- sqlite
-
-
-
-
- proftpd::with_ifsession
- proftpd::with_ctrls
- proftpd::with_radius
- proftpd::with_pam
- proftpd::with_mysql
- proftpd::with_pgsql
- proftpd::with_sqlite
- proftpd::with_odbc
- proftpd::with_ldap
- proftpd::with_skey
- proftpd::with_opie
- proftpd::with_kerberos
-
-
-
-
- http://www.castaglia.net/proftpd/modules/proftpd-mod-sql-sqlite-0.2.tar.gz
- http://www.castaglia.net/proftpd/modules/proftpd-mod-sql-odbc-0.3.2.tar.gz
- rc.proftpd
- http://www.castaglia.net/proftpd/modules/proftpd-mod-exec-0.9.2.tar.gz
- proftpd.conf
- ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.bz2
- http://www.castaglia.net/proftpd/modules/proftpd-mod-vroot-0.7.2.tar.gz
- proftpd.msg.goaway
- http://www.castaglia.net/proftpd/modules/proftpd-mod-time-2.2.1.tar.gz
- proftpd.msg.login
- http://www.castaglia.net/proftpd/modules/proftpd-mod-otp-0.9.1.tar.gz
- http://www.castaglia.net/proftpd/modules/proftpd-mod-shaper-0.6.3.tar.gz
- http://switch.dl.sourceforge.net/gssmod/mod_gss-1.3.0a.tar.gz
-
-
-
-ProFTPD grew out of the desire to have a secure and configurable
-FTP server, and out of a significant admiration of the Apache web
-server. There are currently a very limited number of FTP servers
-running on unix (or unix-like) hosts. The most commonly used server
-is probably wu-ftpd. While wu-ftpd provides excellent performance
-and is generally a good product, it lacks numerous features found
-in newer Win32 FTP servers, and has a poor security history. Many
-people, including the developers who work on ProFTPD have spent a
-great deal of time fixing bugs and hacking features into wu-ftpd.
-Unfortunately, it quickly became clear that a complete redesign was
-necessary in order to implement the configurability and features
-desired. ProFTPD is not a hack based on any other server, it's an
-independent source tree from the ground up. Click here for a small
-list of some of the sites ProFTPD powers -- many of them handling
-large volumes of traffic on a daily basis.
From cvs at kolab.org Wed Oct 17 19:57:15 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 19:57:15 +0200 (CEST)
Subject: thomas: server/kolab-webadmin/admin/templates kolab.tpl,1.1,1.2
Message-ID: <20071017175715.31D8E602A53@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/admin/templates
In directory doto:/tmp/cvs-serv9800/kolab-webadmin/admin/templates
Modified Files:
kolab.tpl
Log Message:
Fix kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
Index: kolab.tpl
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/admin/templates/kolab.tpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- kolab.tpl 17 Aug 2007 08:51:26 -0000 1.1
+++ kolab.tpl 17 Oct 2007 17:57:13 -0000 1.2
@@ -19,7 +19,6 @@
From cvs at kolab.org Wed Oct 17 19:57:15 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 19:57:15 +0200 (CEST)
Subject: thomas: server/perl-kolab/lib Kolab.pm,1.6,1.7
Message-ID: <20071017175715.A5031602A56@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab/lib
In directory doto:/tmp/cvs-serv9800/perl-kolab/lib
Modified Files:
Kolab.pm
Log Message:
Fix kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
Index: Kolab.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/lib/Kolab.pm,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- Kolab.pm 15 Oct 2007 13:59:19 -0000 1.6
+++ Kolab.pm 17 Oct 2007 17:57:13 -0000 1.7
@@ -241,14 +241,6 @@
# We now need to go through the list of all possible configuration variables
# and set the default values of those that were not overridden.
- # ProFTPd password
- if (exists $config{'proftpd-userPassword'}) {
- my $salt = substr($config{'proftpd-userPassword'}, 0, 2);
- $config{'proftpd-userPassword'} = crypt($config{'proftpd-userPassword'}, $salt);
- } else {
- $config{'proftpd-userPassword'} = '';
- }
-
$config{'fqdn'} = trim(`hostname`);
# connect to services at local address if binding to any interface,
From cvs at kolab.org Wed Oct 17 19:57:15 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 19:57:15 +0200 (CEST)
Subject: thomas: server/perl-kolab ChangeLog,1.23,1.24
Message-ID: <20071017175715.A2FCF602A54@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv9800/perl-kolab
Modified Files:
ChangeLog
Log Message:
Fix kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/perl-kolab/ChangeLog,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- ChangeLog 17 Oct 2007 07:05:02 -0000 1.23
+++ ChangeLog 17 Oct 2007 17:57:13 -0000 1.24
@@ -1,3 +1,7 @@
+2007-10-17 Thomas Arendsen Hein
+
+ * lib/Kolab.pm: kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+
2007-08-01 Gunnar Wrobel
Converted the perl-kolab package into a standard perl library.
From cvs at kolab.org Wed Oct 17 20:13:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:13:58 +0200 (CEST)
Subject: thomas: server/kolabd/kolabd ChangeLog,1.111,1.112
Message-ID: <20071017181358.4824E602A56@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv10422/kolabd/kolabd
Modified Files:
ChangeLog
Log Message:
Removed WebDAV for freebusy (kolab/issue1686 (Remove WebDAV Support))
I kept general webdav support enabled, because I don't know if Horde needs
this. To disable support completely, the following files have to be changed:
kolabd/kolabd/kolabd.spec.in: remove apache::with_mod_dav = yes
kolabd/kolabd/templates/httpd.conf.template.in: remove DavLockDB
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -d -r1.111 -r1.112
--- ChangeLog 17 Oct 2007 17:57:13 -0000 1.111
+++ ChangeLog 17 Oct 2007 18:13:56 -0000 1.112
@@ -9,6 +9,8 @@
* templates/proftpd.conf.template.in: Removed.
+ * templates/httpd.conf.template.in: kolab/issue1686 (Remove WebDAV Support)
+
2007-10-03 Gunnar Wrobel
* templates/httpd.conf.template.in:
From cvs at kolab.org Wed Oct 17 20:13:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:13:58 +0200 (CEST)
Subject: thomas: server/kolabd/kolabd/templates httpd.conf.template.in, 1.14,
1.15
Message-ID: <20071017181358.536C560C4A5@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv10422/kolabd/kolabd/templates
Modified Files:
httpd.conf.template.in
Log Message:
Removed WebDAV for freebusy (kolab/issue1686 (Remove WebDAV Support))
I kept general webdav support enabled, because I don't know if Horde needs
this. To disable support completely, the following files have to be changed:
kolabd/kolabd/kolabd.spec.in: remove apache::with_mod_dav = yes
kolabd/kolabd/templates/httpd.conf.template.in: remove DavLockDB
Index: httpd.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/httpd.conf.template.in,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- httpd.conf.template.in 14 Oct 2007 12:31:58 -0000 1.14
+++ httpd.conf.template.in 17 Oct 2007 18:13:56 -0000 1.15
@@ -225,8 +225,6 @@
#
- #Dav On
- #Script PUT /freebusy/freebusy.php
AllowOverride None
Options None
# Disallow for everyone as default
@@ -252,32 +250,7 @@
AuthLDAPBindPassword "@@@php_pw@@@"
# FIXME: support authenticating with uid, too
@@@endif@@@
- DavMinTimeout 600
AddDefaultCharset Off
-
-
-
- Dav On
- AllowOverride None
- Options None
- # Disallow for everyone as default
- Order allow,deny
-
- Allow from all
- Require valid-user
-
- AuthType Basic
- AuthName "Kolab Freebusy (webdav)"
- AuthLDAPUrl "@@@ldap_uri@@@/@@@base_dn@@@?mail??"
- AuthBasicAuthoritative off
- AuthUserFile /dev/null
- AuthBasicProvider ldap
- AuthzLDAPAuthoritative off
- AuthLDAPBindDN "@@@php_dn@@@"
- AuthLDAPBindPassword "@@@php_pw@@@"
- # FIXME: support authenticating with uid, too
- DavMinTimeout 600
- AddDefaultCharset Off
From cvs at kolab.org Wed Oct 17 20:27:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:27:16 +0200 (CEST)
Subject: thomas: server/kolab-webadmin/admin/docs ChangeLog,1.2,1.3
Message-ID: <20071017182716.52C75602A4A@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/admin/docs
In directory doto:/tmp/cvs-serv10740/admin/docs
Modified Files:
ChangeLog
Log Message:
Clarify web admin description for HTTP FreeBusy switch (with updated German translation)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/admin/docs/ChangeLog,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- ChangeLog 17 Oct 2007 17:57:13 -0000 1.2
+++ ChangeLog 17 Oct 2007 18:27:14 -0000 1.3
@@ -2,6 +2,9 @@
* templates/kolab.tpl: kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ * locale/de/LC_MESSAGES/messages.po: Clarify web admin description for
+ HTTP FreeBusy switch (updated German translation)
+
2007-08-07 Gunnar Wrobel
* php/admin/templates/page.tpl.in:
From cvs at kolab.org Wed Oct 17 20:27:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:27:16 +0200 (CEST)
Subject: thomas: server/kolab-webadmin/admin/locale/de/LC_MESSAGES messages.po,
1.1, 1.2
Message-ID: <20071017182716.591EB602A4E@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/admin/locale/de/LC_MESSAGES
In directory doto:/tmp/cvs-serv10740/admin/locale/de/LC_MESSAGES
Modified Files:
messages.po
Log Message:
Clarify web admin description for HTTP FreeBusy switch (with updated German translation)
Index: messages.po
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/admin/locale/de/LC_MESSAGES/messages.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- messages.po 17 Aug 2007 08:51:26 -0000 1.1
+++ messages.po 17 Oct 2007 18:27:14 -0000 1.2
@@ -11,7 +11,7 @@
"Project-Id-Version: messages-2.1-new_de\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-02-02 18:19+0100\n"
-"PO-Revision-Date: 2005-10-17 09:23+0200\n"
+"PO-Revision-Date: 2007-10-17 20:23+0200\n"
"Last-Translator: Thomas Arendsen Hein \n"
"Language-Team: deutsch \n"
"MIME-Version: 1.0\n"
@@ -1728,8 +1728,8 @@
"Belegt zusammen)"
#: ../../../www/admin/service/index.php.in:284
-msgid "HTTP FreeBusy Service (Legacy)"
-msgstr "HTTP-Frei/Belegt-Dienst (für Altsysteme)"
+msgid "FreeBusy Service via HTTP (in addition to HTTPS)"
+msgstr "Frei/Belegt-Dienst über HTTP (zusätzlich zu HTTPS)"
#: ../../../www/admin/service/index.php.in:285
msgid "Amavis Email Scanning (Virus/Spam)"
From cvs at kolab.org Wed Oct 17 20:27:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:27:16 +0200 (CEST)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/www/admin/service
index.php.in, 1.5, 1.6
Message-ID: <20071017182716.6969D602A4E@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/service
In directory doto:/tmp/cvs-serv10740/kolab-webadmin/www/admin/service
Modified Files:
index.php.in
Log Message:
Clarify web admin description for HTTP FreeBusy switch (with updated German translation)
Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/service/index.php.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- index.php.in 17 Oct 2007 17:57:13 -0000 1.5
+++ index.php.in 17 Oct 2007 18:27:14 -0000 1.6
@@ -275,7 +275,7 @@
array( 'service' => 'imap', 'name' => _('IMAP Service'), 'enabled' => toboolstr( $imap ) ),
array( 'service' => 'imaps', 'name' => _('IMAP/SSL Service (TCP port 993)'), 'enabled' => toboolstr( $imaps ) ),
array( 'service' => 'sieve', 'name' => _('Sieve service (TCP port 2000)'), 'enabled' => toboolstr( $sieve ) ),
- array( 'service' => 'http', 'name' => _('HTTP FreeBusy Service (Legacy)'), 'enabled' => toboolstr( $http ) ),
+ array( 'service' => 'http', 'name' => _('FreeBusy Service via HTTP (in addition to HTTPS)'), 'enabled' => toboolstr( $http ) ),
array( 'service' => 'amavis', 'name' => _('Amavis Email Scanning (Virus/Spam)'),
'enabled' => toboolstr( $amavis ) ) );
From cvs at kolab.org Wed Oct 17 20:27:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:27:16 +0200 (CEST)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/php/admin/locale/de/LC_MESSAGES
messages.po, 1.25, 1.26
Message-ID: <20071017182716.68DEA602A4A@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/locale/de/LC_MESSAGES
In directory doto:/tmp/cvs-serv10740/kolab-webadmin/php/admin/locale/de/LC_MESSAGES
Modified Files:
messages.po
Log Message:
Clarify web admin description for HTTP FreeBusy switch (with updated German translation)
Index: messages.po
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/locale/de/LC_MESSAGES/messages.po,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- messages.po 9 May 2007 08:36:11 -0000 1.25
+++ messages.po 17 Oct 2007 18:27:14 -0000 1.26
@@ -11,7 +11,7 @@
"Project-Id-Version: messages-2.1-new_de\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-02-02 18:19+0100\n"
-"PO-Revision-Date: 2005-10-17 09:23+0200\n"
+"PO-Revision-Date: 2007-10-17 20:22+0200\n"
"Last-Translator: Thomas Arendsen Hein \n"
"Language-Team: deutsch \n"
"MIME-Version: 1.0\n"
@@ -1728,8 +1728,8 @@
"Belegt zusammen)"
#: ../../../www/admin/service/index.php.in:284
-msgid "HTTP FreeBusy Service (Legacy)"
-msgstr "HTTP-Frei/Belegt-Dienst (für Altsysteme)"
+msgid "FreeBusy Service via HTTP (in addition to HTTPS)"
+msgstr "Frei/Belegt-Dienst über HTTP (zusätzlich zu HTTPS)"
#: ../../../www/admin/service/index.php.in:285
msgid "Amavis Email Scanning (Virus/Spam)"
From cvs at kolab.org Wed Oct 17 20:27:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:27:16 +0200 (CEST)
Subject: thomas: server/kolab-webadmin/kolab-webadmin ChangeLog,1.58,1.59
Message-ID: <20071017182716.5CE2E602A56@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin
In directory doto:/tmp/cvs-serv10740/kolab-webadmin
Modified Files:
ChangeLog
Log Message:
Clarify web admin description for HTTP FreeBusy switch (with updated German translation)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/ChangeLog,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- ChangeLog 17 Oct 2007 17:57:13 -0000 1.58
+++ ChangeLog 17 Oct 2007 18:27:14 -0000 1.59
@@ -3,6 +3,10 @@
* php/admin/templates/kolab.tpl, www/admin/service/index.php.in:
kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ * php/admin/locale/de/LC_MESSAGES/messages.po,
+ www/admin/service/index.php.in: Clarify web admin description for
+ HTTP FreeBusy switch (with updated German translation)
+
2007-08-07 Gunnar Wrobel
* php/admin/templates/page.tpl.in:
From cvs at kolab.org Wed Oct 17 20:31:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 20:31:25 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.153,1.154
Message-ID: <20071017183125.04B1B602A4A@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv10861
Modified Files:
release-notes.txt
Log Message:
Updated release notes
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -d -r1.153 -r1.154
--- release-notes.txt 8 Oct 2007 16:46:00 -0000 1.153
+++ release-notes.txt 17 Oct 2007 18:31:22 -0000 1.154
@@ -17,7 +17,7 @@
upstream versions.
-Changes between 2.2-beta-1 and 2.2-???:
+Changes between 2.2-beta-1 and 2.2-beta-2:
FIXME (add CVS changes between 20070608 and 20070726)
@@ -38,6 +38,7 @@
Converted the package into a standard perl library package.
kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
- php-kolab-2.1.99-2007????
@@ -51,6 +52,7 @@
Added mechanism to allow config variable replacement in the META section.
kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
kolab/issue1879 (kolabconf poor error message in buildCyrusConfig)
- kolabd-2.1.99-2007????:
@@ -79,6 +81,8 @@
Added "with_horde" support.
kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue1686 (Remove WebDAV Support)
kolab/issue1796 (httpd.conf : MISSING Include "/kolab/etc/apache/apache.d/*.conf")
kolab/issue1811 (Spurious files in CVS, kolabd directory)
kolab/issue1895 (switch from virtual_maps to virtual_alias_maps)
@@ -95,6 +99,10 @@
- kolab-webadmin-2.1.99-2007????:
+ Clarify web admin description for HTTP FreeBusy switch
+ (with updated German translation)
+
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
kolab/issue1246 (Permission handling in the webadmin frontend)
kolab/issue1611 ([webadmin] page.tpl use no valid XHTML)
From cvs at kolab.org Wed Oct 17 21:03:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 17 Oct 2007 21:03:47 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.154,1.155
Message-ID: <20071017190347.8FAA5602A4E@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv11515
Modified Files:
release-notes.txt
Log Message:
release notes: finished "Changes between 2.1.0 and 2.2-beta1"
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.154
retrieving revision 1.155
diff -u -d -r1.154 -r1.155
--- release-notes.txt 17 Oct 2007 18:31:22 -0000 1.154
+++ release-notes.txt 17 Oct 2007 19:03:45 -0000 1.155
@@ -39,11 +39,13 @@
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- php-kolab-2.1.99-2007????
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1637 (Recurrency issues)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- kolabconf-2.1.99-2007????:
@@ -54,6 +56,7 @@
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
kolab/issue1879 (kolabconf poor error message in buildCyrusConfig)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- kolabd-2.1.99-2007????:
@@ -80,13 +83,20 @@
Added "with_horde" support.
+ Added LDAP attributes 'kolabAllowSMTPRecipient' and
+ 'kolabPolicyDaemon' in preparation for kolab/issue1340.
+
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue1025 (loading policy bank "MYUSERS": unknown field "mynetworks")
kolab/issue1686 (Remove WebDAV Support)
kolab/issue1796 (httpd.conf : MISSING Include "/kolab/etc/apache/apache.d/*.conf")
+ kolab/issue1804 (Several files apparently missing in kolabd 2.1.0 package)
kolab/issue1811 (Spurious files in CVS, kolabd directory)
+ kolab/issue1861 (imapd.conf.template: primary domain listed twice in loginrealms)
kolab/issue1895 (switch from virtual_maps to virtual_alias_maps)
kolab/issue2038 (additional sieve extensions)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- kolab-resource-handlers-2.1.99-2007????:
@@ -96,76 +106,63 @@
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1606 (Allow to run kolab-resource-handlers with PHP cgi)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- kolab-webadmin-2.1.99-2007????:
Clarify web admin description for HTTP FreeBusy switch
(with updated German translation)
+ kolab/issue932 (Illegal values in webadmin cause LDAP errors)
kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue1162 (Misplaced title field in webinterface)
kolab/issue1246 (Permission handling in the webadmin frontend)
kolab/issue1611 ([webadmin] page.tpl use no valid XHTML)
+ kolab/issue1694 (Unable to modify the folder type of an already created shared folder)
+ kolab/issue1781 (Spanish PO File Translation)
+ kolab/issue1797 (kolab-webadmin source package missing PO files)
+ kolab/issue1845 (incorrect check mailForDn for ldap results)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
Changes between 2.1.0 and 2.2-beta1:
- FIXME (add CVS changes between 2.1.0 and 20070608 + patch series)
-
- - clamav-0.90.3-20070531_kolab
-
- New upstream version, fixes various security issues.
+ All components except for OpenLDAP were upgraded to
+ OpenPKG-CURRENT (as of 20070608), most noteworthy:
-XXX: Some of the following changes happened after 2.2-beta1, sort them
+ amavisd 2.5.1
+ apache 2.2.4
+ imapd 2.3.8
+ php 5.2.3
+ postfix 2.4.3
+ spamassassin 3.2.0
- perl-kolab-5.8.7-2007????
- Added missing Makefile dependencies
-
kolab/issue1679 (Update template META mechanism to support service restarts)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- kolabd-2.1.0-2007????
- Added missing Makefile dependencies
-
- autoconfiscated kolabdcachetool, dirservnotify and dirservupdate.
-
kolab/issue919 (kolab server has problems with some characters in passwords)
- kolab/issue1025 (loading policy bank "MYUSERS": unknown field "mynetworks")
kolab/issue1126 (ldap_simple_bind() failed and Domain/Realm not available) - partial fix
kolab/issue1679 (Update template META mechanism to support service restarts)
kolab/issue1693 (Automatically trigger f/b cache regeneration)
- kolab/issue1804 (Several files apparently missing in kolabd 2.1.0 package)
- kolab/issue1861 (imapd.conf.template: primary domain listed twice in loginrealms)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- kolab-resource-handlers-2.1.0-2007????
added location to xpfb events
- Added missing Makefile dependencies
-
kolab/issue1693 (Automatically trigger f/b cache regeneration)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- kolab-webadmin-2.1.0-2007????
- Added missing Makefile dependencies
-
- kolab/issue932 (Illegal values in webadmin cause LDAP errors)
- kolab/issue1162 (Misplaced title field in webinterface)
kolab/issue1610 (Use
-DavLockDB @webserver_document_root@/locks/DAVlock
-
SSLRequireSSL
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin config.php, 1.3, NONE index.php,
1.4, NONE list.php, 1.5, NONE logout.php, 1.1, NONE print.css,
1.1, NONE style.css, 1.1, NONE
Message-ID: <20071018043620.91057602A38@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin
In directory doto:/tmp/cvs-serv29492
Removed Files:
config.php index.php list.php logout.php print.css style.css
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- config.php DELETED ---
--- index.php DELETED ---
--- list.php DELETED ---
--- logout.php DELETED ---
--- print.css DELETED ---
--- style.css DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/administrator admin.php, 1.1,
NONE
Message-ID: <20071018043620.91336602A4A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/administrator
In directory doto:/tmp/cvs-serv29492/administrator
Removed Files:
admin.php
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- admin.php DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/cache README,1.1,NONE
Message-ID: <20071018043620.912C9602A49@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/cache
In directory doto:/tmp/cvs-serv29492/cache
Removed Files:
README
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- README DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/locale/de/LC_MESSAGES .cvsignore,
1.1, NONE messages.po, 1.2, NONE
Message-ID: <20071018043620.D0F17602A56@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/locale/de/LC_MESSAGES
In directory doto:/tmp/cvs-serv29492/locale/de/LC_MESSAGES
Removed Files:
.cvsignore messages.po
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- .cvsignore DELETED ---
--- messages.po DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/locale/fr/LC_MESSAGES .cvsignore,
1.1, NONE messages.po, 1.1, NONE
Message-ID: <20071018043621.D63FD602A5B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/locale/fr/LC_MESSAGES
In directory doto:/tmp/cvs-serv29492/locale/fr/LC_MESSAGES
Removed Files:
.cvsignore messages.po
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- .cvsignore DELETED ---
--- messages.po DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/maintainer maintainer.php, 1.1,
NONE
Message-ID: <20071018043621.1960960C4A5@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/maintainer
In directory doto:/tmp/cvs-serv29492/maintainer
Removed Files:
maintainer.php
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- maintainer.php DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/addressbook addr.php.in, 1.1,
NONE
Message-ID: <20071018043620.91263602A48@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/addressbook
In directory doto:/tmp/cvs-serv29492/addressbook
Removed Files:
addr.php.in
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- addr.php.in DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/docs AUTHORS, 1.1, NONE ChangeLog,
1.3, NONE INSTALL, 1.1, NONE
Message-ID: <20071018043620.913C7602A4E@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/docs
In directory doto:/tmp/cvs-serv29492/docs
Removed Files:
AUTHORS ChangeLog INSTALL
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- AUTHORS DELETED ---
--- ChangeLog DELETED ---
--- INSTALL DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/distributionlist list.php, 1.1,
NONE
Message-ID: <20071018043620.91381602A4D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/distributionlist
In directory doto:/tmp/cvs-serv29492/distributionlist
Removed Files:
list.php
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- list.php DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/domainmaintainer
domainmaintainer.php.in, 1.1, NONE domainmaintainer.php.in.orig,
1.1, NONE
Message-ID: <20071018043620.94FA1602A4F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/domainmaintainer
In directory doto:/tmp/cvs-serv29492/domainmaintainer
Removed Files:
domainmaintainer.php.in domainmaintainer.php.in.orig
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- domainmaintainer.php.in DELETED ---
--- domainmaintainer.php.in.orig DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/locale .cvsignore, 1.1,
NONE extract_messages, 1.1, NONE
Message-ID: <20071018043620.CDF44602A54@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/locale
In directory doto:/tmp/cvs-serv29492/locale
Removed Files:
.cvsignore extract_messages
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- .cvsignore DELETED ---
--- extract_messages DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/locale/it/LC_MESSAGES .cvsignore,
1.1, NONE messages.po, 1.1, NONE
Message-ID: <20071018043620.D94DA602A5E@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/locale/it/LC_MESSAGES
In directory doto:/tmp/cvs-serv29492/locale/it/LC_MESSAGES
Removed Files:
.cvsignore messages.po
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- .cvsignore DELETED ---
--- messages.po DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/sharedfolder sf.php,1.1,NONE
Message-ID: <20071018043621.1995D60C4AA@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/sharedfolder
In directory doto:/tmp/cvs-serv29492/sharedfolder
Removed Files:
sf.php
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- sf.php DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/user deliver.php, 1.2,
NONE forward.php, 1.2, NONE user.php, 1.2, NONE vacation.php,
1.2, NONE
Message-ID: <20071018043621.1AB8960C4AE@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/user
In directory doto:/tmp/cvs-serv29492/user
Removed Files:
deliver.php forward.php user.php vacation.php
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- deliver.php DELETED ---
--- forward.php DELETED ---
--- user.php DELETED ---
--- vacation.php DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/templates_c README,1.1,NONE
Message-ID: <20071018043621.1A40A60C4AC@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/templates_c
In directory doto:/tmp/cvs-serv29492/templates_c
Removed Files:
README
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- README DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/locale/nl/LC_MESSAGES .cvsignore,
1.1, NONE messages.po, 1.1, NONE
Message-ID: <20071018043620.DC124602A5F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/locale/nl/LC_MESSAGES
In directory doto:/tmp/cvs-serv29492/locale/nl/LC_MESSAGES
Removed Files:
.cvsignore messages.po
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- .cvsignore DELETED ---
--- messages.po DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/locale/es/LC_MESSAGES .cvsignore,
1.1, NONE messages.po, 1.1, NONE
Message-ID: <20071018043621.D335D602A5A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/locale/es/LC_MESSAGES
In directory doto:/tmp/cvs-serv29492/locale/es/LC_MESSAGES
Removed Files:
.cvsignore messages.po
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- .cvsignore DELETED ---
--- messages.po DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/pics codefusion.png, 1.1,
NONE erfrakon.png, 1.1, NONE intevation_logo.png, 1.1,
NONE kdab.png, 1.1, NONE kde.jpg, 1.1, NONE kolab_logo.png, 1.1, NONE
Message-ID: <20071018043621.1971760C4A6@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/pics
In directory doto:/tmp/cvs-serv29492/pics
Removed Files:
codefusion.png erfrakon.png intevation_logo.png kdab.png
kde.jpg kolab_logo.png
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- codefusion.png DELETED ---
--- erfrakon.png DELETED ---
--- intevation_logo.png DELETED ---
--- kdab.png DELETED ---
--- kde.jpg DELETED ---
--- kolab_logo.png DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:20 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/kolab codefusion.php, 1.1,
NONE erfrakon.php, 1.1, NONE intevation.php, 1.1, NONE kdab.php,
1.1, NONE kde.php, 1.1, NONE versions.php.in, 1.1, NONE
Message-ID: <20071018043620.98E71602A53@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/kolab
In directory doto:/tmp/cvs-serv29492/kolab
Removed Files:
codefusion.php erfrakon.php intevation.php kdab.php kde.php
versions.php.in
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- codefusion.php DELETED ---
--- erfrakon.php DELETED ---
--- intevation.php DELETED ---
--- kdab.php DELETED ---
--- kde.php DELETED ---
--- versions.php.in DELETED ---
From cvs at kolab.org Thu Oct 18 06:36:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 06:36:21 +0200 (CEST)
Subject: gunnar: server/kolab-webadmin/admin/templates .cvsignore, 1.1,
NONE addrdeleted.tpl, 1.1, NONE addresslist.tpl, 1.1,
NONE addrlistall.tpl, 1.1, NONE admindeleted.tpl, 1.1,
NONE adminlistall.tpl, 1.1, NONE codefusion.tpl, 1.1,
NONE createuser.tpl, 1.1, NONE deliver.tpl, 1.1,
NONE distlistall.tpl, 1.1, NONE distlistdeleted.tpl, 1.1,
NONE domainmaintainerlistall.tpl, 1.1, NONE erfrakon.tpl, 1.1,
NONE formcontainer.tpl, 1.1, NONE forward.tpl, 1.1,
NONE intevation.tpl, 1.1, NONE kdab.tpl, 1.1, NONE kde.tpl, 1.1,
NONE kolab.tpl, 1.2, NONE list.tpl, 1.3, NONE login.tpl, 1.1,
NONE maintainerdeleted.tpl, 1.1, NONE maintainerlistall.tpl, 1.1,
NONE page.tpl, 1.1, NONE service.tpl, 1.1, NONE sfdeleted.tpl,
1.1, NONE sflistall.tpl, 1.1, NONE systemaliasnagscreen.tpl, 1.1,
NONE userdeleted.tpl, 1.1, NONE userlistall.tpl, 1.1,
NONE userlisterror.tpl, 1.1, NONE vacation.tpl, 1.1,
NONE versions.tpl.in, 1.1, NONE welcome.tpl, 1.1, NONE
Message-ID: <20071018043621.19E5960C4AB@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-webadmin/admin/templates
In directory doto:/tmp/cvs-serv29492/templates
Removed Files:
.cvsignore addrdeleted.tpl addresslist.tpl addrlistall.tpl
admindeleted.tpl adminlistall.tpl codefusion.tpl
createuser.tpl deliver.tpl distlistall.tpl distlistdeleted.tpl
domainmaintainerlistall.tpl erfrakon.tpl formcontainer.tpl
forward.tpl intevation.tpl kdab.tpl kde.tpl kolab.tpl list.tpl
login.tpl maintainerdeleted.tpl maintainerlistall.tpl page.tpl
service.tpl sfdeleted.tpl sflistall.tpl
systemaliasnagscreen.tpl userdeleted.tpl userlistall.tpl
userlisterror.tpl vacation.tpl versions.tpl.in welcome.tpl
Log Message:
Remove the refactored web admin until I find the time to complete this work.
--- .cvsignore DELETED ---
--- addrdeleted.tpl DELETED ---
--- addresslist.tpl DELETED ---
--- addrlistall.tpl DELETED ---
--- admindeleted.tpl DELETED ---
--- adminlistall.tpl DELETED ---
--- codefusion.tpl DELETED ---
--- createuser.tpl DELETED ---
--- deliver.tpl DELETED ---
--- distlistall.tpl DELETED ---
--- distlistdeleted.tpl DELETED ---
--- domainmaintainerlistall.tpl DELETED ---
--- erfrakon.tpl DELETED ---
--- formcontainer.tpl DELETED ---
--- forward.tpl DELETED ---
--- intevation.tpl DELETED ---
--- kdab.tpl DELETED ---
--- kde.tpl DELETED ---
--- kolab.tpl DELETED ---
--- list.tpl DELETED ---
--- login.tpl DELETED ---
--- maintainerdeleted.tpl DELETED ---
--- maintainerlistall.tpl DELETED ---
--- page.tpl DELETED ---
--- service.tpl DELETED ---
--- sfdeleted.tpl DELETED ---
--- sflistall.tpl DELETED ---
--- systemaliasnagscreen.tpl DELETED ---
--- userdeleted.tpl DELETED ---
--- userlistall.tpl DELETED ---
--- userlisterror.tpl DELETED ---
--- vacation.tpl DELETED ---
--- versions.tpl.in DELETED ---
--- welcome.tpl DELETED ---
From cvs at kolab.org Thu Oct 18 14:42:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 14:42:00 +0200 (CEST)
Subject: gunnar: server/kolab-freebusy Makefile,1.6,1.7
Message-ID: <20071018124200.A680960C4AA@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv10846/kolab-freebusy
Modified Files:
Makefile
Log Message:
Tagging for beta2.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/Makefile,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- Makefile 17 Oct 2007 07:47:34 -0000 1.6
+++ Makefile 18 Oct 2007 12:41:58 -0000 1.7
@@ -1,8 +1,8 @@
PACKAGE = $(shell grep "%define[ ]*V_package" *.spec | sed -e "s/.*V_package \([a-z\_-]*\).*/\1/")
RELEASE = $(shell date '+%Y%m%d')
-VERSION = 2.2.beta1
-CVS = 1
+VERSION = 2.2.beta2
+CVS = 0
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
From cvs at kolab.org Thu Oct 18 14:42:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 14:42:00 +0200 (CEST)
Subject: gunnar: server/kolabconf Makefile.PL,1.11,1.12
Message-ID: <20071018124200.A654760C4A6@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabconf
In directory doto:/tmp/cvs-serv10846/kolabconf
Modified Files:
Makefile.PL
Log Message:
Tagging for beta2.
Index: Makefile.PL
===================================================================
RCS file: /kolabrepository/server/kolabconf/Makefile.PL,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- Makefile.PL 17 Oct 2007 07:12:15 -0000 1.11
+++ Makefile.PL 18 Oct 2007 12:41:58 -0000 1.12
@@ -9,10 +9,10 @@
my $KOLAB_VERSION;
# The Kolab version number for the perl-kolab package
-my $KOLAB_BASE_VERSION = "2.2.beta1";
+my $KOLAB_BASE_VERSION = "2.2.beta2";
# Are current releases cvs based or is this a real release?
-my $KOLAB_CVS = 1;
+my $KOLAB_CVS = 0;
my $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
From cvs at kolab.org Thu Oct 18 14:42:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 14:42:00 +0200 (CEST)
Subject: gunnar: server/kolab-filter Makefile,1.5,1.6
Message-ID: <20071018124200.A80E460C4AB@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter
In directory doto:/tmp/cvs-serv10846/kolab-filter
Modified Files:
Makefile
Log Message:
Tagging for beta2.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-filter/Makefile,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- Makefile 17 Oct 2007 07:43:11 -0000 1.5
+++ Makefile 18 Oct 2007 12:41:58 -0000 1.6
@@ -1,8 +1,8 @@
PACKAGE = $(shell grep "%define[ ]*V_package" *.spec | sed -e "s/.*V_package \([a-z\_-]*\).*/\1/")
RELEASE = $(shell date '+%Y%m%d')
-VERSION = 2.2.beta1
-CVS = 1
+VERSION = 2.2.beta2
+CVS = 0
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
From cvs at kolab.org Thu Oct 18 14:42:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 14:42:00 +0200 (CEST)
Subject: gunnar: server/perl-kolab/lib Kolab.pm,1.7,1.8
Message-ID: <20071018124200.ABC0560C4AC@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab/lib
In directory doto:/tmp/cvs-serv10846/perl-kolab/lib
Modified Files:
Kolab.pm
Log Message:
Tagging for beta2.
Index: Kolab.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/lib/Kolab.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- Kolab.pm 17 Oct 2007 17:57:13 -0000 1.7
+++ Kolab.pm 18 Oct 2007 12:41:58 -0000 1.8
@@ -59,10 +59,10 @@
);
# The Kolab version number for the perl-kolab package
-our $KOLAB_BASE_VERSION = "2.2.beta1";
+our $KOLAB_BASE_VERSION = "2.2.beta2";
# Are current releases cvs based or is this a real release?
-my $KOLAB_CVS = 1;
+my $KOLAB_CVS = 0;
our $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
From cvs at kolab.org Thu Oct 18 14:42:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 14:42:00 +0200 (CEST)
Subject: gunnar: server/php-kolab Makefile,1.11,1.12
Message-ID: <20071018124200.AF73660C4AE@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab
In directory doto:/tmp/cvs-serv10846/php-kolab
Modified Files:
Makefile
Log Message:
Tagging for beta2.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/php-kolab/Makefile,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- Makefile 17 Oct 2007 10:25:10 -0000 1.11
+++ Makefile 18 Oct 2007 12:41:58 -0000 1.12
@@ -4,8 +4,8 @@
VERSION = 2.2
PRERELEASE = beta
-PRERELEASE_VERSION = 1
-CVS = 1
+PRERELEASE_VERSION = 2
+CVS = 0
ifeq "x$(PRERELEASE)" "x"
ifeq "x$(CVS)" "x0"
From cvs at kolab.org Thu Oct 18 15:27:41 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 15:27:41 +0200 (CEST)
Subject: thomas: server 00INDEX.rdf,1.2,1.3
Message-ID: <20071018132741.4B0B860C4AA@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv12196
Modified Files:
00INDEX.rdf
Log Message:
Rebuilt package index for 2.2-beta2
Index: 00INDEX.rdf
===================================================================
RCS file: /kolabrepository/server/00INDEX.rdf,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- 00INDEX.rdf 17 Oct 2007 17:57:12 -0000 1.2
+++ 00INDEX.rdf 18 Oct 2007 13:27:38 -0000 1.3
@@ -2,464 +2,579 @@
-
- mm
- 1.4.2
- 20061013
- OpenPKG Community
- BASE
- Libraries
- BSD
[...9423 lines suppressed...]
+ Languages
+ LGPL
+ Steffen Hansen <steffen at klaralvdalens-datakonsult.se> (Klaraelvdalens Datakonsult AB)
+ Template engine for PHP
+ http://smarty.php.net/
+
+
+ http://smarty.php.net/distributions/Smarty-2.6.18.tar.gz
+
+
+
+Smarty is a template engine for PHP. Smarty provides your basic
+variable substitution and dynamic block functionality, and also takes
+a step further to be a "smart" template engine, adding features such
+as configuration files, template functions, variable modifiers, and
+making all of this functionality as easy as possible to use for both
+programmers and template designers.
From cvs at kolab.org Thu Oct 18 18:45:48 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 18:45:48 +0200 (CEST)
Subject: thomas: server 00INDEX.rdf,1.3,1.4
Message-ID: <20071018164548.40E7260C4B7@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv17242
Modified Files:
00INDEX.rdf
Log Message:
getopt is no longer needed (was used by proftpd)
Index: 00INDEX.rdf
===================================================================
RCS file: /kolabrepository/server/00INDEX.rdf,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- 00INDEX.rdf 18 Oct 2007 13:27:38 -0000 1.3
+++ 00INDEX.rdf 18 Oct 2007 16:45:46 -0000 1.4
@@ -3345,42 +3345,6 @@
- Net::DNS (%{V_net_dns})
-
- getopt
- 20051005
- 20061013
- OpenPKG Community
- BASE
- Libraries
- LGPL
- OpenPKG Foundation e.V.
- OSSP's GNU getopt Library
- ftp://ftp.ossp.org/pkg/lib/getopt/
- FSF/OSSP
-
-
- OpenPKG
- openpkg
- gcc
-
-
-
-
- OpenPKG
- openpkg
-
-
-
-
- ftp://ftp.ossp.org/pkg/lib/getopt/getopt-20051005.tar.gz
-
-
-
-This is the OSSP version of the GNU getopt library. The individual
-sources were collected together from the vendor packages GNU "gcc",
-GNU "glibc", "util-linux" and "man-pages".
-
- perl-ds5.8.8
From cvs at kolab.org Thu Oct 18 19:01:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 18 Oct 2007 19:01:30 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.131.2.8,1.131.2.9
Message-ID: <20071018170130.0872160C4B7@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv17560
Modified Files:
Tag: kolab_2_1_branch
release-notes.txt
Log Message:
renamed issue title
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.131.2.8
retrieving revision 1.131.2.9
diff -u -d -r1.131.2.8 -r1.131.2.9
--- release-notes.txt 19 Sep 2007 17:24:47 -0000 1.131.2.8
+++ release-notes.txt 18 Oct 2007 17:01:27 -0000 1.131.2.9
@@ -60,7 +60,7 @@
kolab/issue1126 (ldap_simple_bind() failed and Domain/Realm not available) - partial fix
kolab/issue1679 (Update template META mechanism to support service restarts)
kolab/issue1693 (Automatically trigger f/b cache regeneration)
- kolab/issue1804 (Several files apparently missing in kolabd 2.1.0 package)
+ kolab/issue1804 (Several files apparently missing in kolabd package)
kolab/issue1861 (imapd.conf.template: primary domain listed twice in loginrealms)
kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
From cvs at kolab.org Fri Oct 19 10:01:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 10:01:44 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.156,1.157
Message-ID: <20071019080144.602A6602A24@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv7354
Modified Files:
release-notes.txt
Log Message:
Updated release notes (with package versions)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.156
retrieving revision 1.157
diff -u -d -r1.156 -r1.157
--- release-notes.txt 17 Oct 2007 19:06:13 -0000 1.156
+++ release-notes.txt 19 Oct 2007 08:01:42 -0000 1.157
@@ -19,9 +19,7 @@
Changes between 2.2-beta-1 and 2.2-beta-2:
- FIXME (add CVS changes between 20070608 and 20070726)
-
- - perl-kolab-2.1.99-2007????
+ - perl-kolab-2.2.beta2-20071018
Removed the Kolab-Mailer module.
@@ -41,13 +39,13 @@
kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- - php-kolab-2.1.99-2007????
+ - php-kolab-2.2.beta2-20071018
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1637 (Recurrency issues)
kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- - kolabconf-2.1.99-2007????:
+ - kolabconf-2.2.beta2-20071018
New package that holds the kolabconf script.
@@ -58,7 +56,7 @@
kolab/issue1879 (kolabconf poor error message in buildCyrusConfig)
kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- - kolabd-2.1.99-2007????:
+ - kolabd-2.1.99-20071018
Added "discard" service to the postfix master.cf configuration.
@@ -86,29 +84,29 @@
Added LDAP attributes 'kolabAllowSMTPRecipient' and
'kolabPolicyDaemon' in preparation for kolab/issue1340.
+ The emailserver_socket is stored in $(libexecdir) and not in
+ $(libdir). This fixes an x86_64 issue.
+
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
kolab/issue1025 (loading policy bank "MYUSERS": unknown field "mynetworks")
kolab/issue1686 (Remove WebDAV Support)
kolab/issue1796 (httpd.conf : MISSING Include "/kolab/etc/apache/apache.d/*.conf")
- kolab/issue1804 (Several files apparently missing in kolabd 2.1.0 package)
+ kolab/issue1804 (Several files apparently missing in kolabd package)
+ kolab/issue1805 (Uncleaned files in kolabd source package)
kolab/issue1811 (Spurious files in CVS, kolabd directory)
kolab/issue1861 (imapd.conf.template: primary domain listed twice in loginrealms)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
kolab/issue1895 (switch from virtual_maps to virtual_alias_maps)
kolab/issue2038 (additional sieve extensions)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- - kolab-resource-handlers-2.1.99-2007????:
-
- Package splitted into kolab-filter, kolab-freebusy and php-kolab
-
- - kolab-filter-2.1.99-2007????:
+ - kolab-filter-2.2.beta2-20071018
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1606 (Allow to run kolab-resource-handlers with PHP cgi)
kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
- - kolab-webadmin-2.1.99-2007????:
+ - kolab-webadmin-2.1.99-20071018
Clarify web admin description for HTTP FreeBusy switch
(with updated German translation)
@@ -121,8 +119,160 @@
kolab/issue1694 (Unable to modify the folder type of an already created shared folder)
kolab/issue1781 (Spanish PO File Translation)
kolab/issue1797 (kolab-webadmin source package missing PO files)
+ kolab/issue1800 (kolab-webadmin debian dist_conf smarty location)
kolab/issue1845 (incorrect check mailForDn for ldap results)
kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+
+
+ Packages in the OpenPKG based Kolab server release:
+
+ - Kolab packages:
+
+ Removed:
+
+ kolab-horde-fbview (now fbview-horde and fbview-kronolith)
+ kolab-resource-handlers (now kolab-filter, kolab-freebusy and php-kolab)
+
+ Added:
+
+ PEAR-Auth_SASL-1.0.2-1
+ PEAR-Date-1.4.7-1
+ PEAR-HTTP_Request-1.4.1-1
+ PEAR-Log-1.9.9-1
+ PEAR-Mail-1.1.14-1
+ PEAR-Mail_Mime-1.3.1-1
+ PEAR-Mail_Mime-1.3.1-1
+ PEAR-Net_IMAP-1.1.0beta1-1
+ PEAR-Net_LMTP-1.0.1-1
+ PEAR-Net_SMTP-1.2.10-1
+ PEAR-Net_Sieve-1.1.5-1
+ PEAR-Net_Socket-1.0.6-1
+ PEAR-Net_URL-1.0.15-1
+ fbview-horde-3.2_alpha-20071013
+ fbview-kronolith-2.2_alpha-20071001
+ horde-framework-kolab-3.2_ALPHA-20071004
+ horde-imp-kolab-4.2_alpha-20071004
+ horde-ingo-kolab-1.2_alpha-20071004
+ horde-kolab-3.2_alpha-20071013
+ horde-kolab-client-0.99-20071002
+ horde-kolab-client-0.99-20071002
+ horde-kronolith-kolab-2.2_alpha-20071004
+ horde-mnemo-kolab-2.2_alpha-20071001
+ horde-nag-kolab-2.2_alpha-20071004
+ horde-passwd-kolab-3.0.1-20071001
+ horde-turba-kolab-2.2_alpha-20071002
+ kolab-filter-2.2.beta2-20071018
+ kolab-freebusy-2.2.beta2-20071018
+ kolabconf-2.2.beta2-20071018
+ php-kolab-2.2.beta2-20071018
+
+ Updated:
+
+ kolab-webadmin-2.1.99-20071018
+ kolabd-2.1.99-20071018
+ perl-kolab-2.2.beta2-20071018
+
+ Unchanged:
+
+ kolab-horde-framework-2.1.99-20070607
+ php-smarty-2.6.18-20070607
+
+ - OpenPKG packages:
+
+ Removed:
+
+ apache2 (renamed to apache)
+ apache2-php (renamed to apache-php)
+ getopt (was needed by proftpd)
+ proftpd (obsolete)
+ pth (openldap is now built without pth)
+ sharutils (no package requires this)
+
+ Added:
+
+ apache-2.2.6-20070910
+ apache-php-5.2.4-20071015
+ apr-1.2.11-20070907
+ freetype-2.3.5-20070720
+ gd-2.0.35-20071011
+ jpeg-6b-20070507
+ libmcrypt-2.5.8-20070720
+ mhash-0.9.9-20070807
+ png-1.2.22-20071014
+
+ Updated:
+
+ amavisd-2.5.2-20070907
+ autoconf-2.61-20070711
+ binutils-2.18-20070829
+ clamav-0.91.2-20070907
+ curl-7.17.0-20071009
+ db-4.5.20.2-20070628
+ diffutils-2.8.7-20071005
+ expat-2.0.1-20070629
+ file-4.21-20070829
+ gcc-4.2.2-20071016
+ gettext-0.16.1-20070930
+ grep-2.5.3-20070829
+ gzip-1.3.12-20070623
+ imap-2006j2-20071012
+ imapd-2.3.9-20071015
+ libxml-2.6.30-20070824
+ libxslt-1.1.22-20070824
+ m4-1.4.9-20070818
+ ncurses-5.6.20071013-20071014
+ openldap-2.3.38-20071012
+ openpkg-20071018-20071018
+ openpkg-tools-1.4.5-20070624
+ openssl-0.9.8f-20071017
+ pcre-7.4-20070921
+ perl-5.8.8-20071011
+ perl-comp-5.8.8-20071005
+ perl-crypto-5.8.8-20070929
+ perl-db-5.8.8-20070711
+ perl-dns-5.8.8-20070920
+ perl-ds-5.8.8-20071008
+ perl-ldap-5.8.8-20070916
+ perl-mail-5.8.8-20070928
+ perl-module-5.8.8-20070928
+ perl-net-5.8.8-20070829
+ perl-parse-5.8.8-20071018
+ perl-ssl-5.8.8-20071017
+ perl-stats-5.8.8-20070708
+ perl-sys-5.8.8-20071018
+ perl-term-5.8.8-20070924
+ perl-time-5.8.8-20071006
+ perl-util-5.8.8-20071015
+ perl-www-5.8.8-20071010
+ perl-xml-5.8.8-20070929
+ php-5.2.4-20071012
+ pkgconfig-0.22-20070720
+ postfix-2.4.5-20070908
+ procmail-3.22-20070720
+ readline-5.2.7-20070927
+ sasl-2.1.22-20071009
+ spamassassin-3.2.3-20070810
+ texinfo-4.11-20070911
+
+ Unchanged:
+
+ automake-1.10-20061111
+ bc-1.06-20061013
+ bison-2.3-20070312
+ bzip2-1.0.4-20070507
+ config-20060923-20061013
+ flex-2.5.33-20070507
+ fsl-1.7.0-20070316
+ gmp-4.2.1-20061222
+ groff-1.19.2-20070113
+ libiconv-1.11-20061013
+ lzo-2.02-20061013
+ make-3.81-20061013
+ mm-1.4.2-20061013
+ perl-conv-5.8.8-20070526
+ perl-openpkg-5.8.8-20061013
+ sed-4.1.5-20061013
+ zlib-1.2.3-20070507
Changes between 2.1.0 and 2.2-beta1:
From cvs at kolab.org Fri Oct 19 10:20:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 10:20:00 +0200 (CEST)
Subject: gunnar: server release-notes.txt,1.157,1.158
Message-ID: <20071019082000.5864E602A24@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv7926
Modified Files:
release-notes.txt
Log Message:
Some additional comments in the release notes.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -d -r1.157 -r1.158
--- release-notes.txt 19 Oct 2007 08:01:42 -0000 1.157
+++ release-notes.txt 19 Oct 2007 08:19:58 -0000 1.158
@@ -9,12 +9,40 @@
Differences between Kolab 2.1 and 2.2:
- - Improvements, bugfixes and upgraded software components
+ I) Upgrade of central Kolab components
- The 2.2 release received many improvements and bugfixes for issues
- found in the 2.1 versions and ... FIXME
- Additionally many software components have been upgraded to new
- upstream versions.
+ The Apache server shipped with the Kolab server has been
+ upgraded to Apache-2.2.*. At the same time the system was
+ switched to PHP5.
+
+ Postfix got upgraded to 2.4.* which removes the need for
+ special Kolab patches which were integrated upstream.
+
+ The Cyrus IMAP server was updated to 2.3.* also removing the
+ need for some, though not all, Kolab specific patches.
+
+ Many other packages which are less central to the Kolab server
+ were also updated.
+
+ II) Inclusion of the web based Horde Groupware client
+
+ The Kolab server now provides a web client that supports all
+ the groupware features known from Outlook and Kontact. Thus
+ users are less dependent on their local client and can access
+ their groupware data from anywhere in the world provided they
+ have a standard browser available.
+
+ III) Structural improvements
+
+ Several components of the Kolab server got restructured so
+ that porting the Kolab server to distributions other than
+ OpenPKG got easier. This also improves the development model
+ in general.
+
+ IV) Bug fixes
+
+ As usual many bugs found in Kolab server 2.1 have been
+ resolved. The specifics are described below.
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Fri Oct 19 10:33:24 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 10:33:24 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.158,1.159
Message-ID: <20071019083324.71F06602A36@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv8286
Modified Files:
release-notes.txt
Log Message:
Changed release notes introduction to previous list style
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -d -r1.158 -r1.159
--- release-notes.txt 19 Oct 2007 08:19:58 -0000 1.158
+++ release-notes.txt 19 Oct 2007 08:33:22 -0000 1.159
@@ -9,40 +9,40 @@
Differences between Kolab 2.1 and 2.2:
- I) Upgrade of central Kolab components
+ - Upgrade of central Kolab components
- The Apache server shipped with the Kolab server has been
- upgraded to Apache-2.2.*. At the same time the system was
- switched to PHP5.
+ The Apache server shipped with the Kolab server has been
+ upgraded to Apache-2.2.*. At the same time the system was
+ switched to PHP5.
- Postfix got upgraded to 2.4.* which removes the need for
- special Kolab patches which were integrated upstream.
+ Postfix got upgraded to 2.4.* which removes the need for
+ special Kolab patches which were integrated upstream.
- The Cyrus IMAP server was updated to 2.3.* also removing the
- need for some, though not all, Kolab specific patches.
+ The Cyrus IMAP server was updated to 2.3.* also removing the
+ need for some, though not all, Kolab specific patches.
- Many other packages which are less central to the Kolab server
- were also updated.
+ Many other packages which are less central to the Kolab server
+ were also updated.
- II) Inclusion of the web based Horde Groupware client
+ - Inclusion of the web based Horde Groupware client
- The Kolab server now provides a web client that supports all
- the groupware features known from Outlook and Kontact. Thus
- users are less dependent on their local client and can access
- their groupware data from anywhere in the world provided they
- have a standard browser available.
+ The Kolab server now provides a web client that supports all
+ the groupware features known from Outlook and Kontact. Thus
+ users are less dependent on their local client and can access
+ their groupware data from anywhere in the world provided they
+ have a standard browser available.
- III) Structural improvements
+ - Structural improvements
- Several components of the Kolab server got restructured so
- that porting the Kolab server to distributions other than
- OpenPKG got easier. This also improves the development model
- in general.
+ Several components of the Kolab server got restructured so
+ that porting the Kolab server to distributions other than
+ OpenPKG got easier. This also improves the development model
+ in general.
- IV) Bug fixes
+ - Bug fixes
- As usual many bugs found in Kolab server 2.1 have been
- resolved. The specifics are described below.
+ As usual many bugs found in Kolab server 2.1 have been
+ resolved. The specifics are described below.
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Fri Oct 19 10:36:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 10:36:13 +0200 (CEST)
Subject: schreiber: doc/www/src index.html.m4,1.128,1.129
Message-ID: <20071019083613.9EF94602A36@lists.intevation.de>
Author: schreiber
Update of /kolabrepository/doc/www/src
In directory doto:/tmp/cvs-serv8371/www/src
Modified Files:
index.html.m4
Log Message:
proko 2.1.11 announcement
Index: index.html.m4
===================================================================
RCS file: /kolabrepository/doc/www/src/index.html.m4,v
retrieving revision 1.128
retrieving revision 1.129
diff -u -d -r1.128 -r1.129
--- index.html.m4 3 Sep 2007 18:08:52 -0000 1.128
+++ index.html.m4 19 Oct 2007 08:36:11 -0000 1.129
@@ -47,6 +47,23 @@
+
October 18th, 2007
+
»
+ Kolab KDE Client 2.1.11 released, revision 'proko2.1.11'
+
+
+
+
+ This release contains some bug fixes.
+A tarball and release notes with a list of the changes can be found in the
+Kolab download area once the mirrors have been updated.
+See the
+ announcement for details.
+
@@ -157,23 +178,6 @@
This release contains several bugfixes and some minor features.
See the
- announcement for details.
-
-
-
-
-
-
August 13th, 2007
-
»
- Kolab Server 2.1 Release Candidate 2 released
-
-
-
-
- This release fixes more than 20 problems found in RC 1 and contains updated translations.
- Some security issues were fixed in clamav, spamassassin and file.
- See the
-
announcement for details.
From cvs at kolab.org Fri Oct 19 10:38:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 10:38:13 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.159,1.160
Message-ID: <20071019083813.2FA01602A36@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv8491
Modified Files:
release-notes.txt
Log Message:
Updated intro in release notes, added final date and server version
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.159
retrieving revision 1.160
diff -u -d -r1.159 -r1.160
--- release-notes.txt 19 Oct 2007 08:33:22 -0000 1.159
+++ release-notes.txt 19 Oct 2007 08:38:11 -0000 1.160
@@ -1,6 +1,6 @@
Kolab Server 2.2 Release Notes
==============================
-(Version 2007????, Kolab Server 2.2-beta???)
+(Version 20071019, Kolab Server 2.2-beta2)
For upgrading and installation instructions, please refer to
the 1st.README file in the package directory.
@@ -9,7 +9,7 @@
Differences between Kolab 2.1 and 2.2:
- - Upgrade of central Kolab components
+ - Upgrade of central Kolab server components
The Apache server shipped with the Kolab server has been
upgraded to Apache-2.2.*. At the same time the system was
@@ -21,9 +21,6 @@
The Cyrus IMAP server was updated to 2.3.* also removing the
need for some, though not all, Kolab specific patches.
- Many other packages which are less central to the Kolab server
- were also updated.
-
- Inclusion of the web based Horde Groupware client
The Kolab server now provides a web client that supports all
@@ -39,10 +36,12 @@
OpenPKG got easier. This also improves the development model
in general.
- - Bug fixes
+ - Improvements, bugfixes and upgraded software components
- As usual many bugs found in Kolab server 2.1 have been
- resolved. The specifics are described below.
+ The 2.2 release received many improvements and bugfixes for
+ issues found in earlier versions. Additionally all software
+ components have been upgraded to new upstream versions.
+ The specifics are described below.
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Fri Oct 19 10:42:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 10:42:20 +0200 (CEST)
Subject: thomas: server install-kolab.sh,1.10,1.11
Message-ID: <20071019084220.51802602A36@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv8583
Modified Files:
install-kolab.sh
Log Message:
Add kolab-horde-framework to install-kolab.sh
It is used by default, but the server can be configured to use new Horde code
instead, so this should not be added as a requirement to another package.
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- install-kolab.sh 13 Oct 2007 12:00:50 -0000 1.10
+++ install-kolab.sh 19 Oct 2007 08:42:18 -0000 1.11
@@ -9,7 +9,7 @@
INSTALL=""
-PACKAGES="openpkg-tools openldap postfix kolabd kolab-filter kolab-freebusy kolab-webadmin"
+PACKAGES="openpkg-tools openldap postfix kolabd kolab-filter kolab-freebusy kolab-webadmin kolab-horde-framework"
DEFINE="-D openldap::with_pth=no -D sasl::with_ldap -D sasl::with_login -D postfix::with_sasl -D postfix::with_ssl -D postfix::with_ldap"
#Flags
From cvs at kolab.org Fri Oct 19 11:06:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 11:06:44 +0200 (CEST)
Subject: gunnar: server README.1st,1.59,1.60 README.webclient,1.7,NONE
Message-ID: <20071019090644.4DEC1602A45@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv9415
Modified Files:
README.1st
Removed Files:
README.webclient
Log Message:
Update instructions.
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- README.1st 15 Jun 2007 13:11:17 -0000 1.59
+++ README.1st 19 Oct 2007 09:06:41 -0000 1.60
@@ -31,9 +31,19 @@
Then as root, cd into that local directory and run
-# sh obmtool kolab 2>&1 | tee kolab-build.log
+# ./install-kolab.sh 2>&1 | tee kolab-build.log
+
+to build and install packages in /kolab. The command output will
+be logged to kolab-build.log so that you have a reference in case
+an errors occurs during installation.
+
+If you wish to include the Horde groupware client and/or the Free/Busy
+view tool in you installation, you need to append the flag(s) "-H"
+and/or "-F". The following installs the server including Horde and
+F/B-View:
+
+# ./install-kolab.sh -H -F 2>&1 | tee kolab-build.log
-to build and install packages in /kolab.
By default, the Kolab Server will now be started at boottime.
After the build/install is complete, please run
@@ -59,15 +69,20 @@
The installation of the new packages works just as for the initial
installation. Download the files as described above and run
-# sh obmtool kolab 2>&1 | tee kolab-update.log
+# ./install-kolab.sh 2>&1 | tee kolab-update.log
-obmtool will usually automatically determine which packages need to be
-built. If you have made changes to configuration files or an updated
-package includes configuration files which are usually regenerated from
-files in /kolab/etc/kolab/templates/ the old configuration file will be
-saved with the extension .rpmsave. For files generated from templates
-you just have to remove the rpmsave file, because services will refuse
-to start if there still is an rpmsave file, e.g.:
+If you installed with Horde or F/B-View you need to run
+
+# ./install-kolab.sh -H -F 2>&1 | tee kolab-update.log
+
+install-kolab.sh will usually automatically determine which packages
+need to be built. If you have made changes to configuration files or
+an updated package includes configuration files which are usually
+regenerated from files in /kolab/etc/kolab/templates/ the old
+configuration file will be saved with the extension .rpmsave. For
+files generated from templates you just have to remove the rpmsave
+file, because services will refuse to start if there still is an
+rpmsave file, e.g.:
# rm /kolab/etc/clamav/*.conf.rpmsave
--- README.webclient DELETED ---
From cvs at kolab.org Fri Oct 19 12:53:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 12:53:46 +0200 (CEST)
Subject: thomas: server README.1st,1.60,1.61
Message-ID: <20071019105346.4A094602A36@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv12034
Modified Files:
README.1st
Log Message:
Removed obsolete info. Describe install with horde/fbview by default.
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -d -r1.60 -r1.61
--- README.1st 19 Oct 2007 09:06:41 -0000 1.60
+++ README.1st 19 Oct 2007 10:53:44 -0000 1.61
@@ -8,11 +8,13 @@
http://kolab.org/mailman/listinfo/kolab-announce
to receive security advisories and release announcements.
+* This development snapshot is not recommended for use in production! *
+
Quick install instructions
--------------------------
-For a fresh install /kolab needs to be an empty directory with at least 1GB of
+For a fresh install /kolab needs to be an empty directory with at least 2GB of
free disk space. You can use a symlink, but do _not_ use an NFS mounted drive.
If the directory does not yet exist, it will automatically be created.
Make sure that the following names are not in /etc/passwd or /etc/groups,
@@ -21,7 +23,7 @@
Check http://www.openpkg.org/documentation/ for additional documentation
for the OpenPKG packaging system.
-To install the Kolab2 server, you need to download the files from the
+To install the Kolab server, you need to download the files from the
directory containing this file (1st.README) to some local directory.
You can check the integrity of the downloaded files with:
@@ -29,23 +31,24 @@
$ gpg --verify MD5SUMS
$ md5sum -c MD5SUMS
-Then as root, cd into that local directory and run
+Then as root, cd into that local (and writable) directory and run
-# ./install-kolab.sh 2>&1 | tee kolab-build.log
+# ./install-kolab.sh -H -F 2>&1 | tee kolab-install.log
to build and install packages in /kolab. The command output will
-be logged to kolab-build.log so that you have a reference in case
+be logged to install-kolab.log so that you have a reference in case
an errors occurs during installation.
-If you wish to include the Horde groupware client and/or the Free/Busy
-view tool in you installation, you need to append the flag(s) "-H"
-and/or "-F". The following installs the server including Horde and
-F/B-View:
+If you do not want to install the Horde groupware client and/or the
+free/busy view tool, you can drop the flag "-H" and/or "-F".
-# ./install-kolab.sh -H -F 2>&1 | tee kolab-build.log
+FIXME: document install from read-only location (e.g. cdrom)
-By default, the Kolab Server will now be started at boottime.
-After the build/install is complete, please run
+By default, the Kolab server will now be started at boottime, so you
+have to bootstrap the server configuration now to prevent unconfigured
+components from being started.
+
+Please run:
# /kolab/etc/kolab/kolab_bootstrap -b
@@ -55,26 +58,25 @@
General update instructions
---------------------------
-Usually an update of the Kolab 2 server works as described here. In
+Usually an update of the Kolab server works as described here. In
some cases you will need to deviate from these instructions a bit. All
such cases are documented below, so read the release specific update
instructions for all releases newer than the one you already have before
you start the update.
In any case you should completely read *all* relevant update
-instruction *before* starting the upgrade procedure. All ways make
+instruction *before* starting the upgrade procedure. Always make
sure you have a recent backup of your /kolab directory before you
attempt to upgrade Kolab.
The installation of the new packages works just as for the initial
installation. Download the files as described above and run
-# ./install-kolab.sh 2>&1 | tee kolab-update.log
-
-If you installed with Horde or F/B-View you need to run
-
# ./install-kolab.sh -H -F 2>&1 | tee kolab-update.log
+If you installed without Horde or F/B-View you need to drop the
+corresponding flags again.
+
install-kolab.sh will usually automatically determine which packages
need to be built. If you have made changes to configuration files or
an updated package includes configuration files which are usually
@@ -95,223 +97,21 @@
# /kolab/bin/openpkg rc all restart
-Upgrading from earlier versions
--------------------------------
-
-Direct upgrade from Kolab1 is not recommendable at this point. We
-suggest that you back up your IMAP store, install Kolab2 and manually
-recreate user accounts and then restore the IMAP data from the backup.
-
-After an upgrade, always run /kolab/sbin/kolabconf to make sure the
-configuration files are regenerated from your templates.
-
-
-Upgrade from Kolab server 2.0 to 2.1
-------------------------------------
-
-Upgrading from Kolab 2.0.x to 2.1 is described in detail in the file
-UPGRADING.20-21 in this directory.
-
-The latest version of the upgrading instruction can be found in the
-Kolab.org raw-howtos CVS:
-
-http://kolab.org/cgi-bin/viewcvs-kolab.cgi/*checkout*/doc/raw-howtos/kolab_2.0_to_2.1_upgrade_instructions.txt
-
-Please read carefully all the following update instructions in this
-file, while some of the information will be redundant there might
-be additional notes which are essential for an successful update.
-
-
-Upgrade from pre-2.1-snapshot-20051130
---------------------------------------
-
-This upgrade is somewhat tricky, because of a new db package and a new
-OpenLDAP version. To make sure that no data is lost, you are strongly
-advised to stop the server and make a backup before you start the
-update. Some files are removed during the upgrade described below.
-
-
-1. Before installing the new RPMs
-
-Before installing the new packages, copy the contents of the openldap
-database (use a different output filename if you want):
-
- /kolab/sbin/slapcat > ~/kolab-slapcat-data
-
-
-The db update also affects the imap server.
-
- cd /kolab/var/imapd/db
- /kolab/bin/db_recover
- rm /kolab/var/imapd/db/*
-
-
-2. After installing the new RPMs
-
-You need to make two small changes are required for the openldap
-configuration file /kolab/etc/openldap/slapd.conf:
-
- - comment out the line
-
- require none
-
- - Move the line with the suffix setting to just after the "database
- bdb" line.
-
-These changes have already been done in the new slapd.conf.template, so
-it can be used for guidance.
-
-
-Then restore the openldap data:
-
- rm /kolab/var/openldap/openldap-data/*
- /kolab/sbin/slapadd -l ~/kolab-slapcat-data
-
-
-The IMAP server should work without further changes.
-
-
-Upgrade from pre-2.1-snapshot-20051215
---------------------------------------
-
-Nothing special has to be done for this upgrade.
-
-
-Upgrade from 2.1-beta-1
------------------------
-
-1. imapd hashimapspool setting
-
-The default imapd configuration has been changed to enable the
-hashimapspool option. This means that in 2.1-beta-2 the directory
-layout of the imapd spool (/kolab/var/imapd/spool/) is different from
-the one in beta-1. When you upgrade from beta-1 it's best to keep using
-the old structure, so remove or comment out the corresponding line in
-/kolab/etc/kolab/templates/imapd.conf.template *before* running
-kolabconf.
-
-For new installations the new default setting is recommended because
-it's more efficient especially when you have many mailboxes.
-
-For some background information about this see the dicussion at
-https://intevation.de/roundup/kolab/issue1089
-
-
-2. distribution lists
-
-There was a bug in earlier versions regarding the distribution lists for
-administrative emails aliases like postmaster@. They were
-created without the domain part. This has been fixed so that they are
-created with the correct domains in their names, but admin distribution
-lists created by an earlier Kolab server version will not be updated
-automatically. The easiest way to do this is by deleting them all and
-then to create them again with the services page of the web-interface.
-
-For more details about the bug, see
-https://intevation.de/roundup/kolab/issue1100
-
-
-Upgrade from 2.1-beta-2
------------------------
-
-1. postfix: ownership of virtual and transport:
-
-The owner of two config files has to be root, otherwise postfix will
-change to an unprivileged user for creating the corresponding .db files,
-isn't able to write them after the upgrade and fails to create further
-database files which don't get generated from kolab templates.
-
-To correct the file owner, execute the following commands as root:
- cd /kolab/etc/postfix
- chown root transport virtual
- make
-
-See kolab/issue1433 for details about this topic.
-
-
-2. imapd: database format for annotations.db and mailboxes.db
-
-The default database format for /kolab/var/imapd/annotations.db and
-/kolab/var/imapd/mailboxes.db has changed from skiplist to berkeley db.
-
-If you want to keep the old format, comment out or remove the lines
-"annotation_db: berkeley" and "mboxlist_db: berkeley" in the file
-"/kolab/etc/kolab/templates/imapd.conf.template" and make sure the file
-"/kolab/etc/imapd/imapd.conf" reflects this, too, by either running
-/kolab/sbin/kolabconf or changing it manually there, too.
-
-To convert the databases to berkeley db format, execute as root:
-
- /kolab/bin/openpkg rc imapd stop
- su - kolab-r
- cd /kolab/var/imapd/
- mv annotations.db annotations.db-skiplist
- cvt_cyrusdb /kolab/var/imapd/annotations.db-skiplist skiplist \
- /kolab/var/imapd/annotations.db berkeley
- mv mailboxes.db mailboxes.db-skiplist
- cvt_cyrusdb /kolab/var/imapd/mailboxes.db-skiplist skiplist \
- /kolab/var/imapd/mailboxes.db berkeley
- exit
- /kolab/bin/openpkg rc imapd start
-
-See http://wiki.kolab.org/index.php/Kolab2_IMAPD_annotations.db_Problems
-for details about this topic.
-
-
-Upgrade from 2.1-beta-3
------------------------
-
-1. Symlink from /kolab/kolab to /kolab no longer needed:
-
-Due to kolab/issue1490 a symbolic link was needed to fix a packaging
-problem which otherwise disturbed free/busy cache generation.
-It is no longer needed and may optionally be removed:
-
- rm /kolab/kolab
-
-
-2. imapd: emails with identical message-id header:
-
-In all previous releases the imap server discarded emails with identical
-message-ids received within three days. This caused multiple problems
-mentioned in kolab/issue1532.
-
-This change may cause duplicate messages in mailboxes due to cross postings,
-distribution lists or possible bugs in imap clients. If you want to revert
-to the old behaviour, please comment out or remove the line
-"duplicatesuppression: 0" in /kolab/etc/kolab/templates/imapd.conf.template
-or set the value to 1.
-
-
-Upgrade from 2.1-beta-4
------------------------
-
-Nothing special has to be done for this upgrade.
-
-
-Upgrade from 2.1-rc-1
----------------------
-
-The database backend for the free/busy cache was changed to solve licensing
-issues between php4+ and gdbm. See kolab/issue1607 for details.
-
-Follow the steps to regenerate the free/busy cache shown in the section
-"Final Steps" in the file UPGRADING.20-21
-
-
-Upgrade from 2.1-rc-2
----------------------
+Upgrade from 2.2-beta1 to 2.2-beta2
+-----------------------------------
-Nothing special has to be done for this upgrade.
+FIXME
-Upgrade from 2.1.0
-------------------
+Upgrade from Kolab server 2.1 or before
+---------------------------------------
-The free/busy cache should be regenerated if you need the 'location' entry
-in extended free/busy lists.
-FIXME: describe generatefb.php
+Instructions for upgrading from Kolab server 2.0 or 2.1 will be added
+in a future version of this document.
+Direct upgrade from Kolab1 is not supported. We suggest that you back up
+your IMAP store, install Kolab2 and manually recreate user accounts and
+then restore the IMAP data from the backup.
Known problems and workarounds
From cvs at kolab.org Fri Oct 19 12:54:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 12:54:20 +0200 (CEST)
Subject: thomas: server LIESMICH.txt,1.1,NONE
Message-ID: <20071019105420.B85DF602A36@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv12106
Removed Files:
LIESMICH.txt
Log Message:
Removed outdated LIESMICH.txt
--- LIESMICH.txt DELETED ---
From cvs at kolab.org Fri Oct 19 18:48:37 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 18:48:37 +0200 (CEST)
Subject: thomas: server install-kolab.sh,1.11,1.12
Message-ID: <20071019164837.25790602A31@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv20265
Modified Files:
install-kolab.sh
Log Message:
Allow upgrades using binary packages
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- install-kolab.sh 19 Oct 2007 08:42:18 -0000 1.11
+++ install-kolab.sh 19 Oct 2007 16:48:34 -0000 1.12
@@ -288,7 +288,8 @@
-Dkolab-webadmin::kolab_version=$KOLAB_VERSION
"
fi
- "$PREFIX/bin/openpkg" build -kK -r "$DIR" -p "$PLATTAG" $DEFINE $PACKAGES | sh || exit $?
+ find "$DIR" -mindepth 1 -maxdepth 1 -name "*.$PLATTAG.rpm" -exec ln -sf '{}' "$PREFIX/RPM/PKG/" \;
+ "$PREFIX/bin/openpkg" build -kKBuZ -r "$DIR" -p "$PLATTAG" $DEFINE $PACKAGES | sh || exit $?
fi
exit 0
From cvs at kolab.org Fri Oct 19 18:58:07 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 18:58:07 +0200 (CEST)
Subject: thomas: server README.1st,1.61,1.62
Message-ID: <20071019165807.DA8D8602A36@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv20531
Modified Files:
README.1st
Log Message:
Finished upgrade instructions from beta1
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -d -r1.61 -r1.62
--- README.1st 19 Oct 2007 10:53:44 -0000 1.61
+++ README.1st 19 Oct 2007 16:58:05 -0000 1.62
@@ -96,11 +96,26 @@
# /kolab/sbin/kolabconf
# /kolab/bin/openpkg rc all restart
+Or alternatively if the Kolab server was stopped before the upgrade:
+
+# /kolab/bin/openpkg rc openldap start
+# /kolab/sbin/kolabconf
+# /kolab/bin/openpkg rc all start
+
Upgrade from 2.2-beta1 to 2.2-beta2
-----------------------------------
-FIXME
+Before running install-kolab.sh, you should stop the running Kolab server and
+remove some packages which got renamed or will no longer be needed by running
+this command:
+
+# /kolab/bin/openpkg rc all stop
+# /kolab/bin/openpkg rpm -e --nodeps apache2 apache2-php getopt proftpd \
+ pth sharutils kolab-horde-fbview kolab-resource-handlers
+
+Ignore errors about pth or sharutils not being installed, these
+were included in the beta1 release but not installed by default.
Upgrade from Kolab server 2.1 or before
From cvs at kolab.org Fri Oct 19 19:17:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 19 Oct 2007 19:17:21 +0200 (CEST)
Subject: thomas: server README.1st,1.62,1.63
Message-ID: <20071019171721.A589C602A36@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv21359
Modified Files:
README.1st
Log Message:
Add instructions for installation from a read-only directory
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- README.1st 19 Oct 2007 16:58:05 -0000 1.62
+++ README.1st 19 Oct 2007 17:17:19 -0000 1.63
@@ -39,10 +39,16 @@
be logged to install-kolab.log so that you have a reference in case
an errors occurs during installation.
+The install script needs to be able to write in the current working
+directory, so if you want to keep this directory clean or install
+install packages from a read-only location (e.g. CD-ROM), you can create
+a new directory and pass the path to the packages to the script using
+the -i option:
+
+# /path/to/packages/install-kolab.sh -H -F -i /path/to/packages
+
If you do not want to install the Horde groupware client and/or the
free/busy view tool, you can drop the flag "-H" and/or "-F".
-
-FIXME: document install from read-only location (e.g. cdrom)
By default, the Kolab server will now be started at boottime, so you
have to bootstrap the server configuration now to prevent unconfigured
From cvs at kolab.org Mon Oct 22 19:38:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 22 Oct 2007 19:38:43 +0200 (CEST)
Subject: marcus: server/kolabd/kolabd ChangeLog,1.112,1.113
Message-ID: <20071022173843.A0AAD600168@lists.intevation.de>
Author: marcus
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv8263
Modified Files:
ChangeLog
Log Message:
changed the location of the smtpd.conf file (sasl_smtpconffile)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -d -r1.112 -r1.113
--- ChangeLog 17 Oct 2007 18:13:56 -0000 1.112
+++ ChangeLog 22 Oct 2007 17:38:41 -0000 1.113
@@ -1,3 +1,8 @@
+2007-10-22 Marcus Hüwe
+
+ * dist_conf/suse:
+ changed the location of the smtpd.conf file (sasl_smtpconffile)
+
2007-10-17 Thomas Arendsen Hein
* Makefile.am, kolab.globals.in, kolab2.schema, kolab_bootstrap.in,
From cvs at kolab.org Mon Oct 22 19:38:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 22 Oct 2007 19:38:43 +0200 (CEST)
Subject: marcus: server/kolabd/kolabd/dist_conf suse,1.61,1.62
Message-ID: <20071022173843.A27E560C4AD@lists.intevation.de>
Author: marcus
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv8263/dist_conf
Modified Files:
suse
Log Message:
changed the location of the smtpd.conf file (sasl_smtpconffile)
Index: suse
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/suse,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -d -r1.61 -r1.62
--- suse 17 Oct 2007 17:57:13 -0000 1.61
+++ suse 22 Oct 2007 17:38:41 -0000 1.62
@@ -137,7 +137,7 @@
phplibdir2=${datadir}/php
phppeardir=${phplibdir}/PEAR
-sasl_smtpconffile=${libdir}/sasl2/smtpd.conf
+sasl_smtpconffile=${sysconfdir}/sasl2/smtpd.conf
sasl_authdconffile=${sysconfdir}/saslauthd.conf
sasl_logfile=${localstatedir}/log/saslauthd.log
From cvs at kolab.org Mon Oct 22 20:17:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 22 Oct 2007 20:17:55 +0200 (CEST)
Subject: marcus: server/kolabd/kolabd/dist_conf kolabsrv.in,1.8,1.9
Message-ID: <20071022181755.CBD9E60C4B8@lists.intevation.de>
Author: marcus
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv9275/dist_conf
Modified Files:
kolabsrv.in
Log Message:
replaced "apache" with "apache2". This file is not used by the openpkg
installation so this change has no impact on it.
Index: kolabsrv.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/kolabsrv.in,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- kolabsrv.in 14 Oct 2007 12:31:58 -0000 1.8
+++ kolabsrv.in 22 Oct 2007 18:17:53 -0000 1.9
@@ -38,7 +38,7 @@
esac
if [[ "$2" == "all" ]]; then
- SERVICES="@LDAPD@ slurpd saslauthd spamd amavis apache freshclam clamd cyrus postfix"
+ SERVICES="@LDAPD@ slurpd saslauthd spamd amavis apache2 freshclam clamd cyrus postfix"
SERVICES="$SERVICES kolabd"
else
SERVICES=$2
From cvs at kolab.org Mon Oct 22 20:17:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 22 Oct 2007 20:17:55 +0200 (CEST)
Subject: marcus: server/kolabd/kolabd ChangeLog,1.113,1.114
Message-ID: <20071022181755.CFACA60C4BA@lists.intevation.de>
Author: marcus
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv9275
Modified Files:
ChangeLog
Log Message:
replaced "apache" with "apache2". This file is not used by the openpkg
installation so this change has no impact on it.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -d -r1.113 -r1.114
--- ChangeLog 22 Oct 2007 17:38:41 -0000 1.113
+++ ChangeLog 22 Oct 2007 18:17:53 -0000 1.114
@@ -3,6 +3,10 @@
* dist_conf/suse:
changed the location of the smtpd.conf file (sasl_smtpconffile)
+ * dist_conf/kolabsrv.in:
+ replaced "apache" with "apache2". This file isn't used by the openpkg
+ installation so this change has no impact on it.
+
2007-10-17 Thomas Arendsen Hein
* Makefile.am, kolab.globals.in, kolab2.schema, kolab_bootstrap.in,
From cvs at kolab.org Tue Oct 23 11:11:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:11:30 +0200 (CEST)
Subject: thomas: server/php-kolab Makefile,1.12,1.13
Message-ID: <20071023091130.57A0A602A5B@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/php-kolab
In directory doto:/tmp/cvs-serv30915/php-kolab
Modified Files:
Makefile
Log Message:
Switch version numbering to CVS again.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/php-kolab/Makefile,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- Makefile 18 Oct 2007 12:41:58 -0000 1.12
+++ Makefile 23 Oct 2007 09:11:28 -0000 1.13
@@ -5,7 +5,7 @@
VERSION = 2.2
PRERELEASE = beta
PRERELEASE_VERSION = 2
-CVS = 0
+CVS = 1
ifeq "x$(PRERELEASE)" "x"
ifeq "x$(CVS)" "x0"
From cvs at kolab.org Tue Oct 23 11:11:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:11:30 +0200 (CEST)
Subject: thomas: server/kolabconf Makefile.PL,1.12,1.13
Message-ID: <20071023091130.56044602A28@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabconf
In directory doto:/tmp/cvs-serv30915/kolabconf
Modified Files:
Makefile.PL
Log Message:
Switch version numbering to CVS again.
Index: Makefile.PL
===================================================================
RCS file: /kolabrepository/server/kolabconf/Makefile.PL,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- Makefile.PL 18 Oct 2007 12:41:58 -0000 1.12
+++ Makefile.PL 23 Oct 2007 09:11:28 -0000 1.13
@@ -12,7 +12,7 @@
my $KOLAB_BASE_VERSION = "2.2.beta2";
# Are current releases cvs based or is this a real release?
-my $KOLAB_CVS = 0;
+my $KOLAB_CVS = 1;
my $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
From cvs at kolab.org Tue Oct 23 11:11:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:11:30 +0200 (CEST)
Subject: thomas: server/perl-kolab/lib Kolab.pm,1.8,1.9
Message-ID: <20071023091130.56D05602A2B@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab/lib
In directory doto:/tmp/cvs-serv30915/perl-kolab/lib
Modified Files:
Kolab.pm
Log Message:
Switch version numbering to CVS again.
Index: Kolab.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/lib/Kolab.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- Kolab.pm 18 Oct 2007 12:41:58 -0000 1.8
+++ Kolab.pm 23 Oct 2007 09:11:28 -0000 1.9
@@ -62,7 +62,7 @@
our $KOLAB_BASE_VERSION = "2.2.beta2";
# Are current releases cvs based or is this a real release?
-my $KOLAB_CVS = 0;
+my $KOLAB_CVS = 1;
our $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
From cvs at kolab.org Tue Oct 23 11:11:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:11:30 +0200 (CEST)
Subject: thomas: server/kolab-freebusy Makefile,1.7,1.8
Message-ID: <20071023091130.56E2A602A4C@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv30915/kolab-freebusy
Modified Files:
Makefile
Log Message:
Switch version numbering to CVS again.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/Makefile,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- Makefile 18 Oct 2007 12:41:58 -0000 1.7
+++ Makefile 23 Oct 2007 09:11:28 -0000 1.8
@@ -2,7 +2,7 @@
RELEASE = $(shell date '+%Y%m%d')
VERSION = 2.2.beta2
-CVS = 0
+CVS = 1
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
From cvs at kolab.org Tue Oct 23 11:11:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:11:30 +0200 (CEST)
Subject: thomas: server/kolab-filter Makefile,1.6,1.7
Message-ID: <20071023091130.552D3602A22@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-filter
In directory doto:/tmp/cvs-serv30915/kolab-filter
Modified Files:
Makefile
Log Message:
Switch version numbering to CVS again.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-filter/Makefile,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- Makefile 18 Oct 2007 12:41:58 -0000 1.6
+++ Makefile 23 Oct 2007 09:11:27 -0000 1.7
@@ -2,7 +2,7 @@
RELEASE = $(shell date '+%Y%m%d')
VERSION = 2.2.beta2
-CVS = 0
+CVS = 1
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
From cvs at kolab.org Tue Oct 23 11:14:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:14:13 +0200 (CEST)
Subject: thomas: server/perl-kolab/Kolab Kolab.pm.in,1.6.2.1,1.6.2.2
Message-ID: <20071023091413.F2D84602A28@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab/Kolab
In directory doto:/tmp/cvs-serv31028/perl-kolab/Kolab
Modified Files:
Tag: kolab_2_1_branch
Kolab.pm.in
Log Message:
Show component and log level when sending debug log to stdout.
Index: Kolab.pm.in
===================================================================
RCS file: /kolabrepository/server/perl-kolab/Kolab/Attic/Kolab.pm.in,v
retrieving revision 1.6.2.1
retrieving revision 1.6.2.2
diff -u -d -r1.6.2.1 -r1.6.2.2
--- Kolab.pm.in 19 Sep 2007 17:06:42 -0000 1.6.2.1
+++ Kolab.pm.in 23 Oct 2007 09:14:10 -0000 1.6.2.2
@@ -464,20 +464,17 @@
my $text = shift;
my $priority = shift || KOLAB_INFO;
- my $level = $config{'log_level'};
- if ($level >= $priority) {
- if ($priority == KOLAB_ERROR) {
- $text = $prefix . ' Error: ' . $text;
- } elsif ($priority == KOLAB_WARN) {
- $text = $prefix . ' Warning: ' . $text;
- } elsif ($priority == KOLAB_DEBUG) {
- $text = $prefix . ' Debug: ' . $text;
- } else {
- $text = $prefix . ': ' . $text;
- }
- syslog('info', "$text");
+ if ($priority == KOLAB_ERROR) {
+ $text = $prefix . ' Error: ' . $text;
+ } elsif ($priority == KOLAB_WARN) {
+ $text = $prefix . ' Warning: ' . $text;
+ } elsif ($priority == KOLAB_DEBUG) {
+ $text = $prefix . ' Debug: ' . $text;
+ } else {
+ $text = $prefix . ': ' . $text;
}
- print STDERR "$text\n" if ($config{'debug'});
+ syslog('info', "$text") if $config{'log_level'} >= $priority;
+ print STDERR "$text\n" if $config{'debug'};
}
reloadConfig();
From cvs at kolab.org Tue Oct 23 11:14:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:14:13 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.131.2.9,1.131.2.10
Message-ID: <20071023091413.EF50E602A22@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv31028
Modified Files:
Tag: kolab_2_1_branch
release-notes.txt
Log Message:
Show component and log level when sending debug log to stdout.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.131.2.9
retrieving revision 1.131.2.10
diff -u -d -r1.131.2.9 -r1.131.2.10
--- release-notes.txt 18 Oct 2007 17:01:27 -0000 1.131.2.9
+++ release-notes.txt 23 Oct 2007 09:14:10 -0000 1.131.2.10
@@ -40,6 +40,8 @@
Added missing Makefile dependencies
+ Show component and log level when sending debug log to stdout.
+
kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1679 (Update template META mechanism to support service restarts)
kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
From cvs at kolab.org Tue Oct 23 11:17:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:17:46 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.160,1.161
Message-ID: <20071023091746.BA290602A28@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv31160
Modified Files:
release-notes.txt
Log Message:
Show component and log level when sending debug log to stdout.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -d -r1.160 -r1.161
--- release-notes.txt 19 Oct 2007 08:38:11 -0000 1.160
+++ release-notes.txt 23 Oct 2007 09:17:44 -0000 1.161
@@ -1,6 +1,6 @@
Kolab Server 2.2 Release Notes
==============================
-(Version 20071019, Kolab Server 2.2-beta2)
+(Version 2007????, Kolab Server 2.2-???)
For upgrading and installation instructions, please refer to
the 1st.README file in the package directory.
@@ -42,6 +42,13 @@
issues found in earlier versions. Additionally all software
components have been upgraded to new upstream versions.
The specifics are described below.
+
+
+Changes between 2.2-beta-2 and 2.2-???:
+
+ - perl-kolab-2.2.???-2007????
+
+ Show component and log level when sending debug log to stdout.
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Tue Oct 23 11:17:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:17:46 +0200 (CEST)
Subject: thomas: server/perl-kolab/lib Kolab.pm,1.9,1.10
Message-ID: <20071023091746.C2FA4602A2B@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab/lib
In directory doto:/tmp/cvs-serv31160/perl-kolab/lib
Modified Files:
Kolab.pm
Log Message:
Show component and log level when sending debug log to stdout.
Index: Kolab.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/lib/Kolab.pm,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- Kolab.pm 23 Oct 2007 09:11:28 -0000 1.9
+++ Kolab.pm 23 Oct 2007 09:17:44 -0000 1.10
@@ -422,20 +422,17 @@
my $text = shift;
my $priority = shift || KOLAB_INFO;
- my $level = $config{'log_level'};
- if ($level >= $priority) {
- if ($priority == KOLAB_ERROR) {
- $text = $prefix . ' Error: ' . $text;
- } elsif ($priority == KOLAB_WARN) {
- $text = $prefix . ' Warning: ' . $text;
- } elsif ($priority == KOLAB_DEBUG) {
- $text = $prefix . ' Debug: ' . $text;
- } else {
- $text = $prefix . ': ' . $text;
- }
- syslog('info', "$text");
+ if ($priority == KOLAB_ERROR) {
+ $text = $prefix . ' Error: ' . $text;
+ } elsif ($priority == KOLAB_WARN) {
+ $text = $prefix . ' Warning: ' . $text;
+ } elsif ($priority == KOLAB_DEBUG) {
+ $text = $prefix . ' Debug: ' . $text;
+ } else {
+ $text = $prefix . ': ' . $text;
}
- print STDERR "$text\n" if ($config{'debug'});
+ syslog('info', "$text") if $config{'log_level'} >= $priority;
+ print STDERR "$text\n" if $config{'debug'};
}
1;
From cvs at kolab.org Tue Oct 23 11:17:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 23 Oct 2007 11:17:46 +0200 (CEST)
Subject: thomas: server/perl-kolab ChangeLog,1.24,1.25
Message-ID: <20071023091746.C3674602A4C@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv31160/perl-kolab
Modified Files:
ChangeLog
Log Message:
Show component and log level when sending debug log to stdout.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/perl-kolab/ChangeLog,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- ChangeLog 17 Oct 2007 17:57:13 -0000 1.24
+++ ChangeLog 23 Oct 2007 09:17:44 -0000 1.25
@@ -1,3 +1,8 @@
+2007-10-23 Thomas Arendsen Hein
+
+ * lib/Kolab.pm: Show component and log level when sending debug
+ log to stdout.
+
2007-10-17 Thomas Arendsen Hein
* lib/Kolab.pm: kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
From cvs at kolab.org Thu Oct 25 08:40:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 25 Oct 2007 08:40:30 +0200 (CEST)
Subject: gunnar: server/patches/cyrus-imapd
KOLAB_cyrus-cyradm_2.3.10_Annotations.patch, NONE,
1.1 KOLAB_cyrus-imapd_2.3.10_Annotations2.patch, NONE,
1.1 KOLAB_cyrus-imapd_2.3.10_Folder-names.patch, NONE,
1.1 KOLAB_cyrus-imapd_2.3.10_Groups.patch, NONE,
1.1 KOLAB_cyrus-imapd_2.3.10_Logging.patch, NONE,
1.1 KOLAB_cyrus-imapd_2.3.10_UID.patch, NONE, 1.1
Message-ID: <20071025064030.84FF1602A24@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/cyrus-imapd
In directory doto:/tmp/cvs-serv28407
Added Files:
KOLAB_cyrus-cyradm_2.3.10_Annotations.patch
KOLAB_cyrus-imapd_2.3.10_Annotations2.patch
KOLAB_cyrus-imapd_2.3.10_Folder-names.patch
KOLAB_cyrus-imapd_2.3.10_Groups.patch
KOLAB_cyrus-imapd_2.3.10_Logging.patch
KOLAB_cyrus-imapd_2.3.10_UID.patch
Log Message:
Add patches for cyrus-imapd-2.3.10.
--- NEW FILE: KOLAB_cyrus-cyradm_2.3.10_Annotations.patch ---
Allows to use arbitrary annotations with the cyradm tool.
diff -r a07884e259c3 doc/man/cyradm.1.html
--- a/doc/man/cyradm.1.html Thu Oct 25 08:24:39 2007 +0200
+++ b/doc/man/cyradm.1.html Thu Oct 25 08:29:40 2007 +0200
@@ -241,6 +241,13 @@ The currently supported attributes are:<
Sets an email address to which messages injected into the server via NNTP
will be sent.
Sets the annotation /explicit/annotation
+on mailbox to value.
sharedseen
diff -r a07884e259c3 perl/imap/IMAP/Admin.pm
--- a/perl/imap/IMAP/Admin.pm Thu Oct 25 08:24:39 2007 +0200
+++ b/perl/imap/IMAP/Admin.pm Thu Oct 25 08:29:40 2007 +0200
@@ -796,11 +796,11 @@ sub mboxconfig {
return undef;
}
- if(!exists($values{$entry})) {
- $self->{error} = "Unknown parameter $entry";
- }
-
- $entry = $values{$entry};
+ if(exists($values{$entry})) {
+ $entry = $values{$entry};
+ } else {
+ $self->{error} = "Unknown parameter $entry" unless substr($entry,0,1) eq "/";
+ }
my ($rc, $msg);
diff -r a07884e259c3 perl/imap/IMAP/Shell.pm
--- a/perl/imap/IMAP/Shell.pm Thu Oct 25 08:24:39 2007 +0200
+++ b/perl/imap/IMAP/Shell.pm Thu Oct 25 08:29:40 2007 +0200
@@ -126,7 +126,7 @@ my %builtins = (exit =>
[\&_sc_info, '[mailbox]',
'display mailbox/server metadata'],
mboxcfg =>
- [\&_sc_mboxcfg, 'mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value',
+ [\&_sc_mboxcfg, 'mailbox [comment|condstore|news2mail|expire|sieve|squat|/] value',
'configure mailbox'],
mboxconfig => 'mboxcfg',
reconstruct =>
@@ -1436,7 +1436,7 @@ sub _sc_mboxcfg {
while (defined ($opt = shift(@argv))) {
last if $opt eq '--';
if ($opt =~ /^-/) {
- die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
+ die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/] value\n";
}
else {
push(@nargv, $opt);
@@ -1445,7 +1445,7 @@ sub _sc_mboxcfg {
}
push(@nargv, @argv);
if (@nargv < 2) {
- die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat] value\n";
+ die "usage: mboxconfig mailbox [comment|condstore|expire|news2mail|sharedseen|sieve|squat|/] value\n";
}
if (!$cyrref || !$$cyrref) {
die "mboxconfig: no connection to server\n";
diff -r a07884e259c3 perl/imap/cyradm.sh
--- a/perl/imap/cyradm.sh Thu Oct 25 08:24:39 2007 +0200
+++ b/perl/imap/cyradm.sh Thu Oct 25 08:29:40 2007 +0200
@@ -241,6 +241,10 @@ mailboxes).
Indicates that the mailbox should have a squat index created for it.
+=item C
+
+Sets the annotation I on I to I.
+
=back
=item C [C<--partition> I] I I
--- NEW FILE: KOLAB_cyrus-imapd_2.3.10_Annotations2.patch ---
Provides a new version of annotation support for the cyrus imapd server [Version: 2.3.9]
diff -r b693d1281318 imap/annotate.c
--- a/imap/annotate.c Thu Oct 25 08:21:36 2007 +0200
+++ b/imap/annotate.c Thu Oct 25 08:24:37 2007 +0200
@@ -40,6 +40,13 @@
*
*/
/*
+ * This file contains code Copyright (c) 2006 by Thomas Viehmann.
+ * You may distribute source code or binaries under the conditions
+ * conditions given in the CMU license, provided this note stays intact
+ * in the distributed source. If you want to distribute my code without
+ * this notice, do contact me at .
+ */
+/*
* $Id: KOLAB_cyrus-imapd_2.3.10_Annotations2.patch,v 1.1 2007/10/25 06:40:28 gunnar Exp $
*/
@@ -92,6 +99,8 @@ int (*proxy_store_func)(const char *serv
int (*proxy_store_func)(const char *server, const char *mbox_pat,
struct entryattlist *entryatts) = NULL;
+void init_annotation_definitions();
+
/* String List Management */
/*
* Append 's' to the strlist 'l'. Possibly include metadata.
@@ -238,6 +247,8 @@ void annotatemore_init(int myflags,
if (store_func) {
proxy_store_func = store_func;
}
+
+ init_annotation_definitions();
}
void annotatemore_open(char *fname)
@@ -1833,6 +1844,224 @@ const struct annotate_st_entry mailbox_r
{ NULL, 0, ANNOTATION_PROXY_T_INVALID, 0, 0, NULL, NULL }
};
+struct annotate_st_entry_list *server_entries_list = NULL;
+struct annotate_st_entry_list *mailbox_rw_entries_list = NULL;
+
+enum {
+ ANNOTATION_SCOPE_SERVER = 1,
+ ANNOTATION_SCOPE_MAILBOX = 2
+};
+
+const struct annotate_attrib annotation_scope_names[] =
+{
+ { "server", ANNOTATION_SCOPE_SERVER },
+ { "mailbox", ANNOTATION_SCOPE_MAILBOX },
+ { NULL, 0 }
+};
+
+const struct annotate_attrib annotation_proxy_type_names[] =
+{
+ { "proxy", PROXY_ONLY },
+ { "backend", BACKEND_ONLY },
+ { "proxy_and_backend", PROXY_AND_BACKEND },
+ { NULL, 0 }
+};
+
+const struct annotate_attrib attribute_type_names[] =
+{
+ { "content-type", ATTRIB_TYPE_CONTENTTYPE },
+ { "string", ATTRIB_TYPE_STRING },
+ { "boolean", ATTRIB_TYPE_BOOLEAN },
+ { "uint", ATTRIB_TYPE_UINT },
+ { "int", ATTRIB_TYPE_INT },
+ { NULL, 0 }
+};
+
+#define ANNOT_DEF_MAXLINELEN 1024
+
+int table_lookup(const struct annotate_attrib *table,
+ char* name,
+ size_t namelen,
+ char* errmsg)
+/* search in table for the value given by name and namelen (name is null-terminated,
+ but possibly more than just the key). errmsg is used to hint the user where we failed */
+{
+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
+ int entry;
+
+ for (entry = 0; table[entry].name &&
+ (strncasecmp(table[entry].name, name, namelen)
+ || table[entry].name[namelen] != '\0'); entry++);
+
+ if (! table[entry].name) {
+ sprintf(errbuf, "invalid %s at '%s'", errmsg, name);
+ fatal(errbuf, EC_CONFIG);
+ }
+ return table[entry].entry;
+}
+
+char *consume_comma(char* p)
+ /* advance beyond the next ',', skipping whitespace, fail if next non-space is no comma */
+{
+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
+
+ for (; *p && isspace(*p); p++);
+ if (*p != ',') {
+ sprintf(errbuf, "',' expected, '%s' found parsing annotation definition",
+ p);
+ fatal(errbuf, EC_CONFIG);
+ }
+ p++;
+ for (; *p && isspace(*p); p++);
+
+ return p;
+}
+
+int parse_table_lookup_bitmask(const struct annotate_attrib *table,
+ char** s,
+ char* errmsg)
+ /* parses strings of the form value1 [ value2 [ ... ]]
+ value1 is mapped via table to ints and the result ored
+ whitespace is allowed between value names and punctuation
+ the field must end in '\0' or ','
+ s is advanced to '\0' or ','
+ on error errmsg is used to identify item to be parsed
+ */
+{
+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
+ int result = 0;
+ char *p, *p2;
+
+ p = *s;
+ do {
+ p2 = p;
+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
+ result |= table_lookup(table, p2, p-p2, errmsg);
+ for (; *p && isspace(*p); p++);
+ } while (*p && *p != ',');
+
+ *s = p;
+ return result;
+}
+
+void init_annotation_definitions()
+{
+ char *p, *p2, *tmp;
+ const char *filename;
+ char aline[ANNOT_DEF_MAXLINELEN];
+ char errbuf[ANNOT_DEF_MAXLINELEN*2];
+ struct annotate_st_entry_list *se, *me;
+ struct annotate_st_entry *ae;
+ int i;
+ FILE* f;
+
+ /* NOTE: we assume # static entries > 0 */
+ server_entries_list = xmalloc(sizeof(struct annotate_st_entry_list));
+ mailbox_rw_entries_list = xmalloc(sizeof(struct annotate_st_entry_list));
+ se = server_entries_list;
+ me = mailbox_rw_entries_list;
+ /* copy static entries into list */
+ for (i = 0; server_entries[i].name;i++) {
+ se->entry = &server_entries[i];
+ if (server_entries[i+1].name) {
+ se->next = xmalloc(sizeof(struct annotate_st_entry_list));
+ se = se->next;
+ }
+ }
+ /* copy static entries into list */
+ for (i = 0; mailbox_rw_entries[i].name;i++) {
+ me->entry = &mailbox_rw_entries[i];
+ if (mailbox_rw_entries[i+1].name) {
+ me->next = xmalloc(sizeof(struct annotate_st_entry_list));
+ me = me->next;
+ }
+ }
+
+ /* parse config file */
+ filename = config_getstring(IMAPOPT_ANNOTATION_DEFINITIONS);
+
+ if (! filename) {
+ se->next = NULL;
+ me->next = NULL;
+ return;
+ }
+
+ f = fopen(filename,"r");
+ if (! f) {
+ sprintf(errbuf, "could not open annotation definiton %s", filename);
+ fatal(errbuf, EC_CONFIG);
+ }
+
+ while (fgets(aline, sizeof(aline), f)) {
+ // remove leading space, skip blank lines and comments
+ for (p = aline; *p && isspace(*p); p++);
+ if (!*p || *p == '#') continue;
+
+ // note, we only do the most basic validity checking and may
+ // be more restrictive than neccessary
+
+ ae = xmalloc(sizeof(struct annotate_st_entry));
+
+ p2 = p;
+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
+ // TV-TODO: should test for empty
+ ae->name = xstrndup(p2, p-p2);
+
+ p = consume_comma(p);
+
+ p2 = p;
+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
+
+ if (table_lookup(annotation_scope_names, p2, p-p2,
+ "annotation scope")==ANNOTATION_SCOPE_SERVER) {
+ se->next = xmalloc(sizeof(struct annotate_st_entry_list));
+ se = se->next;
+ se->entry = ae;
+ }
+ else {
+ me->next = xmalloc(sizeof(struct annotate_st_entry_list));
+ me = me->next;
+ me->entry = ae;
+ }
+
+ p = consume_comma(p);
+ p2 = p;
+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
+ ae->type = table_lookup(attribute_type_names, p2, p-p2,
+ "attribute type");
+
+ p = consume_comma(p);
+ ae->proxytype = parse_table_lookup_bitmask(annotation_proxy_type_names,
+ &p,
+ "annotation proxy type");
+
+ p = consume_comma(p);
+ ae->attribs = parse_table_lookup_bitmask(annotation_attributes,
+ &p,
+ "annotation attributes");
+
+ p = consume_comma(p);
+ p2 = p;
+ for (; *p && (isalnum(*p) || *p=='.' || *p=='-' || *p=='_' || *p=='/');p++);
+ tmp = xstrndup(p2, p-p2);
+ ae->acl = cyrus_acl_strtomask(tmp);
+ free(tmp);
+
+ for (; *p && isspace(*p); p++);
+ if (*p) {
+ sprintf(errbuf, "junk at end of line: '%s'", p);
+ fatal(errbuf, EC_CONFIG);
+ }
+
+ ae->set = annotation_set_todb;
+ ae->rock = NULL;
+ }
+
+ fclose(f);
+ se->next = NULL;
+ me->next = NULL;
+}
+
int annotatemore_store(char *mailbox,
struct entryattlist *l,
struct namespace *namespace,
@@ -1844,7 +2073,7 @@ int annotatemore_store(char *mailbox,
struct entryattlist *e = l;
struct attvaluelist *av;
struct storedata sdata;
- const struct annotate_st_entry *entries;
+ const struct annotate_st_entry_list *entries, *currententry;
time_t now = time(0);
memset(&sdata, 0, sizeof(struct storedata));
@@ -1855,45 +2084,45 @@ int annotatemore_store(char *mailbox,
if (!mailbox[0]) {
/* server annotations */
- entries = server_entries;
+ entries = server_entries_list;
}
else {
/* mailbox annotation(s) */
- entries = mailbox_rw_entries;
+ entries = mailbox_rw_entries_list;
}
/* Build a list of callbacks for storing the annotations */
while (e) {
- int entrycount, attribs;
+ int attribs;
struct annotate_st_entry_list *nentry = NULL;
/* See if we support this entry */
- for (entrycount = 0;
- entries[entrycount].name;
- entrycount++) {
- if (!strcmp(e->entry, entries[entrycount].name)) {
+ for (currententry = entries;
+ currententry;
+ currententry = currententry->next) {
+ if (!strcmp(e->entry, currententry->entry->name)) {
break;
}
}
- if (!entries[entrycount].name) {
+ if (!currententry) {
/* unknown annotation */
return IMAP_PERMISSION_DENIED;
}
/* Add this entry to our list only if it
applies to our particular server type */
- if ((entries[entrycount].proxytype != PROXY_ONLY)
+ if ((currententry->entry->proxytype != PROXY_ONLY)
|| proxy_store_func) {
nentry = xzmalloc(sizeof(struct annotate_st_entry_list));
nentry->next = sdata.entry_list;
- nentry->entry = &(entries[entrycount]);
+ nentry->entry = currententry->entry;
nentry->shared.modifiedsince = now;
nentry->priv.modifiedsince = now;
sdata.entry_list = nentry;
}
/* See if we are allowed to set the given attributes. */
- attribs = entries[entrycount].attribs;
+ attribs = currententry->entry->attribs;
av = e->attvalues;
while (av) {
const char *value;
@@ -1903,7 +2132,7 @@ int annotatemore_store(char *mailbox,
goto cleanup;
}
value = annotate_canon_value(av->value,
- entries[entrycount].type);
+ currententry->entry->type);
if (!value) {
r = IMAP_ANNOTATION_BADVALUE;
goto cleanup;
@@ -1929,7 +2158,7 @@ int annotatemore_store(char *mailbox,
goto cleanup;
}
value = annotate_canon_value(av->value,
- entries[entrycount].type);
+ currententry->entry->type);
if (!value) {
r = IMAP_ANNOTATION_BADVALUE;
goto cleanup;
diff -r b693d1281318 lib/imapoptions
--- a/lib/imapoptions Thu Oct 25 08:21:36 2007 +0200
+++ b/lib/imapoptions Thu Oct 25 08:24:37 2007 +0200
@@ -152,6 +152,9 @@ are listed with ``''.
user on their mailboxes? In a large organization this can cause
support problems, but it's enabled by default. */
+{ "annotation_definitions", NULL, STRING }
+/* File containing annotation definitions. */
+
{ "auth_mech", "unix", STRINGLIST("unix", "pts", "krb", "krb5")}
/* The authorization mechanism to use. */
--- NEW FILE: KOLAB_cyrus-imapd_2.3.10_Folder-names.patch ---
Modifies the set of accepted characters in folder names for the cyrus imapd server [Version: 2.3.9]
diff -r 6bcd324910d3 imap/mboxname.c
--- a/imap/mboxname.c Thu Oct 25 08:30:33 2007 +0200
+++ b/imap/mboxname.c Thu Oct 25 08:30:43 2007 +0200
@@ -700,8 +700,13 @@ int mboxname_netnewscheck(char *name)
/*
* Apply site policy restrictions on mailbox names.
* Restrictions are hardwired for now.
- */
+
+ * original definition
#define GOODCHARS " +,-.0123456789:=@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~"
+ */
+
+#define GOODCHARS " #$%'()*+,-.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"
+
int mboxname_policycheck(char *name)
{
unsigned i;
--- NEW FILE: KOLAB_cyrus-imapd_2.3.10_Groups.patch ---
Allows to use a file other than /etc/groups for group definitions within the cyrus imapd server [Version: 2.3.9]
diff -r e502c48f9ba9 lib/auth_unix.c
--- a/lib/auth_unix.c Thu Oct 25 08:10:12 2007 +0200
+++ b/lib/auth_unix.c Thu Oct 25 08:21:36 2007 +0200
@@ -48,12 +48,133 @@
#include
#include
#include
+#include
#include
#include
#include "auth.h"
#include "libcyr_cfg.h"
#include "xmalloc.h"
+
+#ifdef __FreeBSD__
+/*
+ * __getgrent.c - This file is part of the libc-8086/grp package for ELKS,
+ * Copyright (C) 1995, 1996 Nat Friedman .
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include
+#include
+#include
+
+static struct group *__getgrent(int grp_fd, char *line_buff, char **members)
+{
+ short line_index;
+ short buff_size;
+ static struct group group;
+ register char *ptr;
+ char *field_begin;
+ short member_num;
+ char *endptr;
+ int line_len;
+
+ /* We use the restart label to handle malformatted lines */
+ restart:
+ line_index = 0;
+ buff_size = 256;
+
+ line_buff = realloc(line_buff, buff_size);
+ while (1) {
+ if ((line_len = read(grp_fd, line_buff + line_index,
+ buff_size - line_index)) <= 0) {
+ return NULL;
+ }
+ field_begin = strchr(line_buff, '\n');
+ if (field_begin != NULL) {
+ lseek(grp_fd,
+ (long) (1 + field_begin -
+ (line_len + line_index + line_buff)), SEEK_CUR);
+ *field_begin = '\0';
+ if (*line_buff == '#' || *line_buff == ' '
+ || *line_buff == '\n' || *line_buff == '\t')
+ goto restart;
+ break;
+ } else {
+ /* Allocate some more space */
+ line_index = buff_size;
+ buff_size += 256;
+ line_buff = realloc(line_buff, buff_size);
+ }
+ }
+
+ /* Now parse the line */
+ group.gr_name = line_buff;
+ ptr = strchr(line_buff, ':');
+ if (ptr == NULL)
+ goto restart;
+ *ptr++ = '\0';
+
+ group.gr_passwd = ptr;
+ ptr = strchr(ptr, ':');
+ if (ptr == NULL)
+ goto restart;
+ *ptr++ = '\0';
+
+ field_begin = ptr;
+ ptr = strchr(ptr, ':');
+ if (ptr == NULL)
+ goto restart;
+ *ptr++ = '\0';
+
+ group.gr_gid = (gid_t) strtoul(field_begin, &endptr, 10);
+ if (*endptr != '\0')
+ goto restart;
+
+ member_num = 0;
+ field_begin = ptr;
+
+ if (members != NULL)
+ free(members);
+ members = (char **) malloc((member_num + 1) * sizeof(char *));
+ for ( ; field_begin && *field_begin != '\0'; field_begin = ptr) {
+ if ((ptr = strchr(field_begin, ',')) != NULL)
+ *ptr++ = '\0';
+ members[member_num++] = field_begin;
+ members = (char **) realloc(members,
+ (member_num + 1) * sizeof(char *));
+ }
+ members[member_num] = NULL;
+
+ group.gr_mem = members;
+ return &group;
+}
+
+static char *line_buff = NULL;
+static char **members = NULL;
+
+struct group *fgetgrent(FILE *file)
+{
+ if (file == NULL) {
+ errno = EINTR;
+ return NULL;
+ }
+ return __getgrent(fileno(file), line_buff, members);
+}
+#endif /* __FreeBSD__ */
struct auth_state {
char userid[81];
@@ -142,6 +263,25 @@ static char allowedchars[256] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
+static struct group* fgetgrnam(const char* name)
+{
+ struct group *grp;
+ FILE *groupfile;
+
+ groupfile = fopen("/etc/imapd.group", "r");
+ if (!groupfile) groupfile = fopen("/etc/group", "r");
+ if (groupfile) {
+ while ((grp = fgetgrent(groupfile))) {
+ if (strcasecmp(grp->gr_name, name) == 0) {
+ fclose(groupfile);
+ return grp;
+ }
+ }
+ }
+ if (groupfile) fclose(groupfile);
+ return NULL;
+}
+
/*
* Convert 'identifier' into canonical form.
* Returns a pointer to a static buffer containing the canonical form
@@ -177,7 +317,7 @@ size_t len;
*/
if (!strncmp(retbuf, "group:", 6)) {
- grp = getgrnam(retbuf+6);
+ grp = fgetgrnam(retbuf+6);
if (!grp) return 0;
strcpy(retbuf+6, grp->gr_name);
return retbuf;
@@ -228,6 +368,7 @@ static struct auth_state *mynewstate(con
int ret, ngroups = 0;
#else
char **mem;
+ FILE *groupfile;
#endif
identifier = mycanonifyid(identifier, 0);
@@ -286,20 +427,23 @@ err:
if (groupids) free(groupids);
#else /* !HAVE_GETGROUPLIST */
- setgrent();
- while ((grp = getgrent())) {
- for (mem = grp->gr_mem; *mem; mem++) {
- if (!strcmp(*mem, identifier)) break;
- }
-
- if (*mem || (pwd && pwd->pw_gid == grp->gr_gid)) {
- newstate->ngroups++;
- newstate->group = (char **)xrealloc((char *)newstate->group,
- newstate->ngroups * sizeof(char *));
- newstate->group[newstate->ngroups-1] = xstrdup(grp->gr_name);
- }
- }
- endgrent();
+ groupfile = fopen("/etc/imapd.group", "r");
+ if (!groupfile) groupfile = fopen("/etc/group", "r");
+ if (groupfile) {
+ while ((grp = fgetgrent(groupfile))) {
+ for (mem = grp->gr_mem; *mem; mem++) {
+ if (!strcasecmp(*mem, identifier)) break;
+ }
+
+ if (*mem || (pwd && pwd->pw_gid == grp->gr_gid)) {
+ newstate->ngroups++;
+ newstate->group = (char **)xrealloc((char *)newstate->group,
+ newstate->ngroups * sizeof(char *));
+ newstate->group[newstate->ngroups-1] = xstrdup(grp->gr_name);
+ }
+ }
+ fclose(groupfile);
+ }
#endif /* HAVE_GETGROUPLIST */
return newstate;
--- NEW FILE: KOLAB_cyrus-imapd_2.3.10_Logging.patch ---
Provides improved logging for the cyrus imapd server [Version: 2.3.9]
diff -r e60d8aee10e9 imap/append.c
--- a/imap/append.c Thu Oct 25 08:30:15 2007 +0200
+++ b/imap/append.c Thu Oct 25 08:30:23 2007 +0200
@@ -648,6 +648,9 @@ int append_fromstage(struct appendstate
/* ok, we've successfully added a message */
as->quota_used += message_index.size;
+
+ syslog(LOG_DEBUG, "append_fromstage: message %d added to %s",
+ message_index.uid, mailbox->name );
return 0;
}
diff -r e60d8aee10e9 imap/imapd.c
--- a/imap/imapd.c Thu Oct 25 08:30:15 2007 +0200
+++ b/imap/imapd.c Thu Oct 25 08:30:23 2007 +0200
@@ -3510,17 +3510,19 @@ void cmd_close(char *tag)
if (!r) sync_log_mailbox(imapd_mailbox->name);
}
+ if (r) {
+ prot_printf(imapd_out, "%s NO %s\r\n", tag, error_message(r));
+ }
+ else {
+ prot_printf(imapd_out, "%s OK %s\r\n", tag,
+ error_message(IMAP_OK_COMPLETED));
+ syslog(LOG_DEBUG, "cmd_expunge: user %s, mailbox %s, sequence %s",
+ imapd_userid, imapd_mailbox->name, "''");
+ }
+
index_closemailbox(imapd_mailbox);
mailbox_close(imapd_mailbox);
imapd_mailbox = 0;
-
- if (r) {
- prot_printf(imapd_out, "%s NO %s\r\n", tag, error_message(r));
- }
- else {
- prot_printf(imapd_out, "%s OK %s\r\n", tag,
- error_message(IMAP_OK_COMPLETED));
- }
}
/*
diff -r e60d8aee10e9 imap/mailbox.c
--- a/imap/mailbox.c Thu Oct 25 08:30:15 2007 +0200
+++ b/imap/mailbox.c Thu Oct 25 08:30:23 2007 +0200
@@ -2520,6 +2520,8 @@ int mailbox_expunge(struct mailbox *mail
*(fname->tail)++ = '/';
fname->len++;
for (msgno = 0; msgno < numdeleted; msgno++) {
+ syslog(LOG_DEBUG, "mailbox_expunge: removing mail %s:%d",
+ mailbox->name, deleted[msgno]);
mailbox_message_get_fname(mailbox, deleted[msgno],
fname->tail,
sizeof(fname->buf) - fname->len);
--- NEW FILE: KOLAB_cyrus-imapd_2.3.10_UID.patch ---
Allows login by uid rather than the mail address on the cyrus imapd server [Version: 2.3.9]
diff -r d62bf3b0902d configure
--- a/configure Thu Oct 25 08:30:57 2007 +0200
+++ b/configure Thu Oct 25 08:31:06 2007 +0200
@@ -18119,7 +18119,7 @@ done
done
IMAP_COM_ERR_LIBS="${COM_ERR_LIBS}"
-IMAP_LIBS="${LIB_SASL} ${LIBS}"
+IMAP_LIBS="${LIB_SASL} -lldap -llber ${LIBS}"
diff -r d62bf3b0902d imap/global.c
--- a/imap/global.c Thu Oct 25 08:30:57 2007 +0200
+++ b/imap/global.c Thu Oct 25 08:31:06 2007 +0200
@@ -52,6 +52,9 @@
#include
#include
+#include
+#include
+
#if HAVE_UNISTD_H
# include
#endif
@@ -362,6 +365,18 @@ char *canonify_userid(char *user, char *
char *domain = NULL;
int len = strlen(user);
char buf[81];
+ const char *uri;
+ const char *base;
+ const char *binddn;
+ const char *bindpw;
+ struct timeval timeout;
+ char filter[255];
+ LDAP *handle;
+ LDAPMessage *res;
+ LDAPMessage *entry;
+ char ** vals;
+
+ int rc;
/* check for domain */
if (config_virtdomains &&
@@ -380,6 +395,47 @@ char *canonify_userid(char *user, char *
}
if (config_virtdomains) {
+ if (config_virtdomains == IMAP_ENUM_VIRTDOMAINS_LDAP) {
+ uri = config_getstring(IMAPOPT_LDAP_URI);
+ base = config_getstring(IMAPOPT_LDAP_BASE);
+ binddn = config_getstring(IMAPOPT_LDAP_BIND_DN);
+ bindpw = config_getstring(IMAPOPT_LDAP_PASSWORD);
+ timeout.tv_sec = config_getint(IMAPOPT_LDAP_TIME_LIMIT);
+ timeout.tv_usec = 0;
+ sprintf(filter, "(uid=%s)", user);
+ rc = ldap_initialize(&handle, uri);
+ if (rc != LDAP_SUCCESS) {
+ syslog(LOG_ERR, "ldap_initialize failed (%s)", uri);
+ } else {
+ rc = ldap_simple_bind_s(handle, binddn, bindpw);
+ if (rc != LDAP_SUCCESS) {
+ syslog(LOG_ERR, "ldap_simple_bind() failed %d (%s)", rc, ldap_err2string(rc));
+ } else {
+ rc = ldap_search_st(handle, base, LDAP_SCOPE_SUBTREE, filter, NULL, 0, &timeout, &res);
+ if (rc != LDAP_SUCCESS) {
+ syslog(LOG_ERR, "ldap_search_st failed %d (%s)", rc, ldap_err2string(rc));
+ } else {
+ if ( (entry = ldap_first_entry(handle, res)) != NULL ) {
+ // read mail attribute from entry
+ if ( (vals = ldap_get_values(handle, entry, "mail")) ) {
+ if (strchr(vals[0], '@')) {
+ static char buf[81]; /* same size as in auth_canonifyid */
+ strncpy( buf, vals[0], sizeof(buf) );
+ buf[80] = '\0'; /* make sure it's null-terminated */
+ ldap_value_free( vals );
+ ldap_msgfree( res );
+ ldap_unbind_s(handle); /* also frees handle */
+ return auth_canonifyid( buf, 0) ;
+ }
+ ldap_value_free( vals );
+ }
+ }
+ ldap_msgfree( res );
+ }
+ }
+ ldap_unbind_s(handle); /* also frees handle */
+ }
+ }
if (domain) {
if (config_defdomain && !strcasecmp(config_defdomain, domain+1)) {
*domain = '\0'; /* trim the default domain */
@@ -392,7 +448,7 @@ char *canonify_userid(char *user, char *
user = buf;
}
}
- else if (config_virtdomains != IMAP_ENUM_VIRTDOMAINS_USERID) {
+ else if (config_virtdomains != IMAP_ENUM_VIRTDOMAINS_USERID && config_virtdomains != IMAP_ENUM_VIRTDOMAINS_LDAP) {
socklen_t salen;
int error;
struct sockaddr_storage localaddr;
diff -r d62bf3b0902d lib/imapoptions
--- a/lib/imapoptions Thu Oct 25 08:30:57 2007 +0200
+++ b/lib/imapoptions Thu Oct 25 08:31:06 2007 +0200
@@ -1034,7 +1034,7 @@ are listed with ``''.
mailbox hierarchy. The default is to use the netnews separator
character '.'. */
-{ "virtdomains", "off", ENUM("off", "userid", "on") }
+{ "virtdomains", "off", ENUM("off", "userid", "ldap", "on") }
/* Enable virtual domain support. If enabled, the user's domain will
be determined by splitting a fully qualified userid at the last '@'
or '%' symbol. If the userid is unqualified, and the virtdomains
From cvs at kolab.org Thu Oct 25 17:47:06 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 25 Oct 2007 17:47:06 +0200 (CEST)
Subject: bernhard: doc/wwwkroupware/src/news pr-20030725.html,1.5,1.6
Message-ID: <20071025154706.ACB40602A24@lists.intevation.de>
Author: bernhard
Update of /kolabrepository/doc/wwwkroupware/src/news
In directory doto:/tmp/cvs-serv11396
Modified Files:
pr-20030725.html
Log Message:
Fixing links as we do not have kroupware.org anymore, so all should point
to kroupware.kolab.org instead.
Index: pr-20030725.html
===================================================================
RCS file: /kolabrepository/doc/wwwkroupware/src/news/pr-20030725.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- pr-20030725.html 28 Jul 2003 18:32:28 -0000 1.5
+++ pr-20030725.html 25 Oct 2007 15:47:04 -0000 1.6
@@ -2,7 +2,7 @@
Kroupware Project finished -- Kolab emerges, PR July 25th, 2003
-Back to kroupware.org
+Back to kroupware.kolab.org
@@ -37,7 +37,7 @@
The Kolab system offers common asynchronous groupware functions
such as email, group calendaring, notes and tasks.
Stable releases of the software can be downloaded from the
-website.
+website.
From cvs at kolab.org Thu Oct 25 17:58:03 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 25 Oct 2007 17:58:03 +0200 (CEST)
Subject: thomas: server README.1st,1.63,1.64
Message-ID: <20071025155803.4B448602A28@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv11863
Modified Files:
README.1st
Log Message:
removed beta / not recommended for production hint from README
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- README.1st 19 Oct 2007 17:17:19 -0000 1.63
+++ README.1st 25 Oct 2007 15:58:01 -0000 1.64
@@ -8,8 +8,6 @@
http://kolab.org/mailman/listinfo/kolab-announce
to receive security advisories and release announcements.
-* This development snapshot is not recommended for use in production! *
-
Quick install instructions
--------------------------
From cvs at kolab.org Thu Oct 25 18:13:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 25 Oct 2007 18:13:47 +0200 (CEST)
Subject: thomas: server cvs-kolab.sh,1.16,1.17 install-kolab.sh,1.12,1.13
Message-ID: <20071025161347.8ED30602A24@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv12409
Modified Files:
cvs-kolab.sh install-kolab.sh
Log Message:
Added copyright and license for install-kolab.sh and cvs-kolab.sh
Index: cvs-kolab.sh
===================================================================
RCS file: /kolabrepository/server/cvs-kolab.sh,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- cvs-kolab.sh 17 Oct 2007 13:27:34 -0000 1.16
+++ cvs-kolab.sh 25 Oct 2007 16:13:45 -0000 1.17
@@ -1,4 +1,14 @@
#!/bin/bash
+#
+# $Id$
+#
+# Copyright (C) 2007 by Gunnar Wrobel
+#
+# Authors:
+# Gunnar Wrobel
+# Thomas Arendsen Hein
+#
+# This program is free software under the GNU GPL (>=v2)
KOLAB_PACKAGES=/kolab-packages
KOLAB_DEV_USER=kolabdevel
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- install-kolab.sh 19 Oct 2007 16:48:34 -0000 1.12
+++ install-kolab.sh 25 Oct 2007 16:13:45 -0000 1.13
@@ -1,4 +1,15 @@
#!/bin/sh
+#
+# $Id$
+#
+# Copyright (C) 2007 by Intevation GmbH
+# Copyright (C) 2007 by Gunnar Wrobel
+#
+# Authors:
+# Thomas Arendsen Hein
+# Gunnar Wrobel
+#
+# This program is free software under the GNU GPL (>=v2)
KOLAB_VERSION="2.2-beta2"
KID="19414"
From cvs at kolab.org Thu Oct 25 18:24:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 25 Oct 2007 18:24:20 +0200 (CEST)
Subject: thomas: server install-kolab.sh,1.13,1.14
Message-ID: <20071025162420.26BFA602A24@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv12829
Modified Files:
install-kolab.sh
Log Message:
install-kolab.sh: print usage on unknown options. Return 0 on -h (help).
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- install-kolab.sh 25 Oct 2007 16:13:45 -0000 1.13
+++ install-kolab.sh 25 Oct 2007 16:24:18 -0000 1.14
@@ -62,13 +62,13 @@
echo
echo " -B (abort after generating the basic openpkg binary)"
echo " -E (abort after generating the openpkg environment)"
- exit 1
}
while getopts hcBDSEFHi:V:p:I:u:t: ARGS; do
case $ARGS in
h) # Display help
usage
+ exit 0
;;
i) # What should be installed?
INSTALL="$OPTARG"
@@ -110,7 +110,9 @@
FLAG_SDIST="Yes"
;;
*) # Unknown Option
-
+ echo
+ usage
+ exit 1
;;
esac
done
From cvs at kolab.org Fri Oct 26 15:31:31 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 26 Oct 2007 15:31:31 +0200 (CEST)
Subject: thomas: server README.1st,1.64,1.65
Message-ID: <20071026133131.19EFA60C4AB@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv17559
Modified Files:
README.1st
Log Message:
Extended disk space recommendations, moved OpenPKG docs link to post-install.
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- README.1st 25 Oct 2007 15:58:01 -0000 1.64
+++ README.1st 26 Oct 2007 13:31:28 -0000 1.65
@@ -12,14 +12,21 @@
Quick install instructions
--------------------------
-For a fresh install /kolab needs to be an empty directory with at least 2GB of
-free disk space. You can use a symlink, but do _not_ use an NFS mounted drive.
-If the directory does not yet exist, it will automatically be created.
-Make sure that the following names are not in /etc/passwd or /etc/groups,
-as openpkg will want to create them: "kolab" "kolab-r" "kolab-n"
+Kolab server with Horde needs about 1GB of disk space for the initial
+install. By default the directory /kolab will be used, which should be
+an empty directory or a symbolic link to an empty directory. If this
+directory does not yet exist, it will be automatically created.
-Check http://www.openpkg.org/documentation/ for additional documentation
-for the OpenPKG packaging system.
+For production use it is recommended to create a separate partition for
+/kolab (2GB to have some spare) and partitions for /kolab/var (at least
+2GB for log files, virus filtering and caches) and /kolab/var/imapd/spool
+(with enough space for your users' mails). For evaluation you could
+start with the 2GB partition for /kolab (or 2GB free space on / if you
+only have one big partition for your test system) and create the other
+partitions when needed. Do _not_ use an NFS mounted drive!
+
+Make sure that the following names are not in /etc/passwd or /etc/groups,
+as OpenPKG will want to create them: "kolab" "kolab-r" "kolab-n"
To install the Kolab server, you need to download the files from the
directory containing this file (1st.README) to some local directory.
@@ -57,6 +64,9 @@
# /kolab/etc/kolab/kolab_bootstrap -b
and follow the instructions.
+
+Check http://www.openpkg.org/documentation/ for additional documentation
+about the OpenPKG packaging system.
General update instructions
From cvs at kolab.org Fri Oct 26 15:45:40 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 26 Oct 2007 15:45:40 +0200 (CEST)
Subject: thomas: server README.1st,1.65,1.66
Message-ID: <20071026134540.A576D60C4AA@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv17814
Modified Files:
README.1st
Log Message:
README: cdrom install example, Horde load discussion, wiki link for upgrading
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- README.1st 26 Oct 2007 13:31:28 -0000 1.65
+++ README.1st 26 Oct 2007 13:45:37 -0000 1.66
@@ -48,12 +48,17 @@
directory, so if you want to keep this directory clean or install
install packages from a read-only location (e.g. CD-ROM), you can create
a new directory and pass the path to the packages to the script using
-the -i option:
+the -i option, e.g.:
-# /path/to/packages/install-kolab.sh -H -F -i /path/to/packages
+# /media/cdrom/sources/install-kolab.sh -H -F -i /media/cdrom/sources
If you do not want to install the Horde groupware client and/or the
-free/busy view tool, you can drop the flag "-H" and/or "-F".
+
+Horde might create much load on your server if there are many concurrent
+users, so you can choose to not install it by dropping the flag "-H".
+Installing Horde on a separate host is possible, but not discussed here.
+
+If you do not want to install the free/busy view tool, remove the "-F".
By default, the Kolab server will now be started at boottime, so you
have to bootstrap the server configuration now to prevent unconfigured
@@ -135,8 +140,9 @@
Upgrade from Kolab server 2.1 or before
---------------------------------------
-Instructions for upgrading from Kolab server 2.0 or 2.1 will be added
-in a future version of this document.
+Instructions for upgrading from Kolab server 2.0 or 2.1 will be added in
+a future version of this document. Additional hints may be available in
+the Kolab wiki: http://wiki.kolab.org/index.php/Kolab2_Upgrading
Direct upgrade from Kolab1 is not supported. We suggest that you back up
your IMAP store, install Kolab2 and manually recreate user accounts and
From cvs at kolab.org Fri Oct 26 16:51:49 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 26 Oct 2007 16:51:49 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.131.2.10,1.131.2.11
Message-ID: <20071026145149.233DE60C4AD@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv19086
Modified Files:
Tag: kolab_2_1_branch
release-notes.txt
Log Message:
formatting updates
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.131.2.10
retrieving revision 1.131.2.11
diff -u -d -r1.131.2.10 -r1.131.2.11
--- release-notes.txt 23 Oct 2007 09:14:10 -0000 1.131.2.10
+++ release-notes.txt 26 Oct 2007 14:51:47 -0000 1.131.2.11
@@ -42,9 +42,11 @@
Show component and log level when sending debug log to stdout.
- kolab/issue26 (Allow to bind to specific IPs)
- kolab/issue1679 (Update template META mechanism to support service restarts)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue1679 (Update template META mechanism to support service
+ restarts)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
- kolabd-2.1.0-2007????
@@ -56,15 +58,21 @@
Disabled spamd, hourly instead of daily clamav updates.
- kolab/issue26 (Allow to bind to specific IPs)
- kolab/issue919 (kolab server has problems with some characters in passwords)
- kolab/issue1025 (loading policy bank "MYUSERS": unknown field "mynetworks")
- kolab/issue1126 (ldap_simple_bind() failed and Domain/Realm not available) - partial fix
- kolab/issue1679 (Update template META mechanism to support service restarts)
+ kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue919 (kolab server has problems with some characters in
+ passwords)
+ kolab/issue1025 (loading policy bank "MYUSERS": unknown field
+ "mynetworks")
+ kolab/issue1126 (ldap_simple_bind() failed and Domain/Realm not
+ available) - partial fix
+ kolab/issue1679 (Update template META mechanism to support service
+ restarts)
kolab/issue1693 (Automatically trigger f/b cache regeneration)
kolab/issue1804 (Several files apparently missing in kolabd package)
- kolab/issue1861 (imapd.conf.template: primary domain listed twice in loginrealms)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1861 (imapd.conf.template: primary domain listed twice in
+ loginrealms)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
- kolab-resource-handlers-2.1.0-2007????
@@ -72,28 +80,32 @@
Added missing Makefile dependencies
- kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1693 (Automatically trigger f/b cache regeneration)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
- kolab-webadmin-2.1.0-2007????
Added missing Makefile dependencies
- kolab/issue932 (Illegal values in webadmin cause LDAP errors)
+ kolab/issue932 (Illegal values in webadmin cause LDAP errors)
kolab/issue1162 (Misplaced title field in webinterface)
kolab/issue1610 (Use for forms in webadmin)
kolab/issue1615 (Use also for login page)
kolab/issue1618 (Add missing headings)
kolab/issue1619 (Add CSS file for printing)
kolab/issue1620 (fix invalid XHTML in form.class.php)
- kolab/issue1694 (Unable to modify the folder type of an already created shared folder)
+ kolab/issue1694 (Unable to modify the folder type of an already
+ created shared folder)
kolab/issue1742 (Do not modify the objectclasses of an existing object)
- kolab/issue1744 (No "User Deleted, awaiting cleanup" for admins and domain maintainers)
+ kolab/issue1744 (No "User Deleted, awaiting cleanup" for admins and
+ domain maintainers)
kolab/issue1781 (Spanish PO File Translation)
kolab/issue1797 (kolab-webadmin source package missing PO files)
kolab/issue1845 (incorrect check mailForDn for ldap results)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
Changes between 2.1-rc-2 and 2.1.0:
@@ -106,11 +118,12 @@
- amavisd-2.3.3-2.5.0_kolab
- kolab/issue1447 (Virus Scanning: Inserted note when partially scanned ugly)
+ kolab/issue1447 (Virus Scanning: Inserted note when partially scanned
+ ugly)
- kolabd-2.1.0-20070510
- kolab/issue974 (Localize the text for rewritten From: headers)
+ kolab/issue974 (Localize the text for rewritten From: headers)
kolab/issue1560 (postfix modifies message/rfc822 MIME parts)
kolab/issue1608 (A patch for kolabd to include the horde LDAP schema)
@@ -119,7 +132,7 @@
Generate a single To: header listing all recipients when forwarding
encapsulated iCal messages.
- kolab/issue974 (Localize the text for rewritten From: headers)
+ kolab/issue974 (Localize the text for rewritten From: headers)
kolab/issue1422 (Dummy freebusy info)
- kolab-webadmin-2.1.0-20070510
@@ -132,7 +145,8 @@
- apache-1.3.33-2.5.6_kolab2
- kolab/issue1607 (need to replace gdbm for pfbcache, because of license clash gdbm vs php)
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
- clamav-0.90.2-20070413_kolab
@@ -141,7 +155,8 @@
- file-4.15-2.5.0_kolab2
Fix for security issue described in CVE-2007-1536:
- buffer overflow, remotely exploitable due to the usage of file in amavisd-new
+ buffer overflow, remotely exploitable due to the usage of file in
+ amavisd-new
- fsl-1.7.0-20070303
@@ -151,7 +166,8 @@
- php-4.4.0-2.5.2_kolab2
- kolab/issue1607 (need to replace gdbm for pfbcache, because of license clash gdbm vs php)
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
- spamassassin-3.1.0-2.5.1_kolab
@@ -182,9 +198,12 @@
Updated cyrus imapd configuration to use cyr_expire.
- kolab/issue954 (kolab server rejects mails that should be marked untrusted)
- kolab/issue1538 (outlook invitation forwarding broken in Kolab server 2.1)
- kolab/issue1607 (need to replace gdbm for pfbcache, because of license clash gdbm vs php)
+ kolab/issue954 (kolab server rejects mails that should be marked
+ untrusted)
+ kolab/issue1538 (outlook invitation forwarding broken in Kolab server
+ 2.1)
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
kolab/issue1609 ("kolab --help" tries to execute *all* commands)
kolab/issue1638 (kolabconf generates broken resmgr.conf)
kolab/issue1680 (/kolab/bin/kolab fix)
@@ -197,10 +216,14 @@
Improved logging for opening pfbcache.db
- kolab/issue954 (kolab server rejects mails that should be marked untrusted)
- kolab/issue1538 (outlook invitation forwarding broken in Kolab server 2.1)
- kolab/issue1607 (need to replace gdbm for pfbcache, because of license clash gdbm vs php)
- kolab/issue1659 (Freebusy assumes that all day events last exactly one day)
+ kolab/issue954 (kolab server rejects mails that should be marked
+ untrusted)
+ kolab/issue1538 (outlook invitation forwarding broken in Kolab server
+ 2.1)
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
+ kolab/issue1659 (Freebusy assumes that all day events last exactly one
+ day)
- kolab-webadmin-2.1.0-20070420
@@ -208,12 +231,17 @@
kolab/issue1457 (updated French translation)
kolab/issue1612 (modify user ignores account type)
- kolab/issue1614 (ldap_add() - Constraint violation on change user account type)
- kolab/issue1630 (Domain maintainer can see distribution lists from other domains)
+ kolab/issue1614 (ldap_add() - Constraint violation on change user
+ account type)
+ kolab/issue1630 (Domain maintainer can see distribution lists from
+ other domains)
kolab/issue1652 (Import users from ldif and LDAP Constraint violation)
- kolab/issue1654 (New LDAP overlay prevents modification of distribution lists)
- kolab/issue1663 (It is possible to create domain maintainers without domains)
- kolab/issue1670 (Renaming a domain maintainer twice within the same form fails)
+ kolab/issue1654 (New LDAP overlay prevents modification of
+ distribution lists)
+ kolab/issue1663 (It is possible to create domain maintainers without
+ domains)
+ kolab/issue1670 (Renaming a domain maintainer twice within the same
+ form fails)
Changes between 2.1-beta-4 and 2.1-rc-1:
@@ -221,9 +249,11 @@
- kolabd-2.0.99-20070205
kolab/issue1335 (pfbcache.db locking problems)
- kolab/issue1507 (Public viewable phpinfo() and more in Server default installation)
+ kolab/issue1507 (Public viewable phpinfo() and more in Server default
+ installation)
kolab/issue1550 (Masquerade problem, corrected template)
- kolab/issue1563 (freebusy.conf template doesn't match freebusy.conf from package)
+ kolab/issue1563 (freebusy.conf template doesn't match freebusy.conf
+ from package)
kolab/issue1575 (Openldap enhanced data integrity)
- kolab-webadmin-2.0.99-20070205
@@ -231,12 +261,16 @@
Disabled Spanish language selection from web admin interface, because
of missing translation.
- kolab/issue1479 ("Type" of shared folder can only be modified in 2nd try)
+ kolab/issue1479 ("Type" of shared folder can only be modified in 2nd
+ try)
kolab/issue1486 ("About Kolab" in Webinterface needs work over)
- kolab/issue1539 (extension to the opening text, when the manager logs in for the 1st time)
+ kolab/issue1539 (extension to the opening text, when the manager logs
+ in for the 1st time)
kolab/issue1559 (Domain Maintainer cannot delete "his" users)
- kolab/issue1586 ("Required field" not translated to German in web admin)
- kolab/issue1592 (LANGUAGE variable overrides web admin language selection)
+ kolab/issue1586 ("Required field" not translated to German in web
+ admin)
+ kolab/issue1592 (LANGUAGE variable overrides web admin language
+ selection)
Changes between 2.1-beta-3 and 2.1-beta-4:
@@ -257,7 +291,8 @@
kolab/issue1433 (Some files in /kolab/etc/postfix have wrong ownership)
kolab/issue1484 (Warnings using openldap = 2.3.27-2.20061018_kolab)
kolab/issue1487 (amavisd.conf mynetworks incomplete)
- kolab/issue1531 (amavisd.conf local_domains only contains primary domain)
+ kolab/issue1531 (amavisd.conf local_domains only contains primary
+ domain)
kolab/issue1532 (Set "duplicatesuppression: 0" in imapd.conf.template?)
- kolab-horde-fbview-2.0.99-20070112
@@ -276,7 +311,8 @@
kolab/issue1013 (user passwords sha1 encoded without salt)
kolab/issue1262 (Setting quota to 4096+ MB breaks message delivery)
- kolab/issue1418 (fields visible even when attribute_access is "hidden" in session_vars.php)
+ kolab/issue1418 (fields visible even when attribute_access is "hidden"
+ in session_vars.php)
kolab/issue1540 (Typo on kolab/admin/service page)
kolab/issue1555 (Login screen shows error msg for no good reason)
@@ -420,10 +456,9 @@
- perl-kolab-5.8.7-20060619
- Resolved:
- Issue1194 (kolabd quota performance)
- Issue1220 (postfix permissions)
- issue1237 (Handling of @@@var@@@ in Conf.pm (Gunnar Wrobel))
+ kolab/issue1194 (kolabd quota performance)
+ kolab/issue1220 (postfix permissions)
+ kolab/issue1237 (Handling of @@@var@@@ in Conf.pm (Gunnar Wrobel))
- kolabd-2.0.99-20060619
@@ -434,35 +469,32 @@
* amavis now logs to /kolab/var/amavisd/amavisd.log. This is
part of the fix for Issue1015
- Resolved:
- Issue1015 (fixing logging and logrotate for amavisd)
- Issue1089 (enable hashimapspool for imapd to cope with many users)
- Issue1101 (allowapop: no; disable apop access to imapd by default)
- Issue1105 (fix compilation of kolabd on FreeBSD)
- Issue1257 (wrong attribute name for imap quota)
+ kolab/issue1015 (fixing logging and logrotate for amavisd)
+ kolab/issue1089 (enable hashimapspool for imapd to cope with many users)
+ kolab/issue1101 (allowapop: no; disable apop access to imapd by default)
+ kolab/issue1105 (fix compilation of kolabd on FreeBSD)
+ kolab/issue1257 (wrong attribute name for imap quota)
- kolab-webadmin-2.0.99-20060619
* patch from Tobias König in order to support setting of
foldertype for public folders
- Resolved:
- Issue848 (Modifying address book entry may break distribution list)
- Issue1106 (email validation in webgui)
- Issue1214 (number of days for vacation messages on webinterface)
- Issue1263 (Bug in the shared folders folder-type code) [Wrobel]
+ kolab/issue848 (Modifying address book entry may break distribution list)
+ kolab/issue1106 (email validation in webgui)
+ kolab/issue1214 (number of days for vacation messages on webinterface)
+ kolab/issue1263 (Bug in the shared folders folder-type code) [Wrobel]
- kolab-resource-handlers-2.0.99-20060619
* create empty pfbcache.db if missing
- Resolved:
- Issue973 (quoting and rewriting From header)
- Issue966 (Wrong CN for resource accounts)
- Issue1042 (server modifies email content)
- Issue1195 (error message in bounce)
- Issue1243 (rewriting fails when "From:" contains quoted printable)
- Issue1245 (rewriting problems on folded Header "From:"-line)
+ kolab/issue973 (quoting and rewriting From header)
+ kolab/issue966 (Wrong CN for resource accounts)
+ kolab/issue1042 (server modifies email content)
+ kolab/issue1195 (error message in bounce)
+ kolab/issue1243 (rewriting fails when "From:" contains quoted printable)
+ kolab/issue1245 (rewriting problems on folded Header "From:"-line)
$Id$
From cvs at kolab.org Fri Oct 26 16:55:29 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 26 Oct 2007 16:55:29 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.161,1.162
Message-ID: <20071026145529.2962460C4AD@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv19174
Modified Files:
release-notes.txt
Log Message:
formatting updates
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.161
retrieving revision 1.162
diff -u -d -r1.161 -r1.162
--- release-notes.txt 23 Oct 2007 09:17:44 -0000 1.161
+++ release-notes.txt 26 Oct 2007 14:55:27 -0000 1.162
@@ -69,26 +69,30 @@
Converted the package into a standard perl library package.
- kolab/issue26 (Allow to bind to specific IPs)
- kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
- php-kolab-2.2.beta2-20071018
- kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1637 (Recurrency issues)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
- kolabconf-2.2.beta2-20071018
New package that holds the kolabconf script.
- Added mechanism to allow config variable replacement in the META section.
+ Added mechanism to allow config variable replacement in the META
+ section.
- kolab/issue26 (Allow to bind to specific IPs)
- kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
kolab/issue1879 (kolabconf poor error message in buildCyrusConfig)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
- kolabd-2.1.99-20071018
@@ -121,41 +125,48 @@
The emailserver_socket is stored in $(libexecdir) and not in
$(libdir). This fixes an x86_64 issue.
- kolab/issue26 (Allow to bind to specific IPs)
- kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
- kolab/issue1025 (loading policy bank "MYUSERS": unknown field "mynetworks")
+ kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue1025 (loading policy bank "MYUSERS": unknown field
+ "mynetworks")
kolab/issue1686 (Remove WebDAV Support)
- kolab/issue1796 (httpd.conf : MISSING Include "/kolab/etc/apache/apache.d/*.conf")
+ kolab/issue1796 (httpd.conf : MISSING Include
+ "/kolab/etc/apache/apache.d/*.conf")
kolab/issue1804 (Several files apparently missing in kolabd package)
kolab/issue1805 (Uncleaned files in kolabd source package)
kolab/issue1811 (Spurious files in CVS, kolabd directory)
- kolab/issue1861 (imapd.conf.template: primary domain listed twice in loginrealms)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1861 (imapd.conf.template: primary domain listed twice in
+ loginrealms)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
kolab/issue1895 (switch from virtual_maps to virtual_alias_maps)
kolab/issue2038 (additional sieve extensions)
- kolab-filter-2.2.beta2-20071018
- kolab/issue26 (Allow to bind to specific IPs)
+ kolab/issue26 (Allow to bind to specific IPs)
kolab/issue1606 (Allow to run kolab-resource-handlers with PHP cgi)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
- kolab-webadmin-2.1.99-20071018
Clarify web admin description for HTTP FreeBusy switch
(with updated German translation)
- kolab/issue932 (Illegal values in webadmin cause LDAP errors)
- kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
+ kolab/issue932 (Illegal values in webadmin cause LDAP errors)
+ kolab/issue934 (Remove FTP FreeBusy Service (proftpd))
kolab/issue1162 (Misplaced title field in webinterface)
kolab/issue1246 (Permission handling in the webadmin frontend)
kolab/issue1611 ([webadmin] page.tpl use no valid XHTML)
- kolab/issue1694 (Unable to modify the folder type of an already created shared folder)
+ kolab/issue1694 (Unable to modify the folder type of an already
+ created shared folder)
kolab/issue1781 (Spanish PO File Translation)
kolab/issue1797 (kolab-webadmin source package missing PO files)
kolab/issue1800 (kolab-webadmin debian dist_conf smarty location)
kolab/issue1845 (incorrect check mailForDn for ldap results)
- kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG installation)
+ kolab/issue1862 (dist_conf/kolab: Use settings from OpenPKG
+ installation)
Packages in the OpenPKG based Kolab server release:
@@ -164,8 +175,8 @@
Removed:
- kolab-horde-fbview (now fbview-horde and fbview-kronolith)
- kolab-resource-handlers (now kolab-filter, kolab-freebusy and php-kolab)
+ kolab-horde-fbview (now fbview-horde, fbview-kronolith)
+ kolab-resource-handlers (now kolab-filter, kolab-freebusy, php-kolab)
Added:
@@ -323,13 +334,17 @@
- perl-kolab-5.8.8-20070608
- kolab/issue1679 (Update template META mechanism to support service restarts)
+ kolab/issue1679 (Update template META mechanism to support service
+ restarts)
- kolabd-2.1.99-20070612
- kolab/issue919 (kolab server has problems with some characters in passwords)
- kolab/issue1126 (ldap_simple_bind() failed and Domain/Realm not available) - partial fix
- kolab/issue1679 (Update template META mechanism to support service restarts)
+ kolab/issue919 (kolab server has problems with some characters in
+ passwords)
+ kolab/issue1126 (ldap_simple_bind() failed and Domain/Realm not
+ available) - partial fix
+ kolab/issue1679 (Update template META mechanism to support service
+ restarts)
kolab/issue1693 (Automatically trigger f/b cache regeneration)
- kolab-resource-handlers-2.1.99-20070612
@@ -346,7 +361,8 @@
kolab/issue1619 (Add CSS file for printing)
kolab/issue1620 (fix invalid XHTML in form.class.php)
kolab/issue1742 (Do not modify the objectclasses of an existing object)
- kolab/issue1744 (No "User Deleted, awaiting cleanup" for admins and domain maintainers)
+ kolab/issue1744 (No "User Deleted, awaiting cleanup" for admins and
+ domain maintainers)
$Id$
From cvs at kolab.org Fri Oct 26 16:57:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 26 Oct 2007 16:57:25 +0200 (CEST)
Subject: thomas: server release-notes.txt,1.162,1.163
Message-ID: <20071026145725.70740602A4F@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv19243
Modified Files:
release-notes.txt
Log Message:
Added release notes from server 2.1.0
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -d -r1.162 -r1.163
--- release-notes.txt 26 Oct 2007 14:55:27 -0000 1.162
+++ release-notes.txt 26 Oct 2007 14:57:23 -0000 1.163
@@ -365,4 +365,418 @@
domain maintainers)
+-------------------------------------------------------------------------------
+
+Differences between Kolab 2.0 and 2.1:
+
+ - Simple multi-domain support
+
+ The Kolab server can now accept mail for multiple email domains.
+ There is also a new class of maintainers which are only allowed
+ to manage settings for a subset of the mail domains of the kolab
+ server.
+
+ - Hashed IMAP spool
+
+ The default imapd configuration has been changed to enable the
+ hashimapspool option, which allows the Cyrus IMAP server to run
+ more efficiently especially when you have many mailboxes.
+
+ - Improvements, bugfixes and upgraded software components
+
+ The 2.1 release received many improvements and bugfixes for issues
+ found in the 2.0 versions and during the long beta and rc phase.
+ Additionally many software components have been upgraded to new
+ upstream versions.
+
+
+Changes between 2.1-rc-2 and 2.1.0:
+
+ - Documentation
+
+ Documented workaround for libdb3 conflict in README.1st
+
+ Added instructions for automatically upgrading the free/busy cache.
+
+ - amavisd-2.3.3-2.5.0_kolab
+
+ kolab/issue1447 (Virus Scanning: Inserted note when partially scanned
+ ugly)
+
+ - kolabd-2.1.0-20070510
+
+ kolab/issue974 (Localize the text for rewritten From: headers)
+ kolab/issue1560 (postfix modifies message/rfc822 MIME parts)
+ kolab/issue1608 (A patch for kolabd to include the horde LDAP schema)
+
+ - kolab-resource-handlers-2.1.0-20070510
+
+ Generate a single To: header listing all recipients when forwarding
+ encapsulated iCal messages.
+
+ kolab/issue974 (Localize the text for rewritten From: headers)
+ kolab/issue1422 (Dummy freebusy info)
+
+ - kolab-webadmin-2.1.0-20070510
+
+ kolab/issue1616 (Use different cursor for tags)
+ kolab/issue1617 (fix small inconsistency in german translation)
+
+
+Changes between 2.1-rc-1 and 2.1-rc-2:
+
+ - apache-1.3.33-2.5.6_kolab2
+
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
+
+ - clamav-0.90.2-20070413_kolab
+
+ New upstream version, fixes various security issues.
+
+ - file-4.15-2.5.0_kolab2
+
+ Fix for security issue described in CVE-2007-1536:
+ buffer overflow, remotely exploitable due to the usage of file in
+ amavisd-new
+
+ - fsl-1.7.0-20070303
+
+ New upstream version.
+
+ kolab/issue1172 (Cyrus Imapd dies when logfile exceeds 2 GiB)
+
+ - php-4.4.0-2.5.2_kolab2
+
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
+
+ - spamassassin-3.1.0-2.5.1_kolab
+
+ Fix for security issue described in CVE-2007-0451:
+ possible DoS due to incredibly long URIs found in the message content
+
+ Disabled external DNS and URI blacklists, because some of these
+ services require payment if used for many mailboxes.
+
+ Ignore headers inserted on the receiving side for bayes filtering.
+
+ - perl-kolab-5.8.7-20070420
+
+ Added debug option for verbose logging to stderr.
+
+ - kolabd-2.1.0-20070420
+
+ Fix the path to the freebusy directory for non-OpenPKG installations.
+
+ Fix usage of tar and modification of rc.conf during slave setup for
+ non-OpenPKG installations.
+
+ Don't pass notifications and quarantined mails through amavisd-new.
+
+ Updated configuration templates for ClamAV 0.90
+
+ Updated openldap monitor configuration.
+
+ Updated cyrus imapd configuration to use cyr_expire.
+
+ kolab/issue954 (kolab server rejects mails that should be marked
+ untrusted)
+ kolab/issue1538 (outlook invitation forwarding broken in Kolab server
+ 2.1)
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
+ kolab/issue1609 ("kolab --help" tries to execute *all* commands)
+ kolab/issue1638 (kolabconf generates broken resmgr.conf)
+ kolab/issue1680 (/kolab/bin/kolab fix)
+
+ - kolab-horde-fbview-2.1.0-20070420
+
+ Updated version number, no other changes since 2.1rc1
+
+ - kolab-resource-handlers-2.1.0-20070420
+
+ Improved logging for opening pfbcache.db
+
+ kolab/issue954 (kolab server rejects mails that should be marked
+ untrusted)
+ kolab/issue1538 (outlook invitation forwarding broken in Kolab server
+ 2.1)
+ kolab/issue1607 (need to replace gdbm for pfbcache, because of license
+ clash gdbm vs php)
+ kolab/issue1659 (Freebusy assumes that all day events last exactly one
+ day)
+
+ - kolab-webadmin-2.1.0-20070420
+
+ Updated Dutch and German translations.
+
+ kolab/issue1457 (updated French translation)
+ kolab/issue1612 (modify user ignores account type)
+ kolab/issue1614 (ldap_add() - Constraint violation on change user
+ account type)
+ kolab/issue1630 (Domain maintainer can see distribution lists from
+ other domains)
+ kolab/issue1652 (Import users from ldif and LDAP Constraint violation)
+ kolab/issue1654 (New LDAP overlay prevents modification of
+ distribution lists)
+ kolab/issue1663 (It is possible to create domain maintainers without
+ domains)
+ kolab/issue1670 (Renaming a domain maintainer twice within the same
+ form fails)
+
+
+Changes between 2.1-beta-4 and 2.1-rc-1:
+
+ - kolabd-2.0.99-20070205
+
+ kolab/issue1335 (pfbcache.db locking problems)
+ kolab/issue1507 (Public viewable phpinfo() and more in Server default
+ installation)
+ kolab/issue1550 (Masquerade problem, corrected template)
+ kolab/issue1563 (freebusy.conf template doesn't match freebusy.conf
+ from package)
+ kolab/issue1575 (Openldap enhanced data integrity)
+
+ - kolab-webadmin-2.0.99-20070205
+
+ Disabled Spanish language selection from web admin interface, because
+ of missing translation.
+
+ kolab/issue1479 ("Type" of shared folder can only be modified in 2nd
+ try)
+ kolab/issue1486 ("About Kolab" in Webinterface needs work over)
+ kolab/issue1539 (extension to the opening text, when the manager logs
+ in for the 1st time)
+ kolab/issue1559 (Domain Maintainer cannot delete "his" users)
+ kolab/issue1586 ("Required field" not translated to German in web
+ admin)
+ kolab/issue1592 (LANGUAGE variable overrides web admin language
+ selection)
+
+
+Changes between 2.1-beta-3 and 2.1-beta-4:
+
+ - clamav-0.88.7-20061211
+
+ bypass virus detection (CVE-2006-6406),
+ denial of service, remotely exploitable (CVE-2006-6481)
+ (http://kolab.org/security/kolab-vendor-notice-14.txt)
+
+ - kolabd-2.0.99-20070117
+
+ Updated proftpd.conf template: LDAPHomedirOnDemand(Prefix) is
+ now named LDAPGenerateHomedir(Prefix).
+
+ Set imapidlepoll to 5 seconds in imapd.conf.template.in.
+
+ kolab/issue1433 (Some files in /kolab/etc/postfix have wrong ownership)
+ kolab/issue1484 (Warnings using openldap = 2.3.27-2.20061018_kolab)
+ kolab/issue1487 (amavisd.conf mynetworks incomplete)
+ kolab/issue1531 (amavisd.conf local_domains only contains primary
+ domain)
+ kolab/issue1532 (Set "duplicatesuppression: 0" in imapd.conf.template?)
+
+ - kolab-horde-fbview-2.0.99-20070112
+
+ Improvements to the week view (part of kolab/issue666)
+
+ Removed dangerous php scripts (part of kolab/issue1507)
+
+ - kolab-resource-handlers-2.0.99-20070117
+
+ kolab/issue1490 (freebusy cache written to /kolab/kolab/...)
+ kolab/issue1512 (No FB information for resource accounts)
+ kolab/issue1558 (kolab-webadmin and php 5.2.0)
+
+ - kolab-webadmin-2.0.99-20070117
+
+ kolab/issue1013 (user passwords sha1 encoded without salt)
+ kolab/issue1262 (Setting quota to 4096+ MB breaks message delivery)
+ kolab/issue1418 (fields visible even when attribute_access is "hidden"
+ in session_vars.php)
+ kolab/issue1540 (Typo on kolab/admin/service page)
+ kolab/issue1555 (Login screen shows error msg for no good reason)
+
+ - openldap-2.3.29-2.20061110_kolab
+
+ New upstream version, fixes CVE-2006-5779 (Bugtraq ID 20939)
+
+ - perl-kolab-5.8.7-20070117
+
+ Only print warning about missing configuration variable if relevant.
+
+ kolab/issue1550 (Masquerade problem)
+
+
+Changes between 2.1-beta-2 and 2.1-beta-3:
+
+ - openpkg-2.5.4-2.5.4
+
+ New upstream version.
+
+ - apache-1.3.33-2.5.6
+
+ denial of service and possibly arbitrary code execution via crafted
+ URLs that are not properly handled using certain rewrite rules.
+ http://www.openpkg.org/security/advisories/OpenPKG-SA-2006.015-apache.html
+
+ - gzip-1.3.5-2.5.1
+
+ denial of service, arbitrary code execution
+ http://www.openpkg.org/security/advisories/OpenPKG-SA-2006.020-gzip.html
+
+ - curl-7.15.0-2.5.2
+
+ buffer overflow
+ http://www.openpkg.org/security/advisories/OpenPKG-SA-2006.012-curl.html
+
+ - openssl-0.9.8a-2.5.4
+
+ denial of service, may allow execution of arbitrary code
+ (http://kolab.org/security/kolab-vendor-notice-12.txt)
+
+ - clamav-0.88.5-2.20061018
+
+ buffer overflow, remotely exploitable (CVE-2006-4018)
+ (http://kolab.org/security/kolab-vendor-notice-10.txt)
+
+ heap overflow, remotely exploitable (CVE-2006-4182),
+ denial of service, remotely exploitable (CVE-2006-5295)
+ (http://kolab.org/security/kolab-vendor-notice-13.txt)
+
+ - file-4.15-2.5.0_kolab
+
+ kolab/issue1458 (Password protected .sxw files can be banned by
+ amavisd, as a result of the file command)
+
+ - openldap-2.3.27-2.20061018_kolab
+
+ New upstream version, fixes CVE-2006-4600 (Bugtraq ID 19832)
+ and other problems.
+
+ kolab/issue1229 (Master openldap's slurpd fails to start after
+ adding slave)
+ kolab/issue1431 (Slave cannot access master ldap server via SSL)
+
+ - imapd-2.2.12-2.5.0_kolab2
+
+ Fix folder structure for foldernames with non-alphanumeric characters,
+ when using skiplist as the database backend for mailboxes.db.
+
+ - perl-kolab-5.8.7-20061110
+
+ kolab/issue1194 (serious performance problem on high number of users)
+
+ - kolabd-2.0.99-20061110
+
+ Added missing relay service for postfix.
+
+ Changed main.cf masquerading defaults so email to
+ user at machine.example.org is actually delivered.
+
+ Use mailbox_transport instead of local_transport for
+ kolabmailboxfilter to work around issue825.
+
+ Removed doubled attribute cyrus-autocreatequota.
+
+ Added indexes for delegate and delete.
+
+ Updated freebusy.conf template for freebusy IMAP caching.
+
+ Changed imapd.conf template to use berkeley db instead of
+ skiplist for annotations.db and mailboxes.db as a workaround
+ for kolab/issue840 (Annotations needs to be more robust).
+
+ kolab/issue824 (kolabmailboxfilter run once for each recipient)
+ kolab/issue1264 (Add support for sieve based notifications)
+ kolab/issue1273 (Sending as delegate broken in Kolab server 2.1)
+ kolab/issue1428 (Fixed locking issue)
+ kolab/issue1433 (Some files in /kolab/etc/postfix have wrong ownership)
+
+ - kolab-webadmin-2.0.99-20061110
+
+ Fixes for setting folder type of shared folders.
+
+ Guard against large number of users.
+
+ kolab/issue1457 (updated French translation)
+
+ - kolab-resource-handlers-2.0.99-20061110
+
+ Improvements and fixes for freebusy IMAP caching.
+
+ kolab/issue815 (invitation replies vanish in resmgr)
+ kolab/issue957 (All-day events from Outlook don't show up in freebusy)
+ kolab/issue974 (Localize the text for rewritten From: headers)
+ kolab/issue1042 (empty lines at the end of mails delivered via LMTP)
+ kolab/issue1352 (resmgr can create wrong range dates)
+ kolab/issue1387 (resmgr replies to replies creating mail loop)
+ kolab/issue1422 (Dummy freebusy info)
+
+
+Changes between 2.1-beta-1 and 2.1-beta-2:
+
+ OpenPKG updates:
+
+ openpkg-2.5.2-2.5.2
+ openpkg-registry-0.2.7-20060223
+ libxslt-1.1.15-2.5.1
+ php-smarty-2.6.10-20051003
+ clamav-0.88.2-20060524
+
+ binutils-2.16.1-2.5.1
+ http://www.openpkg.org/security/advisories/OpenPKG-SA-2006.009-binutils.html
+
+ openldap-2.3.11-2.5.1
+ http://www.openpkg.org/security/advisories/OpenPKG-SA-2006.008-openldap.html
+
+
+ Kolab updates:
+
+ More distconf changes by Richard Bos and Markus Hüwe.
+
+ - perl-kolab-5.8.7-20060619
+
+ kolab/issue1194 (kolabd quota performance)
+ kolab/issue1220 (postfix permissions)
+ kolab/issue1237 (Handling of @@@var@@@ in Conf.pm (Gunnar Wrobel))
+
+ - kolabd-2.0.99-20060619
+
+ * The default imapd configuration has been changed to enable the
+ hashimapspool option. This affects the upgrade procedure.
+ See 1st.README for upgrade instructions.
+
+ * amavis now logs to /kolab/var/amavisd/amavisd.log. This is
+ part of the fix for Issue1015
+
+ kolab/issue1015 (fixing logging and logrotate for amavisd)
+ kolab/issue1089 (enable hashimapspool for imapd to cope with many users)
+ kolab/issue1101 (allowapop: no; disable apop access to imapd by default)
+ kolab/issue1105 (fix compilation of kolabd on FreeBSD)
+ kolab/issue1257 (wrong attribute name for imap quota)
+
+ - kolab-webadmin-2.0.99-20060619
+
+ * patch from Tobias König in order to support setting of
+ foldertype for public folders
+
+ kolab/issue848 (Modifying address book entry may break distribution list)
+ kolab/issue1106 (email validation in webgui)
+ kolab/issue1214 (number of days for vacation messages on webinterface)
+ kolab/issue1263 (Bug in the shared folders folder-type code) [Wrobel]
+
+ - kolab-resource-handlers-2.0.99-20060619
+
+ * create empty pfbcache.db if missing
+
+ kolab/issue973 (quoting and rewriting From header)
+ kolab/issue966 (Wrong CN for resource accounts)
+ kolab/issue1042 (server modifies email content)
+ kolab/issue1195 (error message in bounce)
+ kolab/issue1243 (rewriting fails when "From:" contains quoted printable)
+ kolab/issue1245 (rewriting problems on folded Header "From:"-line)
+
+
$Id$
From cvs at kolab.org Thu Nov 1 11:07:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 1 Nov 2007 11:07:47 +0100 (CET)
Subject: gunnar: server/patches/horde
HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch, NONE,
1.1 README_Kolab_issue_2144.patch, NONE, 1.1
Message-ID: <20071101100747.8014C600D49@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv25454
Added Files:
HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch
README_Kolab_issue_2144.patch
Log Message:
Fix for kolab/issue2144 (Calendar items of shared calendar not appearing)
--- NEW FILE: HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch ---
kolab/issue2144 (Calendar items of shared calendar not appearing)
diff -r dd49e5f044aa framework/Share/Share/kolab.php
--- a/framework/Share/Share/kolab.php Wed Oct 10 14:22:14 2007 +0200
+++ b/framework/Share/Share/kolab.php Thu Nov 01 10:59:06 2007 +0100
@@ -343,7 +343,8 @@ class Horde_Share_Storage_kolab {
// name.
$type = explode('.', $annotation);
if ($type[0] == $app_consts['mime_type_suffix']) {
- if (isset($type[1]) && $type[1] == 'default') {
+ if (isset($type[1]) && $type[1] == 'default' &&
+ substr($folder, 0, 6) == 'INBOX/' && !$this->_default) {
$this->_default = $folder;
array_push($shares, $this->buildShareId(Auth::getAuth()));
} else {
--- NEW FILE: README_Kolab_issue_2144.patch ---
DESCRIPTION:
Fixes kolab/issue2144 (https://www.intevation.de/roundup/kolab/issue2144)
IMPACT:
If users share their default folders this will break the other users shares.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Applied upstream.
From cvs at kolab.org Thu Nov 1 11:54:54 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 1 Nov 2007 11:54:54 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.163,1.164
Message-ID: <20071101105454.6394D600D56@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv29719
Modified Files:
release-notes.txt
Log Message:
kolab/issue2144 (Calendar items of shared calendar not appearing)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -d -r1.163 -r1.164
--- release-notes.txt 26 Oct 2007 14:57:23 -0000 1.163
+++ release-notes.txt 1 Nov 2007 10:54:52 -0000 1.164
@@ -50,6 +50,10 @@
Show component and log level when sending debug log to stdout.
+ - horde-framework-kolab-3.2_ALPHA-2007????
+
+ kolab/issue2144 (Calendar items of shared calendar not appearing)
+
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Thu Nov 1 11:54:54 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 1 Nov 2007 11:54:54 +0100 (CET)
Subject: gunnar: server/horde/horde-framework HK-GW-Kolab_issue_2144.patch,
NONE, 1.1 ChangeLog, 1.6, 1.7 horde-framework-kolab.spec, 1.24, 1.25
Message-ID: <20071101105454.641EC600D57@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv29719/horde/horde-framework
Modified Files:
ChangeLog horde-framework-kolab.spec
Added Files:
HK-GW-Kolab_issue_2144.patch
Log Message:
kolab/issue2144 (Calendar items of shared calendar not appearing)
--- NEW FILE: HK-GW-Kolab_issue_2144.patch ---
kolab/issue2144 (Calendar items of shared calendar not appearing)
diff -r dd49e5f044aa framework/Share/Share/kolab.php
--- a/framework/Share/Share/kolab.php Wed Oct 10 14:22:14 2007 +0200
+++ b/framework/Share/Share/kolab.php Thu Nov 01 10:59:06 2007 +0100
@@ -343,7 +343,8 @@ class Horde_Share_Storage_kolab {
// name.
$type = explode('.', $annotation);
if ($type[0] == $app_consts['mime_type_suffix']) {
- if (isset($type[1]) && $type[1] == 'default') {
+ if (isset($type[1]) && $type[1] == 'default' &&
+ substr($folder, 0, 6) == 'INBOX/' && !$this->_default) {
$this->_default = $folder;
array_push($shares, $this->buildShareId(Auth::getAuth()));
} else {
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/ChangeLog,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ChangeLog 13 Sep 2007 13:50:55 -0000 1.6
+++ ChangeLog 1 Nov 2007 10:54:52 -0000 1.7
@@ -1,3 +1,11 @@
+2007-11-01 Gunnar Wrobel
+
+ * horde-framework-kolab.spec:
+
+ Added HK-GW-Kolab_issue_2144.patch
+ Fixes kolab/issue2144 (Calendar items of shared calendar not appearing)
+ https://www.intevation.de/roundup/kolab/issue2144
+
2007-09-12 Gunnar Wrobel
* horde-framework-kolab.spec (AutoReqProv):
@@ -20,7 +28,7 @@
2007-05-30 Gunnar Wrobel
- * horde-framework-kolab.spec:
+ * horde-framework-kolab.spec:
Added Kolab-Kolab-IMAP-cclient.php.patch since Kolab-2.1
still has a segfaulting PHP. See
Index: horde-framework-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/horde-framework-kolab.spec,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- horde-framework-kolab.spec 10 Oct 2007 09:46:37 -0000 1.24
+++ horde-framework-kolab.spec 1 Nov 2007 10:54:52 -0000 1.25
@@ -2,8 +2,8 @@
%define V_horde_name framework
%define V_package horde-%{V_horde_name}-kolab
%define V_year 2007
-%define V_month 10
-%define V_day 04
+%define V_month 11
+%define V_day 01
%define V_version 3.2_ALPHA
%define V_date %{V_year}-%{V_month}-%{V_day}
%define V_release %{V_year}%{V_month}%{V_day}
@@ -30,6 +30,7 @@
Patch1: HK-GW-Fix_the_share_params.patch
Patch2: HK-GW-Fix_annotation_use.patch
Patch3: HK-GW-Share_caching.patch
+Patch4: HK-GW-Kolab_issue_2144.patch
# Build Info
Prefix: %{l_prefix}
@@ -54,6 +55,7 @@
%patch -p2 -P 1
%patch -p2 -P 2
%patch -p2 -P 3
+ %patch -p2 -P 4
%build
From cvs at kolab.org Thu Nov 1 12:05:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 1 Nov 2007 12:05:56 +0100 (CET)
Subject: gunnar: server/horde external-horde.sh,1.2,1.3
Message-ID: <20071101110556.BEB2D600D59@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde
In directory doto:/tmp/cvs-serv30939/horde
Modified Files:
external-horde.sh
Log Message:
kolab/issue2144 (Calendar items of shared calendar not appearing)
Index: external-horde.sh
===================================================================
RCS file: /kolabrepository/server/horde/external-horde.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- external-horde.sh 15 Oct 2007 09:15:30 -0000 1.2
+++ external-horde.sh 1 Nov 2007 11:05:54 -0000 1.3
@@ -30,6 +30,7 @@
for PATCH in HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch \
HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch \
HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch \
+ HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch \
HK-GW-framework_3.2_ALPHA-Share_caching.patch \
HK-GW-kronolith_2.2-Fix_create_new_event.patch \
HK-GW-kronolith_2.2-Fix_share_right_editing.patch \
@@ -66,6 +67,7 @@
for PATCH in HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch \
HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch \
HK-GW-framework_3.2_ALPHA-Share_caching.patch \
+ HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch \
HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch;
do
patch -p3 < ../../../$PATCH;
From cvs at kolab.org Tue Nov 6 15:19:37 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 6 Nov 2007 15:19:37 +0100 (CET)
Subject: thomas: doc/www/src mirrors.html.m4,1.20,1.21
Message-ID: <20071106141937.78E1D600172@lists.intevation.de>
Author: thomas
Update of /kolabrepository/doc/www/src
In directory doto:/tmp/cvs-serv24295
Modified Files:
mirrors.html.m4
Log Message:
New mirror at ftp.gwdg.de, Linjection is up again.
Index: mirrors.html.m4
===================================================================
RCS file: /kolabrepository/doc/www/src/mirrors.html.m4,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- mirrors.html.m4 10 May 2007 09:17:55 -0000 1.20
+++ mirrors.html.m4 6 Nov 2007 14:19:35 -0000 1.21
@@ -13,16 +13,20 @@
+
+ * horde-turba-kolab.spec:
+
+ kolab/issue2040 (Horde: resouces are not displayed in address book)
+ kolab/issue2135 ([horde/turba] Turba should support some more contact attributes)
+
2007-07-19 Gunnar Wrobel
* horde-passwd-kolab.spec: Update to 20070719. Fixed patching.
Index: horde-turba-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-turba/horde-turba-kolab.spec,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- horde-turba-kolab.spec 2 Oct 2007 14:21:34 -0000 1.16
+++ horde-turba-kolab.spec 19 Nov 2007 19:31:27 -0000 1.17
@@ -25,6 +25,7 @@
Source0: http://ftp.horde.org/pub/%{V_horde_name}/%{V_horde_name}-h3-%{V_uver}.tar.gz
Source1: conf.php
Source2: sources.php
+Source2: attributes.php
Patch0: HK-GW-Fix_notice_on_addressbook_creation.patch
Patch1: HK-GW-Fix_address_book_deletion_1.patch
@@ -87,7 +88,7 @@
cd ..
- %{l_shtool} install -c -m 644 %{l_value -s -a} %{S:1} %{S:2} \
+ %{l_shtool} install -c -m 644 %{l_value -s -a} %{S:1} %{S:2} %{S:3} \
$RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/horde/%{V_horde_name}/config/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
Index: sources.php
===================================================================
RCS file: /kolabrepository/server/horde/horde-turba/sources.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- sources.php 2 Oct 2007 14:21:34 -0000 1.3
+++ sources.php 19 Nov 2007 19:31:27 -0000 1.4
@@ -1,6 +1,6 @@
array('fields' => array('firstname', 'lastname'),
* 'format' => '%s %s',
@@ -110,8 +114,14 @@
* search: A list of Turba attribute names that can be searched for this
* source.
*
- * strict: A list of native field/attribute names that must always be
- * matched exactly in a search.
+ * strict: A list of native field/attribute names that must
+ * always be matched exactly in a search.
+ *
+ * approximate: Only applies to LDAP servers. If set, should be an
+ * array of native field/attribute names to search
+ * "approximately" (for example, "Sánchez", "Sanchez",
+ * and "Sanchéz" will all match a search string of
+ * "sanchez").
*
* export: If set to true, this source will appear on the Export menu,
* allowing users to export the contacts to a CSV (etc.) file.
@@ -120,20 +130,485 @@
* menu item, and empty searches against the source will return
* all contacts.
*
- * use_shares: If this is present and true, Turba_Share functionality will
+ * use_shares: If this is present and true, Horde_Share functionality will
* be enabled for this source - allowing users to share their
* personal address books as well as to create new ones. Since
* Turba only supports having one backend configured for
* creating new shares, use the 'shares' configuration option to
* specify which backend will be used for creating new shares.
- * All permission checking will be done against Turba_Share, but
+ * All permission checking will be done against Horde_Share, but
* note that any 'extended' permissions (such as max_contacts)
* will still be enforced. Also note that the backend driver
* must have support for using this. Currently SQL and IMSP.
*
+ * list_name_field: If this is present and non-empty, it will be taken as the
+ * name of the turba field to store contact list names in.
+ * This is required when using a composite field as the 'name'
+ * field.
* Here are some example configurations:
*/
+/**
+ * A local address book in an LDAP directory. This implements a public
+ * (shared) address book.
+ *
+ * To store distribution lists in the LDAP directory, you'll need to include
+ * horde/scripts/ldap/horde.schema in your LDAP configuration.
+ *
+ * To store freebusy information in the LDAP directory, you'll need to include
+ * turba/scripts/ldap/rfc2739.schema in your LDAP configuration.
+ */
+// $cfgSources['localldap'] = array(
+// 'title' => _("Shared Directory"),
+// 'type' => 'ldap',
+// 'params' => array(
+// 'server' => 'ldap.example.com',
+// 'port' => 389,
+// 'tls' => false,
+// 'root' => 'dc=example,dc=com',
+// 'bind_dn' => 'cn=admin,ou=users,dc=example,dc=com',
+// 'bind_password' => '********',
+// 'sizelimit' => 200,
+// 'dn' => array('cn'),
+// 'objectclass' => array('top',
+// 'person',
+// 'organizationalPerson',
+// 'inetOrgPerson'),
+// 'scope' => 'one',
+// 'charset' => 'iso-8859-1',
+// // Consult the LDAP schema to verify that all required attributes for
+// // an entry are set and add them if needed.
+// 'checkrequired' => false,
+// // Value used to fill in missing required attributes.
+// 'checkrequired_string' => ' ',
+// // Check LDAP schema for valid syntax. If this is false an address
+// // field is assumed to have postalAddress syntax; otherwise the schema
+// // is consulted for the syntax to use.
+// 'checksyntax' => false,
+// 'version' => 3
+// ),
+// 'map' => array(
+// '__key' => 'dn',
+// '__uid' => 'uid',
+//
+// // From horde.schema:
+// // '__type' => 'turbaType',
+// // '__members' => 'turbaMembers'
+//
+// 'name' => 'cn',
+// 'email' => 'mail',
+// 'homePhone' => 'homephone',
+// 'workPhone' => 'telephonenumber',
+// 'cellPhone' => 'mobiletelephonenumber',
+// 'homeAddress' => 'homepostaladdress',
+//
+// // From rfc2739.schema:
+// // 'freebusyUrl' => 'calFBURL',
+// ),
+// 'search' => array(
+// 'name',
+// 'email',
+// 'homePhone',
+// 'workPhone',
+// 'cellPhone',
+// 'homeAddress'
+// ),
+// 'strict' => array(
+// 'dn',
+// ),
+// 'approximate' => array(
+// 'cn',
+// ),
+// 'export' => true,
+// 'browse' => true,
+// );
+
+/**
+ * A personal LDAP address book. This assumes that the login is
+ * @domain.com and that the users are stored on the same LDAP
+ * server. Thus it is possible to bind with the username and password from the
+ * user. For more info; please refer to the docs/LDAP file in the Turba
+ * distribution.
+ *
+ * To store distribution lists in the LDAP directory, you'll need to include
+ * horde/scripts/ldap/horde.schema in your LDAP configuration.
+ *
+ * To store freebusy information in the LDAP directory, you'll need to include
+ * turba/scripts/ldap/rfc2739.schema in your LDAP configuration.
+ */
+/* First we need to get the uid. */
+// $_ldap_uid = Auth::getBareAuth();
+// $_ldap_basedn = 'dc=example,dc=com';
+// $cfgSources['personal_ldap'] = array(
+// 'title' => _("My Address Book"),
+// 'type' => 'ldap',
+// 'params' => array(
+// 'server' => 'localhost',
+// 'tls' => false,
+// 'root' => 'ou=' . $_ldap_uid . ',ou=personal_addressbook,' . $_ldap_basedn,
+// 'bind_dn' => 'uid=' . $_ldap_uid . ',ou=People,' . $_ldap_basedn,
+// 'bind_password' => Auth::getCredential('password'),
+// 'dn' => array('cn', 'uid'),
+// 'objectclass' => array('top',
+// 'person',
+// // 'turbaContact',
+// 'inetOrgPerson',
+// // 'calEntry',
+// 'organizationalPerson'),
+// 'scope' => 'one',
+// 'charset' => 'utf-8',
+// 'version' => 3
+// ),
+// 'map' => array(
+// '__key' => 'dn',
+// '__uid' => 'uid',
+//
+// // From horde.schema:
+// // '__type' => 'turbaType',
+// // '__members' => 'turbaMembers'
+//
+// 'name' => 'cn',
+// 'email' => 'mail',
+// 'lastname' => 'sn',
+// 'title' => 'title',
+// 'company' => 'organizationname',
+// 'businessCategory' => 'businesscategory',
+// 'workAddress' => 'postaladdress',
+// 'workPostalCode' => 'postalcode',
+// 'workPhone' => 'telephonenumber',
+// 'fax' => 'facsimiletelephonenumber',
+// 'homeAddress' => 'homepostaladdress',
+// 'homePhone' => 'homephone',
+// 'cellPhone' => 'mobile',
+// 'notes' => 'description',
+//
+// // Evolution interopt attributes: (those that do not require the
+// // evolution.schema)
+// 'office' => 'roomNumber',
+// 'department' => 'ou',
+// 'nickname' => 'displayName',
+// 'website' => 'labeledURI',
+//
+// // These are not stored on the LDAP server.
+// 'pgpPublicKey' => 'object_pgppublickey',
+// 'smimePublicKey' => 'object_smimepublickey',
+//
+// // From rfc2739.schema:
+// // 'freebusyUrl' => 'calFBURL',
+// ),
+// 'search' => array(
+// 'name',
+// 'email',
+// 'businessCategory',
+// 'title',
+// 'homePhone',
+// 'workPhone',
+// 'cellPhone',
+// 'homeAddress'
+// ),
+// 'strict' => array(
+// 'dn',
+// ),
+// 'approximate' => array(
+// 'cn',
+// ),
+// 'export' => true,
+// 'browse' => true,
+// );
+
+/**
+ * Public netcenter and verisign LDAP directories.
+ */
+// $cfgSources['netcenter'] = array(
+// 'title' => _("Netcenter Member Directory"),
+// 'type' => 'ldap',
+// 'params' => array(
+// 'server' => 'memberdir.netscape.com',
+// 'port' => 389,
+// 'tls' => false,
+// 'root' => 'ou=member_directory,o=netcenter.com',
+// 'dn' => array('cn'),
+// 'objectclass' => 'person',
+// 'filter' => '',
+// 'scope' => 'sub',
+// 'charset' => 'iso-8859-1'
+// ),
+// 'map' => array(
+// '__key' => 'dn',
+// 'name' => 'cn',
+// 'email' => 'mail',
+// 'alias' => 'givenname'
+// ),
+// 'search' => array(
+// 'name',
+// 'email',
+// 'alias'
+// ),
+// 'strict' => array(
+// 'dn'
+// ),
+// 'approximate' => array(
+// 'cn',
+// ),
+// 'export' => false,
+// 'browse' => false,
+// );
+//
+// $cfgSources['verisign'] = array(
+// 'title' => _("Verisign Directory"),
+// 'type' => 'ldap',
+// 'params' => array(
+// 'server' => 'directory.verisign.com',
+// 'port' => 389,
+// 'tls' => false,
+// 'root' => '',
+// 'scope' => 'sub',
+// 'charset' => 'iso-8859-1'
+// ),
+// 'map' => array(
+// '__key' => 'dn',
+// 'name' => 'cn',
+// 'email' => 'mail'
+// ),
+// 'search' => array(
+// 'name',
+// 'email'
+// ),
+// 'strict' => array(
+// 'dn'
+// ),
+// 'approximate' => array(
+// 'cn',
+// ),
+// 'export' => false,
+// 'browse' => false,
+// );
+
+/**
+ * A preferences-based address book. This will always be private. You can add
+ * any attributes you like to the map and it will just work; you can also
+ * create multiple prefs-based address books by changing the 'name' parameter.
+ * This is best for address books that are expected to remain small; it's not
+ * the most efficient, but it can't be beat for getting up and running
+ * quickly, especially if you already have Horde preferences working. Note
+ * that it is not searchable, though - searches will simply return the whole
+ * address book.
+ */
+// $cfgSources['prefs'] = array(
+// 'title' => _("Private Address Book"),
+// 'type' => 'prefs',
+// 'params' => array(
+// 'name' => 'prefs',
+// 'charset' => NLS::getCharset()
+// ),
+// 'map' => array(
+// '__key' => 'id',
+// '__type' => '_type',
+// '__members' => '_members',
+// '__uid' => 'uid',
+// 'name' => 'name',
+// 'email' => 'mail',
+// 'alias' => 'alias'
+// ),
+// 'search' => array(
+// 'name',
+// 'email',
+// 'alias'
+// ),
+// 'strict' => array(
+// 'id',
+// '_type',
+// ),
+// 'export' => true,
+// 'browse' => true,
+// );
+
+/**
+ * This source creates an address book for each group the current user is a
+ * member in. The address book will always be read only, and the group members
+ * must have an email address entered in their default identity. No email
+ * address will result in that member not being included in the address book.
+ */
+//$grpSource = array(
+// 'title' => _("Group"),
+// 'type' => 'group',
+// 'params' => array(
+// 'name' => ''
+// ),
+// 'map' => array(
+// '__key' => 'email',
+// 'name' => 'name',
+// 'email' => 'email'
+// ),
+// 'search' => array(
+// 'name',
+// 'email'
+// ),
+// 'export' => true,
+// 'browse' => true,
+//);
+
+//require_once 'Horde/Group.php';
+//$_group_driver = &Group::singleton();
+//$_group_list = $_group_driver->getGroupMemberships(Auth::getAuth());
+//foreach ($_group_list as $_group_id => $_group_name) {
+// $cfgSources['group_' . $_group_id] = $grpSource;
+// $cfgSources['group_' . $_group_id]['params'] = array('gid' => $_group_id);
+// $cfgSources['group_' . $_group_id]['title'] = $_group_name;
+//}
+
+/**
+ * IMSP based address book.
+ *
+ * Communicates with an IMSP backend server.
+ *
+ * Notes:
+ * You should configure the user's "main" address book here. The name of the
+ * address book is set in the 'name' element of the params array. It should
+ * be configured to be the same as the IMSP server username. Any other
+ * address books the user has access to will automatically be configured at
+ * runtime.
+ *
+ * In the params array, accepted values for auth_method are 'cram_md5',
+ * 'imtest', and 'plaintext' - these must match a IMSP_Auth_ driver. If you
+ * are using the imtest driver for Cyrus, please read the
+ * framework/Net_IMSP/Auth/imtest.php file for more configuration information.
+ *
+ * Groups in other IMSP-aware applications are just entries with multiple
+ * email addresses in the email field and a 'group' field set to flag the
+ * entry as a group. (The Cyrusoft applications, Mulberry and Silkymail both
+ * use a field named 'group' set to equal 'group' to signify this). A
+ * Turba_Object_Group is basically a List of existing Turba_Objects. The IMSP
+ * driver will map between these two structures when reading and writing
+ * groups.
+ * The only caveat is that IMSP groups that contain email addresses which do
+ * not have a cooresponding contact entry will be ignored. The group_id_field
+ * should be set to the IMSP field that flags the entry as a 'group' entry and
+ * the group_id_value should be set to the value given to that field.
+ *
+ * By default, the username and password that were used to login to Horde is
+ * used to login to the IMSP server. If these credentials are different,
+ * there is a user preference in Horde to allow another username / password to
+ * be entered. The alternate credentials are always used if present.
+ *
+ * In the map array, since IMSP uses the 'name' attribute as a key, this is
+ * what __key is mapped to ... and a dynamic field 'fullname' is added and
+ * mapped to the horde 'name' field. This is populated with the IMSP 'name'
+ * field when the object is read from the server.
+ *
+ * If you wish to keep track of ownership of individual contacts, set
+ * 'contact_ownership' = true. Note that entries created using other clients
+ * will not be created this way and will therefore have no 'owner'. Set
+ * 'contact_ownership' = false and the __owner field will be automatically
+ * populated with the current username.
+ *
+ * To integrate with Horde_Share (requires Horde 3.2 or better) set use_shares
+ * to true, and uncomment the IMSP Horde_Share hooks in horde/config/hooks.php.
+ */
+// Check that IMSP is configured in Horde but fall through if there is no
+// configuration at all - in case we don't have at least a 3.0.6 Horde
+// install. (In that case, be sure to change the params array below to suit
+// your needs.
+if (!empty($GLOBALS['conf']['imsp']['enabled']) ||
+ !isset($GLOBALS['conf']['imsp']['enabled'])) {
+ // First, get the user name to login to IMSP server with.
+ $_imsp_auth_user = $GLOBALS['prefs']->getValue('imsp_auth_user');
+ $_imsp_auth_pass = $GLOBALS['prefs']->getValue('imsp_auth_pass');
+ if (!strlen($_imsp_auth_user)) {
+ $_imsp_auth_user = Auth::getBareAuth();
+ $_imsp_auth_pass = Auth::getCredential('password');
+ }
+ $cfgSources['imsp'] = array(
+ 'title' => _("IMSP"),
+ 'type' => 'imsp',
+ 'params' => array(
+ 'server' => $GLOBALS['conf']['imsp']['server'],
+ 'port' => $GLOBALS['conf']['imsp']['port'],
+ 'auth_method' => $GLOBALS['conf']['imsp']['auth_method'],
+ // socket, command, and auth_mechanism are for imtest driver.
+ 'socket' => isset($GLOBALS['conf']['imsp']['socket']) ?
+ $GLOBALS['conf']['imsp']['socket'] . $_imsp_auth_user . '.sck' :
+ '',
+ 'command' => isset($GLOBALS['conf']['imsp']['command']) ?
+ $GLOBALS['conf']['imsp']['command'] : '' ,
+ 'auth_mechanism' => isset($GLOBALS['conf']['imsp']['auth_mechanism']) ?
+ $GLOBALS['conf']['imsp']['auth_mechanism'] : '',
+ 'username' => $_imsp_auth_user,
+ 'password' => $_imsp_auth_pass,
+ 'name' => $_imsp_auth_user,
+ 'group_id_field' => 'group',
+ 'group_id_value' => 'group',
+ 'contact_ownership' => false,
+ // Dynamically generated acl rights for current user.
+ 'my_rights' => '',
+ ),
+ 'map' => array(
+ '__key' => 'name',
+ '__type' => '__type',
+ '__members' => '__members',
+ '__owner' => '__owner',
+ '__uid' => '__uid',
+ 'email' => 'email',
+ 'alias' => 'alias',
+ 'company' => 'company',
+ 'notes' => 'notes',
+ 'workPhone' => 'phone-work',
+ 'fax' => 'fax',
+ 'homePhone' => 'phone-home',
+ 'cellPhone' => 'cellphone',
+ 'freebusyUrl' => 'freebusyUrl'
+ ),
+ 'search' => array(
+ 'name',
+ 'email',
+ 'alias',
+ 'company',
+ 'homePhone'
+ ),
+ 'strict' => array(),
+ 'export' => true,
+ 'browse' => true,
+ 'use_shares' => false,
+ );
+
+ /**
+ * Get any other address books this user might be privy to.
+ * The values for attributes such as 'export' and 'browse' for books
+ * that are added below will be the same as the values set in the default
+ * book above. Any entries defined explicitly in cfgSources[]
+ * will override any entries gathered dynamically below.
+ */
+ if (empty($cfgSources['imsp']['use_shares'])) {
+ require_once 'Net/IMSP/Utils.php';
+ $result = Net_IMSP_Utils::getAllBooks($cfgSources['imsp']);
+
+ if (!is_a($result, 'PEAR_Error')) {
+ $resultCount = count($result);
+ for ($i = 0; $i < $resultCount; $i++) {
+ // Make sure we didn't define this source explicitly,
+ // but set the acls from the server regardless.
+ $dup = false;
+ foreach ($cfgSources as $key => $thisSource) {
+ if (($thisSource['type'] == 'imsp') &&
+ ($thisSource['params']['name'] == $result[$i]['params']['name'])) {
+
+ $dup = true;
+ $acl = $result[$i]['params']['my_rights'];
+ $cfgSources[$key]['params']['my_rights'] = $acl;
+ break;
+ }
+ }
+ if (!$dup) {
+ $cfgSources[$result[$i]['params']['name']] = $result[$i];
+ }
+ }
+ } else {
+ $notification->push($result);
+ }
+ }
+}
+/* End IMSP sources. */
+
/* Begin Kolab sources. */
if (!empty($GLOBALS['conf']['kolab']['enabled'])) {
@@ -142,9 +617,9 @@
require_once 'Horde/Kolab.php';
if (!is_callable('Kolab', 'getServer')) {
- $server = $GLOBALS['conf']['kolab']['ldap']['server'];
+ $_kolab_server = $GLOBALS['conf']['kolab']['ldap']['server'];
} else {
- $server = Kolab::getServer('ldap');
+ $_kolab_server = Kolab::getServer('ldap');
}
/* A global address book for a Kolab Server. This is typically a
@@ -155,7 +630,7 @@
'title' => _("Global Address Book"),
'type' => 'ldap',
'params' => array(
- 'server' => $server,
+ 'server' => $_kolab_server,
'port' => $GLOBALS['conf']['kolab']['ldap']['port'],
'tls' => false,
'root' => $GLOBALS['conf']['kolab']['ldap']['basedn'],
@@ -164,12 +639,11 @@
'objectclass' => array(
'inetOrgPerson'
),
- 'scope' => 'one',
+ 'scope' => 'sub',
'charset' => 'utf-8',
'version' => 3,
'bind_dn' => '',
'bind_password' => '',
- 'read_only' => true,
),
'map' => array(
'__key' => 'dn',
@@ -231,19 +705,24 @@
),
'map' => array(
'__key' => 'uid',
- 'name' => 'full-name',
+ '__uid' => 'uid',
+ /* Personal */
+ 'name' => array('fields' => array('firstname', 'middlenames', 'lastname'),
+ 'format' => '%s %s %s',
+ 'attribute' => 'full-name'),
'firstname' => 'given-name',
'lastname' => 'last-name',
- 'title' => 'job-title',
- 'company' => 'organization',
- 'notes' => 'body',
- 'website' => 'web-page',
- 'nickname' => 'nick-name',
- 'emails' => 'emails',
- 'homePhone' => 'phone-home1',
- 'workPhone' => 'phone-business1',
- 'cellPhone' => 'phone-mobile',
- 'fax' => 'phone-businessfax',
+ 'middlenames' => 'middle-names',
+ 'namePrefix' => 'prefix',
+ 'nameSuffix' => 'suffix',
+ 'initials' => 'initials',
+ 'alias' => 'nick-name',
+ 'gender' => 'gender',
+ 'birthday' => 'birthday',
+ 'spouse' => 'spouse-name',
+ 'anniversary' => 'anniversary',
+ 'children' => 'children',
+ /* Location */
'workStreet' => 'addr-business-street',
'workCity' => 'addr-business-locality',
'workProvince' => 'addr-business-region',
@@ -254,19 +733,62 @@
'homeProvince' => 'addr-home-region',
'homePostalCode' => 'addr-home-postal-code',
'homeCountry' => 'addr-home-country',
+ /* Communications */
+ 'emails' => 'emails',
+ 'homePhone' => 'phone-home1',
+ 'workPhone' => 'phone-business1',
+ 'cellPhone' => 'phone-mobile',
+ 'fax' => 'phone-businessfax',
+ 'instantMessenger' => 'im-address',
+ /* Organization */
+ 'title' => 'job-title',
+ 'role' => 'profession',
+ 'company' => 'organization',
+ 'department' => 'department',
+ 'office' => 'office-location',
+ 'manager' => 'manager-name',
+ 'assistant' => 'assistant',
+ /* Other */
+ 'category' => 'categories',
+ 'notes' => 'body',
+ 'website' => 'web-page',
+ 'freebusyUrl' => 'free-busy-url',
+ 'language' => 'language',
+ 'latitude' => 'latitude',
+ 'longitude' => 'longitude',
+ // MISSING: picture, sensitivity
+ ),
+ 'tabs' => array(
+ _("Personal") => array('name', 'firstname', 'lastname', 'middlenames',
+ 'namePrefix', 'nameSuffix', 'initials', 'alias',
+ 'gender', 'birthday', 'spouse', 'anniversary',
+ 'children'),
+ _("Location") => array('homeStreet', 'homeCity', 'homeProvince',
+ 'homePostalCode', 'homeCountry', 'workStreet',
+ 'workCity', 'workProvince', 'workPostalCode',
+ 'workCountry'),
+ _("Communications") => array('emails', 'homePhone', 'workPhone',
+ 'cellPhone', 'fax', 'instantMessenger'),
+ _("Organization") => array('title', 'role', 'company', 'department',
+ 'office', 'manager', 'assistant'),
+ _("Other") => array('category', 'notes', 'website', 'freebusyUrl',
+ 'language', 'latitude', 'longitude'),
),
'search' => array(
- 'name',
+ /* Personal */
'firstname',
'lastname',
- 'emails',
- 'title',
- 'company',
- 'notes',
- 'homePhone',
- 'workPhone',
- 'cellPhone',
- 'fax',
+ 'middlenames',
+ 'namePrefix',
+ 'nameSuffix',
+ 'initials',
+ 'alias',
+ 'gender',
+ 'birthday',
+ 'spouse',
+ 'anniversary',
+ 'children',
+ /* Location */
'workStreet',
'workCity',
'workProvince',
@@ -277,8 +799,26 @@
'homeProvince',
'homePostalCode',
'homeCountry',
+ /* Communications */
+ 'emails',
+ 'homePhone',
+ 'workPhone',
+ 'cellPhone',
+ 'fax',
+ 'instantMessenger',
+ /* Organization */
+ 'title',
+ 'role',
+ 'company',
+ 'department',
+ 'office',
+ 'manager',
+ 'assistant',
+ /* Other */
+ 'category',
+ 'notes',
'website',
- 'nickname'
+ 'language',
),
'strict' => array(
'uid',
From cvs at kolab.org Mon Nov 19 20:35:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 19 Nov 2007 20:35:46 +0100 (CET)
Subject: gunnar: server/horde/horde HK-GW-Deleting_categories.patch, NONE,
1.1 ChangeLog, 1.3, 1.4 horde-kolab.spec, 1.20, 1.21
Message-ID: <20071119193546.674DF600151@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde
In directory doto:/tmp/cvs-serv5954
Modified Files:
ChangeLog horde-kolab.spec
Added Files:
HK-GW-Deleting_categories.patch
Log Message:
kolab/issue2101
--- NEW FILE: HK-GW-Deleting_categories.patch ---
Fix deleting categories.
diff -r 8ec1fe533f3c horde/templates/prefs/categorymanagement.inc
--- a/horde/templates/prefs/categorymanagement.inc Mon Nov 19 14:58:02 2007 +0100
+++ b/horde/templates/prefs/categorymanagement.inc Mon Nov 19 15:00:34 2007 +0100
@@ -1,12 +1,12 @@
-" onclick="add();" />
+" onclick="addCategory();" />
';
From cvs at kolab.org Wed Nov 21 17:17:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 17:17:26 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/php/admin/include
form.class.php, 1.32, 1.32.2.1
Message-ID: <20071121161726.1322C600D47@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/include
In directory doto:/tmp/cvs-serv27905/kolab-webadmin/kolab-webadmin/php/admin/include
Modified Files:
Tag: kolab_2_1_branch
form.class.php
Log Message:
Fix kolab/issue1912 (some field descriptions missing in web admin interface)
Index: form.class.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/include/form.class.php,v
retrieving revision 1.32
retrieving revision 1.32.2.1
diff -u -d -r1.32 -r1.32.2.1
--- form.class.php 12 Jul 2007 16:28:23 -0000 1.32
+++ form.class.php 21 Nov 2007 16:17:24 -0000 1.32.2.1
@@ -154,6 +154,7 @@
list($uname,$domain) = split('@',$value['value']);
}
if( ereg( 'readonly', $value['attrs'] ) ) {
+ $str .= '
'.$value['name'].'
';
$str .= '
'.MySmarty::htmlentities($value['value']).'
';
From cvs at kolab.org Wed Nov 21 17:32:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 17:32:13 +0100 (CET)
Subject: thomas: server/php-kolab/Kolab_Webadmin/Webadmin form.class.php, 1.5,
1.6
Message-ID: <20071121163213.A52DF600D47@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/php-kolab/Kolab_Webadmin/Webadmin
In directory doto:/tmp/cvs-serv28291/Webadmin
Modified Files:
form.class.php
Log Message:
fix kolab/issue1912 (some field descriptions missing in web admin interface)
(this package is currently not in use, so just in case it will be used ...)
Index: form.class.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Webadmin/Webadmin/form.class.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- form.class.php 17 Aug 2007 16:31:44 -0000 1.5
+++ form.class.php 21 Nov 2007 16:32:11 -0000 1.6
@@ -164,6 +164,7 @@
list($uname,$domain) = split('@',$value['value']);
}
if( ereg( 'readonly', $value['attrs'] ) ) {
+ $str .= '
'.$value['name'].'
';
$str .= '
'.KolabForm::htmlentities($value['value']).'
';
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server release-notes.txt,1.171,1.172
Message-ID: <20071121181139.8D6F2600D45@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv30801
Modified Files:
release-notes.txt
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -d -r1.171 -r1.172
--- release-notes.txt 21 Nov 2007 16:16:51 -0000 1.171
+++ release-notes.txt 21 Nov 2007 18:11:37 -0000 1.172
@@ -82,6 +82,8 @@
Updated German translations.
+ kolab/issue1711 (extra space after first name when editing users or
+ admins)
kolab/issue1912 (some field descriptions missing in web admin
interface)
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin ChangeLog,1.65,1.66
Message-ID: <20071121181139.8C8ED600174@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin
In directory doto:/tmp/cvs-serv30801/kolab-webadmin/kolab-webadmin
Modified Files:
ChangeLog
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/ChangeLog,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- ChangeLog 21 Nov 2007 16:16:51 -0000 1.65
+++ ChangeLog 21 Nov 2007 18:11:37 -0000 1.66
@@ -21,6 +21,19 @@
* php/admin/include/form.class.php: fix kolab/issue1912 (some field
descriptions missing in web admin interface)
+ * php/admin/include/ldap.class.php,
+ www/admin/addressbook/addr.php.in,
+ www/admin/addressbook/index.php.in,
+ www/admin/administrator/admin.php.in,
+ www/admin/administrator/index.php.in,
+ www/admin/domainmaintainer/domainmaintainer.php.in,
+ www/admin/domainmaintainer/index.php.in,
+ www/admin/maintainer/index.php.in,
+ www/admin/maintainer/maintainer.php.in,
+ www/admin/user/index.php.in,
+ www/admin/user/user.php.in: Fix kolab/issue1711 (extra space after
+ first name when editing users or admins)
+
2007-11-16 Thomas Arendsen Hein
* php/admin/locale/de/LC_MESSAGES/messages.po: Updated German
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/www/admin/user
index.php.in, 1.4, 1.5 user.php.in, 1.25, 1.26
Message-ID: <20071121181139.B4D50600D45@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user
In directory doto:/tmp/cvs-serv30801/kolab-webadmin/kolab-webadmin/www/admin/user
Modified Files:
index.php.in user.php.in
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/index.php.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- index.php.in 31 Jul 2006 02:03:10 -0000 1.4
+++ index.php.in 21 Nov 2007 18:11:37 -0000 1.5
@@ -144,9 +144,7 @@
$mail = $attrs['mail'][0];
$sn = $attrs['sn'][0];
$cn = $attrs['cn'][0];
- $a = strlen($sn);
- $b = strlen($cn);
- $fn = substr($cn, 0, $b - $a);
+ $fn = KolabLDAP::getGivenName($cn, $sn);
$dncomp = split( ',', $dn );
if( in_array('cn=groups',$dncomp) ) {
$type = 'G';
Index: user.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/user.php.in,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- user.php.in 21 Nov 2007 11:59:56 -0000 1.25
+++ user.php.in 21 Nov 2007 18:11:37 -0000 1.26
@@ -219,13 +219,7 @@
else $sn = $ldap_object['sn'];
if (is_array($ldap_object['cn'])) $cn = $ldap_object['cn'][0];
else $cn = $ldap_object['cn'];
- if ($sn) {
- $a = strlen($sn);
- if ($cn) {
- $b = strlen($cn);
- $givenname = substr($cn, 0, $b - $a);
- }
- }
+ if ($cn && $sn) $givenname = KolabLDAP::getGivenName($cn, $sn);
if (is_array($ldap_object['mail'])) $mail = $ldap_object['mail'][0];
else $mail = $ldap_object['mail'];
if (is_array($ldap_object['uid'])) $uid = $ldap_object['uid'][0];
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/www/admin/administrator
admin.php.in, 1.7, 1.8 index.php.in, 1.2, 1.3
Message-ID: <20071121181139.982A4600D62@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/administrator
In directory doto:/tmp/cvs-serv30801/kolab-webadmin/kolab-webadmin/www/admin/administrator
Modified Files:
admin.php.in index.php.in
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: admin.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/administrator/admin.php.in,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- admin.php.in 28 May 2007 19:24:10 -0000 1.7
+++ admin.php.in 21 Nov 2007 18:11:37 -0000 1.8
@@ -58,13 +58,7 @@
else $lastname = $ldap_object['sn'];
if (is_array($ldap_object['cn'])) $cn = $ldap_object['cn'][0];
else $cn = $ldap_object['cn'];
- if ($lastname) {
- $a = strlen($lastname);
- if ($cn) {
- $b = strlen($cn);
- $firstname = substr($cn, 0, $b - $a);
- }
- }
+ $firstname = KolabLDAP::getGivenName($cn, $lastname);
if (is_array($ldap_object['uid'])) $uid = $ldap_object['uid'][0];
else $uid = $ldap_object['uid'];
$form->entries['firstname']['value'] = $firstname;
Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/administrator/index.php.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- index.php.in 29 May 2007 15:07:06 -0000 1.2
+++ index.php.in 21 Nov 2007 18:11:37 -0000 1.3
@@ -81,9 +81,7 @@
if( $userid != 'manager' ) {
$sn = $attrs['sn'][0];
$cn = $attrs['cn'][0];
- $a = strlen($sn);
- $b = strlen($cn);
- $fn = substr($cn, 0, $b - $a);
+ $fn = KolabLDAP::getGivenName($cn, $sn);
// skip admins and maintainers
if( array_key_exists( $dn, $maintainers ) ) {
$entries[] = array( 'dn' => $dn,
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/php/admin/include
ldap.class.php, 1.30, 1.31
Message-ID: <20071121181139.8D637600175@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/include
In directory doto:/tmp/cvs-serv30801/kolab-webadmin/kolab-webadmin/php/admin/include
Modified Files:
ldap.class.php
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: ldap.class.php
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/include/ldap.class.php,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- ldap.class.php 13 Jul 2007 06:51:29 -0000 1.30
+++ ldap.class.php 21 Nov 2007 18:11:37 -0000 1.31
@@ -507,6 +507,26 @@
return true;
}
+ /**
+ * Get given (first) name
+ * Just return it if available, otherwise calculate from cn and sn
+ * (assumes that "$cn" is "$gn $sn")
+ *
+ * @param string $cn The common name
+ * @param string $sn The last name
+ * @param string $gn The given name
+ *
+ * @return string The extracted given (first) name
+ */
+ function getGivenName($cn, $sn, $gn = '')
+ {
+ if( $gn == '' ) {
+ return substr($cn, 0, strlen($cn) - strlen($sn) - 1);
+ } else {
+ return $gn;
+ }
+ }
+
var $connection;
var $is_bound;
var $bind_dn;
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/www/admin/addressbook
addr.php.in, 1.8, 1.9 index.php.in, 1.2, 1.3
Message-ID: <20071121181139.93187600D47@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/addressbook
In directory doto:/tmp/cvs-serv30801/kolab-webadmin/kolab-webadmin/www/admin/addressbook
Modified Files:
addr.php.in index.php.in
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: addr.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/addressbook/addr.php.in,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- addr.php.in 12 Jul 2007 16:28:23 -0000 1.8
+++ addr.php.in 21 Nov 2007 18:11:37 -0000 1.9
@@ -24,13 +24,7 @@
else $lastname = $ldap_object['sn'];
if (is_array($ldap_object['cn'])) $cn = $ldap_object['cn'][0];
else $cn = $ldap_object['cn'];
- if ($lastname) {
- $a = strlen($lastname);
- if ($cn) {
- $b = strlen($cn);
- $firstname = trim(substr($cn, 0, $b - $a));
- }
- }
+ $firstname = KolabLDAP::getGivenName($cn, $lastname);
if (is_array($ldap_object['mail'])) $mail_0 = $ldap_object['mail'][0];
else $mail_0 = $ldap_object['mail'];
$form->entries['firstname']['value'] = $firstname;
Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/addressbook/index.php.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- index.php.in 29 Mar 2006 10:52:14 -0000 1.2
+++ index.php.in 21 Nov 2007 18:11:37 -0000 1.3
@@ -93,18 +93,16 @@
while( $entry ) {
$attrs = ldap_get_attributes($ldap->connection, $entry);
$dn = ldap_get_dn($ldap->connection,$entry);
- $mail = $attrs['mail'][0];
- $sn = $attrs['sn'][0];
- $cn = $attrs['cn'][0];
- $a = strlen($sn);
- $b = strlen($cn);
- $fn = substr($cn, 0, $b - $a);
+ $mail = $attrs['mail'][0];
+ $sn = $attrs['sn'][0];
+ $cn = $attrs['cn'][0];
+ $fn = KolabLDAP::getGivenName($cn, $sn);
$deleted = array_key_exists('kolabDeleteflag',$attrs)?$attrs['kolabDeleteflag'][0]:"FALSE";
$entries[] = array( 'dn' => $dn,
'sn' => $sn,
'fn' => $fn,
'mail' => $mail,
- 'deleted' => $deleted );
+ 'deleted' => $deleted );
$entry = ldap_next_entry( $ldap->connection,$entry );
}
}
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/www/admin/maintainer
index.php.in, 1.2, 1.3 maintainer.php.in, 1.9, 1.10
Message-ID: <20071121181139.B1942600175@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/maintainer
In directory doto:/tmp/cvs-serv30801/kolab-webadmin/kolab-webadmin/www/admin/maintainer
Modified Files:
index.php.in maintainer.php.in
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/maintainer/index.php.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- index.php.in 29 May 2007 15:07:06 -0000 1.2
+++ index.php.in 21 Nov 2007 18:11:37 -0000 1.3
@@ -79,9 +79,7 @@
$userid = $attrs['uid'][0];
$sn = $attrs['sn'][0];
$cn = $attrs['cn'][0];
- $a = strlen($sn);
- $b = strlen($cn);
- $fn = substr($cn, 0, $b - $a);
+ $fn = KolabLDAP::getGivenName($cn, $sn);
// skip admins and maintainers
if( array_key_exists( $dn, $maintainers ) ) {
$entries[] = array( 'dn' => $dn,
Index: maintainer.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/maintainer/maintainer.php.in,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- maintainer.php.in 29 May 2007 15:07:06 -0000 1.9
+++ maintainer.php.in 21 Nov 2007 18:11:37 -0000 1.10
@@ -59,13 +59,7 @@
else $lastname = $ldap_object['sn'];
if (is_array($ldap_object['cn'])) $cn = $ldap_object['cn'][0];
else $cn = $ldap_object['cn'];
- if ($lastname) {
- $a = strlen($lastname);
- if ($cn) {
- $b = strlen($cn);
- $firstname = substr($cn, 0, $b - $a);
- }
- }
+ $firstname = KolabLDAP::getGivenName($cn, $lastname);
if (is_array($ldap_object['uid'])) $uid = $ldap_object['uid'][0];
else $uid = $ldap_object['uid'];
$form->entries['firstname']['value'] = $firstname;
From cvs at kolab.org Wed Nov 21 19:11:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 21 Nov 2007 19:11:39 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer
domainmaintainer.php.in, 1.14, 1.15 index.php.in, 1.3, 1.4
Message-ID: <20071121181139.ACBF3600174@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer
In directory doto:/tmp/cvs-serv30801/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer
Modified Files:
domainmaintainer.php.in index.php.in
Log Message:
Fix kolab/issue1711 (extra space after first name when editing users or admins)
Index: domainmaintainer.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer/domainmaintainer.php.in,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- domainmaintainer.php.in 7 Aug 2007 11:56:56 -0000 1.14
+++ domainmaintainer.php.in 21 Nov 2007 18:11:37 -0000 1.15
@@ -61,13 +61,7 @@
else $lastname = $ldap_object['sn'];
if (is_array($ldap_object['cn'])) $cn = $ldap_object['cn'][0];
else $cn = $ldap_object['cn'];
- if ($lastname) {
- $a = strlen($lastname);
- if ($cn) {
- $b = strlen($cn);
- $firstname = substr($cn, 0, $b - $a);
- }
- }
+ $firstname = KolabLDAP::getGivenName($cn, $lastname);
if (is_array($ldap_object['uid'])) $uid = $ldap_object['uid'][0];
else $uid = $ldap_object['uid'];
$form->entries['firstname']['value'] = $firstname;
Index: index.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/domainmaintainer/index.php.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- index.php.in 29 May 2007 15:07:06 -0000 1.3
+++ index.php.in 21 Nov 2007 18:11:37 -0000 1.4
@@ -79,9 +79,7 @@
$userid = $attrs['uid'][0];
$sn = $attrs['sn'][0];
$cn = $attrs['cn'][0];
- $a = strlen($sn);
- $b = strlen($cn);
- $fn = substr($cn, 0, $b - $a);
+ $fn = KolabLDAP::getGivenName($cn, $sn);
// skip admins and maintainers
if( array_key_exists( $dn, $maintainers ) ) {
$domains = $ldap->domainsForMaintainerDn($dn);
From cvs at kolab.org Thu Nov 22 12:39:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 12:39:58 +0100 (CET)
Subject: thomas: server release-notes.txt,1.172,1.173
Message-ID: <20071122113958.336E9600D69@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv26640
Modified Files:
release-notes.txt
Log Message:
"Fixed" change in encoding by removing umlauts.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -d -r1.172 -r1.173
--- release-notes.txt 21 Nov 2007 18:11:37 -0000 1.172
+++ release-notes.txt 22 Nov 2007 11:39:55 -0000 1.173
@@ -771,7 +771,7 @@
Kolab updates:
- More distconf changes by Richard Bos and Markus Hüwe.
+ More distconf changes by Richard Bos and Markus Huewe.
- perl-kolab-5.8.7-20060619
@@ -796,7 +796,7 @@
- kolab-webadmin-2.0.99-20060619
- * patch from Tobias König in order to support setting of
+ * patch from Tobias Koenig in order to support setting of
foldertype for public folders
kolab/issue848 (Modifying address book entry may break distribution list)
From cvs at kolab.org Thu Nov 22 17:20:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:20:57 +0100 (CET)
Subject: gunnar: server/patches/horde
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch, NONE, 1.1
Message-ID: <20071122162057.06DCB600D6B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv1269
Added Files:
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
Log Message:
A patch with Kolab extensions that is required for the new freebusy package.
--- NEW FILE: HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch ---
diff -r 2be0e69810d0 framework/Auth/Auth/kolab.php
--- a/framework/Auth/Auth/kolab.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Auth/Auth/kolab.php Thu Nov 22 17:17:04 2007 +0100
@@ -31,7 +31,12 @@ class Auth_kolab extends Auth_imap {
{
$params['hostspec'] = Kolab::getServer('imap');
$params['port'] = $GLOBALS['conf']['kolab']['imap']['port'];
- $params['protocol'] = 'imap/notls/novalidate-cert';
+ if (empty($GLOBALS['conf']['kolab']['imap']['protocol'])) {
+ $params['protocol'] = 'imap/notls/novalidate-cert';
+ } else {
+ $params['protocol'] = $GLOBALS['conf']['kolab']['imap']['protocol'];
+ }
+
parent::Auth_imap($params);
}
diff -r 2be0e69810d0 framework/Date/Date/Recurrence.php
--- a/framework/Date/Date/Recurrence.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Date/Date/Recurrence.php Thu Nov 22 17:17:04 2007 +0100
@@ -1044,4 +1044,352 @@ class Horde_Date_Recurrence {
return $rrule;
}
+
+ /**
+ * Parse the recurrence data from a hash
+ *
+ * @param array $hash The hash to convert
+ *
+ * @return boolean True if the hash seemed valid, false otherwise
+ */
+ function fromHash($hash)
+ {
+ if (!isset($hash['interval']) || !isset($hash['interval']) ||
+ !isset($hash['range-type'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurInterval((int) $hash['interval']);
+
+ $parse_day = false;
+ $set_daymask = false;
+
+ $update_month = false;
+ $update_daynumber = false;
+
+ $update_weekday = false;
+ $nth_weekday = -1;
+
+ switch ($hash['cycle']) {
+ case 'daily':
+ $this->setRecurType(HORDE_DATE_RECUR_DAILY);
+ break;
+
+ case 'weekly':
+ $this->setRecurType(HORDE_DATE_RECUR_WEEKLY);
+ $parse_day = true;
+ $set_daymask = true;
+ break;
+
+ case 'monthly':
+
+ if (!isset($hash['daynumber'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ switch ($hash['type']) {
+ case 'daynumber':
+ $this->setRecurType(HORDE_DATE_RECUR_MONTHLY_DATE);
+ $update_daynumber = true;
+ break;
+
+ case 'weekday':
+ $this->setRecurType(HORDE_DATE_RECUR_MONTHLY_WEEKDAY);
+ $nth_weekday = (int) $hash['daynumber'];
+ $hash['daynumber'] = 1;
+ $parse_day = true;
+ $update_daynumber = true;
+ $update_weekday = true;
+ break;
+ }
+ break;
+
+ case 'yearly':
+
+ if (!isset($hash['type'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ switch ($hash['type']) {
+ case 'monthday':
+ $this->setRecurType(HORDE_DATE_RECUR_YEARLY_DATE);
+ $update_month = true;
+ $update_daynumber = true;
+ break;
+ case 'yearday':
+
+ if (!isset($hash['month'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurType(HORDE_DATE_RECUR_YEARLY_DAY);
+ // Start counting days in January
+ $hash['month'] = 'january';
+ $update_month = true;
+ $update_daynumber = true;
+ break;
+ case 'weekday':
+
+ if (!isset($hash['daynumber'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurType(HORDE_DATE_RECUR_YEARLY_WEEKDAY);
+ $nth_weekday = (int) $hash['daynumber'];
+ $hash['daynumber'] = 1;
+ $parse_day = true;
+ $update_month = true;
+ $update_daynumber = true;
+ $update_weekday = true;
+ break;
+ }
+ }
+
+ switch ($hash['range-type']) {
+ case 'number':
+
+ if (!isset($hash['range'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurCount((int) $hash['range']);
+ break;
+
+ case 'date':
+ // fix off-by-one day
+ //FIXME
+ $timestamp = Kolab_Date::decodeDate($hash['range']);
+ $this->setRecurEnd(new Horde_Date($timestamp + 86400));
+ break;
+ }
+
+ // Need to parse ?
+ $last_found_day = -1;
+ if ($parse_day) {
+
+ if (!isset($hash['day'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $mask = 0;
+ $bits = array(
+ 'monday' => HORDE_DATE_MASK_MONDAY,
+ 'tuesday' => HORDE_DATE_MASK_TUESDAY,
+ 'wednesday' => HORDE_DATE_MASK_WEDNESDAY,
+ 'thursday' => HORDE_DATE_MASK_THURSDAY,
+ 'friday' => HORDE_DATE_MASK_FRIDAY,
+ 'saturday' => HORDE_DATE_MASK_SATURDAY,
+ 'sunday' => HORDE_DATE_MASK_SUNDAY,
+ );
+
+ $days = array(
+ 'monday' => HORDE_DATE_MONDAY,
+ 'tuesday' => HORDE_DATE_TUESDAY,
+ 'wednesday' => HORDE_DATE_WEDNESDAY,
+ 'thursday' => HORDE_DATE_THURSDAY,
+ 'friday' => HORDE_DATE_FRIDAY,
+ 'saturday' => HORDE_DATE_SATURDAY,
+ 'sunday' => HORDE_DATE_SUNDAY,
+ );
+
+ foreach ($hash['day'] as $day) {
+ // validity check
+ if (empty($day) || !isset($bits[$day]))
+ continue;
+
+ $mask |= $bits[$day];
+ $last_found_day = $days[$day];
+ }
+
+ if ($set_daymask) {
+ $this->setRecurOnDay($mask);
+ }
+ }
+
+ if ($update_month || $update_daynumber || $update_weekday) {
+ if ($update_month) {
+ $month2number = array(
+ 'january' => 1,
+ 'february' => 2,
+ 'march' => 3,
+ 'april' => 4,
+ 'may' => 5,
+ 'june' => 6,
+ 'july' => 7,
+ 'august' => 8,
+ 'september' => 9,
+ 'october' => 10,
+ 'november' => 11,
+ 'december' => 12,
+ );
+
+ if (isset($month2number[$hash['month']])) {
+ $this->start->month = $month2number[$hash['month']];
+ }
+ }
+
+ if ($update_daynumber) {
+
+ if (!isset($hash['daynumber'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->start->mday = $hash['daynumber'];
+ }
+
+ if ($update_weekday) {
+ $this->start->setNthWeekday($last_found_day, $nth_weekday);
+ }
+
+ $this->start->correct();
+ }
+
+ // Exclusions
+ if (isset($hash['exclusion'])) {
+ foreach($hash['exclusion'] as $exclusion) {
+ $date = new Horde_Date(Kolab_Date::decodeDate($exclusion));
+ $this->addException($date->year, $date->month, $date->mday);
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Export this object into a hash
+ *
+ * @return array The recurrence hash
+ */
+ function toHash()
+ {
+ $hash = array();
+
+ $hash['interval'] = $this->getRecurInterval();
+
+ $day2number = array(
+ 0 => 'sunday',
+ 1 => 'monday',
+ 2 => 'tuesday',
+ 3 => 'wednesday',
+ 4 => 'thursday',
+ 5 => 'friday',
+ 6 => 'saturday'
+ );
+
+ $month2number = array(
+ 1 => 'january',
+ 2 => 'february',
+ 3 => 'march',
+ 4 => 'april',
+ 5 => 'may',
+ 6 => 'june',
+ 7 => 'july',
+ 8 => 'august',
+ 9 => 'september',
+ 10 => 'october',
+ 11 => 'november',
+ 12 => 'december'
+ );
+
+ $start = $this->getRecurStart();
+ switch ($this->getRecurType()) {
+ case HORDE_DATE_RECUR_DAILY:
+ $hash['cycle'] = 'daily';
+ break;
+
+ case HORDE_DATE_RECUR_WEEKLY:
+ $hash['cycle'] = 'weekly';
+
+ $bits = array(
+ 'monday' => HORDE_DATE_MASK_MONDAY,
+ 'tuesday' => HORDE_DATE_MASK_TUESDAY,
+ 'wednesday' => HORDE_DATE_MASK_WEDNESDAY,
+ 'thursday' => HORDE_DATE_MASK_THURSDAY,
+ 'friday' => HORDE_DATE_MASK_FRIDAY,
+ 'saturday' => HORDE_DATE_MASK_SATURDAY,
+ 'sunday' => HORDE_DATE_MASK_SUNDAY,
+ );
+
+ $days = array();
+ foreach($bits as $name => $bit) {
+ if ($this->recurOnDay($bit)) {
+ $days[] = $name;
+ }
+ }
+
+ $hash['day'] = $days;
+ break;
+
+ case HORDE_DATE_RECUR_MONTHLY_DATE:
+ $hash['cycle'] = 'monthly';
+ $hash['type'] = 'daynumber';
+ $hash['daynumber'] = $start->mday;
+ break;
+
+ case HORDE_DATE_RECUR_MONTHLY_WEEKDAY:
+ $hash['cycle'] = 'monthly';
+ $hash['type'] = 'weekday';
+ $hash['daynumber'] = $start->weekOfMonth();
+ $hash['day'] = array ($day2number[$start->dayOfWeek()]);
+ break;
+
+ case HORDE_DATE_RECUR_YEARLY_DATE:
+ $hash['cycle'] = 'yearly';
+ $hash['type'] = 'monthday';
+ $hash['daynumber'] = $start->mday;
+ $hash['month'] = $month2number[$start->month];
+ break;
+
+ case HORDE_DATE_RECUR_YEARLY_DAY:
+ $hash['cycle'] = 'yearly';
+ $hash['type'] = 'yearday';
+ $hash['daynumber'] = $start->dayOfYear();
+ break;
+
+ case HORDE_DATE_RECUR_YEARLY_WEEKDAY:
+ $hash['cycle'] = 'yearly';
+ $hash['type'] = 'weekday';
+
+ $hash['daynumber'] = $start->weekOfMonth();
+ $hash['day'] = array ($day2number[$start->dayOfWeek()]);
+ $hash['month'] = $month2number[$start->month];
+ }
+
+ if ($this->hasRecurCount()) {
+ $hash['range-type'] = 'number';
+ $hash['range'] = $this->getRecurCount();
+ }else if ($this->hasRecurEnd()) {
+ // Fix of-by-one day
+ $date = $this->getRecurEnd();
+ $date->mday -= 1;
+ $date->correct();
+
+ $hash['range-type'] = 'date';
+ $hash['range'] = Kolab_Date::encodeDate($date->timestamp());
+ } else {
+ $hash['range-type'] = 'none';
+ $hash['range'] = '';
+ }
+
+ // Recurrence exclusions
+ $exclusions = array();
+ foreach ($this->getExceptions() as $exception) {
+ if (!empty($exception)) {
+ list($year, $month, $mday) = sscanf($exception, '%04d%02d%02d');
+ $exclusions[] = "$year-$month-$mday";
+ }
+ }
+ $hash['exclusion'] = $exclusions;
+
+ return $hash;
+ }
+
}
diff -r 2be0e69810d0 framework/Kolab/Kolab.php
--- a/framework/Kolab/Kolab.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Kolab/Kolab.php Thu Nov 22 17:17:04 2007 +0100
@@ -68,11 +68,14 @@ class Kolab {
*/
var $_uid;
- function Kolab()
- {
- global $registry;
-
- $this->_app = $registry->getApp();
+ function Kolab($app = null)
+ {
+ if (!isset($app)) {
+ global $registry;
+ $app = $registry->getApp();
+ }
+ $this->_app = $app;
+
$this->_storage = &new Kolab_IMAP();
}
diff -r 2be0e69810d0 framework/Kolab/Kolab/LDAP.php
--- a/framework/Kolab/Kolab/LDAP.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Kolab/Kolab/LDAP.php Thu Nov 22 17:17:04 2007 +0100
@@ -60,7 +60,7 @@ class Horde_Kolab_LDAP {
$this->bind_dn = false;
$this->search_result = false;
- $server = Kolab::getServer('ldap');
+ $server = $GLOBALS['conf']['kolab']['ldap']['server'];
$this->connection = ldap_connect($server);
// We really neeed v3!
@@ -222,4 +222,127 @@ class Horde_Kolab_LDAP {
}
}
+ /**
+ * Return a hash of info about a user
+ *
+ * @param string $uid The UID of the user.
+ *
+ * @return string The hash containing the user information.
+ */
+ function userInfo($uid)
+ {
+ $result = ldap_search($this->connection,
+ $GLOBALS['conf']['kolab']['ldap']['basedn'],
+ '(&(objectClass=kolabInetOrgPerson)(|(uid='.
+ Horde_LDAP::quote($uid) . ')(mail=' .
+ Horde_LDAP::quote($uid) . ')))',
+ array('dn','mail','uid','kolabHomeServer',
+ 'kolabFreeBusyFuture'));
+ if ($result) {
+ $entries = ldap_get_entries($this->connection, $result);
+ if($entries['count'] > 0 && !empty($entries[0]['mail'][0])) {
+ $hash = array();
+ $hash['DN'] = $this->readLdapAttr($entries[0], 'dn');
+ $hash['UID'] = $this->readLdapAttr($entries[0], 'uid');
+ $hash['MAIL'] = $this->readLdapAttr($entries[0], 'mail',
+ $uid);
+ $hash['HOMESERVER'] = $this->readLdapAttr($entries[0],
+ 'kolabhomeserver');
+ $hash['FBFUTURE'] = (int)($this->readLdapAttr($entries[0],
+ 'kolabfreebusyfuture',
+ 60));
+ $hash['GROUPS'] = $this->getGroups($hash['DN']);
+ ldap_free_result( $result );
+ return $hash;
+ }
+ ldap_free_result($result);
+ } else {
+ return PEAR::raiseError(sprintf(_("Error searching for user with the uid \"%s\"!"),
+ $uid));
+ }
+ return false;
+ }
+
+ /**
+ * Read an LDAP attribute
+ *
+ * @param string $entry The LDAP search result
+ * @param string $attrname The attribute to read.
+ * @param mixed $default A possible default value.
+ *
+ * @return mixed The attribute value or the default if the
+ * attribute was not found or the attribute
+ * was empty.
+ */
+ function readLdapAttr($entry, $attrname, $default = false ) {
+ $val = $default;
+ if (!array_key_exists($attrname, $entry)) {
+ return $default;
+ } else if (is_array($entry[$attrname])) {
+ $val = $entry[$attrname][0];
+ } else {
+ $val = $entry[$attrname];
+ }
+ if($val == '') {
+ return $default;
+ }
+ return $val;
+ }
+
+ function freeBusyPast() {
+ $result = ldap_read($this->connection,
+ $GLOBALS['conf']['kolab']['ldap']['basedn'],
+ '(&(objectClass=kolab)(k=kolab))',
+ array('kolabFreeBusyPast'));
+ if ($result) {
+ $entries = ldap_get_entries($this->connection, $result);
+ if ($entries['count'] > 0 &&
+ !empty($entries[0]['kolabfreebusypast'][0])) {
+ ldap_free_result($result);
+ return $entries[0]['kolabfreebusypast'][0];
+ }
+ }
+ // Default
+ return 0;
+ }
+
+ function getGroups($dn) {
+ $result = ldap_search($this->connection,
+ $GLOBALS['conf']['kolab']['ldap']['basedn'],
+ '(&(objectClass=kolabGroupOfNames)(member=' .
+ Horde_LDAP::quote($dn) . '))', array('mail'));
+ if ($result) {
+ $entries = ldap_get_entries($this->connection, $result);
+ $lst = array();
+ for ($i = 0; $i < $entries['count']; $i++) {
+ $lst[] = $entries[$i]['mail'][0];
+ }
+ return $lst;
+ }
+ return array();
+ }
+
+ /**
+ * Attempts to return a reference to a concrete Horde_Kolab_LDAP
+ * instance. It will only create a new instance if no
+ * Horde_Kolab_LDAP instance currently exists.
+ *
+ * This method must be invoked as:
+ * $var = &Horde_Kolab_LDAP::singleton();
+ *
+ * @static
+ *
+ * @return Horde_Kolab_LDAP The concrete Horde_Kolab_LDAP
+ * reference, or false on an error.
+ */
+ function &singleton()
+ {
+ static $ldap = null;
+
+ if (empty($ldap)) {
+ $ldap = &new Horde_Kolab_LDAP();
+ }
+
+ return $ldap;
+ }
}
\ No newline at end of file
diff -r 2be0e69810d0 framework/Kolab/package.xml
--- a/framework/Kolab/package.xml Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Kolab/package.xml Thu Nov 22 17:17:04 2007 +0100
@@ -45,6 +45,7 @@ communication between a Horde client and
+
From cvs at kolab.org Thu Nov 22 17:24:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:24:16 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.173,1.174
Message-ID: <20071122162416.596B8600D6B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv1438
Modified Files:
release-notes.txt
Log Message:
Added Horde/Kolab extensionsrequired for the new freebusy package.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.173
retrieving revision 1.174
diff -u -d -r1.173 -r1.174
--- release-notes.txt 22 Nov 2007 11:39:55 -0000 1.173
+++ release-notes.txt 22 Nov 2007 16:24:14 -0000 1.174
@@ -57,6 +57,8 @@
- horde-framework-kolab-3.2_ALPHA-2007????
+ New functionality required for kolab-freebusy.
+
kolab/issue2128 (Building horde-framework-kolab without http access fails)
kolab/issue2138 (Horde creates events in main inbox)
kolab/issue2144 (Calendar items of shared calendar not appearing)
From cvs at kolab.org Thu Nov 22 17:24:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:24:16 +0100 (CET)
Subject: gunnar: server/horde/horde-framework HK-GW-Kolab_extensions.patch,
NONE, 1.1 ChangeLog, 1.10, 1.11 horde-framework-kolab.spec, 1.28,
1.29
Message-ID: <20071122162416.61F0760C4A7@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv1438/horde/horde-framework
Modified Files:
ChangeLog horde-framework-kolab.spec
Added Files:
HK-GW-Kolab_extensions.patch
Log Message:
Added Horde/Kolab extensionsrequired for the new freebusy package.
--- NEW FILE: HK-GW-Kolab_extensions.patch ---
diff -r 2be0e69810d0 framework/Auth/Auth/kolab.php
--- a/framework/Auth/Auth/kolab.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Auth/Auth/kolab.php Thu Nov 22 17:17:04 2007 +0100
@@ -31,7 +31,12 @@ class Auth_kolab extends Auth_imap {
{
$params['hostspec'] = Kolab::getServer('imap');
$params['port'] = $GLOBALS['conf']['kolab']['imap']['port'];
- $params['protocol'] = 'imap/notls/novalidate-cert';
+ if (empty($GLOBALS['conf']['kolab']['imap']['protocol'])) {
+ $params['protocol'] = 'imap/notls/novalidate-cert';
+ } else {
+ $params['protocol'] = $GLOBALS['conf']['kolab']['imap']['protocol'];
+ }
+
parent::Auth_imap($params);
}
diff -r 2be0e69810d0 framework/Date/Date/Recurrence.php
--- a/framework/Date/Date/Recurrence.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Date/Date/Recurrence.php Thu Nov 22 17:17:04 2007 +0100
@@ -1044,4 +1044,352 @@ class Horde_Date_Recurrence {
return $rrule;
}
+
+ /**
+ * Parse the recurrence data from a hash
+ *
+ * @param array $hash The hash to convert
+ *
+ * @return boolean True if the hash seemed valid, false otherwise
+ */
+ function fromHash($hash)
+ {
+ if (!isset($hash['interval']) || !isset($hash['interval']) ||
+ !isset($hash['range-type'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurInterval((int) $hash['interval']);
+
+ $parse_day = false;
+ $set_daymask = false;
+
+ $update_month = false;
+ $update_daynumber = false;
+
+ $update_weekday = false;
+ $nth_weekday = -1;
+
+ switch ($hash['cycle']) {
+ case 'daily':
+ $this->setRecurType(HORDE_DATE_RECUR_DAILY);
+ break;
+
+ case 'weekly':
+ $this->setRecurType(HORDE_DATE_RECUR_WEEKLY);
+ $parse_day = true;
+ $set_daymask = true;
+ break;
+
+ case 'monthly':
+
+ if (!isset($hash['daynumber'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ switch ($hash['type']) {
+ case 'daynumber':
+ $this->setRecurType(HORDE_DATE_RECUR_MONTHLY_DATE);
+ $update_daynumber = true;
+ break;
+
+ case 'weekday':
+ $this->setRecurType(HORDE_DATE_RECUR_MONTHLY_WEEKDAY);
+ $nth_weekday = (int) $hash['daynumber'];
+ $hash['daynumber'] = 1;
+ $parse_day = true;
+ $update_daynumber = true;
+ $update_weekday = true;
+ break;
+ }
+ break;
+
+ case 'yearly':
+
+ if (!isset($hash['type'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ switch ($hash['type']) {
+ case 'monthday':
+ $this->setRecurType(HORDE_DATE_RECUR_YEARLY_DATE);
+ $update_month = true;
+ $update_daynumber = true;
+ break;
+ case 'yearday':
+
+ if (!isset($hash['month'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurType(HORDE_DATE_RECUR_YEARLY_DAY);
+ // Start counting days in January
+ $hash['month'] = 'january';
+ $update_month = true;
+ $update_daynumber = true;
+ break;
+ case 'weekday':
+
+ if (!isset($hash['daynumber'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurType(HORDE_DATE_RECUR_YEARLY_WEEKDAY);
+ $nth_weekday = (int) $hash['daynumber'];
+ $hash['daynumber'] = 1;
+ $parse_day = true;
+ $update_month = true;
+ $update_daynumber = true;
+ $update_weekday = true;
+ break;
+ }
+ }
+
+ switch ($hash['range-type']) {
+ case 'number':
+
+ if (!isset($hash['range'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->setRecurCount((int) $hash['range']);
+ break;
+
+ case 'date':
+ // fix off-by-one day
+ //FIXME
+ $timestamp = Kolab_Date::decodeDate($hash['range']);
+ $this->setRecurEnd(new Horde_Date($timestamp + 86400));
+ break;
+ }
+
+ // Need to parse ?
+ $last_found_day = -1;
+ if ($parse_day) {
+
+ if (!isset($hash['day'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $mask = 0;
+ $bits = array(
+ 'monday' => HORDE_DATE_MASK_MONDAY,
+ 'tuesday' => HORDE_DATE_MASK_TUESDAY,
+ 'wednesday' => HORDE_DATE_MASK_WEDNESDAY,
+ 'thursday' => HORDE_DATE_MASK_THURSDAY,
+ 'friday' => HORDE_DATE_MASK_FRIDAY,
+ 'saturday' => HORDE_DATE_MASK_SATURDAY,
+ 'sunday' => HORDE_DATE_MASK_SUNDAY,
+ );
+
+ $days = array(
+ 'monday' => HORDE_DATE_MONDAY,
+ 'tuesday' => HORDE_DATE_TUESDAY,
+ 'wednesday' => HORDE_DATE_WEDNESDAY,
+ 'thursday' => HORDE_DATE_THURSDAY,
+ 'friday' => HORDE_DATE_FRIDAY,
+ 'saturday' => HORDE_DATE_SATURDAY,
+ 'sunday' => HORDE_DATE_SUNDAY,
+ );
+
+ foreach ($hash['day'] as $day) {
+ // validity check
+ if (empty($day) || !isset($bits[$day]))
+ continue;
+
+ $mask |= $bits[$day];
+ $last_found_day = $days[$day];
+ }
+
+ if ($set_daymask) {
+ $this->setRecurOnDay($mask);
+ }
+ }
+
+ if ($update_month || $update_daynumber || $update_weekday) {
+ if ($update_month) {
+ $month2number = array(
+ 'january' => 1,
+ 'february' => 2,
+ 'march' => 3,
+ 'april' => 4,
+ 'may' => 5,
+ 'june' => 6,
+ 'july' => 7,
+ 'august' => 8,
+ 'september' => 9,
+ 'october' => 10,
+ 'november' => 11,
+ 'december' => 12,
+ );
+
+ if (isset($month2number[$hash['month']])) {
+ $this->start->month = $month2number[$hash['month']];
+ }
+ }
+
+ if ($update_daynumber) {
+
+ if (!isset($hash['daynumber'])) {
+ $this->setRecurType(HORDE_DATE_RECUR_NONE);
+ return false;
+ }
+
+ $this->start->mday = $hash['daynumber'];
+ }
+
+ if ($update_weekday) {
+ $this->start->setNthWeekday($last_found_day, $nth_weekday);
+ }
+
+ $this->start->correct();
+ }
+
+ // Exclusions
+ if (isset($hash['exclusion'])) {
+ foreach($hash['exclusion'] as $exclusion) {
+ $date = new Horde_Date(Kolab_Date::decodeDate($exclusion));
+ $this->addException($date->year, $date->month, $date->mday);
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Export this object into a hash
+ *
+ * @return array The recurrence hash
+ */
+ function toHash()
+ {
+ $hash = array();
+
+ $hash['interval'] = $this->getRecurInterval();
+
+ $day2number = array(
+ 0 => 'sunday',
+ 1 => 'monday',
+ 2 => 'tuesday',
+ 3 => 'wednesday',
+ 4 => 'thursday',
+ 5 => 'friday',
+ 6 => 'saturday'
+ );
+
+ $month2number = array(
+ 1 => 'january',
+ 2 => 'february',
+ 3 => 'march',
+ 4 => 'april',
+ 5 => 'may',
+ 6 => 'june',
+ 7 => 'july',
+ 8 => 'august',
+ 9 => 'september',
+ 10 => 'october',
+ 11 => 'november',
+ 12 => 'december'
+ );
+
+ $start = $this->getRecurStart();
+ switch ($this->getRecurType()) {
+ case HORDE_DATE_RECUR_DAILY:
+ $hash['cycle'] = 'daily';
+ break;
+
+ case HORDE_DATE_RECUR_WEEKLY:
+ $hash['cycle'] = 'weekly';
+
+ $bits = array(
+ 'monday' => HORDE_DATE_MASK_MONDAY,
+ 'tuesday' => HORDE_DATE_MASK_TUESDAY,
+ 'wednesday' => HORDE_DATE_MASK_WEDNESDAY,
+ 'thursday' => HORDE_DATE_MASK_THURSDAY,
+ 'friday' => HORDE_DATE_MASK_FRIDAY,
+ 'saturday' => HORDE_DATE_MASK_SATURDAY,
+ 'sunday' => HORDE_DATE_MASK_SUNDAY,
+ );
+
+ $days = array();
+ foreach($bits as $name => $bit) {
+ if ($this->recurOnDay($bit)) {
+ $days[] = $name;
+ }
+ }
+
+ $hash['day'] = $days;
+ break;
+
+ case HORDE_DATE_RECUR_MONTHLY_DATE:
+ $hash['cycle'] = 'monthly';
+ $hash['type'] = 'daynumber';
+ $hash['daynumber'] = $start->mday;
+ break;
+
+ case HORDE_DATE_RECUR_MONTHLY_WEEKDAY:
+ $hash['cycle'] = 'monthly';
+ $hash['type'] = 'weekday';
+ $hash['daynumber'] = $start->weekOfMonth();
+ $hash['day'] = array ($day2number[$start->dayOfWeek()]);
+ break;
+
+ case HORDE_DATE_RECUR_YEARLY_DATE:
+ $hash['cycle'] = 'yearly';
+ $hash['type'] = 'monthday';
+ $hash['daynumber'] = $start->mday;
+ $hash['month'] = $month2number[$start->month];
+ break;
+
+ case HORDE_DATE_RECUR_YEARLY_DAY:
+ $hash['cycle'] = 'yearly';
+ $hash['type'] = 'yearday';
+ $hash['daynumber'] = $start->dayOfYear();
+ break;
+
+ case HORDE_DATE_RECUR_YEARLY_WEEKDAY:
+ $hash['cycle'] = 'yearly';
+ $hash['type'] = 'weekday';
+
+ $hash['daynumber'] = $start->weekOfMonth();
+ $hash['day'] = array ($day2number[$start->dayOfWeek()]);
+ $hash['month'] = $month2number[$start->month];
+ }
+
+ if ($this->hasRecurCount()) {
+ $hash['range-type'] = 'number';
+ $hash['range'] = $this->getRecurCount();
+ }else if ($this->hasRecurEnd()) {
+ // Fix of-by-one day
+ $date = $this->getRecurEnd();
+ $date->mday -= 1;
+ $date->correct();
+
+ $hash['range-type'] = 'date';
+ $hash['range'] = Kolab_Date::encodeDate($date->timestamp());
+ } else {
+ $hash['range-type'] = 'none';
+ $hash['range'] = '';
+ }
+
+ // Recurrence exclusions
+ $exclusions = array();
+ foreach ($this->getExceptions() as $exception) {
+ if (!empty($exception)) {
+ list($year, $month, $mday) = sscanf($exception, '%04d%02d%02d');
+ $exclusions[] = "$year-$month-$mday";
+ }
+ }
+ $hash['exclusion'] = $exclusions;
+
+ return $hash;
+ }
+
}
diff -r 2be0e69810d0 framework/Kolab/Kolab.php
--- a/framework/Kolab/Kolab.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Kolab/Kolab.php Thu Nov 22 17:17:04 2007 +0100
@@ -68,11 +68,14 @@ class Kolab {
*/
var $_uid;
- function Kolab()
- {
- global $registry;
-
- $this->_app = $registry->getApp();
+ function Kolab($app = null)
+ {
+ if (!isset($app)) {
+ global $registry;
+ $app = $registry->getApp();
+ }
+ $this->_app = $app;
+
$this->_storage = &new Kolab_IMAP();
}
diff -r 2be0e69810d0 framework/Kolab/Kolab/LDAP.php
--- a/framework/Kolab/Kolab/LDAP.php Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Kolab/Kolab/LDAP.php Thu Nov 22 17:17:04 2007 +0100
@@ -60,7 +60,7 @@ class Horde_Kolab_LDAP {
$this->bind_dn = false;
$this->search_result = false;
- $server = Kolab::getServer('ldap');
+ $server = $GLOBALS['conf']['kolab']['ldap']['server'];
$this->connection = ldap_connect($server);
// We really neeed v3!
@@ -222,4 +222,127 @@ class Horde_Kolab_LDAP {
}
}
+ /**
+ * Return a hash of info about a user
+ *
+ * @param string $uid The UID of the user.
+ *
+ * @return string The hash containing the user information.
+ */
+ function userInfo($uid)
+ {
+ $result = ldap_search($this->connection,
+ $GLOBALS['conf']['kolab']['ldap']['basedn'],
+ '(&(objectClass=kolabInetOrgPerson)(|(uid='.
+ Horde_LDAP::quote($uid) . ')(mail=' .
+ Horde_LDAP::quote($uid) . ')))',
+ array('dn','mail','uid','kolabHomeServer',
+ 'kolabFreeBusyFuture'));
+ if ($result) {
+ $entries = ldap_get_entries($this->connection, $result);
+ if($entries['count'] > 0 && !empty($entries[0]['mail'][0])) {
+ $hash = array();
+ $hash['DN'] = $this->readLdapAttr($entries[0], 'dn');
+ $hash['UID'] = $this->readLdapAttr($entries[0], 'uid');
+ $hash['MAIL'] = $this->readLdapAttr($entries[0], 'mail',
+ $uid);
+ $hash['HOMESERVER'] = $this->readLdapAttr($entries[0],
+ 'kolabhomeserver');
+ $hash['FBFUTURE'] = (int)($this->readLdapAttr($entries[0],
+ 'kolabfreebusyfuture',
+ 60));
+ $hash['GROUPS'] = $this->getGroups($hash['DN']);
+ ldap_free_result( $result );
+ return $hash;
+ }
+ ldap_free_result($result);
+ } else {
+ return PEAR::raiseError(sprintf(_("Error searching for user with the uid \"%s\"!"),
+ $uid));
+ }
+ return false;
+ }
+
+ /**
+ * Read an LDAP attribute
+ *
+ * @param string $entry The LDAP search result
+ * @param string $attrname The attribute to read.
+ * @param mixed $default A possible default value.
+ *
+ * @return mixed The attribute value or the default if the
+ * attribute was not found or the attribute
+ * was empty.
+ */
+ function readLdapAttr($entry, $attrname, $default = false ) {
+ $val = $default;
+ if (!array_key_exists($attrname, $entry)) {
+ return $default;
+ } else if (is_array($entry[$attrname])) {
+ $val = $entry[$attrname][0];
+ } else {
+ $val = $entry[$attrname];
+ }
+ if($val == '') {
+ return $default;
+ }
+ return $val;
+ }
+
+ function freeBusyPast() {
+ $result = ldap_read($this->connection,
+ $GLOBALS['conf']['kolab']['ldap']['basedn'],
+ '(&(objectClass=kolab)(k=kolab))',
+ array('kolabFreeBusyPast'));
+ if ($result) {
+ $entries = ldap_get_entries($this->connection, $result);
+ if ($entries['count'] > 0 &&
+ !empty($entries[0]['kolabfreebusypast'][0])) {
+ ldap_free_result($result);
+ return $entries[0]['kolabfreebusypast'][0];
+ }
+ }
+ // Default
+ return 0;
+ }
+
+ function getGroups($dn) {
+ $result = ldap_search($this->connection,
+ $GLOBALS['conf']['kolab']['ldap']['basedn'],
+ '(&(objectClass=kolabGroupOfNames)(member=' .
+ Horde_LDAP::quote($dn) . '))', array('mail'));
+ if ($result) {
+ $entries = ldap_get_entries($this->connection, $result);
+ $lst = array();
+ for ($i = 0; $i < $entries['count']; $i++) {
+ $lst[] = $entries[$i]['mail'][0];
+ }
+ return $lst;
+ }
+ return array();
+ }
+
+ /**
+ * Attempts to return a reference to a concrete Horde_Kolab_LDAP
+ * instance. It will only create a new instance if no
+ * Horde_Kolab_LDAP instance currently exists.
+ *
+ * This method must be invoked as:
+ * $var = &Horde_Kolab_LDAP::singleton();
+ *
+ * @static
+ *
+ * @return Horde_Kolab_LDAP The concrete Horde_Kolab_LDAP
+ * reference, or false on an error.
+ */
+ function &singleton()
+ {
+ static $ldap = null;
+
+ if (empty($ldap)) {
+ $ldap = &new Horde_Kolab_LDAP();
+ }
+
+ return $ldap;
+ }
}
\ No newline at end of file
diff -r 2be0e69810d0 framework/Kolab/package.xml
--- a/framework/Kolab/package.xml Mon Nov 19 17:20:06 2007 +0100
+++ b/framework/Kolab/package.xml Thu Nov 22 17:17:04 2007 +0100
@@ -45,6 +45,7 @@ communication between a Horde client and
+
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/ChangeLog,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- ChangeLog 19 Nov 2007 19:48:46 -0000 1.10
+++ ChangeLog 22 Nov 2007 16:24:14 -0000 1.11
@@ -1,3 +1,9 @@
+2007-11-22 Gunnar Wrobel
+
+ * horde-framework-kolab.spec:
+
+ New functionality required for kolab-freebusy.
+
2007-11-19 Gunnar Wrobel
* horde-framework-kolab.spec:
Index: horde-framework-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/horde-framework-kolab.spec,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- horde-framework-kolab.spec 19 Nov 2007 19:48:46 -0000 1.28
+++ horde-framework-kolab.spec 22 Nov 2007 16:24:14 -0000 1.29
@@ -3,7 +3,7 @@
%define V_package horde-%{V_horde_name}-kolab
%define V_year 2007
%define V_month 11
-%define V_day 19
+%define V_day 22
%define V_version 3.2_ALPHA
%define V_date %{V_year}-%{V_month}-%{V_day}
%define V_release %{V_year}%{V_month}%{V_day}
@@ -33,6 +33,7 @@
Patch4: HK-GW-Kolab_issue_2144.patch
Patch5: HK-GW-Kolab_issue_2138.patch
Patch6: HK-GW-Fix_contact_XML.patch
+Patch7: HK-GW-Kolab_extensions.patch
# Build Info
Prefix: %{l_prefix}
@@ -61,6 +62,7 @@
%patch -p2 -P 4
%patch -p2 -P 5
%patch -p2 -P 6
+ %patch -p2 -P 7
%build
From cvs at kolab.org Thu Nov 22 17:24:16 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:24:16 +0100 (CET)
Subject: gunnar: server/patches/horde README_Kolab_extensions.patch,NONE,1.1
Message-ID: <20071122162416.60B31600D77@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv1438/patches/horde
Added Files:
README_Kolab_extensions.patch
Log Message:
Added Horde/Kolab extensionsrequired for the new freebusy package.
--- NEW FILE: README_Kolab_extensions.patch ---
DESCRIPTION:
This adds functionality required for the restructured kolab-freebusy
package.
IMPACT:
kolab-freebusy won't work without it.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_ALPHA/summary
HISTORY
Submission upstream still pending (at least most of it).
From cvs at kolab.org Thu Nov 22 17:31:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:31:02 +0100 (CET)
Subject: gunnar: server/patches/horde
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch, 1.1, 1.2
Message-ID: <20071122163102.CD5DF600D74@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv1655/patches/horde
Modified Files:
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
Log Message:
Missed a file in the patch.
Index: HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
===================================================================
RCS file: /kolabrepository/server/patches/horde/HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch 22 Nov 2007 16:20:54 -0000 1.1
+++ HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch 22 Nov 2007 16:31:00 -0000 1.2
@@ -1,6 +1,6 @@
diff -r 2be0e69810d0 framework/Auth/Auth/kolab.php
--- a/framework/Auth/Auth/kolab.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Auth/Auth/kolab.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Auth/Auth/kolab.php Thu Nov 22 17:29:28 2007 +0100
@@ -31,7 +31,12 @@ class Auth_kolab extends Auth_imap {
{
$params['hostspec'] = Kolab::getServer('imap');
@@ -17,7 +17,7 @@
}
diff -r 2be0e69810d0 framework/Date/Date/Recurrence.php
--- a/framework/Date/Date/Recurrence.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Date/Date/Recurrence.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Date/Date/Recurrence.php Thu Nov 22 17:29:28 2007 +0100
@@ -1044,4 +1044,352 @@ class Horde_Date_Recurrence {
return $rrule;
}
@@ -373,7 +373,7 @@
}
diff -r 2be0e69810d0 framework/Kolab/Kolab.php
--- a/framework/Kolab/Kolab.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Kolab/Kolab.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Kolab/Kolab.php Thu Nov 22 17:29:28 2007 +0100
@@ -68,11 +68,14 @@ class Kolab {
*/
var $_uid;
@@ -394,9 +394,503 @@
$this->_storage = &new Kolab_IMAP();
}
+diff -r 2be0e69810d0 framework/Kolab/Kolab/Freebusy.php
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/framework/Kolab/Kolab/Freebusy.php Thu Nov 22 17:29:28 2007 +0100
+@@ -0,0 +1,490 @@
++
++ * @author Chuck Hagenbuch
++ * @author Steffen Hansen
++ * @package Horde_Kolab
++ */
++class Horde_Kolab_Freebusy {
++
++ /**
++ * Our Kolab server connection.
++ *
++ * @var Kolab
++ */
++ var $_kolab = null;
++
++ /**
++ * Shortcut to the imap connection
++ *
++ * @var Kolab_IMAP
++ */
++ var $_store;
++
++ /**
++ * The folder we are generating free/busy information for
++ *
++ * @var string
++ */
++ var $_folder;
++
++ /**
++ * Is this folder relevant only for users or admins?
++ *
++ * @var string
++ */
++ var $_relevance;
++
++ /**
++ * Folder ACLs
++ *
++ * @var string
++ */
++ var $_acl;
++
++ /**
++ * Folder extended attributes ACL
++ *
++ * @var string
++ */
++ var $_xacl;
++
++ /**
++ * Initialize the free/busy handler.
++ *
++ * @return Horde_Kolab_Freebusy The initialized free/busy class
++ */
++ function Horde_Kolab_Freebusy()
++ {
++ /* Pretend that we are Kronolith */
++ $this->_kolab = &new Kolab('kronolith');
++ }
++
++ /**
++ * Connect to IMAP.
++ *
++ * This function has been derived from the synchronize() function
++ * in the Kolab driver for Kronolith.
++ *
++ * @param string $folder The folder to generate free/busy data for.
++ */
++ function connect($folder)
++ {
++ // Connect to the Kolab backend
++ $result = $this->_kolab->open($folder, 1);
++ if (is_a($result, 'PEAR_Error')) {
++ return $result;
++ }
++ $this->_store = &$this->_kolab->_storage;
++ if (!$this->_store->_imap->exists($folder)) {
++ return PEAR::raiseError(sprintf(_("Folder %s does not exist!"), $folder));
++ }
++ $type = $this->_store->getMailboxType($folder);
++ if ($type != 'event') {
++ return PEAR::raiseError(sprintf(_("Folder %s has type \"%s\" not \"event\"!"),
++ $folder, $type));
++ }
++ $this->_folder = $folder;
++ }
++
++ /**
++ * Lists all events in the time range, optionally restricting
++ * results to only events with alarms.
++ *
++ * Taken from the Kolab driver for Kronolith.
++ *
++ * @param Horde_Date $startInterval Start of range date object.
++ * @param Horde_Date $endInterval End of range data object.
++ *
++ * @return array Events in the given time range.
++ */
++ function listEvents($startDate = null, $endDate = null)
++ {
++ $events = array();
++
++ $objects = $this->_store->getObjects();
++ foreach($objects as $object) {
++ $events[] = &new Kolab_Event($object);
++ }
++
++ if (is_null($startDate)) {
++ $startDate = &new Horde_Date(array('mday' => 1, 'month' => 1, 'year' => 0000));
++ }
++ if (is_null($endDate)) {
++ $endDate = &new Horde_Date(array('mday' => 31, 'month' => 12, 'year' => 9999));
++ }
++
++ $result = array();
++
++ foreach($events as $event) {
++
++ /* check if event period intersects with given period */
++ if (!(($endDate->compareDateTime($event->start) < 0) ||
++ ($startDate->compareDateTime($event->end) > 0))) {
++ $result[] = $event;
++ continue;
++ }
++
++ /* do recurrence expansion if not keeping anyway */
++ if ($event->recurs()) {
++ $next = $event->recurrence->nextRecurrence($startDate);
++ if ($next !== false &&
++ !$event->recurrence->hasException($next->year, $next->month, $next->mday) &&
++ (!(($endDate->compareDateTime($event->start) < 0) ||
++ ($startDate->compareDateTime($event->end) > 0)))) {
++ $result[] = $event;
++ }
++ }
++ }
++
++ return $result;
++ }
++
++ function getRelevance() {
++
++ /* cached? */
++ if (isset($this->_relevance)) {
++ return $this->_relevance;
++ }
++
++ $annotation = $this->_store->_imap->getAnnotation('/vendor/kolab/incidences-for',
++ 'value.shared',
++ $this->_folder);
++ if (is_a($annotation, 'PEAR_Error')) {
++ return $annotation;
++ }
++
++ if (empty($annotation)) {
++ Horde::logMessage(sprintf(_("No relevance value found for %s"), $this->_folder),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_relevance = 'admins';
++ } else {
++ Horde::logMessage(sprintf(_("Relevance for %s is %s"), $this->_folder, $annotation),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_relevance = $annotation;
++ }
++ return $this->_relevance;
++ }
++
++ function getACL() {
++
++ /* cached? */
++ if (isset($this->_acl)) {
++ return $this->_acl;
++ }
++
++ $acl = $this->_store->_imap->getACL($this->_folder);
++ if (is_a($acl, 'PEAR_Error')) {
++ return $acl;
++ }
++
++ if (empty($acl)) {
++ Horde::logMessage(sprintf(_("No ACL found for %s"), $this->_folder),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_acl = '';
++ } else {
++ Horde::logMessage(sprintf(_("ACL for %s is %s"),
++ $this->_folder, serialize($acl)),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_acl = $acl;
++ }
++ return $this->_acl;
++ }
++
++ function getExtendedACL() {
++
++ /* cached? */
++ if (isset($this->_xacl)) {
++ return $this->_xacl;
++ }
++
++ $annotation = $this->_store->_imap->getAnnotation('/vendor/kolab/xfb-readable',
++ 'value.shared',
++ $this->_folder);
++ if (is_a($annotation, 'PEAR_Error')) {
++ return $annotation;
++ }
++
++ if (empty($annotation)) {
++ Horde::logMessage(sprintf(_("No extended ACL value found for %s"), $this->_folder),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_xacl = '';
++ } else {
++ Horde::logMessage(sprintf(_("Extended ACL for %s is %s"), $this->_folder, $annotation),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_xacl = $annotation;
++ }
++ return $this->_xacl;
++ }
++
++ /**
++ * Generates the free/busy text for $calendar. Cache it for at least an
++ * hour, as well.
++ *
++ * @param integer $startstamp The start of the time period to retrieve.
++ * @param integer $endstamp The end of the time period to retrieve.
++ * @param integer $fbpast The number of days that free/busy should
++ * be calculated for the past
++ * @param integer $fbfuture The number of days that free/busy should
++ * be calculated for the future
++ * @param string $user Set organizer to this user.
++ *
++ * @return string The free/busy text.
++ */
++ function &generate($startstamp = null, $endstamp = null,
++ $fbpast = 0, $fbfuture = 60,
++ $user = null)
++ {
++ /* Get the iCalendar library at this point */
++ require_once 'Horde/iCalendar.php';
++
++ /* Default the start date to today. */
++ if (is_null($startstamp)) {
++ $month = date('n');
++ $year = date('Y');
++ $day = date('j');
++
++ $startstamp = mktime(0, 0, 0, $month, $day - $fbpast, $year);
++ }
++
++ /* Default the end date to the start date + freebusy_days. */
++ if (is_null($endstamp) || $endstamp < $startstamp) {
++ $month = date('n', $startstamp);
++ $year = date('Y', $startstamp);
++ $day = date('j', $startstamp);
++
++ $endstamp = mktime(0, 0, 0,
++ $month,
++ $day + $fbfuture,
++ $year);
++ }
++
++ Horde::logMessage(sprintf(_("Creating free/busy infromation from %s to %s"),
++ $startstamp, $endstamp), __FILE__, __LINE__,
++ PEAR_LOG_DEBUG);
++
++ /* Fetch events. */
++ $startDate = new Horde_Date($startstamp);
++ $endDate = new Horde_Date($endstamp);
++ $events = $this->listEvents($startDate, $endDate);
++ if (empty($events)) {
++ return $events;
++ }
++
++ /* Create the new iCalendar. */
++ $vCal = new Horde_iCalendar();
++ $vCal->setAttribute('PRODID', '-//proko2//freebusy 1.0//EN');
++ $vCal->setAttribute('METHOD', 'PUBLISH');
++
++ /* Create new vFreebusy. */
++ $vFb = &Horde_iCalendar::newComponent('vfreebusy', $vCal);
++ $vFb->setAttribute('ORGANIZER', 'MAILTO:' . $user);
++
++ $vFb->setAttribute('DTSTAMP', $_SERVER['REQUEST_TIME']);
++ $vFb->setAttribute('DTSTART', $startstamp);
++ $vFb->setAttribute('DTEND', $endstamp);
++ // URL is not required, so out it goes...
++ //$vFb->setAttribute('URL', Horde::applicationUrl('fb.php?u=' . $share->get('owner'), true, -1));
++
++ /* Add all the busy periods. */
++ foreach ($events as $event) {
++ if ($event->hasStatus(KRONOLITH_STATUS_FREE)) {
++ continue;
++ }
++
++ $duration = $event->end->timestamp() - $event->start->timestamp();
++ $extra = array('X-UID' => base64_encode($event->eventID),
++ 'X-SUMMARY' => base64_encode($event->title),
++ 'X-LOCATION' => base64_encode($event->location));
++
++ /* Make sure that we're using the current date for recurring
++ * events. */
++ if ($event->recurs()) {
++ $startThisDay = mktime($event->start->hour,
++ $event->start->min,
++ $event->start->sec,
++ date('n', $day),
++ date('j', $day),
++ date('Y', $day));
++ } else {
++ $startThisDay = $event->start->timestamp($extra);
++ }
++ if (!$event->recurs()) {
++ $vFb->addBusyPeriod('BUSY', $startThisDay, null, $duration, $extra);
++ } else {
++ while (true) {
++ $next = $event->recurrence->nextRecurrence($startDate);
++ if ($next === false) {
++ break;
++ }
++ if ($event->recurrence->hasException($next->year, $next->month, $next->mday)) {
++ continue;
++ }
++ if ($endDate->compareDateTime($next->start) < 0) {
++ break;
++ }
++ $vFb->addBusyPeriod('BUSY', $next->timestamp(), null, $duration, $extra);
++ }
++ }
++ }
++
++ /* Remove the overlaps. */
++ $vFb->simplify();
++ $vCal->addComponent($vFb);
++
++ return $vCal;
++ }
++}
++
++class Kolab_Event {
++
++ /**
++ * The driver unique identifier for this event.
++ *
++ * @var string
++ */
++ var $eventID = null;
++
++ /**
++ * The start time of the event.
++ *
++ * @var Horde_Date
++ */
++ var $start;
++
++ /**
++ * The end time of the event.
++ *
++ * @var Horde_Date
++ */
++ var $end;
++
++ /**
++ * The title of this event.
++ *
++ * @var string
++ */
++ var $title = '';
++
++ /**
++ * The location this event occurs at.
++ *
++ * @var string
++ */
++ var $location = '';
++
++ /**
++ * Whether the event is private.
++ *
++ * @var boolean
++ */
++ var $private = false;
++
++ function Kolab_Event($event)
++ {
++ $this->eventID = $event['uid'];
++
++ $this->start = new Horde_Date($event['start-date']);
++ $this->end = new Horde_Date($event['end-date']);
++
++ if (isset($event['summary'])) {
++ $this->title = $event['summary'];
++ }
++
++ if (isset($event['location'])) {
++ $this->location = $event['location'];
++ }
++
++ if ($event['sensitivity'] == 'private' || $event['sensitivity'] == 'confidential') {
++ $this->private = true;
++ }
++
++ switch ($event['show-time-as']) {
++ case 'free':
++ $this->status = KRONOLITH_STATUS_CANCELLED;
++ break;
++
++ case 'tentative':
++ $this->status = KRONOLITH_STATUS_TENTATIVE;
++ break;
++
++ case 'busy':
++ case 'outofoffice':
++ default:
++ $this->status = KRONOLITH_STATUS_CONFIRMED;
++ }
++
++ // Recurrence
++ if (isset($event['recurrence'])) {
++ $this->recurrence = new Horde_Date_Recurrence($this->start);
++ $this->recurrence->fromHash($event['recurrence']);
++ }
++
++ }
++
++ /**
++ * Returns whether this event is a recurring event.
++ *
++ * @return boolean True if this is a recurring event.
++ */
++ function recurs()
++ {
++ return isset($this->recurrence) &&
++ !$this->recurrence->hasRecurType(HORDE_DATE_RECUR_NONE);
++ }
++
++ /**
++ * Sets the global UID for this event.
++ *
++ * @param string $uid The global UID for this event.
++ */
++ function setUID($uid)
++ {
++ $this->_uid = $uid;
++ }
++
++ /**
++ * Checks whether the events status is the same as the specified value.
++ *
++ * @param integer $status The status value to check against.
++ *
++ * @return boolean True if the events status is the same as $status.
++ */
++ function hasStatus($status)
++ {
++ return ($status == $this->status);
++ }
++
++}
diff -r 2be0e69810d0 framework/Kolab/Kolab/LDAP.php
--- a/framework/Kolab/Kolab/LDAP.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Kolab/Kolab/LDAP.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Kolab/Kolab/LDAP.php Thu Nov 22 17:29:28 2007 +0100
@@ -60,7 +60,7 @@ class Horde_Kolab_LDAP {
$this->bind_dn = false;
$this->search_result = false;
@@ -537,7 +1031,7 @@
\ No newline at end of file
diff -r 2be0e69810d0 framework/Kolab/package.xml
--- a/framework/Kolab/package.xml Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Kolab/package.xml Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Kolab/package.xml Thu Nov 22 17:29:28 2007 +0100
@@ -45,6 +45,7 @@ communication between a Horde client and
From cvs at kolab.org Thu Nov 22 17:31:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:31:02 +0100 (CET)
Subject: gunnar: server/horde/horde-framework HK-GW-Kolab_extensions.patch, 1.1,
1.2
Message-ID: <20071122163102.A94E0600D6B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv1655/horde/horde-framework
Modified Files:
HK-GW-Kolab_extensions.patch
Log Message:
Missed a file in the patch.
Index: HK-GW-Kolab_extensions.patch
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/HK-GW-Kolab_extensions.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- HK-GW-Kolab_extensions.patch 22 Nov 2007 16:24:14 -0000 1.1
+++ HK-GW-Kolab_extensions.patch 22 Nov 2007 16:31:00 -0000 1.2
@@ -1,6 +1,6 @@
diff -r 2be0e69810d0 framework/Auth/Auth/kolab.php
--- a/framework/Auth/Auth/kolab.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Auth/Auth/kolab.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Auth/Auth/kolab.php Thu Nov 22 17:29:28 2007 +0100
@@ -31,7 +31,12 @@ class Auth_kolab extends Auth_imap {
{
$params['hostspec'] = Kolab::getServer('imap');
@@ -17,7 +17,7 @@
}
diff -r 2be0e69810d0 framework/Date/Date/Recurrence.php
--- a/framework/Date/Date/Recurrence.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Date/Date/Recurrence.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Date/Date/Recurrence.php Thu Nov 22 17:29:28 2007 +0100
@@ -1044,4 +1044,352 @@ class Horde_Date_Recurrence {
return $rrule;
}
@@ -373,7 +373,7 @@
}
diff -r 2be0e69810d0 framework/Kolab/Kolab.php
--- a/framework/Kolab/Kolab.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Kolab/Kolab.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Kolab/Kolab.php Thu Nov 22 17:29:28 2007 +0100
@@ -68,11 +68,14 @@ class Kolab {
*/
var $_uid;
@@ -394,9 +394,503 @@
$this->_storage = &new Kolab_IMAP();
}
+diff -r 2be0e69810d0 framework/Kolab/Kolab/Freebusy.php
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/framework/Kolab/Kolab/Freebusy.php Thu Nov 22 17:29:28 2007 +0100
+@@ -0,0 +1,490 @@
++
++ * @author Chuck Hagenbuch
++ * @author Steffen Hansen
++ * @package Horde_Kolab
++ */
++class Horde_Kolab_Freebusy {
++
++ /**
++ * Our Kolab server connection.
++ *
++ * @var Kolab
++ */
++ var $_kolab = null;
++
++ /**
++ * Shortcut to the imap connection
++ *
++ * @var Kolab_IMAP
++ */
++ var $_store;
++
++ /**
++ * The folder we are generating free/busy information for
++ *
++ * @var string
++ */
++ var $_folder;
++
++ /**
++ * Is this folder relevant only for users or admins?
++ *
++ * @var string
++ */
++ var $_relevance;
++
++ /**
++ * Folder ACLs
++ *
++ * @var string
++ */
++ var $_acl;
++
++ /**
++ * Folder extended attributes ACL
++ *
++ * @var string
++ */
++ var $_xacl;
++
++ /**
++ * Initialize the free/busy handler.
++ *
++ * @return Horde_Kolab_Freebusy The initialized free/busy class
++ */
++ function Horde_Kolab_Freebusy()
++ {
++ /* Pretend that we are Kronolith */
++ $this->_kolab = &new Kolab('kronolith');
++ }
++
++ /**
++ * Connect to IMAP.
++ *
++ * This function has been derived from the synchronize() function
++ * in the Kolab driver for Kronolith.
++ *
++ * @param string $folder The folder to generate free/busy data for.
++ */
++ function connect($folder)
++ {
++ // Connect to the Kolab backend
++ $result = $this->_kolab->open($folder, 1);
++ if (is_a($result, 'PEAR_Error')) {
++ return $result;
++ }
++ $this->_store = &$this->_kolab->_storage;
++ if (!$this->_store->_imap->exists($folder)) {
++ return PEAR::raiseError(sprintf(_("Folder %s does not exist!"), $folder));
++ }
++ $type = $this->_store->getMailboxType($folder);
++ if ($type != 'event') {
++ return PEAR::raiseError(sprintf(_("Folder %s has type \"%s\" not \"event\"!"),
++ $folder, $type));
++ }
++ $this->_folder = $folder;
++ }
++
++ /**
++ * Lists all events in the time range, optionally restricting
++ * results to only events with alarms.
++ *
++ * Taken from the Kolab driver for Kronolith.
++ *
++ * @param Horde_Date $startInterval Start of range date object.
++ * @param Horde_Date $endInterval End of range data object.
++ *
++ * @return array Events in the given time range.
++ */
++ function listEvents($startDate = null, $endDate = null)
++ {
++ $events = array();
++
++ $objects = $this->_store->getObjects();
++ foreach($objects as $object) {
++ $events[] = &new Kolab_Event($object);
++ }
++
++ if (is_null($startDate)) {
++ $startDate = &new Horde_Date(array('mday' => 1, 'month' => 1, 'year' => 0000));
++ }
++ if (is_null($endDate)) {
++ $endDate = &new Horde_Date(array('mday' => 31, 'month' => 12, 'year' => 9999));
++ }
++
++ $result = array();
++
++ foreach($events as $event) {
++
++ /* check if event period intersects with given period */
++ if (!(($endDate->compareDateTime($event->start) < 0) ||
++ ($startDate->compareDateTime($event->end) > 0))) {
++ $result[] = $event;
++ continue;
++ }
++
++ /* do recurrence expansion if not keeping anyway */
++ if ($event->recurs()) {
++ $next = $event->recurrence->nextRecurrence($startDate);
++ if ($next !== false &&
++ !$event->recurrence->hasException($next->year, $next->month, $next->mday) &&
++ (!(($endDate->compareDateTime($event->start) < 0) ||
++ ($startDate->compareDateTime($event->end) > 0)))) {
++ $result[] = $event;
++ }
++ }
++ }
++
++ return $result;
++ }
++
++ function getRelevance() {
++
++ /* cached? */
++ if (isset($this->_relevance)) {
++ return $this->_relevance;
++ }
++
++ $annotation = $this->_store->_imap->getAnnotation('/vendor/kolab/incidences-for',
++ 'value.shared',
++ $this->_folder);
++ if (is_a($annotation, 'PEAR_Error')) {
++ return $annotation;
++ }
++
++ if (empty($annotation)) {
++ Horde::logMessage(sprintf(_("No relevance value found for %s"), $this->_folder),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_relevance = 'admins';
++ } else {
++ Horde::logMessage(sprintf(_("Relevance for %s is %s"), $this->_folder, $annotation),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_relevance = $annotation;
++ }
++ return $this->_relevance;
++ }
++
++ function getACL() {
++
++ /* cached? */
++ if (isset($this->_acl)) {
++ return $this->_acl;
++ }
++
++ $acl = $this->_store->_imap->getACL($this->_folder);
++ if (is_a($acl, 'PEAR_Error')) {
++ return $acl;
++ }
++
++ if (empty($acl)) {
++ Horde::logMessage(sprintf(_("No ACL found for %s"), $this->_folder),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_acl = '';
++ } else {
++ Horde::logMessage(sprintf(_("ACL for %s is %s"),
++ $this->_folder, serialize($acl)),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_acl = $acl;
++ }
++ return $this->_acl;
++ }
++
++ function getExtendedACL() {
++
++ /* cached? */
++ if (isset($this->_xacl)) {
++ return $this->_xacl;
++ }
++
++ $annotation = $this->_store->_imap->getAnnotation('/vendor/kolab/xfb-readable',
++ 'value.shared',
++ $this->_folder);
++ if (is_a($annotation, 'PEAR_Error')) {
++ return $annotation;
++ }
++
++ if (empty($annotation)) {
++ Horde::logMessage(sprintf(_("No extended ACL value found for %s"), $this->_folder),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_xacl = '';
++ } else {
++ Horde::logMessage(sprintf(_("Extended ACL for %s is %s"), $this->_folder, $annotation),
++ __FILE__, __LINE__, PEAR_LOG_DEBUG);
++ $this->_xacl = $annotation;
++ }
++ return $this->_xacl;
++ }
++
++ /**
++ * Generates the free/busy text for $calendar. Cache it for at least an
++ * hour, as well.
++ *
++ * @param integer $startstamp The start of the time period to retrieve.
++ * @param integer $endstamp The end of the time period to retrieve.
++ * @param integer $fbpast The number of days that free/busy should
++ * be calculated for the past
++ * @param integer $fbfuture The number of days that free/busy should
++ * be calculated for the future
++ * @param string $user Set organizer to this user.
++ *
++ * @return string The free/busy text.
++ */
++ function &generate($startstamp = null, $endstamp = null,
++ $fbpast = 0, $fbfuture = 60,
++ $user = null)
++ {
++ /* Get the iCalendar library at this point */
++ require_once 'Horde/iCalendar.php';
++
++ /* Default the start date to today. */
++ if (is_null($startstamp)) {
++ $month = date('n');
++ $year = date('Y');
++ $day = date('j');
++
++ $startstamp = mktime(0, 0, 0, $month, $day - $fbpast, $year);
++ }
++
++ /* Default the end date to the start date + freebusy_days. */
++ if (is_null($endstamp) || $endstamp < $startstamp) {
++ $month = date('n', $startstamp);
++ $year = date('Y', $startstamp);
++ $day = date('j', $startstamp);
++
++ $endstamp = mktime(0, 0, 0,
++ $month,
++ $day + $fbfuture,
++ $year);
++ }
++
++ Horde::logMessage(sprintf(_("Creating free/busy infromation from %s to %s"),
++ $startstamp, $endstamp), __FILE__, __LINE__,
++ PEAR_LOG_DEBUG);
++
++ /* Fetch events. */
++ $startDate = new Horde_Date($startstamp);
++ $endDate = new Horde_Date($endstamp);
++ $events = $this->listEvents($startDate, $endDate);
++ if (empty($events)) {
++ return $events;
++ }
++
++ /* Create the new iCalendar. */
++ $vCal = new Horde_iCalendar();
++ $vCal->setAttribute('PRODID', '-//proko2//freebusy 1.0//EN');
++ $vCal->setAttribute('METHOD', 'PUBLISH');
++
++ /* Create new vFreebusy. */
++ $vFb = &Horde_iCalendar::newComponent('vfreebusy', $vCal);
++ $vFb->setAttribute('ORGANIZER', 'MAILTO:' . $user);
++
++ $vFb->setAttribute('DTSTAMP', $_SERVER['REQUEST_TIME']);
++ $vFb->setAttribute('DTSTART', $startstamp);
++ $vFb->setAttribute('DTEND', $endstamp);
++ // URL is not required, so out it goes...
++ //$vFb->setAttribute('URL', Horde::applicationUrl('fb.php?u=' . $share->get('owner'), true, -1));
++
++ /* Add all the busy periods. */
++ foreach ($events as $event) {
++ if ($event->hasStatus(KRONOLITH_STATUS_FREE)) {
++ continue;
++ }
++
++ $duration = $event->end->timestamp() - $event->start->timestamp();
++ $extra = array('X-UID' => base64_encode($event->eventID),
++ 'X-SUMMARY' => base64_encode($event->title),
++ 'X-LOCATION' => base64_encode($event->location));
++
++ /* Make sure that we're using the current date for recurring
++ * events. */
++ if ($event->recurs()) {
++ $startThisDay = mktime($event->start->hour,
++ $event->start->min,
++ $event->start->sec,
++ date('n', $day),
++ date('j', $day),
++ date('Y', $day));
++ } else {
++ $startThisDay = $event->start->timestamp($extra);
++ }
++ if (!$event->recurs()) {
++ $vFb->addBusyPeriod('BUSY', $startThisDay, null, $duration, $extra);
++ } else {
++ while (true) {
++ $next = $event->recurrence->nextRecurrence($startDate);
++ if ($next === false) {
++ break;
++ }
++ if ($event->recurrence->hasException($next->year, $next->month, $next->mday)) {
++ continue;
++ }
++ if ($endDate->compareDateTime($next->start) < 0) {
++ break;
++ }
++ $vFb->addBusyPeriod('BUSY', $next->timestamp(), null, $duration, $extra);
++ }
++ }
++ }
++
++ /* Remove the overlaps. */
++ $vFb->simplify();
++ $vCal->addComponent($vFb);
++
++ return $vCal;
++ }
++}
++
++class Kolab_Event {
++
++ /**
++ * The driver unique identifier for this event.
++ *
++ * @var string
++ */
++ var $eventID = null;
++
++ /**
++ * The start time of the event.
++ *
++ * @var Horde_Date
++ */
++ var $start;
++
++ /**
++ * The end time of the event.
++ *
++ * @var Horde_Date
++ */
++ var $end;
++
++ /**
++ * The title of this event.
++ *
++ * @var string
++ */
++ var $title = '';
++
++ /**
++ * The location this event occurs at.
++ *
++ * @var string
++ */
++ var $location = '';
++
++ /**
++ * Whether the event is private.
++ *
++ * @var boolean
++ */
++ var $private = false;
++
++ function Kolab_Event($event)
++ {
++ $this->eventID = $event['uid'];
++
++ $this->start = new Horde_Date($event['start-date']);
++ $this->end = new Horde_Date($event['end-date']);
++
++ if (isset($event['summary'])) {
++ $this->title = $event['summary'];
++ }
++
++ if (isset($event['location'])) {
++ $this->location = $event['location'];
++ }
++
++ if ($event['sensitivity'] == 'private' || $event['sensitivity'] == 'confidential') {
++ $this->private = true;
++ }
++
++ switch ($event['show-time-as']) {
++ case 'free':
++ $this->status = KRONOLITH_STATUS_CANCELLED;
++ break;
++
++ case 'tentative':
++ $this->status = KRONOLITH_STATUS_TENTATIVE;
++ break;
++
++ case 'busy':
++ case 'outofoffice':
++ default:
++ $this->status = KRONOLITH_STATUS_CONFIRMED;
++ }
++
++ // Recurrence
++ if (isset($event['recurrence'])) {
++ $this->recurrence = new Horde_Date_Recurrence($this->start);
++ $this->recurrence->fromHash($event['recurrence']);
++ }
++
++ }
++
++ /**
++ * Returns whether this event is a recurring event.
++ *
++ * @return boolean True if this is a recurring event.
++ */
++ function recurs()
++ {
++ return isset($this->recurrence) &&
++ !$this->recurrence->hasRecurType(HORDE_DATE_RECUR_NONE);
++ }
++
++ /**
++ * Sets the global UID for this event.
++ *
++ * @param string $uid The global UID for this event.
++ */
++ function setUID($uid)
++ {
++ $this->_uid = $uid;
++ }
++
++ /**
++ * Checks whether the events status is the same as the specified value.
++ *
++ * @param integer $status The status value to check against.
++ *
++ * @return boolean True if the events status is the same as $status.
++ */
++ function hasStatus($status)
++ {
++ return ($status == $this->status);
++ }
++
++}
diff -r 2be0e69810d0 framework/Kolab/Kolab/LDAP.php
--- a/framework/Kolab/Kolab/LDAP.php Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Kolab/Kolab/LDAP.php Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Kolab/Kolab/LDAP.php Thu Nov 22 17:29:28 2007 +0100
@@ -60,7 +60,7 @@ class Horde_Kolab_LDAP {
$this->bind_dn = false;
$this->search_result = false;
@@ -537,7 +1031,7 @@
\ No newline at end of file
diff -r 2be0e69810d0 framework/Kolab/package.xml
--- a/framework/Kolab/package.xml Mon Nov 19 17:20:06 2007 +0100
-+++ b/framework/Kolab/package.xml Thu Nov 22 17:17:04 2007 +0100
++++ b/framework/Kolab/package.xml Thu Nov 22 17:29:28 2007 +0100
@@ -45,6 +45,7 @@ communication between a Horde client and
From cvs at kolab.org Thu Nov 22 17:53:07 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:53:07 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy package.xml.in,1.3,1.4
Message-ID: <20071122165307.42803600175@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy
In directory doto:/tmp/cvs-serv2216
Modified Files:
package.xml.in
Log Message:
Fully restructured the perl package. Implements the newest free/busy concepts.
Index: package.xml.in
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Freebusy/package.xml.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- package.xml.in 16 Aug 2007 12:16:51 -0000 1.3
+++ package.xml.in 22 Nov 2007 16:53:05 -0000 1.4
@@ -83,19 +83,9 @@
-
-
-
-
-
-
-
-
-
+
+
-
-
-
From cvs at kolab.org Thu Nov 22 17:53:07 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:53:07 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy/tests
Freebusy_recurrence.phpt, 1.2, NONE
Message-ID: <20071122165307.7B3FF600D45@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy/tests
In directory doto:/tmp/cvs-serv2216/tests
Removed Files:
Freebusy_recurrence.phpt
Log Message:
Fully restructured the perl package. Implements the newest free/busy concepts.
--- Freebusy_recurrence.phpt DELETED ---
From cvs at kolab.org Thu Nov 22 17:53:07 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:53:07 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy/Freebusy Cache.php, NONE,
1.1 Page.php, NONE, 1.1 domxml-php4-to-php5.php, 1.1,
NONE freebusy.class.php, 1.5, NONE freebusycache.class.php, 1.2,
NONE freebusycollector.class.php, 1.2,
NONE freebusyimapcache.class.php, 1.2,
NONE freebusyldap.class.php, 1.2,
NONE freebusyldap_dummy.class.php, 1.2, NONE misc.php, 1.2,
NONE recurrence.class.php, 1.3, NONE
Message-ID: <20071122165307.7689A600175@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy/Freebusy
In directory doto:/tmp/cvs-serv2216/Freebusy
Added Files:
Cache.php Page.php
Removed Files:
domxml-php4-to-php5.php freebusy.class.php
freebusycache.class.php freebusycollector.class.php
freebusyimapcache.class.php freebusyldap.class.php
freebusyldap_dummy.class.php misc.php recurrence.class.php
Log Message:
Fully restructured the perl package. Implements the newest free/busy concepts.
--- NEW FILE: Cache.php ---
_cache_dir = $cache_dir;
}
function store($access)
{
$folder = $this->_getFolder($access);
/* Now we really need the free/busy library */
require_once('Horde/Kolab/Freebusy.php');
$fb = &new Horde_Kolab_Freebusy();
$result = $fb->connect($folder);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$vCal = $fb->generate(null, null, $access->fbpast, $access->fbfuture,
$access->owner);
if (is_a($vCal, 'PEAR_Error')) {
$vCal;
}
$fbfilename = $this->_getFilename($folder, $access->owner);
$c_pvcal = &new FreeBusyCacheFile_pvcal($this->_cache_dir, $fbfilename);
$c_acl = &new FreeBusyCacheFile_acl($this->_cache_dir, $fbfilename);
$c_xacl = &new FreeBusyCacheFile_xacl($this->_cache_dir, $fbfilename);
/* missing data means delete the cache files */
if (empty($vCal)) {
Horde::logMessage(sprintf(_("No events. Purging cache %s."),
$fbfilename),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$result = $c_pvcal->purge();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$result = $c_acl->purge();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$result = $c_xacl->purge();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
} else {
$result = $c_pvcal->storePVcal($vCal);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$relevance = $fb->getRelevance();
if (is_a($relevance, 'PEAR_Error')) {
$relevance;
}
$acl = $fb->getACL();
if (is_a($acl, 'PEAR_Error')) {
$acl;
}
$result = $c_acl->storeACL($acl, $relevance);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$xacl = $fb->getExtendedACL();
if (is_a($xacl, 'PEAR_Error')) {
$xacl;
}
/* The owner may always look at the extended attributes */
$xacl .= ' ' . $access->owner;
$result = $c_xacl->storeXACL($xacl);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
Horde::logMessage(sprintf(_("FreeBusyCache::store(file=%s, relevance=%s, acl=%s, xacl=%s)"),
$fbfilename, $relevance, $acl, $xacl),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
}
}
function &loadPartial(&$access, $extended)
{
$folder = $this->_getFolder($access);
$file = $this->_getFilename($folder, $access->owner);
$aclcache = &FreeBusyCacheDB_acl::singleton('acl', $this->_cache_dir);
$relevant = false;
foreach ($access->groups as $id) {
if ($aclcache->has($file, $id)) {
$relevant = true;
break;
}
}
if (!$relevant) {
return PEAR::raiseError(sprintf(_("Folder %s is irrelevant for user %s."),
$folder, $access->user));
}
if ($extended) {
$extended = $this->_allowExtended($file, $access);
}
$c_pvcal = &new FreeBusyCacheFile_pvcal($this->_cache_dir, $file);
$pvCal = $c_pvcal->loadPVcal($extended);
if (is_a($pvCal, 'PEAR_Error')) {
return $pvCal;
}
return $pvCal;
}
function &load(&$access, $extended)
{
/* Which files will we access? */
$aclcache = &FreeBusyCacheDB_acl::singleton('acl', $this->_cache_dir);
$files = array();
foreach ($access->groups as $id) {
$add = $aclcache->get($id);
if (is_a($add, 'PEAR_Error')) {
return $add;
}
$files = array_unique(array_merge($files, $add));
}
$filesnames = array();
$c_file = $this->_getFilename($access->user, $access->owner);
$c_vcal = &new FreeBusyCacheFile_vcal($this->_cache_dir, $c_file);
/* If the current vCal cache did not expire, we can deliver it */
if (!$c_vcal->expired($files)) {
$vCal = $c_vcal->loadVcal();
if (is_a($vCal, 'PEAR_Error')) {
return $vCal;
}
return $vCal;
}
// Create the new iCalendar.
$vCal = &new Horde_iCalendar();
$vCal->setAttribute('PRODID', '-//proko2//freebusy 1.0//EN');
$vCal->setAttribute('METHOD', 'PUBLISH');
// Create new vFreebusy.
$vFb = &Horde_iCalendar::newComponent('vfreebusy', $vCal);
$vFb->setAttribute('ORGANIZER', 'MAILTO:' . $access->owner);
$vFb->setAttribute('DTSTAMP', time());
$vFb->setAttribute('URL', 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
$mtimes = array();
foreach ($files as $file) {
if ($extended) {
$extended = $this->_allowExtended($file, $access);
}
$c_pvcal = &new FreeBusyCacheFile_pvcal($this->_cache_dir, $file);
$pvCal = $c_pvcal->loadPVcal($extended);
if (is_a($pvCal, 'PEAR_Error')) {
Horde::logMessage(sprintf(_("Ignoring partial free/busy file %s: %s)"),
$file, $pvCal->getMessage()),
__FILE__, __LINE__, PEAR_LOG_INFO);
continue;
}
$pvFb = &$pvCal->findComponent('vfreebusy');
if( !$pvFb ) {
Horde::logMessage(sprintf(_("Could not find free/busy info in file %s.)"),
$file), __FILE__, __LINE__, PEAR_LOG_INFO);
continue;
}
if ($ets = $pvFb->getAttributeDefault('DTEND', false) !== false) {
// PENDING(steffen): Make value configurable
if ($ets < time()) {
Horde::logMessage(sprintf(_("Free/busy info in file %s is too old.)"),
$file), __FILE__, __LINE__, PEAR_LOG_INFO);
$c_pvcal->purge();
continue;
}
}
$vFb->merge($pvFb);
/* Store last modification time */
$mtimes[$file] = $c_pvcal->getMtime();
}
if (!(boolean)$vFb->getBusyPeriods()) {
/* No busy periods in fb list. We have to add a
* dummy one to be standards compliant
*/
$vFb->setAttribute('COMMENT', 'This is a dummy vfreebusy that indicates an empty calendar');
$vFb->addBusyPeriod('BUSY', 0,0, null);
}
$vCal->addComponent($vFb);
$c_vcal->storeVcal($vCal, $mtimes);
return $vCal;
}
function _allowExtended($file, &$access)
{
$xaclcache = &FreeBusyCacheDB_xacl::singleton('xacl', $this->_cache_dir);
foreach ($access->groups as $id) {
if ($xaclcache->has($file, $id)) {
return true;
}
}
Horde::logMessage(sprintf(_("Extended attributes on folder %s disallowed for user %s."),
$access->folder, $access->user), __FILE__, __LINE__, PEAR_LOG_DEBUG);
return false;
}
/*************** Private API below this line *************/
function _getFilename($folder, $owner)
{
if (ereg('(.*)@(.*)', $owner, $regs)) {
$owner = $regs[2] . '/' . $regs[1];
}
if ($folder) {
if (ereg('(.*)@(.*)', $folder, $regs)) {
$folder = $regs[2] . '/' . $regs[1];
}
$filename = $owner . '/' . $folder;
}
return str_replace("\0", '', str_replace('.', '^', $filename));
}
function _getFolder($access)
{
$userdom = false;
$ownerdom = false;
if (ereg( '(.*)@(.*)', $access->user, $regs)) {
// Regular user
$user = $regs[1];
$userdom = $regs[2];
}
if(ereg( '(.*)@(.*)', $access->owner, $regs)) {
// Regular owner
$owner = $regs[1];
$ownerdom = $regs[2];
}
$fldrcomp = array();
if ($user == $owner) {
$fldrcomp[] = 'INBOX';
} else {
$fldrcomp[] = 'user';
$owner[] = 'user';
}
if (!empty($access->folder)) {
$fldrcomp[] = $access->folder;
}
$folder = join('/', $fldrcomp);
if ($ownerdom && !$userdom) {
$folder .= '@' . $ownerdom;
}
return $folder;
}
};
class FreeBusyCacheDB {
var $_cache_dir;
var $_db;
var $_dbformat;
var $_type = '';
function FreeBusyCacheDB($cache_dir) {
global $conf;
$this->_cache_dir = $cache_dir;
if (!empty($conf['fb']['dbformat'])) {
$this->_dbformat = $conf['fb']['dbformat'];
} else {
$this->_dbformat = 'db4';
}
/* make sure that a database really exists before accessing it */
if (!file_exists($this->_cache_dir . '/' . $this->_type . 'cache.db')) {
$result = $this->_open();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$this->_close();
}
}
function _open()
{
if ($this->_db) {
return;
}
$dbfile = $this->_cache_dir . '/' . $this->_type . 'cache.db';
$this->_db = @dba_open($dbfile, 'cd', $this->_dbformat);
if ($this->_db === false) {
return PEAR::raiseError(sprintf(_("Unable to open freebusy cache db %s"), $dbfile));
}
}
function _close()
{
@dba_close($this->_db);
$this->_db = null;
}
function _remove($filename, $uid)
{
$result = $this->_open();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
if (dba_exists($uid, $this->_db)) {
$lst = dba_fetch($uid, $this->_db);
$lst = split(',', $lst);
$lst = array_diff($lst, array($filename));
$result = dba_replace($uid, join(',', $lst), $this->_db);
if ($result === false) {
return PEAR::raiseError(sprintf(_("Unable to set db value for uid %s"), $uid));
}
}
}
function _add($filename, $uid)
{
$result = $this->_open();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
if (dba_exists($uid, $this->_db)) {
$lst = dba_fetch($uid, $this->_db);
$lst = split(',', $lst);
$lst[] = $filename;
$result = dba_replace($uid, join(',', array_unique($lst)), $this->_db);
if ($result === false) {
return PEAR::raiseError(sprintf(_("Unable to set db value for uid %s"), $uid));
}
} else {
$result = dba_insert($uid, $filename, $this->_db);
if ($result === false) {
return PEAR::raiseError(sprintf(_("Unable to set db value for uid %s"), $uid));
}
}
}
function has($filename, $uid)
{
$result = $this->_open();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
if (dba_exists($uid, $this->_db)) {
$lst = dba_fetch($uid, $this->_db);
$lst = split(',', $lst);
return in_array($filename, $lst);
}
return false;
}
function get($uid)
{
$result = $this->_open();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
if (dba_exists($uid, $this->_db)) {
$lst = dba_fetch($uid, $this->_db);
return split(',', $lst);
}
return array();
}
/**
* Attempts to return a reference to a concrete FreeBusyACLCache
* instance. It will only create a new instance if no
* FreeBusyACLCache instance currently exists.
*
* This method must be invoked as:
* $var = &FreeBusyACLCache::singleton($cache_dir);
*
* @static
*
* @param string $type The type of the cache.
* @param string $cache_dir The directory for storing the cache.
*
* @return FreeBusyACLCache The concrete FreeBusyACLCache
* reference, or false on an error.
*/
function &singleton($type, $cache_dir)
{
static $cachedb = array();
$signature = $type . $cache_dir;
if (empty($cachedb[$signature])) {
$class = 'FreeBusyCacheDB_' . $type;
$cachedb[$signature] = &new $class($cache_dir);
}
return $cachedb[$signature];
}
}
class FreeBusyCacheDB_acl extends FreeBusyCacheDB {
var $_type = 'acl';
function store($filename, $acl, $oldacl, $perm)
{
/* We remove the filename from all users listed in the old ACL first */
foreach ($oldacl as $ac) {
$result = $this->_remove($filename, $ac[0]);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
/* Now add the filename for all users with the correct permissions */
if ($perm !== false ) {
foreach ($acl as $user => $ac) {
if (strpos($ac, $perm) !== false) {
if (!empty($user)) {
$result = $this->_add($filename, $user);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
}
}
}
$this->_close();
}
}
class FreeBusyCacheDB_xacl extends FreeBusyCacheDB {
var $_type = 'xacl';
function store($filename, $xacl, $oldxacl)
{
$xacl = split(' ', $xacl);
$oldxacl = split(' ', $oldxacl);
$both = array_intersect($xacl, $oldxacl);
/* Removed access rights */
foreach (array_diff($oldxacl, $both) as $uid) {
if (!empty($uid)) {
$result = $this->_remove($filename, $uid);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
}
/* Added access rights */
foreach (array_diff($xacl, $both) as $uid) {
if (!empty($uid)) {
$result = $this->_add($filename, $uid);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
}
$this->_close();
}
}
class FreeBusyCacheFile {
var $_suffix = '';
var $_filename;
var $_file;
var $_version = 1;
function FreeBusyCacheFile($cache_dir, $filename, $suffix = null)
{
if (!empty($suffix)) {
$this->_suffix = $suffix;
}
$this->_cache_dir = $cache_dir;
$this->_filename = $filename;
$this->_file = $this->_cache_dir . '/' . $this->_filename . '.' . $this->_suffix;
}
function purge()
{
if (file_exists($this->_file)) {
$result = @unlink($this->_file);
if (!$result) {
return PEAR::raiseError(sprintf(_("Failed removing file %s"),
$this->_file));
}
}
}
function store(&$data)
{
/* Create directories if missing */
$fbdirname = dirname($this->_file);
if (!is_dir($fbdirname)) {
$result = $this->_makeTree($fbdirname);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
/* Store the cache data */
$fh = fopen($this->_file, 'w');
if (!$fh) {
return PEAR::raiseError(sprintf(_("Failed creating cache file %s!"),
$this->_file));
}
fwrite($fh, serialize(array('version' => $this->_version,
'data' => $data)));
fclose($fh);
}
function &load()
{
$file = @file_get_contents($this->_file);
if ($file === false) {
return PEAR::raiseError(sprintf(_("%s failed reading cache file %s!"),
get_class($this), $this->_file));
}
$cache = @unserialize($file);
if ($cache === false) {
return PEAR::raiseError(sprintf(_("%s failed to unserialize cache data from file %s!"),
get_class($this), $this->_file));
}
if (!isset($cache['version'])) {
return PEAR::raiseError(sprintf(_("Cache file %s lacks version data!"),
$this->_file));
}
if (!isset($cache['data'])) {
return PEAR::raiseError(sprintf(_("Cache file %s lacks data!"),
$this->_file));
}
if ($cache['version'] != $this->_version) {
return PEAR::raiseError(sprintf(_("Cache file %s has version %s while %s is required!"),
$this->_file, $cache['version'], $this->_version));
}
return $cache['data'];
}
function _maketree($dirname)
{
$base = substr($dirname, 0, strrpos($dirname, '/'));
$base = str_replace(".", "^", $base);
if (!empty($base) && !is_dir($base)) {
$result = $this->_maketree($base);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
if (!file_exists($dirname)) {
$result = @mkdir($dirname, 0755);
if (!$result) {
return PEAR::raiseError(sprintf(_("Error creating directory %s"), $dirname));
}
}
}
}
class FreeBusyCacheFile_pvcal extends FreeBusyCacheFile {
var $_suffix = 'pvc';
function storePVcal(&$pvcal)
{
return $this->store($pvcal);
}
function &loadPVcal($extended)
{
$pvcal = $this->load();
if (is_a($pvcal, 'PEAR_Error')) {
return $pvcal;
}
if (!$extended) {
$components = &$pvcal->getComponents();
foreach ($components as $component) {
if ($component->getType() == 'vFreebusy') {
$component->_extraParams = array();
}
}
}
return $pvcal;
}
function getMtime()
{
return filemtime($this->_file);
}
}
class FreeBusyCacheFile_vcal extends FreeBusyCacheFile {
var $_suffix = 'vc';
var $_data;
function storeVcal(&$vcal, &$mtimes)
{
$data = array('vcal' => $vcal,
'mtimes' => $mtimes);
return $this->store($data);
}
function &loadVcal()
{
if ($this->_data) {
return $this->_data;
}
$result = $this->load();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$this->_data = $result['vcal'];
return $this->_data;
}
function expired($files)
{
$result = $this->load();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$this->_data = $result['vcal'];
/* Files changed? */
$keys = array_keys($result['mtimes']);
$changes = array_diff($keys, $files);
if (!empty($changes)) {
return true;
}
/* Check the file ctimes */
foreach ($files as $file) {
if (filemtime($this->_cache_dir . '/' . $file) != $result['mtimes'][$file]) {
return true;
}
}
/* Older than three days? */
$components = $this->_data->getComponents();
foreach ($components as $component) {
if ($component->getType() == 'vFreebusy') {
$attr = $component->getAttribute('DTSTAMP');
if (!empty($attr) && !is_a($attr, 'PEAR_Error')) {
//Should be configurable
if (time() - (int)$attr > 259200) {
return true;
}
}
}
}
return false;
}
}
class FreeBusyCacheFile_acl extends FreeBusyCacheFile {
var $_suffix = 'acl';
var $_acls;
function FreeBusyCacheFile_acl($cache_dir, $filename)
{
$this->_acls = &FreeBusyCacheDB::singleton('acl', $cache_dir);
parent::FreeBusyCacheFile($cache_dir, $filename, 'acl');
}
function purge()
{
$oldacl = $this->load();
if (is_a($oldacl, 'PEAR_Error')) {
$oldacl = array();
}
$result = $this->_acls->store($this->_filename, array(), $oldacl, false);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
return parent::purge();
}
function storeACL(&$acl, $relevance)
{
$oldacl = $this->load();
if (is_a($oldacl, 'PEAR_Error')) {
$oldacl = array();
}
/* Handle relevance */
switch ($relevance) {
case 'readers':
$perm = 'r';
break;
case 'nobody':
$perm = false;
break;
case 'admins':
default:
$perm = 'a';
}
$result = $this->_acls->store($this->_filename, $acl, $oldacl, $perm);
if (is_a($oldacl, 'PEAR_Error')) {
return $oldacl;
}
$result = $this->store($acl);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
}
class FreeBusyCacheFile_xacl extends FreeBusyCacheFile {
var $_suffix = 'xacl';
var $_xacls;
function FreeBusyCacheFile_xacl($cache_dir, $filename)
{
$this->_xacls = &FreeBusyCacheDB::singleton('xacl', $cache_dir);
parent::FreeBusyCacheFile($cache_dir, $filename, 'xacl');
}
function purge()
{
$oldxacl = $this->load();
if (is_a($oldxacl, 'PEAR_Error')) {
$oldxacl = '';
}
$result = $this->_xacls->store($this->_filename, '', $oldxacl);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
return parent::purge();
}
function storeXACL(&$xacl)
{
$oldxacl = $this->load();
if (is_a($oldxacl, 'PEAR_Error')) {
$oldxacl = '';
}
$result = $this->_xacls->store($this->_filename, $xacl, $oldxacl);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$result = $this->store($xacl);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
}
?>
--- NEW FILE: Page.php ---
* @author Steffen Hansen
* @package Kolab_Freebusy
*/
class Kolab_Freebusy_Error {
/**
* Deliver a "Not Found" page
*
* @param PEAR_Error $error The error.
*/
function notFound($error)
{
$headers = array('HTTP/1.0 404 Not Found');
$url = htmlentities($_SERVER['REQUEST_URI']);
$message = sprintf(_("The requested URL %s was not found on this server."), $url);
Kolab_Freebusy_Error::_errorPage($error, $headers, _("404 Not Found"), _("Not found"), $message);
}
/**
* Deliver a "Unauthorized" page
*
* @param PEAR_Error $error The error.
*/
function unauthorized($error) {
global $conf;
if (!empty($conf['fb']['email_domain'])) {
$email_domain = $conf['fb']['email_domain'];
} else {
$email_domain = 'localhost';
}
$headers = array('WWW-Authenticate: Basic realm="freebusy-' . $email_domain . '"',
'HTTP/1.0 401 Unauthorized');
Kolab_Freebusy_Error::_errorPage($error, $headers, _("401 Unauthorized"), _("Unauthorized"),
_("You are not authorized to access the requested URL."));
}
/**
* Deliver a "Server Error" page
*
* @param PEAR_Error $error The error.
*/
function serverError($error) {
$headers = array('HTTP/1.0 500 Server Error');
Kolab_Freebusy_Error::_errorPage($error, $headers, _("500 Server Error"), _("Error"),
htmlentities($_SERVER['REQUEST_URI']));
}
/**
* Deliver an error page
*
* @param PEAR_Error $error The error.
* @param array $headers The HTTP headers to deliver with the response
* @param string $title The page title
* @param string $headline The headline of the page
* @param string $body The message to display on the page
*/
function _errorPage($error, $headers, $title, $headline, $body) {
/* Print the headers */
foreach ($headers as $line) {
header($line);
}
/* Print the page */
echo "\n";
echo "" . $title . "\n";
echo "\n";
echo "
" . $headline . "
\n";
echo "
" . $body . "
\n";
if (!empty($error)) {
echo "
" . $error->getMessage() . "
\n";
Horde::logMessage($error, __FILE__, __LINE__, PEAR_LOG_ERR);
}
echo "\n";
echo $_SERVER['SERVER_SIGNATURE'] . "\n";
echo "\n";
exit;
}
}
/**
* The Timer:: class provides a high precision timer for calculating
* page generation time.
*
* @author Gunnar Wrobel
* @author Steffen Hansen
* @package Kolab_Freebusy
*/
class Timer
{
var $_start;
function Timer()
{
$this->_start = $this->_microtime_float();
}
function stop()
{
return $this->_microtime_float() - $this->_start;
}
function _microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return (float) $usec + (float) $sec;
}
}
/**
* The FolderAccess:: class provides functionality to check free/busy
* access rights for the specified folder.
*
* @author Gunnar Wrobel
* @author Steffen Hansen
* @package Kolab_Freebusy
*/
class FolderAccess {
/**
* The user calling the script
*
* @var string
*/
var $user;
/**
* The password of the user calling the script
*
* @var string
*/
var $pass;
/**
* The folder we try to access
*
* @var string
*/
var $folder;
/**
* The requested owner
*
* @var string
*/
var $req_owner;
/**
* The owner of that folder
*
* @var string
*/
var $owner;
/**
* The homeserver for that folder
*
* @var string
*/
var $homeserver;
/**
* The groups of the user calling the script (this includes the
* primary user id)
*
* @var string
*/
var $groups;
/**
* The number of days to calculate free/busy into the past
*
* @var int
*/
var $fbpast;
/**
* The number of days to calculate free/busy into the future
*
* @var int
*/
var $fbfuture = 60;
function FolderAccess()
{
$this->_parseUser();
}
function parseFolder($req_folder = '')
{
/* Handle the owner/folder name and make sure the owner part is in lower case */
$req_folder = String::convertCharset($req_folder, 'UTF-8', 'UTF7-IMAP');
$folder = explode('/', $req_folder);
if (count($folder) < 2) {
return PEAR::raiseError(sprintf(_("No such folder %s"), $req_folder));
}
$folder[0] = strtolower($folder[0]);
$req_folder = implode('/', $folder);
$this->req_owner = $folder[0];
unset($folder[0]);
$this->folder = join('/', $folder);
$result = $this->_process();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
function parseOwner($req_owner = '')
{
$this->req_owner = $req_owner;
$result = $this->_process();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
function fetchRemote()
{
global $conf;
if (!empty($conf['fb']['server'])) {
$server = $conf['fb']['server'];
} else {
$server = 'localhost';
}
if (!empty($conf['fb']['redirect'])) {
$do_redirect = $conf['fb']['redirect'];
} else {
$do_redirect = false;
}
/* Check if we are on the right server and redirect if appropriate */
if ($this->homeserver && $this->homeserver != $server) {
$redirect = 'https://' . $this->homeserver . $_SERVER['REQUEST_URI'];
Horde::logMessage(sprintf(_("Found remote user, redirecting to %s"),
$this->homeserver), __FILE__, __LINE__, PEAR_LOG_ERR);
if ($do_redirect) {
header("Location: $redirect");
} else {
header("X-Redirect-To: $redirect");
$redirect = 'https://' . urlencode($this->user) . ':' . urlencode($this->pass)
. '@' . $this->homeserver . $_SERVER['REQUEST_URI'];
if (!@readfile($redirect)) {
$message = sprintf(_("Unable to read free/busy information from %s"),
'https://' . urlencode($this->user) . ':XXX'
. '@' . $this->homeserver . $_SERVER['REQUEST_URI']);
return PEAR::raiseError($message);
}
}
exit;
}
}
function authenticate()
{
if (empty($this->user)) {
return PEAR::raiseError(_("Please authenticate!"));
}
/* Load the authentication libraries */
require_once "Horde/Auth.php";
require_once 'Horde/Secret.php';
$auth = &Auth::singleton('kolab');
if (!$auth->authenticate($this->user, array('password' => $this->pass), false)) {
return PEAR::raiseError(sprintf(_("Invalid Kolab authentication for user %s!"),
$this->user));
}
session_start();
$_SESSION['__auth'] = array(
'authenticated' => true,
'userId' => $this->user,
'timestamp' => time(),
'remote_addr' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null,
);
Auth::setCredential('password', $this->pass);
}
function _parseUser()
{
$this->user = isset($_SERVER['PHP_AUTH_USER'])?$_SERVER['PHP_AUTH_USER']:false;
$this->pass = isset($_SERVER['PHP_AUTH_PW'])?$_SERVER['PHP_AUTH_PW']:false;
// This part allows you to use the PHP scripts with CGI rather than as
// an apache module. This will of course slow down things but on the
// other hand it allows you to reduce the memory footprint of the
// apache server. The default is to use PHP as a module and the CGI
// version requires specific Apache configuration.
//
// The line you need to add to your configuration of the /freebusy
// location of your server looks like this:
//
// RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
//
// The complete section will probably look like this then:
//
//
// RewriteEngine On
// # FreeBusy list handling
// RewriteBase /freebusy
// RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
// RewriteRule ^([^/]+)\.ifb freebusy.php?uid=$1 [L]
// RewriteRule ^([^/]+)\.vfb freebusy.php?uid=$1 [L]
// RewriteRule ^([^/]+)\.xfb freebusy.php?uid=$1&extended=1 [L]
// RewriteRule ^trigger/(.+)\.pfb pfb.php?folder=$1&cache=0 [L]
// RewriteRule ^(.+)\.pfb pfb.php?folder=$1&cache=1 [L]
// RewriteRule ^trigger/(.+)\.xpfb pfb.php?folder=$1&cache=0&extended=1 [L]
// RewriteRule ^(.+)\.xpfb pfb.php?folder=$1&cache=1&extended=1 [L]
//
if (empty($this->user) && isset($_ENV['REDIRECT_REDIRECT_REMOTE_USER'])) {
$a = base64_decode(substr($_ENV['REDIRECT_REDIRECT_REMOTE_USER'], 6)) ;
if ((strlen($a) != 0) && (strcasecmp($a, ":" ) == 0)) {
list($this->user, $this->pass) = explode(':', $a, 2);
}
}
}
function _process()
{
/* Bind to LDAP so that we can request user data */
$ldap = Horde_Kolab_LDAP::singleton();
if (!$ldap->is_bound) {
$result = $ldap->bind();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
/* Does not really belong here but since we are connected now,
we should fetch that config info */
$this->fbpast = $ldap->freeBusyPast();
/* Fetch the user info of the calling user */
$userinfo = $ldap->userInfo($this->user);
if (is_a($userinfo, 'PEAR_Error')) {
Horde::logMessage($userinfo, __FILE__, __LINE__, PEAR_LOG_ERROR);
$userinfo = null;
}
/* Possibly rewrite the calling UID into the primary mail address */
if ($userinfo && isset($userinfo['MAIL']) && !empty($userinfo['MAIL'])) {
$this->user = $userinfo['MAIL'];
}
/* Fetch the user info of the requested folder owner */
$uinfo = $ldap->userInfo($this->req_owner);
if (is_a($uinfo, 'PEAR_Error')) {
Horde::logMessage($uinfo, __FILE__, __LINE__, PEAR_LOG_ERROR);
$uinfo = null;
}
/* Possibly rewrite the owner UID into the primary mail address */
if (!empty($uinfo) && isset($uinfo['MAIL']) && !empty($uinfo['MAIL'])) {
$this->owner = $userinfo['MAIL'];
}
/* If we were unable to determine the owner we will finally
* try to append the domain name of the calling user. */
if (empty($uinfo) || empty($this->owner) ||
strpos($this->owner, '@') === false) {
/* try guessing the domain */
$idx = strpos($this->user, '@');
if($idx !== false) {
$domain = substr($this->user, $idx+1);
Horde::logMessage(sprintf(_("Trying to append %s to %s"),
$domain, $this->req_owner),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$uinfo = $ldap->userInfo($this->req_owner . '@' . $domain);
if (is_a($uinfo, 'PEAR_Error')) {
Horde::logMessage($uinfo, __FILE__, __LINE__, PEAR_LOG_ERROR);
$uinfo = null;
}
}
}
/* Get the owner mail address and the home server */
if ($uinfo) {
if (!empty($uinfo['MAIL'])) {
$this->owner = $uinfo['MAIL'];
}
if (!empty($uinfo['HOMESERVER'])) {
$this->homeserver = $uinfo['HOMESERVER'];
}
if (!empty($uinfo['FBFUTURE'])) {
$this->fbfuture = $uinfo['FBFUTURE'];
}
if (!empty($uinfo['GROUPS'])) {
$this->groups = $uinfo['GROUPS'];
}
}
if (empty($this->groups)) {
$this->groups = array($this->user);
} else {
$this->groups[] = $this->user;
}
}
}
class FreeBusyView {
var $_vfb;
function FreeBusyView($vfb)
{
$this->_vfb = $vfb->exportvCalendar();
$ts = time();
$components = &$vfb->getComponents();
foreach ($components as $component) {
if ($component->getType() == 'vFreebusy') {
$attr = $component->getAttribute('DTSTAMP');
if (!empty($attr) && !is_a($attr, 'PEAR_Error')) {
$ts = $attr;
break;
}
}
}
$this->_ts = $ts;
}
function render($content = '')
{
global $conf;
if (!empty($conf['fb']['send_content_type'])) {
$send_content_type = $conf['fb']['send_content_type'];
} else {
$send_content_type = false;
}
if (!empty($conf['fb']['send_content_length'])) {
$send_content_length = $conf['fb']['send_content_length'];
} else {
$send_content_length = false;
}
if (!empty($conf['fb']['send_content_disposition'])) {
$send_content_disposition = $conf['fb']['send_content_disposition'];
} else {
$send_content_disposition = false;
}
/* Ensure that the data doesn't get cached along the way */
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate("D, d M Y H:i:s", $this->_ts) . ' GMT');
header('Pragma: public');
header('Content-Transfer-Encoding: none');
if ($send_content_type) {
header('Content-Type: text/calendar');
}
if ($send_content_length) {
header('Content-Length: ' . strlen($this->_vfb));
}
if ($send_content_disposition) {
header('Content-Disposition: attachment; filename="' . $content . '"');
}
echo $this->_vfb;
}
}
--- domxml-php4-to-php5.php DELETED ---
--- freebusy.class.php DELETED ---
--- freebusycache.class.php DELETED ---
--- freebusycollector.class.php DELETED ---
--- freebusyimapcache.class.php DELETED ---
--- freebusyldap.class.php DELETED ---
--- freebusyldap_dummy.class.php DELETED ---
--- misc.php DELETED ---
--- recurrence.class.php DELETED ---
From cvs at kolab.org Thu Nov 22 17:54:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:54:26 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy ChangeLog,1.3,1.4
Message-ID: <20071122165426.55EB7600175@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy
In directory doto:/tmp/cvs-serv2329
Modified Files:
ChangeLog
Log Message:
Changelog entry.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Freebusy/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ChangeLog 16 Aug 2007 12:16:51 -0000 1.3
+++ ChangeLog 22 Nov 2007 16:54:24 -0000 1.4
@@ -1,3 +1,10 @@
+2007-11-22 Gunnar Wrobel
+
+ * Freebusy/*:
+
+ A fully restructured free/busy with the most recent free/busy
+ concept implemented.
+
2007-08-16 Gunnar Wrobel
* Freebusy/recurrence.class.php:
From cvs at kolab.org Thu Nov 22 17:58:35 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:58:35 +0100 (CET)
Subject: gunnar: server/kolab-freebusy/freebusy config.php, 1.4,
1.5 freebusy.php, 1.4, 1.5 pfb.php, 1.7, 1.8
Message-ID: <20071122165835.B86FA600D44@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy/freebusy
In directory doto:/tmp/cvs-serv2449/freebusy
Modified Files:
config.php freebusy.php pfb.php
Log Message:
Fully restructured the kolab-freebusy package. Implements the newest free/busy concepts.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/freebusy/config.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- config.php 14 Oct 2007 12:31:58 -0000 1.4
+++ config.php 22 Nov 2007 16:58:33 -0000 1.5
@@ -34,112 +34,73 @@
*
*/
-// Kolab prefix
-$params['kolab_prefix'] = '/kolab';
-
-// What is the address of the Cyrus server where the calendar data is stored?
-// This is also used as the LDAP server address where user objects reside
-$params['server'] = 'localhost';
-
-// What is the address of the LDAP server address where user objects reside
-$params['ldap_uri'] = "ldap://127.0.0.1:389";
-
-// What is the Base DN of our LDAP database?
-$params['base_dn'] = 'dc=example,dc=com';
-
-// What DN should we use to bind to the LDAP server?
-$params['bind_dn'] = 'cn=nobody,cn=internal,' . $params['base_dn'];
-
-// What password should we use with the above DN when binding?
-$params['bind_pw'] = 'php password from kolab.conf';
-
-// Are we using a multi-location setup? If this is true, we check the users'
-// LDAP object for the next attribute - if it is different than $params['server']
-// we get the free/busy information from the script running on the other box
-$params['multi_location'] = true;
-
-// What LDAP attribute is used to store the users' home server address?
-$params['home_server'] = 'kolabhomeserver';
-
-// What is our default mail domain? This is used if any users do not have
-// '@domain' specified after their username as part of their email address.
-$params['email_domain'] = 'example.com';
-
-// Are we using virtual domains with Cyrus?
-$params['virtual_domains'] = true;
-
-// Should we append domains to mailbox URIs? This only applies when
-// virtual_domains is true, and when using manager accounts.
-$params['append_domains'] = false;
-
-// What account should we use to read in calendar data in the case the user
-// does not supply credentials? This account should
-// have access to the calendar mailbox of all the users for which free/busy
-// information is to be retrieved.
-//$params['calendar_user'] = '@ @@cyrus-admins@@@';
-
-// What password should we use with the above account?
-//$params['calendar_pass'] = '@ @@bind_pw@@@';
-
-// What is the name of the users' calendar mailbox?
-$params['calendar_store'] = 'Calendar';
-
-// How many days of free/busy data should we generate?
-$params['freebusy_days'] = 56;
+$conf = array();
-// Should we generate extended free/busy information? This can be overridden by
-// the URL parameter "x" (= 0 or 1).
-$params['extended'] = false;
+/* Horde::Log configuration */
+$conf['log']['enabled'] = true;
+$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
+$conf['log']['type'] = 'file';
+$conf['log']['name'] = '/kolab/var/kolab-freebusy/log/freebusy.log';
+$conf['log']['ident'] = 'Kolab Free/Busy';
+$conf['log']['params']['append'] = true;
-// Should we use the caching mechanism, which avoids having to always re-read
-// all the events? This can be overridden by the URL parameter "c" (= 0 or 1).
-$params['cache'] = true;
+/* PHP error logging */
+ini_set('error_log', '/kolab/var/kolab-freebusy/log/php-error.log');
-// Should we redirect using a Location header, if the user is not local? If this
-// is false we silently download the file ourselves and output it so that it
-// looks as though the free/busy information is coming from us.
-$params['redirect'] = false;
+/* Horde::Kolab::LDAP configuration */
+$conf['kolab']['ldap']['server'] = 'example.com';
+$conf['kolab']['ldap']['basedn'] = 'dc=example,dc=com';
+$conf['kolab']['ldap']['phpdn'] = 'cn=nobody,cn=internal,dc=example,dc=com';
+$conf['kolab']['ldap']['phppw'] = '';
-// Should we send a Content-Type header, indicating what the mime type of the
-// resulting VFB file is?
-$params['send_content_type'] = false;
+/* Horde::Kolab::IMAP configuration */
+$conf['kolab']['imap']['server'] = 'example.com';
+$conf['kolab']['imap']['port'] = 143;
+$conf['kolab']['imap']['protocol'] = 'notls/readonly';
-// Should we send a Content-Length header, indicating how large the resulting
-// VFB file is?
-$params['send_content_length'] = false;
+/* Horde::Auth configuration */
+$conf['auth']['params']['login_block'] = 0;
+$conf['auth']['checkbrowser'] = false;
+$conf['auth']['checkip'] = false;
-// Should we send a Content-Disposition header, indicating what the name of the
-// resulting VFB file should be?
-$params['send_content_disposition'] = false;
+/* Kolab::Freebusy configuration */
-// Where are we logging to?
-$params['log'] = 'file:/kolab/var/apache/log/freebusy/freebusy.log'; // File...
-// $params['log'] = 'syslog:cons, pid'; // Or syslog...
+/* Should we redirect using a Location header, if the user is not local? If this
+ * is false we silently download the file ourselves and output it so that it
+ * looks as though the free/busy information is coming from us.
+ */
+$conf['fb']['redirect'] = false;
-// What level of output should we log? Higher levels give more verbose output.
-// One of: 0 (RM_LOG_SILENT); 1 (RM_LOG_ERROR); 2 (RM_LOG_WARN); 3 (RM_LOG_INFO) or 4 (RM_LOG_DEBUG).
-$params['log_level'] = 4;
+/* What is the address of the current server where the calendar data is stored?
+ * This is also used as the LDAP server address where user objects reside.
+ */
+$conf['fb']['server'] = 'example.com';
-// What db type to use for freebusy caches
-$params['dbtype'] = 'db4';
+/* What is our default mail domain? This is used if any users do not have
+ * '@domain' specified after their username as part of their email address.
+ */
+$conf['fb']['email_domain'] = 'example.com';
-// IMAP options passed to imap_open
-//$params['imap_options'] = "/notls/secure/readonly";
-$params['imap_options'] = "/notls/readonly";
+/* Location of the cache files */
+$conf['fb']['cache_dir'] = '/kolab/var/kolab-freebusy/cache';
-$params['pfb_dbformat'] = 'db4';
+/* What db type to use for the freebusy caches */
+$conf['fb']['dbformat'] = 'db4';
-// Location of the cache files
-$params['cache_dir'] = '/kolab/var/kolab/www/freebusy/cache';
+/* Should we send a Content-Type header, indicating what the mime type of the
+ * resulting VFB file is?
+ */
+$conf['fb']['send_content_type'] = false;
-// don't change this if you don't have to
-//$params['ldap_classname_suffix'] = "_dummy";
+/* Should we send a Content-Length header, indicating how large the resulting
+ * VFB file is?
+ */
+$conf['fb']['send_content_length'] = false;
-// Activate if you wish to use the new horde framework
-// (horde-framework-kolab) package instead of the old code in
-// kolab-horde-framework. This is still untested and considered
-// UNSAFE!
-$params['use_new_horde'] = false;
+/* Should we send a Content-Disposition header, indicating what the name of the
+ * resulting VFB file should be?
+ */
+$conf['fb']['send_content_disposition'] = false;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
@@ -152,3 +113,15 @@
// diff -Nau kolab-freebusy/freebusy/config.php kolabd/kolabd/templates/freebusy.conf.template.in
//
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+// DEBUGGING
+// =========
+//
+// Activate this to see the log messages on the screen
+// $conf['log']['type'] = 'display';
+//
+// Activate this to see the php messages on the screen
+// ini_set('display_errors', 1);
+//
+// Both setting will disrupt header delivery (which should not cause a
+// problem).
\ No newline at end of file
Index: freebusy.php
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/freebusy/freebusy.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- freebusy.php 13 Aug 2007 08:53:33 -0000 1.4
+++ freebusy.php 22 Nov 2007 16:58:33 -0000 1.5
@@ -32,178 +32,66 @@
*
*/
-require_once('config.php');
-require_once('Kolab/Freebusy/freebusycache.class.php');
-require_once('Kolab/Freebusy/freebusycollector.class.php');
-
-if (empty($params['ldap_classname_suffix'])) {
- $params['ldap_classname_suffix'] = '';
- }
-
-require_once('Kolab/Freebusy/freebusyldap'
- . $params['ldap_classname_suffix']
- . '.class.php');
-
-require_once('Kolab/Freebusy/misc.php');
-
-logInit( 'freebusy' );
-
-$imapuser = isset($_SERVER['PHP_AUTH_USER'])?$_SERVER['PHP_AUTH_USER']:false;
-$imappw = isset($_SERVER['PHP_AUTH_PW'])?$_SERVER['PHP_AUTH_PW']:false;
-
-// This part allows you to use the PHP scripts with CGI rather than as
-// an apache module. This will of course slow down things but on the
-// other hand it allows you to reduce the memory footprint of the
-// apache server. The default is to use PHP as a module and the CGI
-// version requires specific Apache configuration.
-//
-// The line you need to add to your configuration of the /freebusy
-// location of your server looks like this:
-//
-// RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
-//
-// The complete section will probably look like this then:
-//
-//
-// RewriteEngine On
-// # FreeBusy list handling
-// RewriteBase /freebusy
-// RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
-// RewriteRule ^([^/]+)\.ifb freebusy.php?uid=$1 [L]
-// RewriteRule ^([^/]+)\.vfb freebusy.php?uid=$1 [L]
-// RewriteRule ^([^/]+)\.xfb freebusy.php?uid=$1&extended=1 [L]
-// RewriteRule ^trigger/(.+)\.pfb pfb.php?folder=$1&cache=0 [L]
-// RewriteRule ^(.+)\.pfb pfb.php?folder=$1&cache=1 [L]
-// RewriteRule ^trigger/(.+)\.xpfb pfb.php?folder=$1&cache=0&extended=1 [L]
-// RewriteRule ^(.+)\.xpfb pfb.php?folder=$1&cache=1&extended=1 [L]
-//
-if( empty($imapuser) && isset($_ENV['REDIRECT_REDIRECT_REMOTE_USER']) ) {
- $a = base64_decode( substr($_ENV['REDIRECT_REDIRECT_REMOTE_USER'], 6)) ;
-
- if ( (strlen($a) == 0) || ( strcasecmp($a, ":" ) == 0 ))
- {
- $imapuser = false;
- $imappw = false;
- }
- else
- {
- list($name, $password) = explode(':', $a, 2);
- $imapuser = $name;
- $imappw = $password;
- }
- }
-
-$user = trim($_REQUEST['uid']);
-
-$req_cache = false;
-$req_extended = false;
-if (!empty($_REQUEST['cache'])) {
- $req_cache = (bool)$_REQUEST['cache'];
- }
-
-if (!empty($_REQUEST['extended'])) {
- $req_extended = (bool)$_REQUEST['extended'];
- }
-
-myLog("---FreeBusy Script starting (" . $_SERVER['REQUEST_URI'] . ")---", RM_LOG_DEBUG );
-myLog("user=$user, imapuser=$imapuser, req_cache=$req_cache, req_extended=$req_extended", RM_LOG_DEBUG );
+/* Load the required free/busy libraries - this also loads Horde:: and
+ Util:: as well as the PEAR constants*/
+require_once 'Kolab/Freebusy/Page.php';
-$ldap =& new FreeBusyLDAP( $params['ldap_uri'], $params['base_dn'] );
-if( !$ldap->bind( $params['bind_dn'], $params['bind_pw'] ) ) {
- notFound( "Bind failed: ".$ldap->error() );
- exit;
- }
+/* Load the configuration */
+require_once 'config.php';
-$imapuser = $ldap->mailForUid( $imapuser );
-$user = $ldap->mailForUidOrAlias( $user );
-$homeserver = $ldap->homeServer( $user );
+/* Profiling */
+$timer = &new Timer();
-if( $homeserver === false ) {
- notFound("Resource " .$_SERVER['REQUEST_URI'] . " (user=$user, req_extended=$req_extended, req_cache=$req_cache) not found");
- }
+/* Get the user requsted */
+$req_owner = Util::getFormData('uid');
-if( $homeserver != $params['server'] ) {
- $redirect = 'https://' . $homeserver . $_SERVER['REQUEST_URI'];
- if ($params['redirect']) {
- header("Location: $redirect");
- } else {
- header("X-Redirect-To: $redirect");
- $redirect = 'https://' . urlencode($_SERVER['PHP_AUTH_USER']) . ':'
- . urlencode($_SERVER['PHP_AUTH_PW']) . '@' . $homeserver
- . $_SERVER['REQUEST_URI'];
- if (!@readfile($redirect)) {
- unauthorized("Unable to read free/busy information from " . removePassword($redirect));
- }
- }
- shutdown();
- exit;
- }
+Horde::logMessage(sprintf(_("Starting generation of free/busy data for user %s"),
+ $req_owner), __FILE__, __LINE__, PEAR_LOG_DEBUG);
-$user = strtolower($user);
+/* Validate folder access */
+$access = &new FolderAccess();
+$result = $access->parseOwner($req_owner);
+if (is_a($result, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::notFound($result);
+}
-$cache =& new FreeBusyCache( $params['cache_dir'], $params['pfb_dbformat'], $params, $req_extended );
+Horde::logMessage(sprintf(_("Free/busy data of owner %s on server %s requested by user %s."),
+ $access->owner, $access->homeserver, $access->user),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
-$collector =& new FreeBusyCollector( $user );
+/* Try to fetch the data if it is stored on a remote server */
+$result = $access->fetchRemote();
+if (is_a($result, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::unauthorized($result);
+}
-$groups = $ldap->distlists( $ldap->dn( $user ) );
-for( $i = 0; $i < count($groups); $i++ ) {
- $groups[$i] = $groups[$i].'@'.$params['email_domain'];
- }
-$pfbs = $cache->findAll( $user, $groups );
-$ts = 0;
-if( $pfbs === false ) {
- notFound($pfb->error);
- }
+/* Load the cache class now */
+require_once('Kolab/Freebusy/Cache.php');
-//myLog("Found pfbs: ".join(",",$pfbs)." for $user",RM_LOG_DEBUG);
+/* Where is the cache data stored? */
+if (!empty($conf['fb']['cache_dir'])) {
+ $cache_dir = $conf['fb']['cache_dir'];
+} else {
+ /* This default is not recommended so make sure you set a
+ * cache dir outside of the apache document root.
+ */
+ $cache_dir = dirname(__FILE__) . '/cache';
+}
+$cache = &new FreeBusyCache($cache_dir);
-if( $req_extended ) {
- // Get accessing users groups
- $imapgroups = $ldap->distlists( $ldap->dn( $imapuser ) );
- }
+/* Get the cache request variables */
+$req_extended = Util::getFormData('extended', false);
-foreach( $pfbs as $pfb ) {
- $fb = $cache->load( $pfb, $ts2, $acl );
- if( $fb ) {
- myLog("Found fb for $pfb", RM_LOG_DEBUG);
- } else {
- myLog("No fb found for $pfb", RM_LOG_DEBUG);
- }
- if( $acl && $req_extended ) {
- $r = $cache->getRights( $acl, $imapuser, $imapgroups );
- if( !$fb || !array_key_exists( 'r', $r ) ) {
- $cache->extended = false; // HACK!
- $fb = $cache->load( $pfb, $ts2, $acl );
- $cache->extended = true;
- myLog("Falling back to non-extended fb", RM_LOG_DEBUG );
- }
- }
- $ts = max( $ts, $ts2 );
- if( $fb ) {
- if( $collector->addFreebusy( $fb ) == FB_TOO_OLD ) {
- $cache->delete( $pfb );
- }
- }
+$result = $cache->load($access, $req_extended);
+if (is_a($result, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::notFound($result);
}
-$vfb = $collector->exportvCalendar();
-// And finally send it out, ensuring it doesn't get cached along the way
-header('Cache-Control: no-store, no-cache, must-revalidate');
-header('Cache-Control: post-check=0, pre-check=0', false);
-header('Pragma: no-cache');
-header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
-header('Last-Modified: ' . gmdate("D, d M Y H:i:s",$ts) . ' GMT');
-header('Pragma: public');
-header('Content-Transfer-Encoding: none');
-if ($params['send_content_type']) {
- header('Content-Type: text/calendar');
-}
-if ($params['send_content_length']) {
- header('Content-Length: ' . strlen($vfb));
-}
-if ($params['send_content_disposition']) {
- header('Content-Disposition: attachment; filename="' . $user . '.ifb"');
-}
+/* And finally send it out */
+$view = &new FreeBusyView($result);
+$view->render($access->owner . '.vfb');
-echo $vfb;
+/* Finish up */
+Horde::logMessage(sprintf(_("Free/busy generation complete, execution time was %s seconds."),
+ $timer->stop()), __FILE__, __LINE__, PEAR_LOG_DEBUG);
?>
Index: pfb.php
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/freebusy/pfb.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- pfb.php 8 Oct 2007 15:57:49 -0000 1.7
+++ pfb.php 22 Nov 2007 16:58:33 -0000 1.8
@@ -35,250 +35,95 @@
*
*/
- // Profiling
-function microtime_float()
-{
- list($usec, $sec) = explode(" ", microtime());
- return ((float)$usec + (float)$sec);
-}
-$start_time = microtime_float();
-
-
-error_reporting(E_ALL);
-$max_execution_time = ini_get('max_execution_time');
-if( $max_execution_time < 200 ) {
- ini_set('max_execution_time', '200');
- }
-
-require_once('Kolab/Freebusy/misc.php');
-require_once('config.php');
-
-if ( empty($params['ldap_classname_suffix'])) $params['ldap_classname_suffix'] = '';
-require_once('Kolab/Freebusy/freebusyldap'
- . $params['ldap_classname_suffix']
- . '.class.php');
-
-require_once('Kolab/Freebusy/freebusycache.class.php');
-
-logInit('pfb');
-
-$imapuser = isset($_SERVER['PHP_AUTH_USER'])?$_SERVER['PHP_AUTH_USER']:false;
-$imappw = isset($_SERVER['PHP_AUTH_PW'])?$_SERVER['PHP_AUTH_PW']:false;
-
-// This part allows you to use the PHP scripts with CGI rather than as
-// an apache module. This will of course slow down things but on the
-// other hand it allows you to reduce the memory footprint of the
-// apache server. The default is to use PHP as a module and the CGI
-// version requires specific Apache configuration.
-//
-// The line you need to add to your configuration of the /freebusy
-// location of your server looks like this:
-//
-// RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
-//
-// The complete section will probably look like this then:
-//
-//
-// RewriteEngine On
-// # FreeBusy list handling
-// RewriteBase /freebusy
-// RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
-// RewriteRule ^([^/]+)\.ifb freebusy.php?uid=$1 [L]
-// RewriteRule ^([^/]+)\.vfb freebusy.php?uid=$1 [L]
-// RewriteRule ^([^/]+)\.xfb freebusy.php?uid=$1&extended=1 [L]
-// RewriteRule ^trigger/(.+)\.pfb pfb.php?folder=$1&cache=0 [L]
-// RewriteRule ^(.+)\.pfb pfb.php?folder=$1&cache=1 [L]
-// RewriteRule ^trigger/(.+)\.xpfb pfb.php?folder=$1&cache=0&extended=1 [L]
-// RewriteRule ^(.+)\.xpfb pfb.php?folder=$1&cache=1&extended=1 [L]
-//
-if( empty($imapuser) && isset($_ENV['REDIRECT_REDIRECT_REMOTE_USER']) ) {
- $a = base64_decode( substr($_ENV['REDIRECT_REDIRECT_REMOTE_USER'], 6)) ;
+/* Load the required free/busy libraries - this also loads Horde:: and
+ Util:: as well as the PEAR constants*/
+require_once 'Kolab/Freebusy/Page.php';
- if ( (strlen($a) == 0) || ( strcasecmp($a, ":" ) == 0 ))
- {
- $imapuser = false;
- $imappw = false;
- }
- else
- {
- list($name, $password) = explode(':', $a, 2);
- $imapuser = $name;
- $imappw = $password;
- }
- }
+/* Load the configuration */
+require_once 'config.php';
-$req_cache = isset($_REQUEST['cache'])?(bool)$_REQUEST['cache']:false;
-$req_folder = isset($_REQUEST['folder'])?$_REQUEST['folder']:false;
-$req_extended = isset($_REQUEST['extended'])?(bool)$_REQUEST['extended']:false;
+/* Profiling */
+$timer = &new Timer();
-// convert character encoding (stores utf7 folder names also on disc)
-require_once "Horde/Util.php";
-require_once "Horde/String.php";
-$req_folder = String::convertCharset($req_folder, "UTF-8", "UTF7-IMAP");
+/* Get the folder name */
+$req_folder = Util::getFormData('folder', '');
-myLog("pfb.php starting up: user=$imapuser, folder=$req_folder, extended=$req_extended",
- RM_LOG_DEBUG);
+Horde::logMessage(sprintf(_("Starting generation of partial free/busy data for folder %s"),
+ $req_folder), __FILE__, __LINE__, PEAR_LOG_DEBUG);
-$ldap =& new FreeBusyLDAP( $params['ldap_uri'], $params['base_dn'] );
-if( !$ldap->bind( $params['bind_dn'], $params['bind_pw'] ) ) {
- notFound( "Bind failed: ".$ldap->error() );
- exit;
+/* Validate folder access */
+$access = &new FolderAccess();
+$result = $access->parseFolder($req_folder);
+if (is_a($result, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::notFound($result);
}
-$userinfo = $ldap->userInfo( $imapuser );
-if( $userinfo ) {
- if( $userinfo['MAIL'] ) $imapuser = $userinfo['MAIL'];
- //$homeserver = $userinfo['HOMESERVER'];
- }
-
-$folder = explode('/', $req_folder);
+Horde::logMessage(sprintf(_("Partial free/busy data of owner %s on server %s requested by user %s."),
+ $access->owner, $access->homeserver, $access->user),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
-if( count($folder) < 1 ) {
- // error
- notFound( _('No such folder ') . htmlentities($req_folder) );
+/* Try to fetch the data if it is stored on a remote server */
+$result = $access->fetchRemote();
+if (is_a($result, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::unauthorized($result);
}
-// Make sure email address is in lowercase
-$folder[0] = strtolower($folder[0]);
-$req_folder = implode('/', $folder);
+/* Load the cache class now */
+require_once('Kolab/Freebusy/Cache.php');
-$uinfo = $ldap->userInfo($folder[0]);
-$owner = $uinfo['MAIL'];
-$homeserver = $uinfo['HOMESERVER'];
-if( empty($owner) || false===strpos($owner,'@')) {
- // try guessing the domain
- $idx = strpos( $imapuser, '@' );
- if( $idx !== false ) {
- $domain = substr( $imapuser, $idx+1 );
- myLog("Trying to append $domain to ".$folder[0], RM_LOG_DEBUG);
- $uinfo = $ldap->userInfo($folder[0].'@'.$domain);
- $owner = $uinfo['MAIL'];
- }
+/* Where is the cache data stored? */
+if (!empty($conf['fb']['cache_dir'])) {
+ $cache_dir = $conf['fb']['cache_dir'];
+} else {
+ /* This default is not recommended so make sure you set a
+ * cache dir outside of the apache document root.
+ */
+ $cache_dir = dirname(__FILE__) . '/cache';
}
-if( $homeserver && $homeserver != $params['server'] ) {
- $redirect = 'https://'.$homeserver . $_SERVER['REQUEST_URI'];
- myLog("Found remote user, redirecting to $homeserver", RM_LOG_DEBUG);
- if ($params['redirect']) {
- header("Location: $redirect");
- } else {
- header("X-Redirect-To: $redirect");
- $redirect = 'https://' . urlencode($_SERVER['PHP_AUTH_USER']) . ':'
- . urlencode($_SERVER['PHP_AUTH_PW']) . '@' . $homeserver
- . $_SERVER['REQUEST_URI'];
- if (!@readfile($redirect)) {
- unauthorized("Unable to read free/busy information from ".removePassword($redirect));
- }
- }
- shutdown();
- exit;
- }
+/* Get the cache request variables */
+$req_cache = Util::getFormData('cache', false);
+$req_extended = Util::getFormData('extended', false);
-$cache =& new FreeBusyCache( $params['cache_dir'], $params['pfb_dbformat'], $params, false );
-$xcache =& new FreeBusyCache( $params['cache_dir'], $params['pfb_dbformat'], $params, true );
+$cache = &new FreeBusyCache($cache_dir);
-if( $req_cache ) {
- $acl = false;
- if( $req_extended ) {
- $vfb = $xcache->load( $req_folder, $ts, $acl );
- } else {
- $vfb = $cache->load( $req_folder, $ts, $acl );
- }
- if( $acl && $req_extended ) {
- // Check access
- $distlists = $ldap->distlists( $userinfo['DN'] );
- if( $distlists === false ) {
- unauthorized( $req_folder.($req_extended?'.xpfb':'.pfb' ) );
- }
- for( $i = 0; $i < count($distlists); $i++ ) {
- $distlists[$i] = $distlists[$i].'@'.$params['email_domain'];
- }
- $rights = $xcache->getRights( $acl, $imapuser, $distlists );
- if( !$req_extended || $rights['r'] ) {
- // All OK
- } else {
- // Nope
- unauthorized( $req_folder.($req_extended?'.xpfb':'.pfb' ) );
- }
- }
- if( !$vfb ) {
- notFound( $req_folder.($req_extended?'.xpfb':'.pfb').' not found in cache');
- }
- } else {
- if( empty($imapuser) ) {
- // Here we really need an authenticated user!
- unauthorized("Please authenticate");
- }
- require_once('Kolab/Freebusy/freebusy.class.php');
-
- if( empty($owner) ) {
- notFound( _('No such account ').htmlentities($folder[0]));
- return false;
- }
- unset($folder[0]);
- $folder = join('/', $folder);
- $fbpast = $ldap->freeBusyPast();
- $fb =& new FreeBusy( $owner, $imapuser, $imappw, $params, $uinfo['FBFUTURE'], $fbpast );
+if (!$req_cache) {
+ /* User wants to regenerate the cache */
- $fb->default_domain = $params['email_domain'];
- $rc = $fb->imapConnect();
- if( $rc === false ) {
- unauthorized(imap_last_error());
- return false;
- }
- $rc = $fb->imapOpenMailbox(FreeBusy::imapFolderName( $imapuser, $owner,
- $folder, $params['email_domain']));
- if( $rc === false ) {
- notfound( "Folder: ".$fb->foldername.', '.imap_last_error());
- return false;
- }
- $relevance = $fb->getRelevance();
- list($vfb,$xvfb) = $fb->generateFreeBusy();
- $ts = mktime();
- if( PEAR::isError( $vfb ) ) {
- unauthorized($vfb->toString());
- return false;
+ /* Here we really need an authenticated IMAP user */
+ $result = $access->authenticate();
+ if (is_a($result, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::unauthorized($result);
}
- if(ereg('(.*)@(.*)',$owner,$regs)) {
- $owner = $regs[2].'/'.$regs[1];
+ if (empty($access->owner)) {
+ $message = sprintf(_("No such account %s!"),
+ htmlentities($access->req_owner));
+ Kolab_Freebusy_Error::notFound(PEAR::raiseError($message));
}
- $acl = $fb->getACL();
- if( !$cache->store( $owner.'/'.$folder, $vfb, $acl, $relevance ) ) {
- trigger_error('Could not store pfb in cache file '.$owner.'/'.$folder
- .'.pfb: '.$cache->error, E_USER_WARNING);
- }
- if( !$xcache->store( $owner.'/'.$folder, $xvfb, $acl, $relevance ) ) {
- trigger_error('Could not store xpfb in cache file '.$owner.'/'.$folder
- .'.xpfb: '.$cache->error, E_USER_WARNING);
+ /* Update the cache */
+ $result = $cache->store($access);
+ if (is_a($result, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::notFound($result);
}
+}
- if( $req_extended ) $vfb = $xvfb;
- unset($xvfb);
- }
+/* Load the cache data */
+$vfb = $cache->loadPartial($access, $req_extended);
+if (is_a($vfb, 'PEAR_Error')) {
+ Kolab_Freebusy_Error::notFound($vfb);
+}
-// And finally send it out, ensuring it doesn't get cached along the way
-header('Cache-Control: no-store, no-cache, must-revalidate');
-header('Cache-Control: post-check=0, pre-check=0', false);
-header('Pragma: no-cache');
-header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
-header('Last-Modified: ' . gmdate("D, d M Y H:i:s",$ts) . ' GMT');
-header('Pragma: public');
-header('Content-Transfer-Encoding: none');
-if ($params['send_content_type']) {
- header('Content-Type: text/calendar');
- }
-if ($params['send_content_length']) {
- header('Content-Length: ' . strlen($vfb));
- }
-if ($params['send_content_disposition']) {
- header('Content-Disposition: attachment; filename="' . $user . '.vfb"');
- }
+Horde::logMessage(sprintf(_("Delivering partial free/busy data (extended=%s)."),
+ $req_extended),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
-echo $vfb;
+/* And finally send it out */
+$view = &new FreeBusyView($vfb);
+$view->render($access->owner . '.ifb');
-// Finish up
-myLog("pfb.php complete, execution time was ".(microtime_float()-$start_time)." secs.", RM_LOG_DEBUG);
-shutdown();
+/* Finish up */
+Horde::logMessage(sprintf(_("Partial free/busy generation complete, execution time was %s seconds."),
+ $timer->stop()), __FILE__, __LINE__, PEAR_LOG_DEBUG);
?>
From cvs at kolab.org Thu Nov 22 17:58:35 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:58:35 +0100 (CET)
Subject: gunnar: server/kolab-freebusy ChangeLog, 1.2, 1.3 kolab-freebusy.spec,
1.6, 1.7
Message-ID: <20071122165835.B80DC600175@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv2449
Modified Files:
kolab-freebusy.spec
Added Files:
ChangeLog
Log Message:
Fully restructured the kolab-freebusy package. Implements the newest free/busy concepts.
Index: kolab-freebusy.spec
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/kolab-freebusy.spec,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- kolab-freebusy.spec 14 Oct 2007 12:31:58 -0000 1.6
+++ kolab-freebusy.spec 22 Nov 2007 16:58:33 -0000 1.7
@@ -66,7 +66,8 @@
%install
- %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/apache/log/freebusy
+ %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/kolab-freebusy/log
+ %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/kolab-freebusy/cache
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/share/doc/%{V_package}
%{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/freebusy
@@ -74,9 +75,9 @@
rm -rf freebusy/docs
cp -r freebusy/* $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/freebusy/
- %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
- %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/kolab/www/freebusy/cache \
- %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/apache/log/freebusy \
+ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
+ %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/kolab-freebusy/cache \
+ %dir '%defattr(-,%{l_nusr},%{l_ngrp})' %{l_prefix}/var/kolab-freebusy/log \
'%config(noreplace) %{l_prefix}/var/kolab/www/freebusy/config.php'
%clean
From cvs at kolab.org Thu Nov 22 17:58:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 17:58:56 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.174,1.175
Message-ID: <20071122165856.2E109600D44@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv2513
Modified Files:
release-notes.txt
Log Message:
Update release notes.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -d -r1.174 -r1.175
--- release-notes.txt 22 Nov 2007 16:24:14 -0000 1.174
+++ release-notes.txt 22 Nov 2007 16:58:54 -0000 1.175
@@ -78,6 +78,11 @@
kolab/issue2040 (Horde: resouces are not displayed in address book)
kolab/issue2135 ([horde/turba] Turba should support some more contact attributes)
+ - kolab-freebusy-2.2.???-2007????
+
+ A fully restructured free/busy with the most recent free/busy
+ concept implemented.
+
- kolab-webadmin-2.1.99-2007????
Improved some message strings.
@@ -88,6 +93,11 @@
admins)
kolab/issue1912 (some field descriptions missing in web admin
interface)
+
+ - php-kolab-2.2.???-2007????
+
+ A fully restructured free/busy with the most recent free/busy
+ concept implemented.
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Thu Nov 22 18:01:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:01:36 +0100 (CET)
Subject: thomas: server/kolabd/kolabd/templates master.cf.template.in, 1.14.2.3,
1.14.2.4
Message-ID: <20071122170136.C8773600D44@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv3146
Modified Files:
Tag: kolab_2_1_branch
master.cf.template.in
Log Message:
Forgot to allow binding postfix to a certain IP
Index: master.cf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/master.cf.template.in,v
retrieving revision 1.14.2.3
retrieving revision 1.14.2.4
diff -u -d -r1.14.2.3 -r1.14.2.4
--- master.cf.template.in 19 Sep 2007 17:05:27 -0000 1.14.2.3
+++ master.cf.template.in 22 Nov 2007 17:01:34 -0000 1.14.2.4
@@ -18,7 +18,7 @@
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
-smtp inet n - n - - smtpd
+@@@bind_addr@@@:smtp inet n - n - - smtpd
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
@@ -45,7 +45,7 @@
#uucp unix - n n - - pipe flags=Fqhu user=uucp argv=@bindir@/uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#ifmail unix - n n - - pipe flags=F user=ftn argv=@bindir@/ifmail -r $nexthop ($recipient)
#bsmtp unix - n n - - pipe flags=Fq. user=foo argv=@bindir@/bsmtp -f $sender $nexthop $recipient
-465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
+@@@bind_addr@@@:465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
post-cleanup unix n - n - 0 cleanup -o virtual_maps=
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
From cvs at kolab.org Thu Nov 22 18:06:41 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:06:41 +0100 (CET)
Subject: thomas: server/kolabd/kolabd/templates master.cf.template.in, 1.19,
1.20
Message-ID: <20071122170641.03322600D44@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv3530/kolabd/kolabd/templates
Modified Files:
master.cf.template.in
Log Message:
Allow postfix smtp and smtps to bind to a specific IP, too.
Index: master.cf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/master.cf.template.in,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- master.cf.template.in 8 Oct 2007 15:33:12 -0000 1.19
+++ master.cf.template.in 22 Nov 2007 17:06:38 -0000 1.20
@@ -18,7 +18,7 @@
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
-smtp inet n - n - - smtpd
+@@@bind_addr@@@:smtp inet n - n - - smtpd
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
@@ -47,7 +47,7 @@
#uucp unix - n n - - pipe flags=Fqhu user=uucp argv=@bindir@/uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#ifmail unix - n n - - pipe flags=F user=ftn argv=@bindir@/ifmail -r $nexthop ($recipient)
#bsmtp unix - n n - - pipe flags=Fq. user=foo argv=@bindir@/bsmtp -f $sender $nexthop $recipient
-465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
+@@@bind_addr@@@:465 inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
post-cleanup unix n - n - 0 cleanup -o virtual_maps=
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
From cvs at kolab.org Thu Nov 22 18:06:41 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:06:41 +0100 (CET)
Subject: thomas: server release-notes.txt,1.175,1.176
Message-ID: <20071122170641.08904600D47@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv3530
Modified Files:
release-notes.txt
Log Message:
Allow postfix smtp and smtps to bind to a specific IP, too.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.175
retrieving revision 1.176
diff -u -d -r1.175 -r1.176
--- release-notes.txt 22 Nov 2007 16:58:54 -0000 1.175
+++ release-notes.txt 22 Nov 2007 17:06:38 -0000 1.176
@@ -52,6 +52,8 @@
- kolabd-2.1.99-2007????
+ Allow postfix smtp and smtps to bind to a specific IP, too.
+
kolab/issue2134 ([Horde] Unable to send message with attachments)
kolab/issue2236 (Apache UID access broken)
From cvs at kolab.org Thu Nov 22 18:06:41 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:06:41 +0100 (CET)
Subject: thomas: server/kolabd/kolabd ChangeLog,1.117,1.118
Message-ID: <20071122170641.074F7600D45@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv3530/kolabd/kolabd
Modified Files:
ChangeLog
Log Message:
Allow postfix smtp and smtps to bind to a specific IP, too.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- ChangeLog 21 Nov 2007 11:05:41 -0000 1.117
+++ ChangeLog 22 Nov 2007 17:06:38 -0000 1.118
@@ -1,3 +1,8 @@
+2007-11-22 Thomas Arendsen Hein
+
+ * templates/master.cf.template.in: Allow postfix smtp and smtps
+ to bind to a specific IP, too.
+
2007-11-21 Gunnar Wrobel
* templates/httpd.conf.template.in:
From cvs at kolab.org Thu Nov 22 18:08:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:08:44 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.176,1.177
Message-ID: <20071122170844.C459B600D45@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv3661
Modified Files:
release-notes.txt
Log Message:
Updated kolabd template for the restructure kolab-freebusy.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -d -r1.176 -r1.177
--- release-notes.txt 22 Nov 2007 17:06:38 -0000 1.176
+++ release-notes.txt 22 Nov 2007 17:08:42 -0000 1.177
@@ -52,6 +52,10 @@
- kolabd-2.1.99-2007????
+ freebusy_logfile is now freebusy_logdir.
+
+ Updated the template for the restructured kolab-freebusy package.
+
Allow postfix smtp and smtps to bind to a specific IP, too.
kolab/issue2134 ([Horde] Unable to send message with attachments)
From cvs at kolab.org Thu Nov 22 18:08:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:08:44 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd ChangeLog,1.118,1.119
Message-ID: <20071122170844.BF34F600D44@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv3661/kolabd/kolabd
Modified Files:
ChangeLog
Log Message:
Updated kolabd template for the restructure kolab-freebusy.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- ChangeLog 22 Nov 2007 17:06:38 -0000 1.118
+++ ChangeLog 22 Nov 2007 17:08:42 -0000 1.119
@@ -1,3 +1,14 @@
+2007-11-22 Gunnar Wrobel
+
+ * dist_conf/kolab (freebusy_logdir):
+ * dist_conf/common:
+
+ freebusy_logfile is now freebusy_logdir.
+
+ * templates/freebusy.conf.template.in:
+
+ Updated the template for the restructure kolab-freebusy package.
+
2007-11-22 Thomas Arendsen Hein
* templates/master.cf.template.in: Allow postfix smtp and smtps
From cvs at kolab.org Thu Nov 22 18:08:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:08:44 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates freebusy.conf.template.in, 1.10,
1.11
Message-ID: <20071122170844.C8BDE600D47@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv3661/kolabd/kolabd/templates
Modified Files:
freebusy.conf.template.in
Log Message:
Updated kolabd template for the restructure kolab-freebusy.
Index: freebusy.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/freebusy.conf.template.in,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- freebusy.conf.template.in 16 Aug 2007 10:47:10 -0000 1.10
+++ freebusy.conf.template.in 22 Nov 2007 17:08:42 -0000 1.11
@@ -39,112 +39,73 @@
*
*/
-// Kolab prefix
-$params['kolab_prefix'] = '@prefix@';
-
-// What is the address of the Cyrus server where the calendar data is stored?
-// This is also used as the LDAP server address where user objects reside
-$params['server'] = '@@@fqdnhostname@@@';
-
-// What is the address of the LDAP server address where user objects reside
-$params['ldap_uri'] = '@@@ldap_uri@@@';
-
-// What is the Base DN of our LDAP database?
-$params['base_dn'] = '@@@base_dn@@@';
-
-// What DN should we use to bind to the LDAP server?
-$params['bind_dn'] = '@@@php_dn@@@';
-
-// What password should we use with the above DN when binding?
-$params['bind_pw'] = '@@@php_pw@@@';
-
-// Are we using a multi-location setup? If this is true, we check the users'
-// LDAP object for the next attribute - if it is different than $params['server']
-// we get the free/busy information from the script running on the other box
-$params['multi_location'] = true;
-
-// What LDAP attribute is used to store the users' home server address?
-$params['home_server'] = 'kolabhomeserver';
-
-// What is our default mail domain? This is used if any users do not have
-// '@domain' specified after their username as part of their email address.
-$params['email_domain'] = '@@@postfix-mydomain@@@';
-
-// Are we using virtual domains with Cyrus?
-$params['virtual_domains'] = true;
-
-// Should we append domains to mailbox URIs? This only applies when
-// virtual_domains is true, and when using manager accounts.
-$params['append_domains'] = false;
-
-// What account should we use to read in calendar data in the case the user
-// does not supply credentials? This account should
-// have access to the calendar mailbox of all the users for which free/busy
-// information is to be retrieved.
-//$params['calendar_user'] = '@ @@cyrus-admins@@@';
-
-// What password should we use with the above account?
-//$params['calendar_pass'] = '@ @@bind_pw@@@';
-
-// What is the name of the users' calendar mailbox?
-$params['calendar_store'] = 'Calendar';
-
-// How many days of free/busy data should we generate?
-$params['freebusy_days'] = 56;
+$conf = array();
-// Should we generate extended free/busy information? This can be overridden by
-// the URL parameter "x" (= 0 or 1).
-$params['extended'] = false;
+/* Horde::Log configuration */
+$conf['log']['enabled'] = true;
+$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
+$conf['log']['type'] = 'file';
+$conf['log']['name'] = '@freebusy_logdir@/freebusy.log';
+$conf['log']['ident'] = 'Kolab Free/Busy';
+$conf['log']['params']['append'] = true;
-// Should we use the caching mechanism, which avoids having to always re-read
-// all the events? This can be overridden by the URL parameter "c" (= 0 or 1).
-$params['cache'] = true;
+/* PHP error logging */
+ini_set('error_log', '@freebusy_logdir@/php-error.log');
-// Should we redirect using a Location header, if the user is not local? If this
-// is false we silently download the file ourselves and output it so that it
-// looks as though the free/busy information is coming from us.
-$params['redirect'] = false;
+/* Horde::Kolab::LDAP configuration */
+$conf['kolab']['ldap']['server'] = '@@@fqdnhostname@@@';
+$conf['kolab']['ldap']['basedn'] = '@@@base_dn@@@';
+$conf['kolab']['ldap']['phpdn'] = '@@@php_dn@@@';
+$conf['kolab']['ldap']['phppw'] = '@@@php_pw@@@';
-// Should we send a Content-Type header, indicating what the mime type of the
-// resulting VFB file is?
-$params['send_content_type'] = false;
+/* Horde::Kolab::IMAP configuration */
+$conf['kolab']['imap']['server'] = '@@@fqdnhostname@@@';
+$conf['kolab']['imap']['port'] = 143;
+$conf['kolab']['imap']['protocol'] = 'notls/readonly';
-// Should we send a Content-Length header, indicating how large the resulting
-// VFB file is?
-$params['send_content_length'] = false;
+/* Horde::Auth configuration */
+$conf['auth']['params']['login_block'] = 0;
+$conf['auth']['checkbrowser'] = false;
+$conf['auth']['checkip'] = false;
-// Should we send a Content-Disposition header, indicating what the name of the
-// resulting VFB file should be?
-$params['send_content_disposition'] = false;
+/* Kolab::Freebusy configuration */
-// Where are we logging to?
-$params['log'] = 'file:@freebusy_logfile@'; // File...
-// $params['log'] = 'syslog:cons, pid'; // Or syslog...
+/* Should we redirect using a Location header, if the user is not local? If this
+ * is false we silently download the file ourselves and output it so that it
+ * looks as though the free/busy information is coming from us.
+ */
+$conf['fb']['redirect'] = false;
-// What level of output should we log? Higher levels give more verbose output.
-// One of: 0 (RM_LOG_SILENT); 1 (RM_LOG_ERROR); 2 (RM_LOG_WARN); 3 (RM_LOG_INFO) or 4 (RM_LOG_DEBUG).
-$params['log_level'] = 4;
+/* What is the address of the current server where the calendar data is stored?
+ * This is also used as the LDAP server address where user objects reside.
+ */
+$conf['fb']['server'] = '@@@fqdnhostname@@@';
-// What db type to use for freebusy caches
-$params['dbtype'] = 'db4';
+/* What is our default mail domain? This is used if any users do not have
+ * '@domain' specified after their username as part of their email address.
+ */
+$conf['fb']['email_domain'] = '@@@fqdnhostname@@@';
-// IMAP options passed to imap_open
-//$params['imap_options'] = "/notls/secure/readonly";
-$params['imap_options'] = "/notls/readonly";
+/* Location of the cache files */
+$conf['fb']['cache_dir'] = '@freebusy_cachedir@';
-$params['pfb_dbformat'] = 'db4';
+/* What db type to use for the freebusy caches */
+$conf['fb']['dbformat'] = 'db4';
-// Location of the cache files
-$params['cache_dir'] = '@freebusy_cachedir@';
+/* Should we send a Content-Type header, indicating what the mime type of the
+ * resulting VFB file is?
+ */
+$conf['fb']['send_content_type'] = false;
-// don't change this if you don't have to
-//$params['ldap_classname_suffix'] = "_dummy";
+/* Should we send a Content-Length header, indicating how large the resulting
+ * VFB file is?
+ */
+$conf['fb']['send_content_length'] = false;
-// Activate if you wish to use the new horde framework
-// (horde-framework-kolab) package instead of the old code in
-// kolab-horde-framework. This is still untested and considered
-// UNSAFE!
-$params['use_new_horde'] = false;
+/* Should we send a Content-Disposition header, indicating what the name of the
+ * resulting VFB file should be?
+ */
+$conf['fb']['send_content_disposition'] = false;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
@@ -157,3 +118,15 @@
// diff -Nau kolab-freebusy/freebusy/config.php kolabd/kolabd/templates/freebusy.conf.template.in
//
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+// DEBUGGING
+// =========
+//
+// Activate this to see the log messages on the screen
+// $conf['log']['type'] = 'display';
+//
+// Activate this to see the php messages on the screen
+// ini_set('display_errors', 1);
+//
+// Both setting will disrupt header delivery (which should not cause a
+// problem).
From cvs at kolab.org Thu Nov 22 18:08:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 22 Nov 2007 18:08:44 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/dist_conf common, 1.40, 1.41 kolab, 1.51,
1.52
Message-ID: <20071122170844.E0EBA600D45@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv3661/kolabd/kolabd/dist_conf
Modified Files:
common kolab
Log Message:
Updated kolabd template for the restructure kolab-freebusy.
Index: common
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/common,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- common 7 Nov 2007 10:37:53 -0000 1.40
+++ common 22 Nov 2007 17:08:42 -0000 1.41
@@ -58,7 +58,7 @@
-e 's,[@]freebusy_confdir[@],$(freebusy_confdir),g' \
-e 's,[@]freebusy_cachedir[@],$(freebusy_cachedir),g' \
-e 's,[@]freebusy_grp[@],$(freebusy_grp),g' \
- -e 's,[@]freebusy_logfile[@],$(freebusy_logfile),g' \
+ -e 's,[@]freebusy_logdir[@],$(freebusy_logdir),g' \
-e 's,[@]freebusy_usr[@],$(freebusy_usr),g' \
-e 's,[@]freshclam_logfile[@],$(freshclam_logfile),g' \
-e 's,[@]freshclam_pidfile[@],$(freshclam_pidfile),g' \
Index: kolab
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/kolab,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- kolab 7 Nov 2007 10:37:53 -0000 1.51
+++ kolab 22 Nov 2007 17:08:42 -0000 1.52
@@ -168,7 +168,7 @@
resmgr_grp=${kolab_grp}
fbview_logfile=${localstatedir}/resmgr/fbview.log
-freebusy_logfile=${localstatedir}/apache/log/freebusy/freebusy.log
+freebusy_logdir=${localstatedir}/kolab-freebusy/log
freebusy_confdir=${webserver_document_root}/freebusy
freebusy_cachedir=${webserver_document_root}/freebusy/cache
freebusy_usr=${kolab_musr}
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.177,1.178
Message-ID: <20071123133934.B4E78600165@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv15550
Modified Files:
release-notes.txt
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.177
retrieving revision 1.178
diff -u -d -r1.177 -r1.178
--- release-notes.txt 22 Nov 2007 17:08:42 -0000 1.177
+++ release-notes.txt 23 Nov 2007 13:39:32 -0000 1.178
@@ -66,10 +66,10 @@
New functionality required for kolab-freebusy.
kolab/issue2128 (Building horde-framework-kolab without http access fails)
- kolab/issue2138 (Horde creates events in main inbox)
- kolab/issue2144 (Calendar items of shared calendar not appearing)
kolab/issue2134 ([Horde] Unable to send message with attachments)
kolab/issue2135 ([horde/turba] Turba should support some more contact attributes)
+ kolab/issue2138 (Horde creates events in main inbox)
+ kolab/issue2144 (Calendar items of shared calendar not appearing)
- horde-kolab-3.2_ALPHA-2007????
@@ -88,6 +88,9 @@
A fully restructured free/busy with the most recent free/busy
concept implemented.
+
+ kolab/issue799 (pfb php script cannot handle umlaut and dots in foldernames correctly)
+ kolab/issue898 (pfbs from several servers, are not combined into .ifb)
- kolab-webadmin-2.1.99-2007????
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/dist_conf kolab,1.52,1.53
Message-ID: <20071123133934.BE0D0600D6B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv15550/kolabd/kolabd/dist_conf
Modified Files:
kolab
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: kolab
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/kolab,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- kolab 22 Nov 2007 17:08:42 -0000 1.52
+++ kolab 23 Nov 2007 13:39:32 -0000 1.53
@@ -170,7 +170,7 @@
fbview_logfile=${localstatedir}/resmgr/fbview.log
freebusy_logdir=${localstatedir}/kolab-freebusy/log
freebusy_confdir=${webserver_document_root}/freebusy
-freebusy_cachedir=${webserver_document_root}/freebusy/cache
+freebusy_cachedir=${localstatedir}/kolab-freebusy/cache
freebusy_usr=${kolab_musr}
freebusy_grp=${kolab_grp}
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server/kolab-freebusy/freebusy config.php,1.5,1.6
Message-ID: <20071123133934.BCE2F600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy/freebusy
In directory doto:/tmp/cvs-serv15550/kolab-freebusy/freebusy
Modified Files:
config.php
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/freebusy/config.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- config.php 22 Nov 2007 16:58:33 -0000 1.5
+++ config.php 23 Nov 2007 13:39:32 -0000 1.6
@@ -102,6 +102,16 @@
*/
$conf['fb']['send_content_disposition'] = false;
+/* Are there remote servers on which users have additional (shared)
+ * folders? In that case free/busy information should also be fetched
+ * from these servers.
+ *
+ * Add them like this:
+ *
+ * array('remote1.example.com', 'remote2.example.com')
+ */
+$conf['fb']['remote_servers'] = array();
+
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
// If you modify this file, please do not forget to modify both the
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy/Freebusy Cache.php,1.1,1.2
Message-ID: <20071123133934.D58FF600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy/Freebusy
In directory doto:/tmp/cvs-serv15550/php-kolab/Kolab_Freebusy/Freebusy
Modified Files:
Cache.php
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: Cache.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Freebusy/Freebusy/Cache.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Cache.php 22 Nov 2007 16:53:05 -0000 1.1
+++ Cache.php 23 Nov 2007 13:39:32 -0000 1.2
@@ -161,6 +161,8 @@
function &load(&$access, $extended)
{
+ global $conf;
+
/* Which files will we access? */
$aclcache = &FreeBusyCacheDB_acl::singleton('acl', $this->_cache_dir);
$files = array();
@@ -228,7 +230,19 @@
$vFb->merge($pvFb);
/* Store last modification time */
- $mtimes[$file] = $c_pvcal->getMtime();
+ $mtimes[$file] = array($c_pvcal->getFile(), $c_pvcal->getMtime());
+ }
+
+ if (!empty($conf['fb']['remote_servers'])) {
+ $remote_vfb = $this->_fetchRemote($conf['fb']['remote_servers'],
+ $access);
+ if (is_a($remote_vfb, 'PEAR_Error')) {
+ Horde::logMessage(sprintf(_("Ignoring remote free/busy files: %s)"),
+ $remote_vfb->getMessage()),
+ __FILE__, __LINE__, PEAR_LOG_INFO);
+ } else {
+ $vFb->merge($remote_vfb);
+ }
}
if (!(boolean)$vFb->getBusyPeriods()) {
@@ -309,6 +323,58 @@
}
return $folder;
}
+
+ function &_fetchRemote($servers, $access)
+ {
+ $vFb = null;
+
+ foreach ($servers as $server) {
+
+ $url = 'https://' . urlencode($access->user) . ':' . urlencode($access->pass)
+ . '@' . $server . $_SERVER['REQUEST_URI'];
+ $remote = @file_get_contents($url);
+ if (!$remote) {
+ $message = sprintf(_("Unable to read free/busy information from %s"),
+ 'https://' . urlencode($access->user) . ':XXX'
+ . '@' . $server . $_SERVER['REQUEST_URI']);
+ Horde::logMessage($message, __FILE__, __LINE__, PEAR_LOG_INFO);
+ }
+
+ $rvCal = &new Horde_iCalendar();
+ $result = $rvCal->parsevCalendar($remote);
+
+ if (is_a($result, 'PEAR_Error')) {
+ $message = sprintf(_("Unable to parse free/busy information from %s: %s"),
+ 'https://' . urlencode($access->user) . ':XXX'
+ . '@' . $server . $_SERVER['REQUEST_URI'],
+ $result->getMessage());
+ Horde::logMessage($message, __FILE__, __LINE__, PEAR_LOG_INFO);
+ }
+
+ $rvFb = &$rvCal->findComponent('vfreebusy');
+ if (!$pvFb) {
+ $message = sprintf(_("Unable to find free/busy information in data from %s."),
+ 'https://' . urlencode($access->user) . ':XXX'
+ . '@' . $server . $_SERVER['REQUEST_URI']);
+ Horde::logMessage($message, __FILE__, __LINE__, PEAR_LOG_INFO);
+ }
+ if ($ets = $rvFb->getAttributeDefault('DTEND', false) !== false) {
+ // PENDING(steffen): Make value configurable
+ if ($ets < time()) {
+ $message = sprintf(_("free/busy information from %s is too old."),
+ 'https://' . urlencode($access->user) . ':XXX'
+ . '@' . $server . $_SERVER['REQUEST_URI']);
+ Horde::logMessage($message, __FILE__, __LINE__, PEAR_LOG_INFO);
+ }
+ }
+ if (!empty($vFb)) {
+ $vFb->merge($rvFb);
+ } else {
+ $vFb = $rvFb;
+ }
+ }
+ return $vFb;
+ }
};
class FreeBusyCacheDB {
@@ -545,6 +611,11 @@
$this->_file = $this->_cache_dir . '/' . $this->_filename . '.' . $this->_suffix;
}
+ function getFile()
+ {
+ return $this->_file;
+ }
+
function purge()
{
if (file_exists($this->_file)) {
@@ -594,6 +665,7 @@
return PEAR::raiseError(sprintf(_("Cache file %s lacks version data!"),
$this->_file));
}
+ $this->_version = $cache['version'];
if (!isset($cache['data'])) {
return PEAR::raiseError(sprintf(_("Cache file %s lacks data!"),
$this->_file));
@@ -660,6 +732,8 @@
var $_suffix = 'vc';
+ var $_version = 2;
+
var $_data;
function storeVcal(&$vcal, &$mtimes)
@@ -692,18 +766,23 @@
return $result;
}
+ /* Check the cache version */
+ if ($this->_version < 2) {
+ return true;
+ }
+
$this->_data = $result['vcal'];
/* Files changed? */
$keys = array_keys($result['mtimes']);
$changes = array_diff($keys, $files);
- if (!empty($changes)) {
+ if (count($keys) != count($files) || !empty($changes)) {
return true;
}
/* Check the file ctimes */
foreach ($files as $file) {
- if (filemtime($this->_cache_dir . '/' . $file) != $result['mtimes'][$file]) {
+ if (filemtime($result['mtimes'][$file][0]) != $result['mtimes'][$file][1]) {
return true;
}
}
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd ChangeLog,1.119,1.120
Message-ID: <20071123133934.BF296600D6C@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv15550/kolabd/kolabd
Modified Files:
ChangeLog
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -d -r1.119 -r1.120
--- ChangeLog 22 Nov 2007 17:08:42 -0000 1.119
+++ ChangeLog 23 Nov 2007 13:39:32 -0000 1.120
@@ -1,3 +1,13 @@
+2007-11-23 Gunnar Wrobel
* dist_conf/kolab (freebusy_logdir):
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy ChangeLog,1.4,1.5
Message-ID: <20071123133934.D46F1600D6F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy
In directory doto:/tmp/cvs-serv15550/php-kolab/Kolab_Freebusy
Modified Files:
ChangeLog
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Freebusy/ChangeLog,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ChangeLog 22 Nov 2007 16:54:24 -0000 1.4
+++ ChangeLog 23 Nov 2007 13:39:32 -0000 1.5
@@ -1,3 +1,12 @@
+2007-11-23 Gunnar Wrobel
+
+ * Freebusy/Cache.php:
+
+ Fix the checking for an expired free/busy cache.
+
+ Allow fetching remote partial free/busy lists.
+ kolab/issue898 (pfbs from several servers, are not combined into .ifb)
+
2007-11-22 Gunnar Wrobel
* Freebusy/*:
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server/kolab-freebusy ChangeLog,1.3,1.4
Message-ID: <20071123133934.B92F9600D62@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv15550/kolab-freebusy
Modified Files:
ChangeLog
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ChangeLog 22 Nov 2007 16:58:33 -0000 1.3
+++ ChangeLog 23 Nov 2007 13:39:32 -0000 1.4
@@ -1,3 +1,9 @@
+2007-11-23 Gunnar Wrobel
* kolab-freebusy.spec:
From cvs at kolab.org Fri Nov 23 14:39:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 14:39:34 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates freebusy.conf.template.in, 1.11,
1.12
Message-ID: <20071123133934.D343A600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv15550/kolabd/kolabd/templates
Modified Files:
freebusy.conf.template.in
Log Message:
kolab/issue898 (pfbs from several servers, are not combined into .ifb) + some minor fixes to kolab-freebusy.
Index: freebusy.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/freebusy.conf.template.in,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- freebusy.conf.template.in 22 Nov 2007 17:08:42 -0000 1.11
+++ freebusy.conf.template.in 23 Nov 2007 13:39:32 -0000 1.12
@@ -107,6 +107,16 @@
*/
$conf['fb']['send_content_disposition'] = false;
+/* Are there remote servers on which users have additional (shared)
+ * folders? In that case free/busy information should also be fetched
+ * from these servers.
+ *
+ * Add them like this:
+ *
+ * array('remote1.example.com', 'remote2.example.com')
+ */
+$conf['fb']['remote_servers'] = array();
+
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
// If you modify this file, please do not forget to modify both the
From cvs at kolab.org Fri Nov 23 16:03:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 16:03:56 +0100 (CET)
Subject: gunnar: server/horde/horde-framework HK-GW-Kolab_extensions.patch, 1.2,
1.3 horde-framework-kolab.spec, 1.29, 1.30
Message-ID: <20071123150356.1D16F600D6F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv17398/horde/horde-framework
Modified Files:
HK-GW-Kolab_extensions.patch horde-framework-kolab.spec
Log Message:
Some fixes to the way we expand recurrences in free/busy.
Index: HK-GW-Kolab_extensions.patch
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/HK-GW-Kolab_extensions.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- HK-GW-Kolab_extensions.patch 22 Nov 2007 16:31:00 -0000 1.2
+++ HK-GW-Kolab_extensions.patch 23 Nov 2007 15:03:53 -0000 1.3
@@ -394,10 +394,10 @@
$this->_storage = &new Kolab_IMAP();
}
-diff -r 2be0e69810d0 framework/Kolab/Kolab/Freebusy.php
+diff -r f536c90a6397 framework/Kolab/Kolab/Freebusy.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/framework/Kolab/Kolab/Freebusy.php Thu Nov 22 17:29:28 2007 +0100
-@@ -0,0 +1,490 @@
++++ b/framework/Kolab/Kolab/Freebusy.php Fri Nov 23 15:51:14 2007 +0100
+@@ -0,0 +1,495 @@
+recurs()) {
+ $next = $event->recurrence->nextRecurrence($startDate);
++ while ($next !== false &&
++ $event->recurrence->hasException($next->year, $next->month, $next->mday)) {
++ $next->mday++;
++ $next = $event->recurrence->nextRecurrence($next);
++ }
++ $duration = $next->timestamp() - $event->start->timestamp();
++ $next_end = &new Horde_Date($event->end->timestamp() + $duration);
++
+ if ($next !== false &&
-+ !$event->recurrence->hasException($next->year, $next->month, $next->mday) &&
-+ (!(($endDate->compareDateTime($event->start) < 0) ||
-+ ($startDate->compareDateTime($event->end) > 0)))) {
++ (!(($endDate->compareDateTime($next) < 0) ||
++ ($startDate->compareDateTime($next_end) > 0)))) {
+ $result[] = $event;
+ }
+ }
@@ -744,18 +751,16 @@
+ if (!$event->recurs()) {
+ $vFb->addBusyPeriod('BUSY', $startThisDay, null, $duration, $extra);
+ } else {
-+ while (true) {
-+ $next = $event->recurrence->nextRecurrence($startDate);
-+ if ($next === false) {
++ $next = $event->recurrence->nextRecurrence($startDate);
++ while ($next) {
++ if ($endDate->compareDateTime($next) < 0) {
+ break;
+ }
-+ if ($event->recurrence->hasException($next->year, $next->month, $next->mday)) {
-+ continue;
-+ }
-+ if ($endDate->compareDateTime($next->start) < 0) {
-+ break;
++ if (!$event->recurrence->hasException($next->year, $next->month, $next->mday)) {
++ $vFb->addBusyPeriod('BUSY', $next->timestamp(), null, $duration, $extra);
+ }
-+ $vFb->addBusyPeriod('BUSY', $next->timestamp(), null, $duration, $extra);
++ $next->mday++;
++ $next = $event->recurrence->nextRecurrence($next);
+ }
+ }
+ }
Index: horde-framework-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/horde-framework-kolab.spec,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- horde-framework-kolab.spec 22 Nov 2007 16:24:14 -0000 1.29
+++ horde-framework-kolab.spec 23 Nov 2007 15:03:53 -0000 1.30
@@ -3,7 +3,7 @@
%define V_package horde-%{V_horde_name}-kolab
%define V_year 2007
%define V_month 11
-%define V_day 22
+%define V_day 23
%define V_version 3.2_ALPHA
%define V_date %{V_year}-%{V_month}-%{V_day}
%define V_release %{V_year}%{V_month}%{V_day}
From cvs at kolab.org Fri Nov 23 16:03:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 16:03:56 +0100 (CET)
Subject: gunnar: server/patches/horde
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch, 1.2, 1.3
Message-ID: <20071123150356.1B8A4600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv17398/patches/horde
Modified Files:
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
Log Message:
Some fixes to the way we expand recurrences in free/busy.
Index: HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
===================================================================
RCS file: /kolabrepository/server/patches/horde/HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch 22 Nov 2007 16:31:00 -0000 1.2
+++ HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch 23 Nov 2007 15:03:54 -0000 1.3
@@ -394,10 +394,10 @@
$this->_storage = &new Kolab_IMAP();
}
-diff -r 2be0e69810d0 framework/Kolab/Kolab/Freebusy.php
+diff -r f536c90a6397 framework/Kolab/Kolab/Freebusy.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/framework/Kolab/Kolab/Freebusy.php Thu Nov 22 17:29:28 2007 +0100
-@@ -0,0 +1,490 @@
++++ b/framework/Kolab/Kolab/Freebusy.php Fri Nov 23 15:51:14 2007 +0100
+@@ -0,0 +1,495 @@
+recurs()) {
+ $next = $event->recurrence->nextRecurrence($startDate);
++ while ($next !== false &&
++ $event->recurrence->hasException($next->year, $next->month, $next->mday)) {
++ $next->mday++;
++ $next = $event->recurrence->nextRecurrence($next);
++ }
++ $duration = $next->timestamp() - $event->start->timestamp();
++ $next_end = &new Horde_Date($event->end->timestamp() + $duration);
++
+ if ($next !== false &&
-+ !$event->recurrence->hasException($next->year, $next->month, $next->mday) &&
-+ (!(($endDate->compareDateTime($event->start) < 0) ||
-+ ($startDate->compareDateTime($event->end) > 0)))) {
++ (!(($endDate->compareDateTime($next) < 0) ||
++ ($startDate->compareDateTime($next_end) > 0)))) {
+ $result[] = $event;
+ }
+ }
@@ -744,18 +751,16 @@
+ if (!$event->recurs()) {
+ $vFb->addBusyPeriod('BUSY', $startThisDay, null, $duration, $extra);
+ } else {
-+ while (true) {
-+ $next = $event->recurrence->nextRecurrence($startDate);
-+ if ($next === false) {
++ $next = $event->recurrence->nextRecurrence($startDate);
++ while ($next) {
++ if ($endDate->compareDateTime($next) < 0) {
+ break;
+ }
-+ if ($event->recurrence->hasException($next->year, $next->month, $next->mday)) {
-+ continue;
-+ }
-+ if ($endDate->compareDateTime($next->start) < 0) {
-+ break;
++ if (!$event->recurrence->hasException($next->year, $next->month, $next->mday)) {
++ $vFb->addBusyPeriod('BUSY', $next->timestamp(), null, $duration, $extra);
+ }
-+ $vFb->addBusyPeriod('BUSY', $next->timestamp(), null, $duration, $extra);
++ $next->mday++;
++ $next = $event->recurrence->nextRecurrence($next);
+ }
+ }
+ }
From cvs at kolab.org Fri Nov 23 16:48:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 16:48:13 +0100 (CET)
Subject: gunnar: server/horde/horde-framework HK-GW-Kolab_extensions.patch, 1.3,
1.4
Message-ID: <20071123154813.3FBE8600D69@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv18283/horde/horde-framework
Modified Files:
HK-GW-Kolab_extensions.patch
Log Message:
Disregard private events for free/busy.
Index: HK-GW-Kolab_extensions.patch
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/HK-GW-Kolab_extensions.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- HK-GW-Kolab_extensions.patch 23 Nov 2007 15:03:53 -0000 1.3
+++ HK-GW-Kolab_extensions.patch 23 Nov 2007 15:48:10 -0000 1.4
@@ -396,8 +396,8 @@
diff -r f536c90a6397 framework/Kolab/Kolab/Freebusy.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/framework/Kolab/Kolab/Freebusy.php Fri Nov 23 15:51:14 2007 +0100
-@@ -0,0 +1,495 @@
++++ b/framework/Kolab/Kolab/Freebusy.php Fri Nov 23 16:46:17 2007 +0100
+@@ -0,0 +1,499 @@
+private) {
++ continue;
++ }
+
+ /* check if event period intersects with given period */
+ if (!(($endDate->compareDateTime($event->start) < 0) ||
From cvs at kolab.org Fri Nov 23 16:48:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 16:48:13 +0100 (CET)
Subject: gunnar: server/patches/horde
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch, 1.3, 1.4
Message-ID: <20071123154813.4263A600D6B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv18283/patches/horde
Modified Files:
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
Log Message:
Disregard private events for free/busy.
Index: HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
===================================================================
RCS file: /kolabrepository/server/patches/horde/HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch 23 Nov 2007 15:03:54 -0000 1.3
+++ HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch 23 Nov 2007 15:48:10 -0000 1.4
@@ -396,8 +396,8 @@
diff -r f536c90a6397 framework/Kolab/Kolab/Freebusy.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/framework/Kolab/Kolab/Freebusy.php Fri Nov 23 15:51:14 2007 +0100
-@@ -0,0 +1,495 @@
++++ b/framework/Kolab/Kolab/Freebusy.php Fri Nov 23 16:46:17 2007 +0100
+@@ -0,0 +1,499 @@
+private) {
++ continue;
++ }
+
+ /* check if event period intersects with given period */
+ if (!(($endDate->compareDateTime($event->start) < 0) ||
From cvs at kolab.org Fri Nov 23 18:05:17 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 18:05:17 +0100 (CET)
Subject: bernhard: doc/www/src getting-involved.html.m4,1.1,1.2
Message-ID: <20071123170517.1E8D0600D69@lists.intevation.de>
Author: bernhard
Update of /kolabrepository/doc/www/src
In directory doto:/tmp/cvs-serv19771
Modified Files:
getting-involved.html.m4
Log Message:
Improved the getting-involved page a bit. Mainly replaced "project" with "community".
Index: getting-involved.html.m4
===================================================================
RCS file: /kolabrepository/doc/www/src/getting-involved.html.m4,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- getting-involved.html.m4 18 May 2005 12:54:02 -0000 1.1
+++ getting-involved.html.m4 23 Nov 2007 17:05:14 -0000 1.2
@@ -4,37 +4,40 @@
Getting Involved
-Kolab is an open project welcoming any type of helpful contribution!
-If you like, you can become an active member of the Kolab Groupware Project.
+Kolab is an open community welcoming any type of helpful contribution!
+If you like, you can become an active member.
-Becoming a member of the Kolab Groupware Project is in fact fairly easy.
-Depending on your area of interest and level of expertise you may perhaps identify
-one of these items where you like to contribute:
+Becoming a member of the Kolab community is easy: Connect
+with us and just contribute!
+Pick something you like to do, here are some ideas:
-
Testing Kolab Server and/or Kolab Klients: report bugs and wishes
- into our issue tracker
+
Help other to understand and run Kolab.
+
Testing Kolab Server and/or Kolab Clients: report bugs and wishes
+ into our issue tracker or the development mailinglist.
Report any trouble-shooting findings and other valuable information
into the Kolab Wiki
Write/polish documentation: There is quite some documentation already,
but largely unsorted. Ask on the devel-list for what you could do.
Consolidate information from the mailing lists into the Wiki.
-
Fix bugs on your own: the issue tracker has lots of open items.
+
Help to fix problems: the issue tracker has lots of open items.
If you feel competent, pick one that lies in your realm and solve it.
- Don't forget to let others know you are working on a bug (ie. assign
+ Don't forget to let others know you are working on an issue (ie. assign
it to yourself and change the status accordingly).
Improve our web-site. It always needs work.
-
...
+
Share your experiences! May they be good or bad.
+
Design some nice artwork to promote Kolab.
In any case you should subscribe to at least one of the mailing lists
and participate there. Don't be frustrated if some emails remain unanswered -
sometimes the others are simply lacking time or it may slip out of
-intention. Just remind if no reaction occurs. And give answers yourself
-where you can ;-)
+intention. Just send a reminder after a few days.
+And give answers yourself where you can. ;-)
-Everyone who continously contributes to Kolab can get CVS write access.
+Everyone who continously contributes to Kolab can get write access
+to the software repository.
m4_include(footer.html.m4)
From cvs at kolab.org Fri Nov 23 19:32:24 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 23 Nov 2007 19:32:24 +0100 (CET)
Subject: bernhard: doc/www/src roadmap.html.m4,1.11,1.12
Message-ID: <20071123183224.75EC2600D67@lists.intevation.de>
Author: bernhard
Update of /kolabrepository/doc/www/src
In directory doto:/tmp/cvs-serv21885
Modified Files:
roadmap.html.m4
Log Message:
Updated roadmap to be more detailed.
* Included the KDE Kolab Client again, two series enterprise35 and proko2
* Removed Kolab Server 3.0, it was quite vaque anyway.
* Server planned release 2.2.0 Q1 2008.
Index: roadmap.html.m4
===================================================================
RCS file: /kolabrepository/doc/www/src/roadmap.html.m4,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- roadmap.html.m4 23 May 2007 09:00:18 -0000 1.11
+++ roadmap.html.m4 23 Nov 2007 18:32:22 -0000 1.12
@@ -18,7 +18,24 @@
-
Future Kolab Server 2.2 release series
+
KDE Kolab Client Enterprise35
+
+This series is in beta quality and contains a large number of improvements
+over Proko2. Currently intermediate releases happen very few weeks for
+testing. Packagers are already picking this up.
+
+Stabilization to enterprise production quality is planned for Q1 2008.
+
+
KDE Kolab Client Proko2 stable series
+
+This series is very stable and in in maintenance mode.
+Only very important updates will happen occasionally - governed
+by the urgency of the changes for enterprise users.
+
+
Kolab Server 2.2 series
+
+Current beta quality release is 2.2-beta2, it already has
+the planned features:
Update to a new OpenPKG version.
Integration of new upstream versions (with many of the kolab patches
@@ -28,14 +45,15 @@
More complete support for 64 bit architectures.
-
-
-
Future Kolab Server 3.0 release series
-
-The roadmap for the next major version is currently being discussed within the
-community.
-
+Planned is 2.2-beta3 in early December.
+
+
Some Webclient problems resolved.
+
Implementation of new concept for extended freebusy list which is good for the teamleader overview usecase.
+
+
+The 2.2.0 release is planned for Q1 2008.
+Before at least one rc release is likely.
Kolab Server 2.1 release series
From cvs at kolab.org Mon Nov 26 17:28:52 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:28:52 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests/_data - New directory
Message-ID: <20071126162852.33151600D6C@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests/_data
In directory doto:/tmp/cvs-serv507/_data
Log Message:
Directory /kolabrepository/server/php-kolab/Kolab_Filter/tests/_data added to the repository
From cvs at kolab.org Mon Nov 26 17:28:52 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:28:52 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests/tmp - New directory
Message-ID: <20071126162852.3557F600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests/tmp
In directory doto:/tmp/cvs-serv507/tmp
Log Message:
Directory /kolabrepository/server/php-kolab/Kolab_Filter/tests/tmp added to the repository
From cvs at kolab.org Mon Nov 26 17:35:23 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:35:23 +0100 (CET)
Subject: gunnar: server/kolab-filter ChangeLog,NONE,1.1
Message-ID: <20071126163523.722B4600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter
In directory doto:/tmp/cvs-serv723/kolab-filter
Added Files:
ChangeLog
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
--- NEW FILE: ChangeLog ---
2007-11-26 Gunnar Wrobel
* config.php:
* kolabfilter.php:
* kolabmailboxfilter.php:
Adapted to the restructured php-kolab/Kolab_Filter package.
From cvs at kolab.org Mon Nov 26 17:35:23 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:35:23 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter config.php, 1.3,
1.4 kolabfilter.php, 1.2, 1.3 kolabmailboxfilter.php, 1.2, 1.3
Message-ID: <20071126163523.790E9600D69@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv723/kolab-filter/filter
Modified Files:
config.php kolabfilter.php kolabmailboxfilter.php
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- config.php 16 Aug 2007 10:53:19 -0000 1.3
+++ config.php 26 Nov 2007 16:35:21 -0000 1.4
@@ -34,95 +34,127 @@
*
*/
-// What is the address of the Cyrus server where the calendar data is stored?
-$params['server'] = 'localhost';
+$conf = array();
+
+/* Horde::Log configuration */
+$conf['log']['enabled'] = true;
+$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
+$conf['log']['type'] = 'file';
+$conf['log']['name'] = '/kolab/var/kolab-filter/log/filter.log';
+$conf['log']['ident'] = 'Kolab Filter';
+$conf['log']['params']['append'] = true;
+
+/* PHP error logging */
+$conf['filter']['error_log'] = '/kolab/var/kolab-filter/log/php-error.log';
+
+/* Temporary data storage for the scripts */
+$conf['filter']['tempdir'] = '';
+
+/* What is the address of this host? */
+$conf['filter']['server'] = 'localhost';
+
+/* What is our default mail domain? This is used if any users do not
+ * have '@domain' specified after their username as part of their
+ * email address.
+ */
+$conf['filter']['email_domain'] = 'example.com';
+
+/* LMTP settings (Cyrus IMAPd usually offers LMTP on port 2003) */
+$conf['filter']['lmpt_host'] = 'localhost';
+$conf['filter']['lmpt_port'] = 2003;
+
+/* SMTP settings (Kolab Postfix usually offers reinjection port on
+ * 10025)
+ */
+$conf['filter']['smpt_host'] = 'localhost';
+$conf['filter']['smpt_port'] = 10025;
+
+/* Should we make sure that the sender and From header match for mail
+ * that origins on this server?
+ */
+$conf['filter']['verify_from_header'] = true;
+
+/* Should the Sender: header be used over From: if present? */
+$conf['filter']['allow_sender_header'] = true;
+
+/* Should we allow forwarded ical messages from Outlook
+ * by encapsulating them in a MIME multipart
+ */
+$conf['filter']['allow_outlook_ical_forward'] = true;
+
-// What is our default mail domain? This is used if any users do not have
-// '@domain' specified after their username as part of their email address.
-$params['email_domain'] = 'example.com';
// List of kolab hosts that are privileged
-$params['kolabhosts'] = 'one.example.com,two.example.com,three.example.com';
+$conf['kolabhosts'] = 'one.example.com,two.example.com,three.example.com';
// Are we using virtual domains with Cyrus?
-$params['virtual_domains'] = true;
+$conf['virtual_domains'] = true;
// Should we append domains to mailbox URIs? This only applies when
// virtual_domains is true, and when using manager accounts.
-$params['append_domains'] = false;
-
-// Should we make sure that the sender and From header match for mail
-// that origins on this server?
-$params['verify_from_header'] = true;
+$conf['append_domains'] = false;
// 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;
+$conf['verify_subdomains'] = true;
// Should reject messages with From headers that dont match
// the envelope? Default is to rewrite the header
-$params['reject_forged_from_header'] = false;
+$conf['reject_forged_from_header'] = false;
// Text to be inserted in From: when rewriting untrusted mails
-$params['untrusted_subject_insert'] = "(UNTRUSTED, sender is <%s>)";
-$params['unauthenticated_subject_insert'] = "(UNTRUSTED, sender <%s> is not authenticated)";
-
-// Should we allow forwarded ical messages from Outlook
-// by encapsulating them in a MIME multipart
-$params['allow_outlook_ical_forward'] = true;
+$conf['untrusted_subject_insert'] = "(UNTRUSTED, sender is <%s>)";
+$conf['unauthenticated_subject_insert'] = "(UNTRUSTED, sender <%s> is not authenticated)";
// LDAP data
// What is the address of the LDAP server address where user objects reside
-$params['ldap_uri'] = 'ldaps://ldap.example.com';
+$conf['ldap_uri'] = 'ldaps://ldap.example.com';
// What is the Base DN of our LDAP database?
-$params['base_dn'] = 'dc=example,dc=com';
+$conf['base_dn'] = 'dc=example,dc=com';
// What DN should we use to bind to the LDAP server?
-$params['bind_dn'] = 'cn=nobody,cn=internal,dc=example,dc=com';
+$conf['bind_dn'] = 'cn=nobody,cn=internal,dc=example,dc=com';
// What password should we use with the above DN when binding?
-$params['bind_pw'] = 'xyz';
+$conf['bind_pw'] = 'xyz';
// What account should we use to read/write calendar data? This account should
// have access to the calendar mailbox of all resource/group mailboxes.
-$params['calendar_user'] = 'calendar@'.$params['email_domain'];
-$params['calendar_pass'] = 'zyx';
+$conf['calendar_user'] = 'calendar@'.$conf['email_domain'];
+$conf['calendar_pass'] = 'zyx';
// Filename of private key used to decrypt password from LDAP
-$params['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
+$conf['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
// What is the name of the users' calendar mailbox?
// This is only used when the user does not already have
// a primary calendar folder (search via Kolab annotation)
-$params['calendar_store'] = 'Calendar';
+$conf['calendar_store'] = 'Calendar';
// Where can we get free/busy information from?
-$params['freebusy_url'] = 'http://kolab.example.com/freebusy/${USER}.xfb';
+$conf['freebusy_url'] = 'http://kolab.example.com/freebusy/${USER}.xfb';
// PFB url to trigger creation of pfb
-$params['pfb_trigger_url'] = 'http://@@@fqdnhostname@@@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
+$conf['pfb_trigger_url'] = 'http://@@@fqdnhostname@@@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
// Where are we logging to?
-$params['log'] = 'file:@resmgr_logfile@'; // File...
-// $params['log'] = 'syslog:cons, pid'; // Or syslog...
+$conf['log'] = 'file:@resmgr_logfile@'; // File...
+// $conf['log'] = 'syslog:cons, pid'; // Or syslog...
// What level of output should we log? Higher levels give more verbose output.
// One of: RM_LOG_SILENT; RM_LOG_ERROR; RM_LOG_WARN; RM_LOG_INFO or RM_LOG_DEBUG.
-$params['log_level'] = RM_LOG_DEBUG;
-
-// Temporary data storage for the script
-$params['resmgr_filterdir'] = '';
+$conf['log_level'] = RM_LOG_DEBUG;
// Activate if you wish to use the new horde framework
// (horde-framework-kolab) package instead of the old code in
// kolab-horde-framework. This is still untested and considered
// UNSAFE!
-$params['use_new_horde'] = false;
+$conf['use_new_horde'] = false;
+
+// FIXME: HACK
+$params = $conf;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/kolabfilter.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- kolabfilter.php 8 Oct 2007 15:50:11 -0000 1.2
+++ kolabfilter.php 26 Nov 2007 16:35:21 -0000 1.3
@@ -29,469 +29,26 @@
* ABOUT
* -----
*
- * FIXME
+ * A filter for outgoing mail on a Kolab Server.
*
*/
-/* Fix include_path to pick up our modified Horde classes */
-require_once 'PEAR.php';
-require_once 'Kolab/Filter/misc.php';
-require_once 'Kolab/Filter/kolabmailtransport.php';
-
-// Profiling code
-/*
-function mymtime(){
- $tmp=explode(' ',microtime());
- $rt=$tmp[0]+$tmp[1];
- return $rt;
-}
-
-class MyTimer {
- function MyTimer( $name ) {
- $this->name = $name;
- }
- function start() {
- $this->time = mymtime();
- }
- function stop() {
- $time = 100*(mymtime()-$this->time);
- myLog("Section ".$this->name." took $time msecs", RM_LOG_DEBUG);
- }
-
- var $name;
- var $time;
-};
-
-$totaltime =& new MyTimer("Total");
-$totaltime->start();
-*/
+/* Load the filter libraries */
+require_once 'Kolab/Filter/Outgoing.php';
+require_once 'Kolab/Filter/Response.php';
-// Load our configuration file
-$params = array();
+/* Read our configuration */
require_once 'config.php';
-init();
-
-define( 'TMPDIR', $params['resmgr_filterdir'] );
-define( 'EX_TEMPFAIL', 75 );
-define( 'EX_UNAVAILABLE', 69 );
-
-//$inputtime =& new MyTimer("Input");
-//$inputtime->start();
-
-// Temp file for storing the message
-$tmpfname = tempnam( TMPDIR, 'IN.' );
-$tmpf = @fopen($tmpfname, "w");
-if( !$tmpf ) {
- myLog("Error: Could not open $tempfname for writing: ".php_error(), RM_LOG_ERROR);
- exit(EX_TEMPFAIL);
-}
-
-// Cleanup function
-function cleanup() {
- global $tmpfname;
- file_exists($tmpfname) && unlink($tmpfname);
-}
-register_shutdown_function( 'cleanup' );
-
-function is_my_domain( $addr ) {
- global $params;
- if( is_array($params['email_domain']) ) {
- $domains = $params['email_domain'];
- } else {
- $domains = array($params['email_domain']);
- }
-
- $adrs = imap_rfc822_parse_adrlist($addr, $params['email_domain']);
- foreach ($adrs as $adr) {
- $adrdom = $adr->host;
- if( empty($adrdom) ) continue;
- foreach( $domains as $dom ) {
- if( $dom == $adrdom ) return true;
- if( $params['verify_subdomains'] && substr($adrdom, -strlen($dom)-1) == ".$dom" ) return true;
- }
- }
- return false;
-}
-
-/**
- Returns a list of allowed email addresses for user $sasluser
- or a PEAR_Error object if something croaked.
-*/
-function addrs_for_uid( $sasluser )
-{
- global $params;
- /* Connect to the LDAP server and retrieve the users'
- allowed email addresses */
- $ldap = ldap_connect($params['ldap_uri']);
- if (!ldap_bind($ldap, $params['bind_dn'], $params['bind_pw'])) {
- myLog('Unable to contact LDAP server: ' . ldap_error($ldap));
- return new PEAR_Error('Unable to contact LDAP server: ' . ldap_error($ldap));
- }
-
- $filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$sasluser)(uid=$sasluser)))";
- $result = ldap_search($ldap, $params['base_dn'],
- $filter,
- array("dn", "mail", "alias" ));
- if (!$result) {
- myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
- return new PEAR_Error('Unable to perform LDAP search: ' . ldap_error($ldap));
- }
-
- $entries = ldap_get_entries($ldap, $result);
- if ($entries['count'] != 1) {
- myLog($entries['count']." objects returned for uid $sasluser");
- return new PEAR_Error("Temporary LDAP error, unable to look up user $sasluser");
- }
- unset($entries[0]['mail']['count']);
- unset($entries[0]['alias']['count']);
- $addrs = array_merge((array) $entries[0]['mail'],(array) $entries[0]['alias']);
- $mail = $entries[0]['mail'][0];
-
- ldap_free_result($result);
-
- $filter = "(&(objectClass=kolabInetOrgPerson)(kolabDelegate=$mail))";
- $result = ldap_search($ldap, $params['base_dn'],
- $filter,
- array("dn", "mail" ));
- if (!$result) {
- myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
- return new PEAR_Error('Unable to perform LDAP search: ' . ldap_error($ldap));
- }
-
- $entries = ldap_get_entries($ldap, $result);
- unset( $entries['count'] );
- foreach( $entries as $adr ) {
- if( $adr['mail']['count'] > 0 ) {
- unset($adr['mail']['count']);
- $addrs = array_merge((array) $addrs,(array) $adr['mail']);
- }
- }
- ldap_free_result($result);
- ldap_close($ldap);
-
- #myLog("Found addresses ".print_r($addrs,true)." for user $sasluser", RM_LOG_DEBUG);
- return $addrs;
-}
-
-/** Returns the format string used to rewrite
- the From header for untrusted messages */
-function get_untrusted_subject_insert($sasluser,$sender)
-{
- global $params;
- if( $sasluser ) {
- if( array_key_exists('untrusted_subject_insert', $params) ) {
- $fmt = $params['untrusted_subject_insert'];
- } else {
- $fmt = "(UNTRUSTED, sender is <%s>)";
- }
- } else {
- if( array_key_exists('unauthenticated_subject_insert', $params) ) {
- $fmt = $params['unauthenticated_subject_insert'];
- } else {
- $fmt = "(UNTRUSTED, sender <%s> is not authenticated)";
- }
- }
- return sprintf($fmt,$sender);
-}
-
-/** Check that the From header is not trying
- to impersonate a valid user that is not
- $sasluser. Returns one of:
-
- * True if From can be accepted
- * False if From must be rejected
- * A string with a corrected From header that makes
- From acceptable
- * A PEAR_Error object if something croaked
-*/
-function verify_sender( $sasluser, $sender, $fromhdr, $client_addr ) {
- global $params;
-
- /* Allow anything from localhost and
- fellow Kolab-hosts */
- if( $client_addr == $params['local_addr'] ) return true;
- $kolabhosts = split(',', $params['kolabhosts'] );
- $kolabhosts = array_map( "gethostbyname", $kolabhosts );
- if( array_search( $client_addr, $kolabhosts ) !== false ) return true;
-
- if( is_array($params['email_domain']) ) {
- $domains = $params['email_domain'];
- } else {
- $domains = array($params['email_domain']);
- }
-
- if( $sasluser ) {
- if( PEAR::isError($allowed_addrs = addrs_for_uid($sasluser)) ) {
- myLog("Error reading allowed addresses for $sasluser: ".$allowed_addrs->getMessage(), RM_LOG_ERROR);
- return $allowed_addrs;
- }
- } else {
- $allowed_addrs = false;
- }
- $untrusted = get_untrusted_subject_insert($sasluser,$sender);
- $adrs = imap_rfc822_parse_adrlist($fromhdr, $params['email_domain'][0]);
- foreach ($adrs as $adr) {
- $from = $adr->mailbox.'@'.$adr->host;
- $fromdom = $adr->host;
- if( $sasluser ) {
- if( !in_array( strtolower($from), $allowed_addrs ) ) {
- myLog("$from is not an allowed From address for $sasluser", RM_LOG_DEBUG);
- return false;
- }
- } else {
- foreach( $domains as $domain ) {
- if( strtolower($fromdom) == $domain
- || ( $params['verify_subdomains']
- && substr($fromdom, -strlen($domain)-1) == ".$domain" ) ) {
- if( $params['reject_forged_from_header'] ) {
- myLog("$from is not an allowed From address for unauthenticated users", RM_LOG_DEBUG);
- return false;
- } else {
- /* Rewrite */
- myLog("$from is not an allowed From address for unauthenticated users, rewriting", RM_LOG_DEBUG);
-
- if( strpos( $fromhdr, $untrusted )===false ) {
- return '"'.str_replace(array("\\",'"'),array("\\\\",'\"'),$adr->personal).' '.$untrusted.'" '.'<'.$from.'>';
- } else {
- return true;
- }
- }
- }
- }
- }
- }
-
- /* All seems OK */
- return true;
-
- /* TODO: What do we do about subdomains? */
- /*
- $senderdom = substr(strrchr($sender, '@'), 1);
- foreach( $domains as $domain ) {
- if( $params['verify_subdomains'] ) {
- if( ($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 ) {
- return false;
- }
- }
- }
- }
- return true;
- */
-}
-
-$options = parse_args( array( 's', 'r', 'c', 'h', 'u' ), $_SERVER['argv']); //getopt("s:r:c:h:u:");
-
-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");
- exit(EX_TEMPFAIL);
-}
-
-$sender = strtolower($options['s']);
-$recipients = $options['r'];
-$client_address = $options['c'];
-$fqhostname = strtolower($options['h']);
-$sasl_username = strtolower($options['u']);
-
-// make sure recipients is an array
-if( !is_array($recipients) ) {
- $recipients = array( $recipients );
-}
-
-// make recipients lowercase
-for( $i = 0; $i < count($recipients); $i++ ) {
- $recipients[$i] = strtolower($recipients[$i]);
-}
-
-myLog("Kolabfilter starting up, user=$sasl_username, sender=$sender, recipients=".join(',', $recipients)
- .", client_address=$client_address", RM_LOG_DEBUG);
-
-define( RM_STATE_READING_HEADER, 1 );
-define( RM_STATE_READING_FROM, 2 );
-define( RM_STATE_READING_SUBJECT,3 );
-define( RM_STATE_READING_SENDER, 4 );
-define( RM_STATE_READING_BODY, 5 );
-
-$ical = false;
-$from = false;
-$subject = false;
-$senderok = true;
-$rewrittenfrom = false;
-$state = RM_STATE_READING_HEADER;
-while (!feof(STDIN) && $state != RM_STATE_READING_BODY) {
- $buffer = fgets(STDIN, 8192);
- $line = rtrim( $buffer, "\r\n");
- if( $line == '' ) {
- // Done with headers
- $state = RM_STATE_READING_BODY;
- if( $from && $params['verify_from_header'] ) {
- $rc = verify_sender( $sasl_username, $sender, $from, $client_address);
- if( PEAR::isError($rc) ) {
- $msg = $error->getMessage().", code ".$error->getCode();
- mylog($msg, RM_LOG_ERROR);
- fwrite(STDOUT, $msg."\n");
- exit(EX_TEMPFAIL);
- } else if( $rc === true ) {
- /* All OK, do nothing */
- } else if( $rc === false ) {
- /* Reject! */
- $senderok = false;
- } else if( is_string($rc) ) {
- /* Rewrite from */
- if( strpos( $from, $rc )===false ) {
- myLog("Rewriting '$from' to '$rc'", RM_LOG_DEBUG);
- $rewrittenfrom = "From: $rc\r\n";
- }
- }
- }
- } else {
- if( $line[0] != ' ' && $line[0] != "\t" ) $state = RM_STATE_READING_HEADER;
- switch( $state ) {
- case RM_STATE_READING_HEADER:
- if( $params['allow_sender_header'] && eregi( '^Sender: (.*)', $line, $regs ) ) {
- $from = $regs[1];
- $state = RM_STATE_READING_SENDER;
- } else if( !$from && eregi( '^From: (.*)', $line, $regs ) ) {
- $from = $regs[1];
- $state = RM_STATE_READING_FROM;
- } else if( eregi( '^Subject: (.*)', $line, $regs ) ) {
- $subject = $regs[1];
- $state = RM_STATE_READING_SUBJECT;
- } else if( eregi( '^Content-Type: text/calendar', $line ) ) {
- myLog("Found iCal data in message", RM_LOG_DEBUG);
- $ical = true;
- }
- break;
- case RM_STATE_READING_FROM:
- $from .= $line;
- break;
- case RM_STATE_READING_SENDER:
- $from .= $line;
- break;
- case RM_STATE_READING_SUBJECT:
- $subject .= $line;
- break;
- }
- }
- if( fwrite($tmpf, $buffer) === false ) {
- exit(EX_TEMPFAIL);
- }
-}
-while (!feof(STDIN)) {
- $buffer = fread( STDIN, 8192 );
- if( fwrite($tmpf, $buffer) === false ) {
- exit(EX_TEMPFAIL);
- }
-}
-fclose($tmpf);
-
-//$inputtime->stop();
-
-if( !$senderok ) {
- if( $ical && $params['allow_outlook_ical_forward'] ) {
- require_once('Kolab/Filter/olhacks.php');
- $rc = olhacks_embedical( $fqhostname, $sender, $recipients, $from, $subject, $tmpfname );
- if( PEAR::isError( $rc ) ) {
- fwrite(STDOUT,"Filter failed: ".$rc->getMessage()."\n");
- exit(EX_TEMPFAIL);
- } else if( $rc === true ) {
- exit(0);
- }
- } else {
- $msg = "Invalid From: header. $from looks like a forged sender";
- myLog($msg, RM_LOG_DEBUG);
- fwrite(STDOUT,"$msg\n");
- exit(EX_UNAVAILABLE);
- }
-}
-
-//$outputtime =& new MyTimer("Output");
-//$outputtime->start();
-
-$tmpf = @fopen($tmpfname,"r");
-if( !$tmpf ) {
- myLog("Error: Could not open $tempfname for reading: ".php_error(), RM_LOG_ERROR);
- exit(EX_TEMPFAIL);
-}
-
-/* TODO: Dont hardcode localhost:10025 */
-$smtp = new KolabSMTP( $params['local_addr'], 10025 );
-if( PEAR::isError( $smtp ) ) {
- 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().", code ".$error->getCode()."\n");
- if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
- else exit(EX_UNAVAILABLE);
+/* Setup the classes */
+if (empty($conf['filter']['error_log'])) {
+ $conf['filter']['error_log'] = sys_get_temp_dir() . PATH_SEPARATOR . 'kolab-filter.log';
}
-$state = RM_STATE_READING_HEADER;
-while (!feof($tmpf) && $state != RM_STATE_READING_BODY) {
- $buffer = fgets($tmpf, 8192);
- if( $rewrittenfrom ) {
- if( eregi( '^From: (.*)', $buffer ) ) {
- if( PEAR::isError($error = $smtp->data( $rewrittenfrom )) ) {
- $str = $error->getMessage().", code ".$error->getCode();
- myLog($str,RM_LOG_ERROR);
- fwrite(STDOUT, $str."\n");
- if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
- else exit(EX_UNAVAILABLE);
- }
- $state = RM_STATE_READING_FROM;
- continue;
- } else if( $state == RM_STATE_READING_FROM &&
- ($buffer[0] == ' ' || $buffer[0] == "\t" ) ) {
- // Folded From header, ignore
- continue;
- }
- }
- if( rtrim( $buffer, "\r\n" ) == '' ) {
- $state = RM_STATE_READING_BODY;
- } else if( $buffer[0] != ' ' && $buffer[0] != "\t" ) {
- $state = RM_STATE_READING_HEADER;
- }
- if( PEAR::isError($error = $smtp->data( $buffer )) ) {
- $str = $error->getMessage().", code ".$error->getCode();
- myLog($str,RM_LOG_ERROR);
- fwrite(STDOUT, $str."\n");
- if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
- else exit(EX_UNAVAILABLE);
- }
-}
-while (!feof($tmpf) ) {
- $buffer = fread($tmpf, 8192);
- $len = strlen($buffer);
+$response = &new Response($conf['filter']['error_log']);
+$parser = &new Filter_Outgoing();
- /* We can't tolerate that the buffer breaks the data
- between \r and \n, so we try to avoid that. The limit
- of 100 reads is to battle abuse */
- while( $buffer{$len-1} == "\r" && $len < 8192 + 100 ) {
- $buffer .= fread($tmpf,1);
- $len++;
- }
- if( PEAR::isError($error = $smtp->data( $buffer )) ) {
- fwrite(STDOUT, $error->getMessage().", code ".$error->getCode()."\n");
- if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
- else exit(EX_UNAVAILABLE);
- }
-};
+/* Parse the mail and spit out the response */
+$response->handle($parser->parse());
-//myLog("Calling smtp->end()", RM_LOG_DEBUG);
-$smtp->end();
-//$outputtime->stop();
-myLog("Kolabfilter successfully completed", RM_LOG_DEBUG);
-//$totaltime->stop();
-exit(0);
?>
Index: kolabmailboxfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/kolabmailboxfilter.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- kolabmailboxfilter.php 8 Oct 2007 15:50:11 -0000 1.2
+++ kolabmailboxfilter.php 26 Nov 2007 16:35:21 -0000 1.3
@@ -29,166 +29,26 @@
* ABOUT
* -----
*
- * FIXME
+ * A filter for incoming mail on a Kolab Server. It checks the
+ * messages for iCal data and handles automatic invitations.
*
*/
-require_once 'PEAR.php';
-require_once 'Kolab/Filter/misc.php';
-require_once 'Kolab/Filter/kolabmailtransport.php';
+/* Load the filter libraries */
+require_once 'Kolab/Filter/Incoming.php';
+require_once 'Kolab/Filter/Response.php';
-// Load our configuration file
-$params = array();
+/* Read our configuration */
require_once 'config.php';
-init();
-
-define( 'TMPDIR', $params['resmgr_filterdir'] );
-define( 'EX_TEMPFAIL', 75 );
-define( 'EX_UNAVAILABLE', 69 );
-
-// Temp file for storing the message
-$tmpfname = tempnam( TMPDIR, 'IN.' );
-$tmpf = @fopen($tmpfname, "w");
-if( !$tmpf ) {
- myLog("Error: Could not open $tempfname for writing: ".php_error(), RM_LOG_ERROR);
- exit(EX_TEMPFAIL);
-}
-
-// Cleanup function
-function cleanup() {
- global $tmpfname;
- file_exists($tmpfname) && unlink($tmpfname);
-}
-register_shutdown_function( 'cleanup' );
-
-$options = parse_args( array( 's', 'r', 'c', 'h' ), $_SERVER['argv']); //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");
- exit(EX_TEMPFAIL);
-}
-
-$sender = strtolower($options['s']);
-$recipients = $options['r'];
-$client_address = $options['c'];
-$fqhostname = strtolower($options['h']);
-
-// make sure recipients is an array
-if( !is_array($recipients) ) {
- $recipients = array( $recipients );
-}
-
-// make recipients lowercase
-for( $i = 0; $i < count($recipients); $i++ ) {
- $recipients[$i] = strtolower($recipients[$i]);
-}
-
-myLog("Kolabmailboxfilter starting up, sender=$sender, recipients=".join(',', $recipients)
- .", client_address=$client_address", RM_LOG_DEBUG);
-
-$ical = false;
-$add_headers = array();
-$headers_done = false;
-while (!feof(STDIN) && !$headers_done) {
- $buffer = fgets(STDIN, 8192);
- $line = rtrim( $buffer, "\r\n");
- if( $line == '' ) {
- // Done with headers
- $headers_done = true;
- } else if( eregi( '^Content-Type: text/calendar', $line ) ) {
- myLog("Found iCal data in message", RM_LOG_DEBUG);
- $ical = true;
- }
- if( fwrite($tmpf, $buffer) === false ) {
- exit(EX_TEMPFAIL);
- }
-}
-while (!feof(STDIN)) {
- $buffer = fread( STDIN, 8192 );
- if( fwrite($tmpf, $buffer) === false ) {
- exit(EX_TEMPFAIL);
- }
-}
-fclose($tmpf);
-if( $ical ) {
- require_once 'Kolab/Filter/resmgr.php';
- $newrecips = array();
- foreach( $recipients as $recip ) {
- myLog("Calling resmgr_filter( $sender, $recip, $tmpfname )", RM_LOG_DEBUG);
- $rc = resmgr_filter( $fqhostname, $sender, $recip, $tmpfname );
- if( PEAR::isError( $rc ) ) {
- fwrite(STDOUT,"Filter failed: ".$rc->getMessage()."\n");
- exit(EX_TEMPFAIL);
- } else if( $rc === true ) {
- $newrecips[] = $recip;
- }
- }
- $recipients = $newrecips;
- $add_headers[] = "X-Kolab-Scheduling-Message: TRUE";
-} else {
- $add_headers[] = "X-Kolab-Scheduling-Message: FALSE";
-}
-
-// Check if we still have recipients
-if( empty($recipients) ) exit(0);
-
-$tmpf = @fopen($tmpfname,"r");
-if( !$tmpf ) {
- myLog("Error: Could not open $tempfname for writing: ".php_error(), RM_LOG_ERROR);
- exit(EX_TEMPFAIL);
-}
-$lmtp = new KolabLMTP( $params['local_addr'] );
-if( PEAR::isError( $lmtp ) ) {
- 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().", code ".$error->getCode()."\n");
- if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
- else exit(EX_UNAVAILABLE);
+/* Setup the classes */
+if (empty($conf['filter']['error_log'])) {
+ $conf['filter']['error_log'] = sys_get_temp_dir() . PATH_SEPARATOR . 'kolab-filter.log';
}
-$headers_done = false;
-while (!feof($tmpf) && !$headers_done) {
- $buffer = fgets($tmpf, 8192);
- if( !$headers_done && rtrim( $buffer, "\r\n" ) == '' ) {
- $headers_done = true;
- foreach( $add_headers as $h ) {
- if( PEAR::isError($error = $lmtp->data( "$h\r\n" )) ) {
- 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().", code ".$error->getCode()."\n");
- if( $error->getCode() < 500 ) exit(EX_TEMPFAIL);
- else exit(EX_UNAVAILABLE);
- }
-}
-while (!feof($tmpf) ) {
- $buffer = fread($tmpf, 8192);
- $len = strlen($buffer);
+$response = &new Response($conf['filter']['error_log']);
+$parser = &new Filter_Incoming();
- /* We can't tolerate that the buffer breaks the data
- between \r and \n, so we try to avoid that. The limit
- of 100 reads is to battle abuse */
- while( $buffer{$len-1} == "\r" && $len < 8192 + 100 ) {
- $buffer .= fread($tmpf,1);
- $len++;
- }
- if( PEAR::isError($error = $lmtp->data( $buffer )) ) {
- 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);
-$lmtp->end();
-myLog("Kolabmailboxfilter successfully completed", RM_LOG_DEBUG);
-exit(0);
+/* Parse the mail and spit out the response */
+$response->handle($parser->parse());
?>
From cvs at kolab.org Mon Nov 26 17:35:23 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:35:23 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.178,1.179
Message-ID: <20071126163523.6FE98600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv723
Modified Files:
release-notes.txt
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.178
retrieving revision 1.179
diff -u -d -r1.178 -r1.179
--- release-notes.txt 23 Nov 2007 13:39:32 -0000 1.178
+++ release-notes.txt 26 Nov 2007 16:35:21 -0000 1.179
@@ -61,6 +61,10 @@
kolab/issue2134 ([Horde] Unable to send message with attachments)
kolab/issue2236 (Apache UID access broken)
+ - kolab-filter-2.2.beta2-2007????
+
+ Adapted to the restructured php-kolab/Kolab_Filter package.
+
- horde-framework-kolab-3.2_ALPHA-2007????
New functionality required for kolab-freebusy.
@@ -107,6 +111,9 @@
A fully restructured free/busy with the most recent free/busy
concept implemented.
+
+ Restructured Kolab_Filter package with the focus on error
+ handling and unit testing.
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Mon Nov 26 17:35:23 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:35:23 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter ChangeLog, 1.1,
1.2 package.xml.in, 1.2, 1.3
Message-ID: <20071126163523.8F276600D6F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter
In directory doto:/tmp/cvs-serv723/php-kolab/Kolab_Filter
Modified Files:
ChangeLog package.xml.in
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ChangeLog 13 Aug 2007 14:14:13 -0000 1.1
+++ ChangeLog 26 Nov 2007 16:35:21 -0000 1.2
@@ -0,0 +1,7 @@
+2007-11-26 Gunnar Wrobel
+
+ * Filter/*:
+
+ Restructured package with the focus on error handling and unit
+ testing.
+
Index: package.xml.in
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/package.xml.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- package.xml.in 16 Aug 2007 12:16:51 -0000 1.2
+++ package.xml.in 26 Nov 2007 16:35:21 -0000 1.3
@@ -89,8 +89,11 @@
-
-
+
+
+
+
+
From cvs at kolab.org Mon Nov 26 17:35:23 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:35:23 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests/tmp .cvsignore,NONE,1.1
Message-ID: <20071126163523.85FCC600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests/tmp
In directory doto:/tmp/cvs-serv723/php-kolab/Kolab_Filter/tests/tmp
Added Files:
.cvsignore
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
--- NEW FILE: .cvsignore ---
*
From cvs at kolab.org Mon Nov 26 17:35:23 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:35:23 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Filter.php, NONE,
1.1 Incoming.php, NONE, 1.1 Outgoing.php, NONE, 1.1 Response.php,
NONE, 1.1 Transport.php, NONE, 1.1 kolabmailtransport.php, 1.2,
NONE misc.php, 1.2, NONE
Message-ID: <20071126163523.9744F600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv723/php-kolab/Kolab_Filter/Filter
Added Files:
Filter.php Incoming.php Outgoing.php Response.php
Transport.php
Removed Files:
kolabmailtransport.php misc.php
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
--- NEW FILE: Filter.php ---
_transport = $transport;
$this->_startts = $this->_microtime_float();
if (!empty($conf['filter']['tempdir'])) {
$this->_tmpdir = $conf['filter']['tempdir'];
} else {
$this->_tmpdir = sys_get_temp_dir();
}
/* This is used as the default domain for unqualified adresses */
global $_SERVER;
if (!array_key_exists('SERVER_NAME', $_SERVER)) {
if (!empty($conf['filter']['email_domain'])) {
$_SERVER['SERVER_NAME'] = $conf['filter']['email_domain'];
} else {
$_SERVER['SERVER_NAME'] = 'localhost';
}
}
if (!array_key_exists('REMOTE_ADDR', $_SERVER)) {
if (!empty($conf['filter']['server'])) {
$_SERVER['REMOTE_ADDR'] = $conf['filter']['server'];
} else {
$_SERVER['REMOTE_ADDR'] = 'localhost';
}
}
if (!array_key_exists('REMOTE_HOST', $_SERVER)) {
if (!empty($conf['filter']['server'])) {
$_SERVER['REMOTE_HOST'] = $conf['filter']['server'];
} else {
$_SERVER['REMOTE_HOST'] = 'localhost';
}
}
}
function _start()
{
/* Setup the temporary storage */
$result = $this->_initTmp();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
/* Parse our arguments */
$result = $this->_parseArgs();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
Horde::logMessage(sprintf(_("%s starting up (sender=%s, recipients=%s, client_address=%s)"),
get_class($this), $this->_sender, join(', ',$this->_recipients), $this->_client_address),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
}
function _stop()
{
return $this->_microtime_float() - $this->_startts;
}
function _parseArgs()
{
$args = $_SERVER['argv'];
$opts = array( 's', 'r', 'c', 'h', 'u' );
$options = array();
for ($i = 0; $i < count($args); ++$i) {
$arg = $args[$i];
if ($arg[0] == '-') {
if (in_array($arg[1], $opts)) {
$val = array();
$i++;
while($i < count($args) && $args[$i][0] != '-') {
$val[] = $args[$i];
$i++;
}
$i--;
if (array_key_exists($arg[1], $options) &&
is_array($options[$arg[1]])) {
$options[$arg[1]] = array_merge(
(array)$options[$arg[1]],
(array)$val
);
} else if (count($val) == 1) {
$options[$arg[1]] = $val[0];
} else {
$options[$arg[1]] = $val;
}
}
}
}
if (!array_key_exists('r', $options) ||
!array_key_exists('s', $options)) {
return PEAR::raiseError(sprintf(_("Usage is %s -s sender at domain -r recipient at domain"),
$args[0]),
OUT_STDOUT || ERR_TEMPFAIL);
}
$this->_sender = strtolower($options['s']);
$recipients = $options['r'];
/* make sure recipients is an array */
if (!is_array($recipients)) {
$recipients = array($recipients);
}
/* make recipients lowercase */
for ($i = 0; $i < count($recipients); $i++) {
$recipients[$i] = strtolower($recipients[$i]);
}
$this->_recipients = $recipients;
if (!empty($options['c'])) {
$this->_client_address = $options['c'];
}
if (!empty($options['h'])) {
$this->_fqhostname = strtolower($options['h']);
}
if (!empty($options['u'])) {
$this->_sasl_username = strtolower($options['u']);
}
}
function _initTmp()
{
/* Temp file for storing the message */
$this->_tmpfile = @tempnam($this->_tmpdir, 'IN.' . get_class($this) . '.');
$this->_tmpfh = @fopen($this->_tmpfile, "w");
if( !$this->_tmpfh ) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
register_shutdown_function(array($this, '_cleanupTmp'));
}
function _cleanupTmp() {
if (@file_exists($this->_tmpfile)) {
@unlink($this->_tmpfile);
}
}
function _microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return (float) $usec + (float) $sec;
}
function &_getTransport($host, $port)
{
$class = 'Transport_' . $this->_transport;
if (class_exists($class)) {
$transport = &new $class($host, $port);
return $transport;
}
return PEAR::raiseError(sprintf(_("No such class \"%s\""), $class),
OUT_LOG || ERR_TEMPFAIL);
}
function _rewriteCode($result)
{
if ($result->getCode() < 500) {
$code = ERR_TEMPFAIL;
} else {
$code = ERR_UNAVAILABLE;
}
$append = sprintf(_(", original code %s"), $result->getCode());
$result->message = $result->getMessage() . $append;
$result->code = OUT_LOG || OUT_STDOUT || $code;
return $result;
}
}
?>
--- NEW FILE: Incoming.php ---
_start();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$ical = false;
$add_headers = array();
$headers_done = false;
while (!feof($inh) && !$headers_done) {
$buffer = fgets($inh, 8192);
$line = rtrim( $buffer, "\r\n");
if ($line == '') {
/* Done with headers */
$headers_done = true;
} else if(eregi('^Content-Type: text/calendar', $line)) {
Horde::logMessage(_("Found iCal data in message"),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$ical = true;
}
if (@fwrite($this->_tmpfh, $buffer) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
}
while (!feof($inh)) {
$buffer = fread($inh, 8192);
if (@fwrite($this->_tmpfh, $buffer) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
}
if (@fclose($this->_tmpfh) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Failed closing %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
if ($ical) {
require_once 'Kolab/Filter/resmgr.php';
$newrecips = array();
foreach ($this->_recipients as $recip) {
Horde::logMessage(sprintf(_("Calling resmgr_filter(%s, %s, %s, %s)"),
$this->_fqhostname, $this->_sender,
$this->_recip, $this->tmpfile),
PEAR_LOG_DEBUG);
$rc = resmgr_filter($this->_fqhostname, $this->_sender, $recip,
$this->_tmpfile);
if (is_a($rc, 'PEAR_Error')) {
fwrite(STDOUT, sprintf(_("Filter failed: %s\n"),
$rc->getMessage()));
exit(EX_TEMPFAIL);
} else if ($rc === true) {
$newrecips[] = $recip;
}
}
$this->_recipients = $newrecips;
$this->_add_headers[] = "X-Kolab-Scheduling-Message: TRUE";
} else {
$this->_add_headers[] = "X-Kolab-Scheduling-Message: FALSE";
}
/* Check if we still have recipients */
if (empty($this->_recipients)) {
Horde::logMessage(_("No recipients left."),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
return;
} else {
$result = $this->deliver();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
Horde::logMessage(_("Filter_Incoming successfully completed."),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
}
function deliver()
{
global $conf;
if (!empty($conf['filter']['lmtp_host'])) {
$host = $conf['filter']['lmtp_host'];
} else {
$host = 'localhost';
}
if (!empty($conf['filter']['lmtp_port'])) {
$port = $conf['filter']['lmtp_port'];
} else {
$port = 2003;
}
$transport = $this->_getTransport($host, $port);
$tmpf = @fopen($this->_tmpfile, 'r');
if (!$tmpf) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
$result = $transport->start($this->_sender, $this->_recipients);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
$headers_done = false;
while (!feof($tmpf) && !$headers_done) {
$buffer = fgets($tmpf, 8192);
if (!$headers_done && rtrim($buffer, "\r\n") == '') {
$headers_done = true;
foreach ($this->_add_headers as $h) {
$result = $transport->data("$h\r\n");
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
}
}
$result = $transport->data($buffer);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
}
while (!feof($tmpf)) {
$buffer = fread($tmpf, 8192);
$len = strlen($buffer);
/* We can't tolerate that the buffer breaks the data
* between \r and \n, so we try to avoid that. The limit
* of 100 reads is to battle abuse
*/
while ($buffer{$len-1} == "\r" && $len < 8192 + 100) {
$buffer .= fread($tmpf, 1);
$len++;
}
$result = $transport->data($buffer);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
}
return $transport->end();
}
}
?>
--- NEW FILE: Outgoing.php ---
_start();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$ical = false;
$from = false;
$subject = false;
$senderok = true;
$rewrittenfrom = false;
$state = RM_STATE_READING_HEADER;
while (!feof($inh) && $state != RM_STATE_READING_BODY) {
$buffer = fgets($inh, 8192);
$line = rtrim($buffer, "\r\n");
if ($line == '') {
/* Done with headers */
$state = RM_STATE_READING_BODY;
if ($from && $verify_from_header) {
$rc = verify_sender($this->_sasl_username, $this->_sender,
$from, $this->_client_address);
if (is_a($rc, 'PEAR_Error')) {
return $this->_rewriteCode($rc);
} else if ($rc === true) {
/* All OK, do nothing */
} else if ($rc === false) {
/* Reject! */
$senderok = false;
} else if (is_string($rc)) {
/* Rewrite from */
if (strpos($from, $rc) === false) {
Horde::logMessage(sprintf(_("Rewriting '%s' to '%s'"),
$from, $to),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$rewrittenfrom = "From: $rc\r\n";
}
}
}
} else {
if ($line[0] != ' ' && $line[0] != "\t") {
$state = RM_STATE_READING_HEADER;
}
switch( $state ) {
case RM_STATE_READING_HEADER:
if ($allow_sender_header &&
eregi('^Sender: (.*)', $line, $regs)) {
$from = $regs[1];
$state = RM_STATE_READING_SENDER;
} else if (!$from && eregi('^From: (.*)', $line, $regs)) {
$from = $regs[1];
$state = RM_STATE_READING_FROM;
} else if (eregi('^Subject: (.*)', $line, $regs)) {
$subject = $regs[1];
$state = RM_STATE_READING_SUBJECT;
} else if (eregi('^Content-Type: text/calendar', $line)) {
Horde::logMessage(_("Found iCal data in message"),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$ical = true;
}
break;
case RM_STATE_READING_FROM:
$from .= $line;
break;
case RM_STATE_READING_SENDER:
$from .= $line;
break;
case RM_STATE_READING_SUBJECT:
$subject .= $line;
break;
}
}
if (@fwrite($this->_tmpfh, $buffer) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
}
while (!feof($inh)) {
$buffer = fread($inh, 8192);
if (@fwrite($this->_tmpfh, $buffer) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
}
if (@fclose($this->_tmpfh) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Failed closing %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
if (!$senderok) {
if ($ical && $allow_outlook_ical_forward ) {
require_once('Kolab/Filter/olhacks.php');
$rc = olhacks_embedical($this->_fqhostname, $this->_sender, $this->_recipients,
$from, $subject, $this->_tmpfname);
if (is_a($rc, 'PEAR_Error')) {
return $this->_rewriteCode($rc);
} else if ($rc === true) {
return;
}
} else {
return PEAR::raiseError(sprintf(_("Invalid From: header. %s looks like a forged sender"),
$from),
OUT_LOG || OUT_STDOUT || ERR_UNAVAILABLE);
}
}
$result = $this->deliver($rewrittenfrom);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
Horde::logMessage(_("Filter_Outgoing successfully completed."),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
}
function deliver($rewrittenfrom)
{
global $conf;
if (!empty($conf['filter']['smtp_host'])) {
$host = $conf['filter']['smtp_host'];
} else {
$host = 'localhost';
}
if (!empty($conf['filter']['smtp_port'])) {
$port = $conf['filter']['smtp_port'];
} else {
$port = 10025;
}
$transport = $this->_getTransport($host, $port);
$tmpf = @fopen($this->_tmpfile, 'r');
if (!$tmpf) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
$result = $transport->start($this->_sender, $this->_recipients);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
$state = RM_STATE_READING_HEADER;
while (!feof($tmpf) && $state != RM_STATE_READING_BODY) {
$buffer = fgets($tmpf, 8192);
if ($rewrittenfrom) {
if (eregi( '^From: (.*)', $buffer)) {
$result = $transport->data($rewrittenfrom);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
$state = RM_STATE_READING_FROM;
continue;
} else if ($state == RM_STATE_READING_FROM &&
($buffer[0] == ' ' || $buffer[0] == "\t")) {
/* Folded From header, ignore */
continue;
}
}
if (rtrim($buffer, "\r\n") == '') {
$state = RM_STATE_READING_BODY;
} else if ($buffer[0] != ' ' && $buffer[0] != "\t") {
$state = RM_STATE_READING_HEADER;
}
$result = $transport->data($buffer);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
}
while (!feof($tmpf)) {
$buffer = fread($tmpf, 8192);
$len = strlen($buffer);
/* We can't tolerate that the buffer breaks the data
* between \r and \n, so we try to avoid that. The limit
* of 100 reads is to battle abuse
*/
while ($buffer{$len-1} == "\r" && $len < 8192 + 100) {
$buffer .= fread($tmpf,1);
$len++;
}
$result = $transport->data($buffer);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
}
return $transport->end();
}
}
// Cleanup function
function is_my_domain( $addr ) {
global $params;
if( is_array($params['email_domain']) ) {
$domains = $params['email_domain'];
} else {
$domains = array($params['email_domain']);
}
$adrs = imap_rfc822_parse_adrlist($addr, $params['email_domain']);
foreach ($adrs as $adr) {
$adrdom = $adr->host;
if( empty($adrdom) ) continue;
foreach( $domains as $dom ) {
if( $dom == $adrdom ) return true;
if( $params['verify_subdomains'] && substr($adrdom, -strlen($dom)-1) == ".$dom" ) return true;
}
}
return false;
}
/**
Returns a list of allowed email addresses for user $sasluser
or a PEAR_Error object if something croaked.
*/
function addrs_for_uid( $sasluser )
{
global $params;
/* Connect to the LDAP server and retrieve the users'
allowed email addresses */
$ldap = ldap_connect($params['ldap_uri']);
if (!ldap_bind($ldap, $params['bind_dn'], $params['bind_pw'])) {
myLog('Unable to contact LDAP server: ' . ldap_error($ldap));
return new PEAR_Error('Unable to contact LDAP server: ' . ldap_error($ldap));
}
$filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$sasluser)(uid=$sasluser)))";
$result = ldap_search($ldap, $params['base_dn'],
$filter,
array("dn", "mail", "alias" ));
if (!$result) {
myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
return new PEAR_Error('Unable to perform LDAP search: ' . ldap_error($ldap));
}
$entries = ldap_get_entries($ldap, $result);
if ($entries['count'] != 1) {
myLog($entries['count']." objects returned for uid $sasluser");
return new PEAR_Error("Temporary LDAP error, unable to look up user $sasluser");
}
unset($entries[0]['mail']['count']);
unset($entries[0]['alias']['count']);
$addrs = array_merge((array) $entries[0]['mail'],(array) $entries[0]['alias']);
$mail = $entries[0]['mail'][0];
ldap_free_result($result);
$filter = "(&(objectClass=kolabInetOrgPerson)(kolabDelegate=$mail))";
$result = ldap_search($ldap, $params['base_dn'],
$filter,
array("dn", "mail" ));
if (!$result) {
myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
return new PEAR_Error('Unable to perform LDAP search: ' . ldap_error($ldap));
}
$entries = ldap_get_entries($ldap, $result);
unset( $entries['count'] );
foreach( $entries as $adr ) {
if( $adr['mail']['count'] > 0 ) {
unset($adr['mail']['count']);
$addrs = array_merge((array) $addrs,(array) $adr['mail']);
}
}
ldap_free_result($result);
ldap_close($ldap);
#myLog("Found addresses ".print_r($addrs,true)." for user $sasluser", RM_LOG_DEBUG);
return $addrs;
}
/** Returns the format string used to rewrite
the From header for untrusted messages */
function get_untrusted_subject_insert($sasluser,$sender)
{
global $params;
if( $sasluser ) {
if( array_key_exists('untrusted_subject_insert', $params) ) {
$fmt = $params['untrusted_subject_insert'];
} else {
$fmt = "(UNTRUSTED, sender is <%s>)";
}
} else {
if( array_key_exists('unauthenticated_subject_insert', $params) ) {
$fmt = $params['unauthenticated_subject_insert'];
} else {
$fmt = "(UNTRUSTED, sender <%s> is not authenticated)";
}
}
return sprintf($fmt,$sender);
}
/** Check that the From header is not trying
to impersonate a valid user that is not
$sasluser. Returns one of:
* True if From can be accepted
* False if From must be rejected
* A string with a corrected From header that makes
From acceptable
* A PEAR_Error object if something croaked
*/
function verify_sender( $sasluser, $sender, $fromhdr, $client_addr ) {
global $params;
/* Allow anything from localhost and
fellow Kolab-hosts */
if( $client_addr == $params['local_addr'] ) return true;
$kolabhosts = split(',', $params['kolabhosts'] );
$kolabhosts = array_map( "gethostbyname", $kolabhosts );
if( array_search( $client_addr, $kolabhosts ) !== false ) return true;
if( is_array($params['email_domain']) ) {
$domains = $params['email_domain'];
} else {
$domains = array($params['email_domain']);
}
if( $sasluser ) {
if( PEAR::isError($allowed_addrs = addrs_for_uid($sasluser)) ) {
myLog("Error reading allowed addresses for $sasluser: ".$allowed_addrs->getMessage(), RM_LOG_ERROR);
return $allowed_addrs;
}
} else {
$allowed_addrs = false;
}
$untrusted = get_untrusted_subject_insert($sasluser,$sender);
$adrs = imap_rfc822_parse_adrlist($fromhdr, $params['email_domain'][0]);
foreach ($adrs as $adr) {
$from = $adr->mailbox.'@'.$adr->host;
$fromdom = $adr->host;
if( $sasluser ) {
if( !in_array( strtolower($from), $allowed_addrs ) ) {
myLog("$from is not an allowed From address for $sasluser", RM_LOG_DEBUG);
return false;
}
} else {
foreach( $domains as $domain ) {
if( strtolower($fromdom) == $domain
|| ( $params['verify_subdomains']
&& substr($fromdom, -strlen($domain)-1) == ".$domain" ) ) {
if( $params['reject_forged_from_header'] ) {
myLog("$from is not an allowed From address for unauthenticated users", RM_LOG_DEBUG);
return false;
} else {
/* Rewrite */
myLog("$from is not an allowed From address for unauthenticated users, rewriting", RM_LOG_DEBUG);
if( strpos( $fromhdr, $untrusted )===false ) {
return '"'.str_replace(array("\\",'"'),array("\\\\",'\"'),$adr->personal).' '.$untrusted.'" '.'<'.$from.'>';
} else {
return true;
}
}
}
}
}
}
/* All seems OK */
return true;
/* TODO: What do we do about subdomains? */
/*
$senderdom = substr(strrchr($sender, '@'), 1);
foreach( $domains as $domain ) {
if( $params['verify_subdomains'] ) {
if( ($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 ) {
return false;
}
}
}
}
return true;
*/
}
?>
--- NEW FILE: Response.php ---
getMessage();
$code = $result->getCode();
if ($code && OUT_STDOUT) {
fwrite(STDOUT, $msg);
}
if ($code && OUT_LOG) {
$frame = $result->getBacktrace(2);
Horde::logMessage($msg, $frame['file'], $frame['line']);
}
// FIXME: Add a userinfo handler in case there were multiple
// combined errors
if ($code && ERR_TEMPFAIL) {
exit(EX_TEMPFAIL);
} else if ($code && ERR_UNAVAILABLE) {
exit(EX_UNAVAILABLE);
} else {
exit(0);
}
}
}
?>
--- NEW FILE: Transport.php ---
host = $host;
$this->port = $port;
$this->transport = false;
}
function &createTransport() {
return PEAR::raiseError(_("Abstract method Transport::createTransport() called!"));
}
function start($sender, $recips)
{
$transport = $this->createTransport();
if (is_a($transport, 'PEAR_Error')) {
return $transport;
}
$this->transport = $transport;
$myclass = get_class($this->transport);
$this->got_newline = true;
$result = $this->transport->connect();
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$result = $this->transport->mailFrom($sender);
if (is_a($result, 'PEAR_Error')) {
$resp = $this->transport->getResponse();
return PEAR::raiseError(sprintf(_("Failed to set sender: %s, code=%s"),
$resp[1], $resp[0]), $resp[0]);
}
if (!is_array($recips)) {
$recips = array($recips);
}
$reciperrors = array();
foreach ($recips as $recip) {
$result = $this->transport->rcptTo($recip);
if (is_a($result, 'PEAR_Error')) {
$resp = $this->transport->getResponse();
$reciperrors[] = PEAR::raiseError(sprintf(_("Failed to set recipient: %s, code=%s"),
$resp[1], $resp[0]), $resp[0]);
}
}
if (count($reciperrors) == count($recips)) {
/* OK, all failed, just give up */
if (count($reciperrors) == 1) {
/* Only one failure, just return that */
return $reciperrors[0];
}
/* Multiple errors */
return $this->createErrorObject($reciperrors,
_("Delivery to all recipients failed!"));
}
$result = $this->transport->_put('DATA');
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$result = $this->transport->_parseResponse(354);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
if (!empty($reciperrors)) {
return $this->createErrorObject($reciperrors,
_("Delivery to some recipients failed!"));
}
return true;
}
// Encapsulate multiple errors in one
function createErrorObject($reciperrors, $msg = null)
{
/* Return the lowest errorcode to not bounce more
* than we have to
*/
if ($msg == null) {
$msg = 'Delivery to recipients failed.';
}
$code = 1000;
foreach ($reciperrors as $err) {
if ($err->code < $code) {
$code = $err->code;
}
}
return new PEAR_Error($msg, $code, null, null, $reciperrors);
}
/* Modified implementation from Net_SMTP that supports
* dotstuffing even when getting the mail line-by line */
function quotedataline(&$data)
{
/*
* Change Unix (\n) and Mac (\r) linefeeds into Internet-standard CRLF
* (\r\n) linefeeds.
*/
$data = preg_replace(array('/(?got_newline && $data[0] == '.') {
$data = '.'.$data;
}
$data = str_replace("\n.", "\n..", $data);
$len = strlen($data);
if ($len > 0) {
$this->got_newline = ( $data[$len-1] == "\n" );
}
}
function data($data) {
$this->quotedataline($data);
$result = $this->transport->_send($data);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
return true;
}
function end()
{
if ($this->got_newline) {
$dot = ".\r\n";
} else {
$dot = "\r\n.\r\n";
}
$result = $this->transport->_send($dot);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$result = $this->transport->_parseResponse(250);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
$this->transport->disconnect();
$this->transport = false;
return true;
}
}
class Transport_LMTP extends Transport
{
function Transport_LMTP($host = '127.0.0.1', $port = 2003)
{
$this->Transport($host,$port);
}
function &createTransport()
{
require_once 'Net/LMTP.php';
$transport = &new Net_LMTP($this->host, $this->port);
return $transport;
}
}
class Transport_SMTP extends Transport
{
function Transport_SMTP($host = '127.0.0.1', $port = 25)
{
$this->Transport($host,$port);
}
function &createTransport()
{
require_once 'Net/SMTP.php';
$transport = &new Net_SMTP($this->host, $this->port);
return $transport;
}
}
class StdOutWrapper
{
function connect()
{
return true;
}
function disconnect()
{
return true;
}
function mailFrom($sender)
{
return fwrite(STDOUT, sprintf(_("Mail from sender: %s\n"), $sender));
}
function rcptTo($recipient)
{
return fwrite(STDOUT, sprintf(_("Mail to recipient: %s\n"), $recipient));
}
function _put($cmd)
{
return true;
}
function _parseResponse($code)
{
return true;
}
function _send($data)
{
return fwrite(STDOUT, $data);
}
}
class Transport_StdOut extends Transport
{
function Transport_SMTP($host = 'irrelevant', $port = 0)
{
}
function &createTransport()
{
$transport = &new StdOutWrapper();
return $transport;
}
}
?>
--- kolabmailtransport.php DELETED ---
--- misc.php DELETED ---
From cvs at kolab.org Tue Nov 27 08:30:27 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 08:30:27 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter config.php,1.4,1.5
Message-ID: <20071127073027.04770600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv5494/kolab-filter/filter
Modified Files:
config.php
Log Message:
Continued fixing of kolab-filter.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- config.php 26 Nov 2007 16:35:21 -0000 1.4
+++ config.php 27 Nov 2007 07:30:24 -0000 1.5
@@ -36,22 +36,11 @@
$conf = array();
-/* Horde::Log configuration */
-$conf['log']['enabled'] = true;
-$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
-$conf['log']['type'] = 'file';
-$conf['log']['name'] = '/kolab/var/kolab-filter/log/filter.log';
-$conf['log']['ident'] = 'Kolab Filter';
-$conf['log']['params']['append'] = true;
-
-/* PHP error logging */
-$conf['filter']['error_log'] = '/kolab/var/kolab-filter/log/php-error.log';
-
-/* Temporary data storage for the scripts */
-$conf['filter']['tempdir'] = '';
+/* Cyrus server connection string */
+$conf['filter']['imap_server'] = 'localhost';
-/* What is the address of this host? */
-$conf['filter']['server'] = 'localhost';
+/* Local IP address of the mailserver for bypassing content filters */
+$conf['filter']['local_addr'] = 'localhost';
/* What is our default mail domain? This is used if any users do not
* have '@domain' specified after their username as part of their
@@ -59,102 +48,106 @@
*/
$conf['filter']['email_domain'] = 'example.com';
-/* LMTP settings (Cyrus IMAPd usually offers LMTP on port 2003) */
-$conf['filter']['lmpt_host'] = 'localhost';
-$conf['filter']['lmpt_port'] = 2003;
+/* List of kolab hosts that are privileged */
+$conf['filter']['kolabhosts'] = 'one.example.com,two.example.com,three.example.com';
-/* SMTP settings (Kolab Postfix usually offers reinjection port on
- * 10025)
+/* Are we using virtual domains with Cyrus? */
+$conf['filter']['virtual_domains'] = true;
+
+/* Should we append domains to mailbox URIs? This only applies when
+ * virtual_domains is true, and when using manager accounts.
*/
-$conf['filter']['smpt_host'] = 'localhost';
-$conf['filter']['smpt_port'] = 10025;
+$conf['filter']['append_domains'] = false;
/* Should we make sure that the sender and From header match for mail
* that origins on this server?
*/
$conf['filter']['verify_from_header'] = true;
+/* Should we perform this check on mail from our
+ * subdomains too?
+ */
+$conf['filter']['verify_subdomains'] = true;
+
/* Should the Sender: header be used over From: if present? */
$conf['filter']['allow_sender_header'] = true;
+/* Should reject messages with From headers that dont match
+ * the envelope? Default is to rewrite the header
+ */
+$conf['filter']['reject_forged_from_header'] = false;
+
+/* Text to be inserted in From: when rewriting untrusted mails */
+// $conf['filter']['untrusted_subject_insert'] = "(UNTRUSTED, sender is <%s>)";
+// $conf['filter']['unauthenticated_subject_insert'] = "(UNTRUSTED, sender <%s> is not authenticated)";
+
/* Should we allow forwarded ical messages from Outlook
* by encapsulating them in a MIME multipart
*/
$conf['filter']['allow_outlook_ical_forward'] = true;
+/* What is the address of the LDAP server address where user objects
+ * reside
+ */
+$conf['filter']['ldap_uri'] = 'ldaps://ldap.example.com';
+/* What is the Base DN of our LDAP database? */
+$conf['filter']['base_dn'] = 'dc=example,dc=com';
-// List of kolab hosts that are privileged
-$conf['kolabhosts'] = 'one.example.com,two.example.com,three.example.com';
-
-// Are we using virtual domains with Cyrus?
-$conf['virtual_domains'] = true;
-
-// Should we append domains to mailbox URIs? This only applies when
-// virtual_domains is true, and when using manager accounts.
-$conf['append_domains'] = false;
-
-// Should we perform this check on mail from our
-// subdomains too?
-$conf['verify_subdomains'] = true;
-
-// Should reject messages with From headers that dont match
-// the envelope? Default is to rewrite the header
-$conf['reject_forged_from_header'] = false;
-
-// Text to be inserted in From: when rewriting untrusted mails
-$conf['untrusted_subject_insert'] = "(UNTRUSTED, sender is <%s>)";
-$conf['unauthenticated_subject_insert'] = "(UNTRUSTED, sender <%s> is not authenticated)";
-
-// LDAP data
-// What is the address of the LDAP server address where user objects reside
-$conf['ldap_uri'] = 'ldaps://ldap.example.com';
-
-// What is the Base DN of our LDAP database?
-$conf['base_dn'] = 'dc=example,dc=com';
+/* What DN should we use to bind to the LDAP server? */
+$conf['filter']['bind_dn'] = 'cn=nobody,cn=internal,dc=example,dc=com';
-// What DN should we use to bind to the LDAP server?
-$conf['bind_dn'] = 'cn=nobody,cn=internal,dc=example,dc=com';
+/* What password should we use with the above DN when binding? */
+$conf['filter']['bind_pw'] = 'xyz';
-// What password should we use with the above DN when binding?
-$conf['bind_pw'] = 'xyz';
+/* What account should we use to read/write calendar data? This
+ * account should have access to the calendar mailbox of all
+ * resource/group mailboxes.
+ */
+$conf['filter']['calendar_user'] = 'calendar@' . $conf['filter']['email_domain'];
+$conf['filter']['calendar_pass'] = 'zyx';
+/* Filename of private key used to decrypt password from LDAP */
+$conf['filter']['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
-// What account should we use to read/write calendar data? This account should
-// have access to the calendar mailbox of all resource/group mailboxes.
-$conf['calendar_user'] = 'calendar@'.$conf['email_domain'];
-$conf['calendar_pass'] = 'zyx';
+/* What is the name of the users' calendar mailbox? This is only used
+ * when the user does not already have a primary calendar folder
+ * (search via Kolab annotation)
+ */
+$conf['filter']['calendar_store'] = 'Calendar';
-// Filename of private key used to decrypt password from LDAP
-$conf['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
+/* Where can we get free/busy information from? */
+$conf['filter']['freebusy_url'] = 'http://kolab.example.com/freebusy/${USER}.xfb';
+
+/* PFB url to trigger creation of pfb */
+$conf['filter']['pfb_trigger_url'] = 'http://@@@fqdnhostname@@@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
-// What is the name of the users' calendar mailbox?
-// This is only used when the user does not already have
-// a primary calendar folder (search via Kolab annotation)
-$conf['calendar_store'] = 'Calendar';
+/* Temporary data storage for the scripts */
+$conf['filter']['tempdir'] = '';
-// Where can we get free/busy information from?
-$conf['freebusy_url'] = 'http://kolab.example.com/freebusy/${USER}.xfb';
-
-// PFB url to trigger creation of pfb
-$conf['pfb_trigger_url'] = 'http://@@@fqdnhostname@@@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
+/* What is the address of this host? */
+$conf['filter']['server'] = 'localhost';
-// Where are we logging to?
-$conf['log'] = 'file:@resmgr_logfile@'; // File...
-// $conf['log'] = 'syslog:cons, pid'; // Or syslog...
+/* LMTP settings (Cyrus IMAPd usually offers LMTP on port 2003) */
+$conf['filter']['lmpt_host'] = 'localhost';
+$conf['filter']['lmpt_port'] = 2003;
-// What level of output should we log? Higher levels give more verbose output.
-// One of: RM_LOG_SILENT; RM_LOG_ERROR; RM_LOG_WARN; RM_LOG_INFO or RM_LOG_DEBUG.
-$conf['log_level'] = RM_LOG_DEBUG;
+/* SMTP settings (Kolab Postfix usually offers reinjection port on
+ * 10025)
+ */
+$conf['filter']['smpt_host'] = 'localhost';
+$conf['filter']['smpt_port'] = 10025;
-// Activate if you wish to use the new horde framework
-// (horde-framework-kolab) package instead of the old code in
-// kolab-horde-framework. This is still untested and considered
-// UNSAFE!
-$conf['use_new_horde'] = false;
+/* PHP error logging */
+$conf['filter']['error_log'] = '/kolab/var/kolab-filter/log/php-error.log';
-// FIXME: HACK
-$params = $conf;
+/* Horde::Log configuration */
+$conf['log']['enabled'] = true;
+$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
+$conf['log']['type'] = 'file';
+$conf['log']['name'] = '/kolab/var/kolab-filter/log/filter.log';
+$conf['log']['ident'] = 'Kolab Filter';
+$conf['log']['params']['append'] = true;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
From cvs at kolab.org Tue Nov 27 08:30:27 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 08:30:27 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd ChangeLog,1.120,1.121
Message-ID: <20071127073027.07263600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv5494/kolabd/kolabd
Modified Files:
ChangeLog
Log Message:
Continued fixing of kolab-filter.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -d -r1.120 -r1.121
--- ChangeLog 23 Nov 2007 13:39:32 -0000 1.120
+++ ChangeLog 27 Nov 2007 07:30:24 -0000 1.121
@@ -1,3 +1,15 @@
+2007-11-27 Gunnar Wrobel
+
+ * dist_conf/common:
+ * dist_conf/kolab:
+
+ resmgr_logfile is now resmgr_logdir.
+ resmgr_filterdir is now resmgr_tmpdir.
+
+ * templates/resmgr.conf.template.in:
+
+ Updated the template for the restructured kolab-filter package.
+
2007-11-23 Gunnar Wrobel
* templates/freebusy.conf.template.in:
@@ -17,7 +29,7 @@
* templates/freebusy.conf.template.in:
- Updated the template for the restructure kolab-freebusy package.
+ Updated the template for the restructured kolab-freebusy package.
2007-11-22 Thomas Arendsen Hein
From cvs at kolab.org Tue Nov 27 08:30:27 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 08:30:27 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates resmgr.conf.template.in, 1.11,
1.12
Message-ID: <20071127073027.0E5D1600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv5494/kolabd/kolabd/templates
Modified Files:
resmgr.conf.template.in
Log Message:
Continued fixing of kolab-filter.
Index: resmgr.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/resmgr.conf.template.in,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- resmgr.conf.template.in 8 Oct 2007 15:50:11 -0000 1.11
+++ resmgr.conf.template.in 27 Nov 2007 07:30:25 -0000 1.12
@@ -39,110 +39,129 @@
*
*/
-// What is the address of the Cyrus server where the calendar data is stored?
-$params['server'] = '@@@connect_addr@@@';
+$conf = array();
-// Local IP address of the mailserver for bypassing content filters
-$params['local_addr'] = '@@@local_addr@@@';
+/* Cyrus server connection string */
+$conf['filter']['imap_server'] = '@@@connect_addr@@@';
-// What is our default mail domain? This is used if any users do not have
-// '@domain' specified after their username as part of their email address.
-$params['email_domain'] = '@@@postfix-mydomain@@@';
+/* LMTP settings (Cyrus IMAPd usually offers LMTP on port 2003) */
+$conf['filter']['lmpt_host'] = $conf['filter']['imap_server'];
+$conf['filter']['lmpt_port'] = 2003;
-// List of kolab hosts that are privileged
-$params['kolabhosts'] = '@@@kolabhost|join(,)@@@';
+/* SMTP settings (Kolab Postfix usually offers reinjection port on
+ * 10025)
+ */
+$conf['filter']['smpt_host'] = '@@@local_addr@@@';
+$conf['filter']['smpt_port'] = 10025;
-// Are we using virtual domains with Cyrus?
-$params['virtual_domains'] = true;
+/* Local IP address of the mailserver for bypassing content filters */
+$conf['filter']['local_addr'] = '@@@local_addr@@@';
-// Should we append domains to mailbox URIs? This only applies when
-// virtual_domains is true, and when using manager accounts.
-$params['append_domains'] = false;
+/* What is our default mail domain? This is used if any users do not
+ * have '@domain' specified after their username as part of their
+ * email address.
+ */
+$conf['filter']['email_domain'] = '@@@postfix-mydomain@@@';
-// Should we make sure that the sender and From header match for mail
-// that origins on this server?
+/* List of kolab hosts that are privileged */
+$conf['filter']['kolabhosts'] = '@@@kolabhost|join(,)@@@';
+
+/* Are we using virtual domains with Cyrus? */
+$conf['filter']['virtual_domains'] = true;
+
+/* Should we append domains to mailbox URIs? This only applies when
+ * virtual_domains is true, and when using manager accounts.
+ */
+$conf['filter']['append_domains'] = false;
+
+/* Should we make sure that the sender and From header match for mail
+ * that origins on this server?
+ */
@@@if kolabfilter-verify-from-header@@@
$params['verify_from_header'] = ('@@@kolabfilter-verify-from-header@@@'=='TRUE');
@@@else@@@
$params['verify_from_header'] = false;
@@@endif@@@
-// Should we perform this check on mail from our
-// subdomains too?
-$params['verify_subdomains'] = true;
+/* Should we perform this check on mail from our
+ * subdomains too?
+ */
+$conf['filter']['verify_subdomains'] = true;
-// Should the Sender: header be used over From: if present?
+/* Should the Sender: header be used over From: if present? */
@@@if kolabfilter-allow-sender-header@@@
$params['allow_sender_header'] = ('@@@kolabfilter-allow-sender-header@@@'=='TRUE');
@@@else@@@
$params['allow_sender_header'] = false;
@@@endif@@@
-// Should reject messages with From headers that dont match
-// the envelope? Default is to rewrite the header
+/* Should reject messages with From headers that dont match
+ * the envelope? Default is to rewrite the header
+ */
@@@if kolabfilter-reject-forged-from-header@@@
$params['reject_forged_from_header'] = ('@@@kolabfilter-reject-forged-from-header@@@'=='TRUE');
@@@else@@@
$params['reject_forged_from_header'] = false;
@@@endif@@@
-// Text to be inserted in From: when rewriting untrusted mails
-$params['untrusted_subject_insert'] = "(UNTRUSTED, sender is <%s>)";
-$params['unauthenticated_subject_insert'] = "(UNTRUSTED, sender <%s> is not authenticated)";
-
-// Should we allow forwarded ical messages from Outlook
-// by encapsulating them in a MIME multipart
-$params['allow_outlook_ical_forward'] = true;
+/* Text to be inserted in From: when rewriting untrusted mails */
+// $conf['filter']['untrusted_subject_insert'] = "(UNTRUSTED, sender is <%s>)";
+// $conf['filter']['unauthenticated_subject_insert'] = "(UNTRUSTED, sender <%s> is not authenticated)";
-// LDAP data
-// What is the address of the LDAP server address where user objects reside
-$params['ldap_uri'] = '@@@ldap_uri@@@';
+/* Should we allow forwarded ical messages from Outlook
+ * by encapsulating them in a MIME multipart
+ */
+$conf['filter']['allow_outlook_ical_forward'] = true;
-// What is the Base DN of our LDAP database?
-$params['base_dn'] = '@@@base_dn@@@';
+/* What is the address of the LDAP server address where user objects
+ * reside
+ */
+$conf['filter']['ldap_uri'] = '@@@ldap_uri@@@';
-// What DN should we use to bind to the LDAP server?
-$params['bind_dn'] = '@@@php_dn@@@';
+/* What is the Base DN of our LDAP database? */
+$conf['filter']['base_dn'] = '@@@base_dn@@@';
-// What password should we use with the above DN when binding?
-$params['bind_pw'] = '@@@php_pw@@@';
+/* What DN should we use to bind to the LDAP server? */
+$conf['filter']['bind_dn'] = '@@@php_dn@@@';
+/* What password should we use with the above DN when binding? */
+$conf['filter']['bind_pw'] = '@@@php_pw@@@';
-// What account should we use to read/write calendar data? This account should
-// have access to the calendar mailbox of all resource/group mailboxes.
-$params['calendar_user'] = 'calendar@'.$params['email_domain'];
-$params['calendar_pass'] = '@@@calendar_pw@@@';
+/* What account should we use to read/write calendar data? This
+ * account should have access to the calendar mailbox of all
+ * resource/group mailboxes.
+ */
+$conf['filter']['calendar_user'] = 'calendar@' . $conf['filter']['email_domain'];
+$conf['filter']['calendar_pass'] = '@@@calendar_pw@@@';
-// Filename of private key used to decrypt password from LDAP
-$params['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
+/* Filename of private key used to decrypt password from LDAP */
+$conf['filter']['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
-// What is the name of the users' calendar mailbox?
-// This is only used when the user does not already have
-// a primary calendar folder (search via Kolab annotation)
-$params['calendar_store'] = 'Calendar';
+/* What is the name of the users' calendar mailbox? This is only used
+ * when the user does not already have a primary calendar folder
+ * (search via Kolab annotation)
+ */
+$conf['filter']['calendar_store'] = 'Calendar';
-// Where can we get free/busy information from?
-$params['freebusy_url'] = 'https://@@@fqdnhostname@@@@webserver_web_prefix@/freebusy/${USER}.xfb';
+/* Where can we get free/busy information from? */
+$conf['filter']['freebusy_url'] = '@@@fqdnhostname@@@@webserver_web_prefix@/freebusy/${USER}.xfb';
-// PFB url to trigger creation of pfb
-$params['pfb_trigger_url'] = 'https://@@@fqdnhostname@@@@webserver_web_prefix@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
-
-// Where are we logging to?
-$params['log'] = 'file:@resmgr_logfile@'; // File...
-// $params['log'] = 'syslog:cons, pid'; // Or syslog...
+/* PFB url to trigger creation of pfb */
+$conf['filter']['pfb_trigger_url'] = 'https://@@@fqdnhostname@@@@webserver_web_prefix@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
-// What level of output should we log? Higher levels give more verbose output.
-// One of: RM_LOG_SILENT; RM_LOG_ERROR; RM_LOG_WARN; RM_LOG_INFO or RM_LOG_DEBUG.
-$params['log_level'] = RM_LOG_DEBUG;
+/* Temporary data storage for the scripts */
+$conf['filter']['tempdir'] = '@resmgr_tmpdir@';
-// Temporary data storage for the script
-$params['resmgr_filterdir'] = '@resmgr_filterdir@';
+/* PHP error logging */
+$conf['filter']['error_log'] = '@resmgr_logdir@/php-error.log';
-// Activate if you wish to use the new horde framework
-// (horde-framework-kolab) package instead of the old code in
-// kolab-horde-framework. This is still untested and considered
-// UNSAFE!
-$params['use_new_horde'] = false;
+/* Horde::Log configuration */
+$conf['log']['enabled'] = true;
+$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
+$conf['log']['type'] = 'file';
+$conf['log']['name'] = '@resmgr_logdir@/filter.log';
+$conf['log']['ident'] = 'Kolab Filter';
+$conf['log']['params']['append'] = true;
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
From cvs at kolab.org Tue Nov 27 08:30:27 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 08:30:27 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/dist_conf common, 1.41, 1.42 kolab, 1.53,
1.54
Message-ID: <20071127073027.13B88600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv5494/kolabd/kolabd/dist_conf
Modified Files:
common kolab
Log Message:
Continued fixing of kolab-filter.
Index: common
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/common,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- common 22 Nov 2007 17:08:42 -0000 1.41
+++ common 27 Nov 2007 07:30:24 -0000 1.42
@@ -117,9 +117,9 @@
-e 's,[@]resmgr_confdir[@],$(resmgr_confdir),g' \
-e 's,[@]resmgr_conffile_grp[@],$(resmgr_conffile_grp),g' \
-e 's,[@]resmgr_conffile_usr[@],$(resmgr_conffile_usr),g' \
- -e 's,[@]resmgr_filterdir[@],$(resmgr_filterdir),g' \
+ -e 's,[@]resmgr_tmpdir[@],$(resmgr_tmpdir),g' \
-e 's,[@]resmgr_grp[@],$(resmgr_grp),g' \
- -e 's,[@]resmgr_logfile[@],$(resmgr_logfile),g' \
+ -e 's,[@]resmgr_logdir[@],$(resmgr_logdir),g' \
-e 's,[@]resmgr_scriptsdir[@],$(resmgr_scriptsdir),g' \
-e 's,[@]resmgr_usr[@],$(resmgr_usr),g' \
-e 's,[@]sasl_authdconffile[@],$(sasl_authdconffile),g' \
Index: kolab
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/kolab,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- kolab 23 Nov 2007 13:39:32 -0000 1.53
+++ kolab 27 Nov 2007 07:30:24 -0000 1.54
@@ -156,11 +156,11 @@
sysrundir=${localstatedir}/run
-resmgr_logfile=${localstatedir}/kolab-filter/log/kolab-filter.log
+resmgr_logdir=${localstatedir}/kolab-filter/log
resmgr_confdir=${localstatedir}/kolab-filter/scripts
resmgr_conffile_usr=${kolab_musr}
resmgr_conffile_grp=${kolab_grp}
-resmgr_filterdir=${localstatedir}/kolab-filter/tmp
+resmgr_tmpdir=${localstatedir}/kolab-filter/tmp
resmgr_scriptsdir=${localstatedir}/kolab-filter/scripts
# @l_musr@
resmgr_usr=${kolab_musr}
From cvs at kolab.org Tue Nov 27 08:30:27 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 08:30:27 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter package.xml.in,1.3,1.4
Message-ID: <20071127073027.1292E600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter
In directory doto:/tmp/cvs-serv5494/php-kolab/Kolab_Filter
Modified Files:
package.xml.in
Log Message:
Continued fixing of kolab-filter.
Index: package.xml.in
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/package.xml.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- package.xml.in 26 Nov 2007 16:35:21 -0000 1.3
+++ package.xml.in 27 Nov 2007 07:30:25 -0000 1.4
@@ -92,10 +92,10 @@
+
+
-
-
From cvs at kolab.org Tue Nov 27 08:30:27 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 08:30:27 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Incoming.php, 1.1,
1.2 Outgoing.php, 1.1, 1.2 olhacks.php, 1.3, NONE resmgr.php,
1.6, NONE
Message-ID: <20071127073027.36653600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv5494/php-kolab/Kolab_Filter/Filter
Modified Files:
Incoming.php Outgoing.php
Removed Files:
olhacks.php resmgr.php
Log Message:
Continued fixing of kolab-filter.
Index: Incoming.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Incoming.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Incoming.php 26 Nov 2007 16:35:21 -0000 1.1
+++ Incoming.php 27 Nov 2007 07:30:25 -0000 1.2
@@ -94,7 +94,7 @@
}
if ($ical) {
- require_once 'Kolab/Filter/resmgr.php';
+ require_once 'Kolab/Filter/Resource.php';
$newrecips = array();
foreach ($this->_recipients as $recip) {
Horde::logMessage(sprintf(_("Calling resmgr_filter(%s, %s, %s, %s)"),
Index: Outgoing.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Outgoing.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Outgoing.php 26 Nov 2007 16:35:21 -0000 1.1
+++ Outgoing.php 27 Nov 2007 07:30:25 -0000 1.2
@@ -94,7 +94,7 @@
$rc = verify_sender($this->_sasl_username, $this->_sender,
$from, $this->_client_address);
if (is_a($rc, 'PEAR_Error')) {
- return $this->_rewriteCode($rc);
+ return $rc;
} else if ($rc === true) {
/* All OK, do nothing */
} else if ($rc === false) {
@@ -169,11 +169,11 @@
if (!$senderok) {
if ($ical && $allow_outlook_ical_forward ) {
- require_once('Kolab/Filter/olhacks.php');
+ require_once('Kolab/Filter/Outlook.php');
$rc = olhacks_embedical($this->_fqhostname, $this->_sender, $this->_recipients,
$from, $subject, $this->_tmpfname);
if (is_a($rc, 'PEAR_Error')) {
- return $this->_rewriteCode($rc);
+ return $rc;
} else if ($rc === true) {
return;
}
@@ -272,105 +272,128 @@
}
// Cleanup function
-function is_my_domain( $addr ) {
- global $params;
- if( is_array($params['email_domain']) ) {
- $domains = $params['email_domain'];
- } else {
- $domains = array($params['email_domain']);
- }
+function is_my_domain($addr)
+{
+ global $conf;
+
+ if (!empty($conf['filter']['verify_subdomains'])) {
+ $verify_subdomains = $conf['filter']['verify_subdomains'];
+ } else {
+ $verify_subdomains = true;
+ }
+
+ if (!empty($conf['filter']['email_domain'])) {
+ $email_domain = $conf['filter']['email_domain'];
+ } else {
+ $email_domain = 'localhost';
+ }
+
+ $domains = (array) $email_domain;
- $adrs = imap_rfc822_parse_adrlist($addr, $params['email_domain']);
- foreach ($adrs as $adr) {
- $adrdom = $adr->host;
- if( empty($adrdom) ) continue;
- foreach( $domains as $dom ) {
- if( $dom == $adrdom ) return true;
- if( $params['verify_subdomains'] && substr($adrdom, -strlen($dom)-1) == ".$dom" ) return true;
+ $adrs = imap_rfc822_parse_adrlist($addr, $email_domain);
+ foreach ($adrs as $adr) {
+ $adrdom = $adr->host;
+ if (empty($adrdom)) {
+ continue;
+ }
+ foreach ($domains as $dom) {
+ if ($dom == $adrdom) {
+ return true;
+ }
+ if ($verify_subdomains && substr($adrdom, -strlen($dom)-1) == ".$dom") {
+ return true;
+ }
+ }
}
- }
- return false;
+ return false;
}
/**
Returns a list of allowed email addresses for user $sasluser
or a PEAR_Error object if something croaked.
*/
-function addrs_for_uid( $sasluser )
+function addrs_for_uid($sasluser)
{
- global $params;
- /* Connect to the LDAP server and retrieve the users'
- allowed email addresses */
- $ldap = ldap_connect($params['ldap_uri']);
- if (!ldap_bind($ldap, $params['bind_dn'], $params['bind_pw'])) {
- myLog('Unable to contact LDAP server: ' . ldap_error($ldap));
- return new PEAR_Error('Unable to contact LDAP server: ' . ldap_error($ldap));
- }
+ global $conf;
+
+ /* Connect to the LDAP server and retrieve the users'
+ * allowed email addresses
+ */
+ $ldap = ldap_connect($conf['filter']['ldap_uri']);
+
+ if (!ldap_bind($ldap, $conf['filter']['bind_dn'], $conf['filter']['bind_pw'])) {
+ return PEAR::raiseError(sprintf(_("Unable to contact LDAP server: %s"),
+ ldap_error($ldap)),
+ OUT_LOG || ERR_TEMPFAIL);
+ }
- $filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$sasluser)(uid=$sasluser)))";
- $result = ldap_search($ldap, $params['base_dn'],
- $filter,
- array("dn", "mail", "alias" ));
- if (!$result) {
- myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
- return new PEAR_Error('Unable to perform LDAP search: ' . ldap_error($ldap));
- }
+ $filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$sasluser)(uid=$sasluser)))";
+ $result = ldap_search($ldap, $conf['filter']['base_dn'],
+ $filter,
+ array("dn", "mail", "alias" ));
+ if (!$result) {
+ return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
+ ldap_error($ldap)),
+ OUT_LOG || ERR_TEMPFAIL);
+ }
- $entries = ldap_get_entries($ldap, $result);
- if ($entries['count'] != 1) {
- myLog($entries['count']." objects returned for uid $sasluser");
- return new PEAR_Error("Temporary LDAP error, unable to look up user $sasluser");
- }
- unset($entries[0]['mail']['count']);
- unset($entries[0]['alias']['count']);
- $addrs = array_merge((array) $entries[0]['mail'],(array) $entries[0]['alias']);
- $mail = $entries[0]['mail'][0];
+ $entries = ldap_get_entries($ldap, $result);
+ if ($entries['count'] != 1) {
+ return PEAR::raiseError(sprintf(_("%s objects returned for uid %s. Unable to look up user."),
+ $entries['count'], $sasluser),
+ OUT_LOG || ERR_TEMPFAIL);
+ }
+ unset($entries[0]['mail']['count']);
+ unset($entries[0]['alias']['count']);
+ $addrs = array_merge((array) $entries[0]['mail'],(array) $entries[0]['alias']);
+ $mail = $entries[0]['mail'][0];
- ldap_free_result($result);
+ ldap_free_result($result);
- $filter = "(&(objectClass=kolabInetOrgPerson)(kolabDelegate=$mail))";
- $result = ldap_search($ldap, $params['base_dn'],
- $filter,
- array("dn", "mail" ));
- if (!$result) {
- myLog('Unable to perform LDAP search: ' . ldap_error($ldap));
- return new PEAR_Error('Unable to perform LDAP search: ' . ldap_error($ldap));
- }
+ $filter = "(&(objectClass=kolabInetOrgPerson)(kolabDelegate=$mail))";
+ $result = ldap_search($ldap, $conf['filter']['base_dn'],
+ $filter,
+ array("dn", "mail" ));
+ if (!$result) {
+ return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
+ ldap_error($ldap)),
+ OUT_LOG || ERR_TEMPFAIL);
+ }
- $entries = ldap_get_entries($ldap, $result);
- unset( $entries['count'] );
- foreach( $entries as $adr ) {
- if( $adr['mail']['count'] > 0 ) {
- unset($adr['mail']['count']);
- $addrs = array_merge((array) $addrs,(array) $adr['mail']);
+ $entries = ldap_get_entries($ldap, $result);
+ unset( $entries['count'] );
+ foreach( $entries as $adr ) {
+ if( $adr['mail']['count'] > 0 ) {
+ unset($adr['mail']['count']);
+ $addrs = array_merge((array) $addrs,(array) $adr['mail']);
+ }
}
- }
- ldap_free_result($result);
- ldap_close($ldap);
+ ldap_free_result($result);
+ ldap_close($ldap);
- #myLog("Found addresses ".print_r($addrs,true)." for user $sasluser", RM_LOG_DEBUG);
- return $addrs;
+ return $addrs;
}
/** Returns the format string used to rewrite
the From header for untrusted messages */
function get_untrusted_subject_insert($sasluser,$sender)
{
- global $params;
- if( $sasluser ) {
- if( array_key_exists('untrusted_subject_insert', $params) ) {
- $fmt = $params['untrusted_subject_insert'];
- } else {
- $fmt = "(UNTRUSTED, sender is <%s>)";
- }
- } else {
- if( array_key_exists('unauthenticated_subject_insert', $params) ) {
- $fmt = $params['unauthenticated_subject_insert'];
+ global $conf;
+
+ if ($sasluser) {
+ if (!empty($conf['filter']['untrusted_subject_insert'])) {
+ $fmt = $conf['filter']['untrusted_subject_insert'];
+ } else {
+ $fmt = _("(UNTRUSTED, sender is <%s>)");
+ }
} else {
- $fmt = "(UNTRUSTED, sender <%s> is not authenticated)";
+ if (!empty($conf['filter']['unauthenticated_subject_insert'])) {
+ $fmt = $conf['filter']['unauthenticated_subject_insert'];
+ } else {
+ $fmt = _("(UNTRUSTED, sender <%s> is not authenticated)");
+ }
}
- }
- return sprintf($fmt,$sender);
+ return sprintf($fmt, $sender);
}
/** Check that the From header is not trying
@@ -383,90 +406,131 @@
From acceptable
* A PEAR_Error object if something croaked
*/
-function verify_sender( $sasluser, $sender, $fromhdr, $client_addr ) {
- global $params;
+function verify_sender($sasluser, $sender, $fromhdr, $client_addr) {
- /* Allow anything from localhost and
- fellow Kolab-hosts */
- if( $client_addr == $params['local_addr'] ) return true;
- $kolabhosts = split(',', $params['kolabhosts'] );
- $kolabhosts = array_map( "gethostbyname", $kolabhosts );
- if( array_search( $client_addr, $kolabhosts ) !== false ) return true;
+ global $conf;
- if( is_array($params['email_domain']) ) {
- $domains = $params['email_domain'];
- } else {
- $domains = array($params['email_domain']);
- }
+ if (!empty($conf['filter']['email_domain'])) {
+ $domains = $conf['filter']['email_domain'];
+ } else {
+ $domains = 'localhost';
+ }
- if( $sasluser ) {
- if( PEAR::isError($allowed_addrs = addrs_for_uid($sasluser)) ) {
- myLog("Error reading allowed addresses for $sasluser: ".$allowed_addrs->getMessage(), RM_LOG_ERROR);
- return $allowed_addrs;
+ if (!is_array($domains)) {
+ $domains = array($domains);
}
- } else {
- $allowed_addrs = false;
- }
- $untrusted = get_untrusted_subject_insert($sasluser,$sender);
- $adrs = imap_rfc822_parse_adrlist($fromhdr, $params['email_domain'][0]);
- foreach ($adrs as $adr) {
- $from = $adr->mailbox.'@'.$adr->host;
- $fromdom = $adr->host;
- if( $sasluser ) {
- if( !in_array( strtolower($from), $allowed_addrs ) ) {
- myLog("$from is not an allowed From address for $sasluser", RM_LOG_DEBUG);
- return false;
- }
+
+ if (!empty($conf['filter']['local_addr'])) {
+ $local_addr = $conf['filter']['local_addr'];
} else {
- foreach( $domains as $domain ) {
- if( strtolower($fromdom) == $domain
- || ( $params['verify_subdomains']
- && substr($fromdom, -strlen($domain)-1) == ".$domain" ) ) {
- if( $params['reject_forged_from_header'] ) {
- myLog("$from is not an allowed From address for unauthenticated users", RM_LOG_DEBUG);
- return false;
- } else {
- /* Rewrite */
- myLog("$from is not an allowed From address for unauthenticated users, rewriting", RM_LOG_DEBUG);
-
- if( strpos( $fromhdr, $untrusted )===false ) {
- return '"'.str_replace(array("\\",'"'),array("\\\\",'\"'),$adr->personal).' '.$untrusted.'" '.'<'.$from.'>';
- } else {
- return true;
- }
- }
- }
- }
+ $local_addr = 'localhost';
}
- }
- /* All seems OK */
- return true;
+ if (!empty($conf['filter']['verify_subdomains'])) {
+ $verify_subdomains = $conf['filter']['verify_subdomains'];
+ } else {
+ $verify_subdomains = true;
+ }
+ if (!empty($conf['filter']['reject_forged_from_headers'])) {
+ $reject_forged_from_headers = $conf['filter']['reject_forged_from_headers'];
+ } else {
+ $reject_forged_from_headers = true;
+ }
- /* TODO: What do we do about subdomains? */
- /*
- $senderdom = substr(strrchr($sender, '@'), 1);
- foreach( $domains as $domain ) {
- if( $params['verify_subdomains'] ) {
- if( ($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 ) {
- return false;
- }
- }
+ if (!empty($conf['filter']['kolabhosts'])) {
+ $kolabhosts = $conf['filter']['kolabhosts'];
+ } else {
+ $kolabhosts = 'localhost';
}
- }
- return true;
- */
+
+ /* Allow anything from localhost and
+ * fellow Kolab-hosts
+ */
+ if ($client_addr == $local_addr) {
+ return true;
+ }
+
+ $kolabhosts = split(',', $kolabhosts);
+ $kolabhosts = array_map('gethostbyname', $kolabhosts );
+
+ if (array_search($client_addr, $kolabhosts) !== false) {
+ return true;
+ }
+
+ if ($sasluser) {
+ $allowed_addrs = addrs_for_uid($sasluser);
+ if (is_a($allowed_addrs, 'PEAR_Error')) {
+ return $allowed_addrs;
+ }
+ } else {
+ $allowed_addrs = false;
+ }
+
+ $untrusted = get_untrusted_subject_insert($sasluser,$sender);
+ $adrs = imap_rfc822_parse_adrlist($fromhdr, $domains[0]);
+
+ foreach ($adrs as $adr) {
+ $from = $adr->mailbox . '@' . $adr->host;
+ $fromdom = $adr->host;
+ if ($sasluser) {
+ if (!in_array(strtolower($from), $allowed_addrs)) {
+ Horde::logMessage(sprintf(_("%s is not an allowed From address for %s"),
+ $from, $sasluser), __FILE__, __LINE__, PEAR_LOG_DEBUG);
+ return false;
+ }
+ } else {
+ foreach ($domains as $domain) {
+ if (strtolower($fromdom) == $domain
+ || ($verify_subdomains
+ && substr($fromdom, -strlen($domain)-1) == ".$domain")) {
+ if ($reject_forged_from_header) {
+ Horde::logMessage(sprintf(_("%s is not an allowed From address for unauthenticated users."),
+ $from), __FILE__, __LINE__, PEAR_LOG_DEBUG);
+ return false;
+ } else {
+ /* Rewrite */
+ Horde::logMessage(sprintf(_("%s is not an allowed From address for unauthenticated users, rewriting."),
+ $from), __FILE__, __LINE__, PEAR_LOG_DEBUG);
+ if (strpos( $fromhdr, $untrusted )===false) {
+ return '"'.str_replace(array("\\",'"'),array("\\\\",'\"'),$adr->personal).' '.$untrusted.'" '.'<'.$from.'>';
+ } else {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* All seems OK */
+ return true;
+
+
+ /* TODO: What do we do about subdomains? */
+ /*
+ $senderdom = substr(strrchr($sender, '@'), 1);
+ foreach( $domains as $domain ) {
+ if( $conf['filter']['verify_subdomains'] ) {
+ if( ($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 ) {
+ return false;
+ }
+ }
+ }
+ }
+ return true;
+ */
+
}
--- olhacks.php DELETED ---
--- resmgr.php DELETED ---
From cvs at kolab.org Tue Nov 27 08:35:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 08:35:47 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Outlook.php, NONE,
1.1 Resource.php, NONE, 1.1
Message-ID: <20071127073547.70808600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv5656
Added Files:
Outlook.php Resource.php
Log Message:
Renamed resmgr.php and olhacks.php
--- NEW FILE: Outlook.php ---
decode($decode_args))) {
return false;
}
/* Put the object into imap_parsestructure() form. */
MIME_Structure::_convertMimeDecodeData($structure);
return array($structure->headers, $ret = &MIME_Structure::parse($structure));
}
/* static */ function copy_header( $name, &$msg_headers, &$headerarray ) {
$lname = strtolower($name);
if( array_key_exists($lname, $headerarray)) {
if( is_array( $headerarray[$lname] ) ) {
foreach( $headerarray[$lname] as $h ) {
$msg_headers->addHeader($name, $h );
}
} else {
$msg_headers->addHeader($name, $headerarray[$lname] );
}
}
}
/*
* Yet another problem: Outlook seems to remove the organizer
* from the iCal when forwarding -- we put the original sender
* back in as organizer.
*/
function add_organizer(&$icaltxt, $from)
{
global $conf;
if (!empty($conf['filter']['email_domain'])) {
$email_domain = $conf['filter']['email_domain'];
} else {
$email_domain = 'localhost';
}
$iCal = &new Horde_iCalendar();
$iCal->parsevCalendar($icaltxt);
$vevent =& $iCal->findComponent('VEVENT');
if( $vevent ) {
if( !$vevent->organizerName() ) {
$adrs = imap_rfc822_parse_adrlist($from, $email_domain);
if( count($adrs) > 0 ) {
$org_email = 'mailto:'.$adrs[0]->mailbox.'@'.$adrs[0]->host;
$org_name = $adrs[0]->personal;
if( $org_name ) $vevent->setAttribute( 'ORGANIZER', $org_email,
array( 'CN' => $org_name), false );
else $vevent->setAttribute( 'ORGANIZER', $org_email,
array(), false );
Horde::logMessage(sprintf(_("Adding missing organizer '%s <%s>' to iCal."),
$org_name, $org_email),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$icaltxt = $iCal->exportvCalendar();
}
}
}
}
/* Yet another Outlook problem: Some versions of Outlook seems to be incapable
* of handling non-ascii characters properly in text/calendar parts of
* a multi-part/mixed mail which we use for forwarding.
* As a solution, we encode common characters as humanreadable
* two-letter ascii.
*/
/* static */ function olhacks_recode_to_ascii( $text ) {
$text = str_replace( ('æ'), 'ae', $text );
$text = str_replace( ('ø'), 'oe', $text );
$text = str_replace( ('Ã¥'), 'aa', $text );
$text = str_replace( ('ä'), 'ae', $text );
$text = str_replace( ('ö'), 'oe', $text );
$text = str_replace( ('ü'), 'ue', $text );
$text = str_replace( ('ß'), 'ss', $text );
$text = str_replace( ('Æ'), 'Ae', $text );
$text = str_replace( ('Ø'), 'Oe', $text );
$text = str_replace( ('Ã…'), 'Aa', $text );
$text = str_replace( ('Ä'), 'Ae', $text );
$text = str_replace( ('Ö'), 'Oe', $text );
$text = str_replace( ('Ü'), 'Ue', $text );
return $text;
}
/* main entry point */
function olhacks_embedical($fqhostname, $sender, $recipients, $origfrom, $subject, $tmpfname)
{
Horde::logMessage(sprintf(_("Encapsulating iCal message forwarded by %s"), $sender),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
global $forwardtext;
// Read in message text
$requestText = '';
$handle = @fopen( $tmpfname, "r" );
if( $handle === false ) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$tmpfname, $msg),
OUT_LOG || ERR_TEMPFAIL);
}
while (!feof($handle)) {
$requestText .= fread($handle, 8192);
}
fclose($handle);
// Parse existing message
list( $headers, $mime) = olhacks_mime_parse($requestText);
$parts = $mime->contentTypeMap();
if (count($parts) != 1 || $parts[1] != 'text/calendar') {
Horde::logMessage(_("Message does not contain exactly one toplevel text/calendar part, passing through."),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
return false;
}
$basepart = $mime->getBasePart();
// Construct new MIME message with original message attached
$toppart = &new MIME_Message();
$dorigfrom = Mail_mimeDecode::_decodeHeader($origfrom);
$textpart = &new MIME_Part('text/plain', sprintf($forwardtext,$dorigfrom,$dorigfrom), 'UTF-8' );
$ical_txt = $basepart->transferDecode();
add_organizer($ical_txt, $dorigfrom);
$msgpart = &new MIME_Part($basepart->getType(), olhacks_recode_to_ascii($ical_txt),
$basepart->getCharset() );
$toppart->addPart($textpart);
$toppart->addPart($msgpart);
// Build the reply headers.
$msg_headers = &new MIME_Headers();
copy_header( 'Received', $msg_headers, $headers );
//$msg_headers->addReceivedHeader();
$msg_headers->addMessageIdHeader();
copy_header( 'Date', $msg_headers, $headers );
copy_header( 'Resent-Date', $msg_headers, $headers );
copy_header( 'Subject', $msg_headers, $headers );
$msg_headers->addHeader('From', $sender);
$msg_headers->addHeader('To', join(', ', $recipients));
$msg_headers->addHeader('X-Kolab-Forwarded', 'TRUE');
$msg_headers->addMIMEHeaders($toppart);
copy_header( 'Content-Transfer-Encoding', $msg_headers, $headers );
if (is_object($msg_headers)) {
$headerArray = $toppart->encode($msg_headers->toArray(), $toppart->getCharset());
} else {
$headerArray = $toppart->encode($msg_headers, $toppart->getCharset());
}
// Inject message back into postfix
require_once 'Mail.php';
$mailer = &Mail::factory('SMTP', array('auth' => false, 'port' => 10026 ));
$msg = $toppart->toString();
/* Make sure the message has a trailing newline. */
if (substr($msg, -1) != "\n") {
$msg .= "\n";
}
$result = $mailer->send($recipients, $headerArray, $msg);
if (is_a($result, 'PEAR_Error')) {
$append = sprintf(_(", original code %s"), $result->getCode());
$result->message = $result->getMessage() . $append;
$result->code = OUT_LOG || OUT_STDOUT || ERR_TEMPFAIL;
return $result;
}
return true;
}
?>
--- NEW FILE: Resource.php ---
From cvs at kolab.org Tue Nov 27 11:01:54 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 11:01:54 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests/_data tiny.eml,NONE,1.1
Message-ID: <20071127100154.6525E600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests/_data
In directory doto:/tmp/cvs-serv8941/php-kolab/Kolab_Filter/tests/_data
Added Files:
tiny.eml
Log Message:
Fix all myLog occurences.
--- NEW FILE: tiny.eml ---
To: wrobel at pardus.example.com
Subject: test
From: Gunnar Wrobel
Date: Tue, 27 Nov 2007 08:49:39 +0100
Message-ID: <878x4k6sbw.fsf at kolab.example.com>
User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/22.1.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
test
From cvs at kolab.org Tue Nov 27 11:01:54 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 11:01:54 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Filter.php, 1.1,
1.2 Incoming.php, 1.2, 1.3 Outgoing.php, 1.2, 1.3 Outlook.php,
1.1, 1.2 Resource.php, 1.1, 1.2 Response.php, 1.1, 1.2
Message-ID: <20071127100154.B4701600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv8941/php-kolab/Kolab_Filter/Filter
Modified Files:
Filter.php Incoming.php Outgoing.php Outlook.php Resource.php
Response.php
Log Message:
Fix all myLog occurences.
Index: Filter.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Filter.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Filter.php 26 Nov 2007 16:35:21 -0000 1.1
+++ Filter.php 27 Nov 2007 10:01:52 -0000 1.2
@@ -72,6 +72,7 @@
$this->_tmpdir = sys_get_temp_dir();
}
+ // FIXME: Do we need this?
/* This is used as the default domain for unqualified adresses */
global $_SERVER;
if (!array_key_exists('SERVER_NAME', $_SERVER)) {
@@ -159,7 +160,7 @@
!array_key_exists('s', $options)) {
return PEAR::raiseError(sprintf(_("Usage is %s -s sender at domain -r recipient at domain"),
$args[0]),
- OUT_STDOUT || ERR_TEMPFAIL);
+ OUT_STDOUT | ERR_TEMPFAIL);
}
$this->_sender = strtolower($options['s']);
@@ -199,7 +200,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
register_shutdown_function(array($this, '_cleanupTmp'));
@@ -225,7 +226,7 @@
return $transport;
}
return PEAR::raiseError(sprintf(_("No such class \"%s\""), $class),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
function _rewriteCode($result)
@@ -237,7 +238,7 @@
}
$append = sprintf(_(", original code %s"), $result->getCode());
$result->message = $result->getMessage() . $append;
- $result->code = OUT_LOG || OUT_STDOUT || $code;
+ $result->code = OUT_LOG | OUT_STDOUT | $code;
return $result;
}
}
Index: Incoming.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Incoming.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Incoming.php 27 Nov 2007 07:30:25 -0000 1.2
+++ Incoming.php 27 Nov 2007 10:01:52 -0000 1.3
@@ -72,7 +72,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
}
@@ -82,7 +82,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
}
@@ -90,7 +90,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Failed closing %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
if ($ical) {
@@ -156,7 +156,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
$result = $transport->start($this->_sender, $this->_recipients);
Index: Outgoing.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Outgoing.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Outgoing.php 27 Nov 2007 07:30:25 -0000 1.2
+++ Outgoing.php 27 Nov 2007 10:01:52 -0000 1.3
@@ -147,7 +147,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
}
while (!feof($inh)) {
@@ -156,7 +156,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
}
@@ -164,7 +164,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Failed closing %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
if (!$senderok) {
@@ -180,7 +180,7 @@
} else {
return PEAR::raiseError(sprintf(_("Invalid From: header. %s looks like a forged sender"),
$from),
- OUT_LOG || OUT_STDOUT || ERR_UNAVAILABLE);
+ OUT_LOG | OUT_STDOUT | ERR_UNAVAILABLE);
}
}
@@ -215,7 +215,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
$result = $transport->start($this->_sender, $this->_recipients);
@@ -324,7 +324,7 @@
if (!ldap_bind($ldap, $conf['filter']['bind_dn'], $conf['filter']['bind_pw'])) {
return PEAR::raiseError(sprintf(_("Unable to contact LDAP server: %s"),
ldap_error($ldap)),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
$filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$sasluser)(uid=$sasluser)))";
@@ -334,14 +334,14 @@
if (!$result) {
return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
ldap_error($ldap)),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
$entries = ldap_get_entries($ldap, $result);
if ($entries['count'] != 1) {
return PEAR::raiseError(sprintf(_("%s objects returned for uid %s. Unable to look up user."),
$entries['count'], $sasluser),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
unset($entries[0]['mail']['count']);
unset($entries[0]['alias']['count']);
@@ -357,7 +357,7 @@
if (!$result) {
return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
ldap_error($ldap)),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
$entries = ldap_get_entries($ldap, $result);
Index: Outlook.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Outlook.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Outlook.php 27 Nov 2007 07:35:45 -0000 1.1
+++ Outlook.php 27 Nov 2007 10:01:52 -0000 1.2
@@ -160,7 +160,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$tmpfname, $msg),
- OUT_LOG || ERR_TEMPFAIL);
+ OUT_LOG | ERR_TEMPFAIL);
}
while (!feof($handle)) {
$requestText .= fread($handle, 8192);
@@ -223,7 +223,7 @@
if (is_a($result, 'PEAR_Error')) {
$append = sprintf(_(", original code %s"), $result->getCode());
$result->message = $result->getMessage() . $append;
- $result->code = OUT_LOG || OUT_STDOUT || ERR_TEMPFAIL;
+ $result->code = OUT_LOG | OUT_STDOUT | ERR_TEMPFAIL;
return $result;
}
Index: Resource.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Resource.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Resource.php 27 Nov 2007 07:35:45 -0000 1.1
+++ Resource.php 27 Nov 2007 10:01:52 -0000 1.2
@@ -85,34 +85,33 @@
conflicts between an event and a freebusy list
*/
class ResmgrRecurrence extends Recurrence {
- function ResmgrRecurrence() {
- $this->conflict = false;
- }
+ function ResmgrRecurrence() {
+ $this->conflict = false;
+ }
- function setBusy( $start, $end, $duration ) {
[...2088 lines suppressed...]
+ return true;
}
- return false;;
- default:
- // We either don't currently handle these iTip methods, or they do not
- // apply to what we're trying to accomplish here
- myLog("Ignoring $method method and passing message through to $resource");
+ // Pass the message through to the group's mailbox
+ Horde::logMessage(sprintf(_("Passing through %s method to %s"),
+ $method, $resource),
+ __FILE__, __LINE__, PEAR_LOG_INFO);
return true;
- }
-
- // Pass the message through to the group's mailbox
- myLog("Passing through $method method to $resource");
- return true;
}
?>
Index: Response.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Response.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Response.php 26 Nov 2007 16:35:21 -0000 1.1
+++ Response.php 27 Nov 2007 10:01:52 -0000 1.2
@@ -74,20 +74,20 @@
$msg = $result->getMessage();
$code = $result->getCode();
- if ($code && OUT_STDOUT) {
+ if ($code & OUT_STDOUT) {
fwrite(STDOUT, $msg);
}
- if ($code && OUT_LOG) {
- $frame = $result->getBacktrace(2);
+ if ($code & OUT_LOG || empty($code)) {
+ $frame = $result->getBacktrace(1);
Horde::logMessage($msg, $frame['file'], $frame['line']);
}
// FIXME: Add a userinfo handler in case there were multiple
// combined errors
- if ($code && ERR_TEMPFAIL) {
+ if ($code & ERR_TEMPFAIL || empty($code)) {
exit(EX_TEMPFAIL);
- } else if ($code && ERR_UNAVAILABLE) {
+ } else if ($code & ERR_UNAVAILABLE) {
exit(EX_UNAVAILABLE);
} else {
exit(0);
From cvs at kolab.org Tue Nov 27 13:35:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 13:35:25 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Filter.php, 1.2,
1.3 Incoming.php, 1.3, 1.4 Outgoing.php, 1.3, 1.4 Outlook.php,
1.2, 1.3
Message-ID: <20071127123525.887DF600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv12401/php-kolab/Kolab_Filter/Filter
Modified Files:
Filter.php Incoming.php Outgoing.php Outlook.php
Log Message:
The kolab-filter error handler has been fixed. This hopefully gives us a clean exit state towards postfix at all times.
Index: Filter.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Filter.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Filter.php 27 Nov 2007 10:01:52 -0000 1.2
+++ Filter.php 27 Nov 2007 12:35:23 -0000 1.3
@@ -41,12 +41,35 @@
/* Load the Filter libraries */
require_once 'Kolab/Filter/Transport.php';
+/* Some output constants */
+define('OUT_STDOUT', 128);
+define('OUT_LOG', 256);
+
+/* Failure constants from postfix src/global/sys_exits.h */
+define('EX_USAGE', 64); /* command line usage error */
+define('EX_DATAERR', 65); /* data format error */
+define('EX_NOINPUT', 66); /* cannot open input */
+define('EX_NOUSER', 67); /* user unknown */
+define('EX_NOHOST', 68); /* host name unknown */
+define('EX_UNAVAILABLE', 69); /* service unavailable */
+define('EX_SOFTWARE', 70); /* internal software error */
+define('EX_OSERR', 71); /* system resource error */
+define('EX_OSFILE', 72); /* critical OS file missing */
+define('EX_CANTCREAT', 73); /* can't create user output file */
+define('EX_IOERR', 74); /* input/output error */
+define('EX_TEMPFAIL', 75); /* temporary failure */
+define('EX_PROTOCOL', 76); /* remote error in protocol */
+define('EX_NOPERM', 77); /* permission denied */
+define('EX_CONFIG', 78); /* local configuration error */
+
class Filter
{
var $_transport;
var $_startts;
+ var $_debug;
+
var $_tmpdir;
var $_tmpfile;
@@ -58,11 +81,12 @@
var $_fqhostname;
var $_sasl_username;
- function Filter($transport = 'StdOut')
+ function Filter($transport = 'StdOut', $debug = false)
{
global $conf;
$this->_transport = $transport;
+ $this->_debug = $debug;
$this->_startts = $this->_microtime_float();
@@ -72,6 +96,9 @@
$this->_tmpdir = sys_get_temp_dir();
}
+ /* Set a custom PHP error handler to catch any coding errors */
+ set_error_handler(array($this, '_fatal'));
+
// FIXME: Do we need this?
/* This is used as the default domain for unqualified adresses */
global $_SERVER;
@@ -100,17 +127,30 @@
}
}
+ function parse($inh = STDIN)
+ {
+ $result = $this->_start();
+ if ($result instanceof PEAR_Error) {
+ $this->_handle($result);
+ }
+
+ $result = $this->_parse($inh);
+ if ($result instanceof PEAR_Error) {
+ $this->_handle($result);
+ }
+ }
+
function _start()
{
/* Setup the temporary storage */
$result = $this->_initTmp();
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
/* Parse our arguments */
$result = $this->_parseArgs();
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
@@ -159,8 +199,8 @@
if (!array_key_exists('r', $options) ||
!array_key_exists('s', $options)) {
return PEAR::raiseError(sprintf(_("Usage is %s -s sender at domain -r recipient at domain"),
- $args[0]),
- OUT_STDOUT | ERR_TEMPFAIL);
+ $args[0]),
+ OUT_STDOUT | EX_USAGE);
}
$this->_sender = strtolower($options['s']);
@@ -200,7 +240,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_IOERR);
}
register_shutdown_function(array($this, '_cleanupTmp'));
@@ -226,20 +266,95 @@
return $transport;
}
return PEAR::raiseError(sprintf(_("No such class \"%s\""), $class),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_CONFIG);
}
function _rewriteCode($result)
{
if ($result->getCode() < 500) {
- $code = ERR_TEMPFAIL;
+ $code = EX_TEMPFAIL;
} else {
- $code = ERR_UNAVAILABLE;
+ $code = EX_UNAVAILABLE;
}
$append = sprintf(_(", original code %s"), $result->getCode());
$result->message = $result->getMessage() . $append;
$result->code = OUT_LOG | OUT_STDOUT | $code;
return $result;
+ }
+
+ function _fatal($errno, $errmsg, $filename, $linenum, $vars)
+ {
+ /* Ignore strict errors for now since even PEAR will raise
+ * strict notices
+ */
+ if ($errno == E_STRICT) {
+ return false;
+ }
+
+ $fatal = array(E_ERROR,
+ E_PARSE,
+ E_CORE_ERROR,
+ E_COMPILE_ERROR,
+ E_USER_ERROR);
+
+ if (in_array($errno, $fatal)) {
+ $code = OUT_STDOUT | OUT_LOG | EX_UNAVAILABLE;
+ $msg = 'CRITICAL: You hit a fatal bug in kolab-filter. Please inform the Kolab developers at https://www.intevation.de/roundup/kolab/. The error was: ' . $errmsg;
+ } else {
+ $code = 0;
+ $msg = $errmsg;
+ }
+
+ $error = &new PEAR_Error($msg, $code);
+ $this->_handle($error);
+
+ if ($errno == E_ERROR) {
+ exit(0);
+ }
+ return false;
+ }
+
+ function _log($result)
+ {
+ $msg = $result->getMessage();
+
+ /* Log all errors */
+ $frame = $result->getBacktrace(1);
+
+ /* In debugging mode the errors get delivered to the screen
+ * without a time stamp (mainly because of unit testint)
+ */
+ if (!$this->_debug) {
+ Horde::logMessage($msg, $frame['file'], $frame['line']);
+ } else {
+ $msg .= ' (Line ' . $frame['line'] . ' in ' . basename($frame['file']) . ")\n";
+ fwrite(STDOUT, $msg);
+ }
+ }
+
+ function _handle($result)
+ {
+ $msg = $result->getMessage();
+ $code = $result->getCode();
+
+ if ($code & OUT_STDOUT) {
+ fwrite(STDOUT, $msg);
+ }
+
+ if ($code & OUT_LOG || empty($code)) {
+ $this->_log($result);
+ }
+
+ // FIXME: Add a userinfo handler in case there were multiple
+ // combined errors
+
+ /* If we have an error code we want to return it to the
+ * calling application and exit here
+ */
+ if ($code) {
+ /* Return the first seven bits as error code to postfix */
+ exit($code & 127);
+ }
}
}
Index: Incoming.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Incoming.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Incoming.php 27 Nov 2007 10:01:52 -0000 1.3
+++ Incoming.php 27 Nov 2007 12:35:23 -0000 1.4
@@ -41,18 +41,13 @@
var $_add_headers;
- function Filter_Incoming($transport = 'LMTP')
+ function Filter_Incoming($transport = 'LMTP', $debug = false)
{
- Filter::Filter($transport);
+ Filter::Filter($transport, $debug);
}
- function parse($inh = STDIN)
+ function _parse($inh = STDIN)
{
- $result = $this->_start();
- if (is_a($result, 'PEAR_Error')) {
- return $result;
- }
-
$ical = false;
$add_headers = array();
$headers_done = false;
@@ -72,7 +67,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
}
@@ -82,7 +77,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
}
@@ -90,7 +85,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Failed closing %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
if ($ical) {
@@ -156,7 +151,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
$result = $transport->start($this->_sender, $this->_recipients);
Index: Outgoing.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Outgoing.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Outgoing.php 27 Nov 2007 10:01:52 -0000 1.3
+++ Outgoing.php 27 Nov 2007 12:35:23 -0000 1.4
@@ -43,12 +43,12 @@
class Filter_Outgoing extends Filter
{
- function Filter_Outgoing($transport = 'SMTP')
+ function Filter_Outgoing($transport = 'SMTP', $debug = false)
{
- Filter::Filter($transport);
+ Filter::Filter($transport, $debug);
}
- function parse($inh = STDIN)
+ function _parse($inh = STDIN)
{
global $conf;
@@ -70,11 +70,6 @@
$allow_outlook_ical_forward = true;
}
- $result = $this->_start();
- if (is_a($result, 'PEAR_Error')) {
- return $result;
- }
-
$ical = false;
$from = false;
$subject = false;
@@ -147,7 +142,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_IOERR);
}
}
while (!feof($inh)) {
@@ -156,7 +151,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_IOERR);
}
}
@@ -164,7 +159,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Failed closing %s: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_IOERR);
}
if (!$senderok) {
@@ -180,7 +175,7 @@
} else {
return PEAR::raiseError(sprintf(_("Invalid From: header. %s looks like a forged sender"),
$from),
- OUT_LOG | OUT_STDOUT | ERR_UNAVAILABLE);
+ OUT_LOG | OUT_STDOUT | EX_NOPERM);
}
}
@@ -215,7 +210,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_IOERR);
}
$result = $transport->start($this->_sender, $this->_recipients);
@@ -324,7 +319,7 @@
if (!ldap_bind($ldap, $conf['filter']['bind_dn'], $conf['filter']['bind_pw'])) {
return PEAR::raiseError(sprintf(_("Unable to contact LDAP server: %s"),
ldap_error($ldap)),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
$filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$sasluser)(uid=$sasluser)))";
@@ -334,14 +329,14 @@
if (!$result) {
return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
ldap_error($ldap)),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
$entries = ldap_get_entries($ldap, $result);
if ($entries['count'] != 1) {
return PEAR::raiseError(sprintf(_("%s objects returned for uid %s. Unable to look up user."),
$entries['count'], $sasluser),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
unset($entries[0]['mail']['count']);
unset($entries[0]['alias']['count']);
@@ -357,7 +352,7 @@
if (!$result) {
return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
ldap_error($ldap)),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
$entries = ldap_get_entries($ldap, $result);
Index: Outlook.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Outlook.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Outlook.php 27 Nov 2007 10:01:52 -0000 1.2
+++ Outlook.php 27 Nov 2007 12:35:23 -0000 1.3
@@ -160,7 +160,7 @@
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$tmpfname, $msg),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
while (!feof($handle)) {
$requestText .= fread($handle, 8192);
@@ -223,7 +223,7 @@
if (is_a($result, 'PEAR_Error')) {
$append = sprintf(_(", original code %s"), $result->getCode());
$result->message = $result->getMessage() . $append;
- $result->code = OUT_LOG | OUT_STDOUT | ERR_TEMPFAIL;
+ $result->code = OUT_LOG | OUT_STDOUT | EX_TEMPFAIL;
return $result;
}
From cvs at kolab.org Tue Nov 27 13:35:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 13:35:25 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates resmgr.conf.template.in, 1.12,
1.13
Message-ID: <20071127123525.794F9600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv12401/kolabd/kolabd/templates
Modified Files:
resmgr.conf.template.in
Log Message:
The kolab-filter error handler has been fixed. This hopefully gives us a clean exit state towards postfix at all times.
Index: resmgr.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/resmgr.conf.template.in,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- resmgr.conf.template.in 27 Nov 2007 07:30:25 -0000 1.12
+++ resmgr.conf.template.in 27 Nov 2007 12:35:23 -0000 1.13
@@ -152,9 +152,6 @@
/* Temporary data storage for the scripts */
$conf['filter']['tempdir'] = '@resmgr_tmpdir@';
-/* PHP error logging */
-$conf['filter']['error_log'] = '@resmgr_logdir@/php-error.log';
-
/* Horde::Log configuration */
$conf['log']['enabled'] = true;
$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
From cvs at kolab.org Tue Nov 27 13:35:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 13:35:25 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter package.xml.in,1.4,1.5
Message-ID: <20071127123525.7B82D600D6B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter
In directory doto:/tmp/cvs-serv12401/php-kolab/Kolab_Filter
Modified Files:
package.xml.in
Log Message:
The kolab-filter error handler has been fixed. This hopefully gives us a clean exit state towards postfix at all times.
Index: package.xml.in
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/package.xml.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- package.xml.in 27 Nov 2007 07:30:25 -0000 1.4
+++ package.xml.in 27 Nov 2007 12:35:23 -0000 1.5
@@ -94,7 +94,6 @@
-
From cvs at kolab.org Tue Nov 27 13:35:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 13:35:25 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter config.php, 1.5,
1.6 kolabfilter.php, 1.3, 1.4 kolabmailboxfilter.php, 1.3, 1.4
Message-ID: <20071127123525.88404600D6C@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv12401/kolab-filter/filter
Modified Files:
config.php kolabfilter.php kolabmailboxfilter.php
Log Message:
The kolab-filter error handler has been fixed. This hopefully gives us a clean exit state towards postfix at all times.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- config.php 27 Nov 2007 07:30:24 -0000 1.5
+++ config.php 27 Nov 2007 12:35:23 -0000 1.6
@@ -138,9 +138,6 @@
$conf['filter']['smpt_host'] = 'localhost';
$conf['filter']['smpt_port'] = 10025;
-/* PHP error logging */
-$conf['filter']['error_log'] = '/kolab/var/kolab-filter/log/php-error.log';
-
/* Horde::Log configuration */
$conf['log']['enabled'] = true;
$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/kolabfilter.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- kolabfilter.php 26 Nov 2007 16:35:21 -0000 1.3
+++ kolabfilter.php 27 Nov 2007 12:35:23 -0000 1.4
@@ -29,26 +29,18 @@
* ABOUT
* -----
*
- * A filter for outgoing mail on a Kolab Server.
+ * A filter for outgoing mail on a Kolab Server. It rewrites headers
+ * and handles Outlook issues.
*
*/
-/* Load the filter libraries */
-require_once 'Kolab/Filter/Outgoing.php';
-require_once 'Kolab/Filter/Response.php';
-
/* Read our configuration */
require_once 'config.php';
-/* Setup the classes */
-if (empty($conf['filter']['error_log'])) {
- $conf['filter']['error_log'] = sys_get_temp_dir() . PATH_SEPARATOR . 'kolab-filter.log';
-}
-
-$response = &new Response($conf['filter']['error_log']);
-$parser = &new Filter_Outgoing();
-
-/* Parse the mail and spit out the response */
-$response->handle($parser->parse());
+/* Load the filter library */
+require_once 'Kolab/Filter/Outgoing.php';
+/* Parse the mail */
+$parser = &new Filter_Outgoing();
+$parser->parse();
?>
Index: kolabmailboxfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/kolabmailboxfilter.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- kolabmailboxfilter.php 26 Nov 2007 16:35:21 -0000 1.3
+++ kolabmailboxfilter.php 27 Nov 2007 12:35:23 -0000 1.4
@@ -34,21 +34,13 @@
*
*/
-/* Load the filter libraries */
-require_once 'Kolab/Filter/Incoming.php';
-require_once 'Kolab/Filter/Response.php';
-
/* Read our configuration */
require_once 'config.php';
-/* Setup the classes */
-if (empty($conf['filter']['error_log'])) {
- $conf['filter']['error_log'] = sys_get_temp_dir() . PATH_SEPARATOR . 'kolab-filter.log';
-}
-
-$response = &new Response($conf['filter']['error_log']);
-$parser = &new Filter_Incoming();
+/* Load the filter library */
+require_once 'Kolab/Filter/Incoming.php';
-/* Parse the mail and spit out the response */
-$response->handle($parser->parse());
+/* Parse the mail */
+$parser = &new Filter_Incoming();
+$parser->parse();
?>
From cvs at kolab.org Tue Nov 27 13:35:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 13:35:25 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests outgoing.phpt, NONE,
1.1 dumb_usage.phpt, 1.1, 1.2 simple_in_msg.phpt, 1.1,
1.2 simple_out_msg.phpt, 1.1, 1.2
Message-ID: <20071127123525.8C133600D6E@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests
In directory doto:/tmp/cvs-serv12401/php-kolab/Kolab_Filter/tests
Modified Files:
dumb_usage.phpt simple_in_msg.phpt simple_out_msg.phpt
Added Files:
outgoing.phpt
Log Message:
The kolab-filter error handler has been fixed. This hopefully gives us a clean exit state towards postfix at all times.
--- NEW FILE: outgoing.phpt ---
--TEST--
Test the outgoing filter.
--SKIPIF--
--FILE--
_lineFormat = '%2$s [%3$s] %7$s';
// Activate this if you need the log information. This will
// make the test fail though
//$logger->_lineFormat = '%2$s [%3$s] %4$s %7$s';
$inh = fopen('_data/tiny.eml', 'r');
/* Setup the classes */
$parser = &new Filter_Outgoing('StdOut', true);
/* Parse the mail */
$parser->parse($inh);
?>
--EXPECT--
Kolab Filter [debug] logMessage
Mail from sender: me at example.com
Mail to recipient: you at example.com
To: wrobel at pardus.example.com
Subject: test
From: Gunnar Wrobel
Date: Tue, 27 Nov 2007 08:49:39 +0100
Message-ID: <878x4k6sbw.fsf at kolab.example.com>
User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/22.1.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
test
.
Kolab Filter [debug] logMessage
Index: dumb_usage.phpt
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/tests/dumb_usage.phpt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- dumb_usage.phpt 26 Nov 2007 16:35:21 -0000 1.1
+++ dumb_usage.phpt 27 Nov 2007 12:35:23 -0000 1.2
@@ -4,7 +4,6 @@
--FILE--
handle($parser->parse());
+/* Parse the mail */
+$parser->parse();
?>
--EXPECT--
Usage is test -s sender at domain -r recipient at domain
Index: simple_in_msg.phpt
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/tests/simple_in_msg.phpt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- simple_in_msg.phpt 26 Nov 2007 16:35:21 -0000 1.1
+++ simple_in_msg.phpt 27 Nov 2007 12:35:23 -0000 1.2
@@ -4,7 +4,6 @@
--FILE--
handle($parser->parse($inh));
+/* Parse the mail */
+$parser->parse($inh);
?>
--EXPECT--
Kolab Filter [debug] logMessage
Index: simple_out_msg.phpt
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/tests/simple_out_msg.phpt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- simple_out_msg.phpt 26 Nov 2007 16:35:21 -0000 1.1
+++ simple_out_msg.phpt 27 Nov 2007 12:35:23 -0000 1.2
@@ -4,7 +4,6 @@
--FILE--
handle($parser->parse($inh));
+/* Parse the mail */
+$parser->parse($inh);
?>
--EXPECT--
Kolab Filter [debug] logMessage
From cvs at kolab.org Tue Nov 27 13:42:52 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 13:42:52 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Response.php,1.2,NONE
Message-ID: <20071127124252.D34CC600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv12583/php-kolab/Kolab_Filter/Filter
Removed Files:
Response.php
Log Message:
Obsolete class.
--- Response.php DELETED ---
From cvs at kolab.org Tue Nov 27 15:21:17 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 15:21:17 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates resmgr.conf.template.in, 1.13,
1.14
Message-ID: <20071127142117.A3DEE600D72@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv15180/kolabd/kolabd/templates
Modified Files:
resmgr.conf.template.in
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
Index: resmgr.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/resmgr.conf.template.in,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- resmgr.conf.template.in 27 Nov 2007 12:35:23 -0000 1.13
+++ resmgr.conf.template.in 27 Nov 2007 14:21:15 -0000 1.14
@@ -152,7 +152,14 @@
/* Temporary data storage for the scripts */
$conf['filter']['tempdir'] = '@resmgr_tmpdir@';
-/* Horde::Log configuration */
+/* PHP error logging */
+$conf['filter']['error_log'] = '@resmgr_logdir@/fatal.log';
+
+/* Horde::Log configuration
+ *
+ * PEAR_LOG_INFO is the suggested setting for tracking what happens to
+ * your mails in the filters.
+ */
$conf['log']['enabled'] = true;
$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
$conf['log']['type'] = 'file';
From cvs at kolab.org Tue Nov 27 15:21:17 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 15:21:17 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.179,1.180
Message-ID: <20071127142117.A1363600D6F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv15180
Modified Files:
release-notes.txt
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -d -r1.179 -r1.180
--- release-notes.txt 26 Nov 2007 16:35:21 -0000 1.179
+++ release-notes.txt 27 Nov 2007 14:21:15 -0000 1.180
@@ -61,10 +61,6 @@
kolab/issue2134 ([Horde] Unable to send message with attachments)
kolab/issue2236 (Apache UID access broken)
- - kolab-filter-2.2.beta2-2007????
-
- Adapted to the restructured php-kolab/Kolab_Filter package.
-
- horde-framework-kolab-3.2_ALPHA-2007????
New functionality required for kolab-freebusy.
@@ -87,6 +83,12 @@
kolab/issue2040 (Horde: resouces are not displayed in address book)
kolab/issue2135 ([horde/turba] Turba should support some more contact attributes)
+
+ - kolab-filter-2.2.beta2-2007????
+
+ Adapted to the restructured php-kolab/Kolab_Filter package.
+
+ kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
- kolab-freebusy-2.2.???-2007????
From cvs at kolab.org Tue Nov 27 15:21:17 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 15:21:17 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests/_data big.eml,NONE,1.1
Message-ID: <20071127142117.B5681600D75@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests/_data
In directory doto:/tmp/cvs-serv15180/php-kolab/Kolab_Filter/tests/_data
Added Files:
big.eml
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
--- NEW FILE: big.eml ---
Return-Path:
Received: from localhost (host.example.com [127.0.0.1])
by host.example.com (Cyrus v2.3.9-openpkg) with LMTPA;
Tue, 27 Nov 2007 13:56:32 +0100
X-Sieve: CMU Sieve 2.3
Received: from localhost (host.example.com [127.0.0.1])
by host.example.com (Postfix) with ESMTP id 38392A2B1566
for ; Tue, 27 Nov 2007 13:56:32 +0100 (CET)
X-Virus-Scanned: by amavisd-new at host.example.com
Received: from host.example.com ([127.0.0.1])
by localhost (host.example.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id ki6IOTilw97b for ;
Tue, 27 Nov 2007 13:56:31 +0100 (CET)
Received: from localhost (host.example.com [127.0.0.1])
by host.example.com (Postfix) with ESMTP id 57BB8A2B1568
for ; Tue, 27 Nov 2007 13:56:31 +0100 (CET)
Received: from example.com (mail.example.com [87.106.53.197])
by host.example.com (Postfix) with ESMTP id 198C3A2B1566
for ; Tue, 27 Nov 2007 13:56:30 +0100 (CET)
[...17208 lines suppressed...]
Un/56a//ANBl/wDgD0JjH/1o86ssG/8A2TSD2r/yEsf/AD1f+4+vyun/AOzdr9H4d/8AV23r8qSW
P/8AxcrH/wC8B/8A4tfXbMK/71v/ANK5ZiX+w7/7j5UxujX/AJY5L/6G0/8A45vXULz/ALIVy9z/
AL0eVdjNh/8ANJpf/sP/APL9S+D/AO2uj7v/AOwb/wDw1z0qf+W1L/7b/vPoBf8A3SfWnWK/7HrV
jfTj/wCHbx/7fD/3L6BxP/cPlTmx/wCyHrUafV7/AOfmL/6Hy/8A3LN6hrv6/WrVn/64eRqHegn/
AJzOn3/z9P8A4xvVti3/AGVcktP+6PlXezef+Fr3/wBD5/8A4EvrnNp+xfmKLa/3E1x6rf8A4y+J
/wDny/8AwfXasQ/7AeVYW/8Aupq5N6/8L1T/AOidn/4h/XLezn7F/wDsaqcT/u8hUF4b/wA5Gb/9
pX/4z1cq/wC299YYh+8f+oqiOlv/AJQdQ/8A57R/+FJ6jb//ALZvyNfL/ePM/IVFI/8Ax0cv/wDR
A/8Awk9V2H//AEaPM/KucWH/ANz766Qb1/5cYv8A/u//ABkPqQwn/tx510Wy/a/QnuP/AJT7H/7D
H/8AD9VVvuryP0qXXtSVzn/jzo1/9H5P++H0jwH/AGnvI1MO/wC+nz+9Nen/AOWWX/8Aokf/AI31
Pu/7LfmK61hf7T/6n5VXHTr9c/8A/d/+CfVi3/sJ86gl/wC8PSh7ev8AyKzP/wA4g/7h60q2PlW9
3cedRJ0m/wDMMv8A9kMv/wAI+m1z+5Hl9Kz7Mbq8z86WHQH/AM8cP/0dX/4weinP9v0+tZYt/wB0
nz+ldAt4/wDI67/7SP8A4w+qe1/YPKuNW3/2R/8A4hqQ9S/8fT/+33//ALkg9QGIf916135rdz0q
p9e/8io//Z19XPaH/YHlUPjP/wBgjzNf/9k=
--=-=-=
--
--=-=-=--
From cvs at kolab.org Tue Nov 27 15:21:17 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 15:21:17 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Filter.php, 1.3,
1.4 Incoming.php, 1.4, 1.5 Outgoing.php, 1.4, 1.5 Resource.php,
1.2, 1.3
Message-ID: <20071127142117.CB324600D76@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv15180/php-kolab/Kolab_Filter/Filter
Modified Files:
Filter.php Incoming.php Outgoing.php Resource.php
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
Index: Filter.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Filter.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Filter.php 27 Nov 2007 12:35:23 -0000 1.3
+++ Filter.php 27 Nov 2007 14:21:15 -0000 1.4
@@ -68,6 +68,8 @@
var $_startts;
+ var $_id = '';
+
var $_debug;
var $_tmpdir;
@@ -85,6 +87,21 @@
{
global $conf;
+ /* Always display all possible problems */
+ ini_set('error_reporting', E_ALL);
+ ini_set('track_errors', '1');
+
+ /* Setup error logging */
+ if (!empty($conf['filter']['error_log'])) {
+ ini_set('log_errors', '1');
+ ini_set('error_log', $conf['filter']['error_log']);
+ }
+
+ /* Print PHP messages to StdOut if we are debugging */
+ if ($debug) {
+ ini_set('display_errors', '1');
+ }
+
$this->_transport = $transport;
$this->_debug = $debug;
@@ -138,6 +155,12 @@
if ($result instanceof PEAR_Error) {
$this->_handle($result);
}
+
+ Horde::logMessage(sprintf(_("%s successfully completed (sender=%s, recipients=%s, client_address=%s, id=%s)"),
+ get_class($this), $this->_sender,
+ join(', ',$this->_recipients),
+ $this->_client_address, $this->_id),
+ __FILE__, __LINE__, PEAR_LOG_INFO);
}
function _start()
@@ -155,7 +178,9 @@
}
Horde::logMessage(sprintf(_("%s starting up (sender=%s, recipients=%s, client_address=%s)"),
- get_class($this), $this->_sender, join(', ',$this->_recipients), $this->_client_address),
+ get_class($this), $this->_sender,
+ join(', ',$this->_recipients),
+ $this->_client_address),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
}
@@ -169,14 +194,18 @@
$args = $_SERVER['argv'];
$opts = array( 's', 'r', 'c', 'h', 'u' );
+ Horde::logMessage(sprintf(_("Arguments: %s"), print_r($args, true)),
+ __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
$options = array();
for ($i = 0; $i < count($args); ++$i) {
$arg = $args[$i];
- if ($arg[0] == '-') {
+ if (!empty($arg) && $arg[0] == '-' && isset($arg[1])) {
if (in_array($arg[1], $opts)) {
$val = array();
$i++;
- while($i < count($args) && $args[$i][0] != '-') {
+ while($i < count($args) && !empty($args[$i]) &&
+ $args[$i][0] != '-') {
$val[] = $args[$i];
$i++;
}
@@ -302,21 +331,24 @@
$msg = 'CRITICAL: You hit a fatal bug in kolab-filter. Please inform the Kolab developers at https://www.intevation.de/roundup/kolab/. The error was: ' . $errmsg;
} else {
$code = 0;
- $msg = $errmsg;
+ $msg = 'PHP Error: ' . $errmsg;
}
$error = &new PEAR_Error($msg, $code);
$this->_handle($error);
- if ($errno == E_ERROR) {
- exit(0);
- }
return false;
}
function _log($result)
{
- $msg = $result->getMessage();
+ if (!empty($this->_id)) {
+ $id = ' _id . '>';
+ } else {
+ $id = '';
+ }
+
+ $msg = $result->getMessage() . $id;
/* Log all errors */
$frame = $result->getBacktrace(1);
@@ -325,7 +357,7 @@
* without a time stamp (mainly because of unit testint)
*/
if (!$this->_debug) {
- Horde::logMessage($msg, $frame['file'], $frame['line']);
+ Horde::logMessage($msg, $frame['file'], $frame['line'], PEAR_LOG_ERR);
} else {
$msg .= ' (Line ' . $frame['line'] . ' in ' . basename($frame['file']) . ")\n";
fwrite(STDOUT, $msg);
Index: Incoming.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Incoming.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Incoming.php 27 Nov 2007 12:35:23 -0000 1.4
+++ Incoming.php 27 Nov 2007 14:21:15 -0000 1.5
@@ -58,10 +58,12 @@
if ($line == '') {
/* Done with headers */
$headers_done = true;
- } else if(eregi('^Content-Type: text/calendar', $line)) {
+ } else if (eregi('^Content-Type: text/calendar', $line)) {
Horde::logMessage(_("Found iCal data in message"),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$ical = true;
+ } else if (eregi('^Message-ID: (.*)', $line, $regs)) {
+ $this->_id = $regs[1];
}
if (@fwrite($this->_tmpfh, $buffer) === false) {
$msg = $php_errormsg;
@@ -100,9 +102,7 @@
$this->_tmpfile);
if (is_a($rc, 'PEAR_Error')) {
- fwrite(STDOUT, sprintf(_("Filter failed: %s\n"),
- $rc->getMessage()));
- exit(EX_TEMPFAIL);
+ return $rc;
} else if ($rc === true) {
$newrecips[] = $recip;
}
Index: Outgoing.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Outgoing.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Outgoing.php 27 Nov 2007 12:35:23 -0000 1.4
+++ Outgoing.php 27 Nov 2007 14:21:15 -0000 1.5
@@ -125,6 +125,8 @@
Horde::logMessage(_("Found iCal data in message"),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$ical = true;
+ } else if (eregi('^Message-ID: (.*)', $line, $regs)) {
+ $this->_id = $regs[1];
}
break;
case RM_STATE_READING_FROM:
@@ -183,9 +185,6 @@
if (is_a($result, 'PEAR_Error')) {
return $result;
}
-
- Horde::logMessage(_("Filter_Outgoing successfully completed."),
- __FILE__, __LINE__, PEAR_LOG_DEBUG);
}
function deliver($rewrittenfrom)
Index: Resource.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Resource.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Resource.php 27 Nov 2007 10:01:52 -0000 1.2
+++ Resource.php 27 Nov 2007 14:21:15 -0000 1.3
@@ -882,28 +882,21 @@
return $epoch;
}
-function &buildKolabEvent(&$itip, $use_new_horde)
+function &buildKolabEvent(&$itip)
{
global $organiser, $resource, $uid, $sid;
- if (version_compare(PHP_VERSION,'5', '>=') && !$use_new_horde) {
- require_once('Kolab/Freebusy/domxml-php4-to-php5.php');
- } else {
- require_once('Horde/DOM.php');
- }
+ require_once('Horde/DOM.php');
$recurrence = false;
- if (!$use_new_horde) {
- $kolab_xml = domxml_new_doc('1.0');
- } else {
- $kolab_xml = Horde_DOM_Document::factory(array('xml' => $xml_text));
- if (is_a($result, 'PEAR_Error')) {
- // There were errors building the xml document
- Horde::logMessage(sprintf(_("Error building xml document: %s"),
- $result->getMessage()),
- __FILE__, __LINE__, PEAR_LOG_ERR);
- return false;
- }
+
+ $kolab_xml = Horde_DOM_Document::factory(array('xml' => $xml_text));
+ if (is_a($result, 'PEAR_Error')) {
+ // There were errors building the xml document
+ Horde::logMessage(sprintf(_("Error building xml document: %s"),
+ $result->getMessage()),
+ __FILE__, __LINE__, PEAR_LOG_ERR);
+ return false;
}
$kolab_event = $kolab_xml->append_child($kolab_xml->create_element('event'));
From cvs at kolab.org Tue Nov 27 15:21:17 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 15:21:17 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter config.php, 1.6,
1.7 kolabfilter.php, 1.4, 1.5 kolabmailboxfilter.php, 1.4, 1.5
Message-ID: <20071127142117.A527A600D74@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv15180/kolab-filter/filter
Modified Files:
config.php kolabfilter.php kolabmailboxfilter.php
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- config.php 27 Nov 2007 12:35:23 -0000 1.6
+++ config.php 27 Nov 2007 14:21:15 -0000 1.7
@@ -138,7 +138,14 @@
$conf['filter']['smpt_host'] = 'localhost';
$conf['filter']['smpt_port'] = 10025;
-/* Horde::Log configuration */
+/* PHP error logging */
+$conf['filter']['error_log'] = '/kolab/var/kolab-filter/log/fatal.log';
+
+/* Horde::Log configuration
+ *
+ * PEAR_LOG_INFO is the suggested setting for tracking what happens to
+ * your mails in the filters.
+ */
$conf['log']['enabled'] = true;
$conf['log']['priority'] = PEAR_LOG_DEBUG; // Leave this on DEBUG for now. We just restructured the package...
$conf['log']['type'] = 'file';
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/kolabfilter.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- kolabfilter.php 27 Nov 2007 12:35:23 -0000 1.4
+++ kolabfilter.php 27 Nov 2007 14:21:15 -0000 1.5
@@ -34,11 +34,11 @@
*
*/
-/* Read our configuration */
-require_once 'config.php';
-
/* Load the filter library */
require_once 'Kolab/Filter/Outgoing.php';
+
+/* Read our configuration */
+require_once 'config.php';
/* Parse the mail */
$parser = &new Filter_Outgoing();
Index: kolabmailboxfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/kolabmailboxfilter.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- kolabmailboxfilter.php 27 Nov 2007 12:35:23 -0000 1.4
+++ kolabmailboxfilter.php 27 Nov 2007 14:21:15 -0000 1.5
@@ -34,11 +34,11 @@
*
*/
-/* Read our configuration */
-require_once 'config.php';
-
/* Load the filter library */
require_once 'Kolab/Filter/Incoming.php';
+
+/* Read our configuration */
+require_once 'config.php';
/* Parse the mail */
$parser = &new Filter_Incoming();
From cvs at kolab.org Tue Nov 27 15:52:20 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 15:52:20 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter config.php,1.7,1.8
Message-ID: <20071127145220.9560A600D6F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv16030/kolab-filter/filter
Modified Files:
config.php
Log Message:
Sync this configuration file with the template.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- config.php 27 Nov 2007 14:21:15 -0000 1.7
+++ config.php 27 Nov 2007 14:52:18 -0000 1.8
@@ -39,6 +39,16 @@
/* Cyrus server connection string */
$conf['filter']['imap_server'] = 'localhost';
+/* LMTP settings (Cyrus IMAPd usually offers LMTP on port 2003) */
+$conf['filter']['lmpt_host'] = $conf['filter']['imap_server'];
+$conf['filter']['lmpt_port'] = 2003;
+
+/* SMTP settings (Kolab Postfix usually offers reinjection port on
+ * 10025)
+ */
+$conf['filter']['smpt_host'] = 'localhost';
+$conf['filter']['smpt_port'] = 10025;
+
/* Local IP address of the mailserver for bypassing content filters */
$conf['filter']['local_addr'] = 'localhost';
@@ -124,19 +134,6 @@
/* Temporary data storage for the scripts */
$conf['filter']['tempdir'] = '';
-
-/* What is the address of this host? */
-$conf['filter']['server'] = 'localhost';
-
-/* LMTP settings (Cyrus IMAPd usually offers LMTP on port 2003) */
-$conf['filter']['lmpt_host'] = 'localhost';
-$conf['filter']['lmpt_port'] = 2003;
-
-/* SMTP settings (Kolab Postfix usually offers reinjection port on
- * 10025)
- */
-$conf['filter']['smpt_host'] = 'localhost';
-$conf['filter']['smpt_port'] = 10025;
/* PHP error logging */
$conf['filter']['error_log'] = '/kolab/var/kolab-filter/log/fatal.log';
From cvs at kolab.org Tue Nov 27 16:31:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 16:31:46 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter kolabfilter.php,1.5,1.6
Message-ID: <20071127153146.25E3A600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv17267/kolab-filter/filter
Modified Files:
kolabfilter.php
Log Message:
Rename Outgoing to Content and make the tests work again.
Index: kolabfilter.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/kolabfilter.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- kolabfilter.php 27 Nov 2007 14:21:15 -0000 1.5
+++ kolabfilter.php 27 Nov 2007 15:31:43 -0000 1.6
@@ -35,12 +35,12 @@
*/
/* Load the filter library */
-require_once 'Kolab/Filter/Outgoing.php';
+require_once 'Kolab/Filter/Content.php';
/* Read our configuration */
require_once 'config.php';
/* Parse the mail */
-$parser = &new Filter_Outgoing();
+$parser = &new Filter_Content();
$parser->parse();
?>
From cvs at kolab.org Tue Nov 27 16:31:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 16:31:46 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter package.xml.in,1.5,1.6
Message-ID: <20071127153146.63913600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter
In directory doto:/tmp/cvs-serv17267/php-kolab/Kolab_Filter
Modified Files:
package.xml.in
Log Message:
Rename Outgoing to Content and make the tests work again.
Index: package.xml.in
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/package.xml.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- package.xml.in 27 Nov 2007 12:35:23 -0000 1.5
+++ package.xml.in 27 Nov 2007 15:31:44 -0000 1.6
@@ -91,7 +91,7 @@
-
+
From cvs at kolab.org Tue Nov 27 16:31:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 16:31:46 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests dumb_usage.phpt, 1.2,
1.3 outgoing.phpt, 1.1, 1.2 simple_in_msg.phpt, 1.2,
1.3 simple_out_msg.phpt, 1.2, 1.3
Message-ID: <20071127153146.7D126600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests
In directory doto:/tmp/cvs-serv17267/php-kolab/Kolab_Filter/tests
Modified Files:
dumb_usage.phpt outgoing.phpt simple_in_msg.phpt
simple_out_msg.phpt
Log Message:
Rename Outgoing to Content and make the tests work again.
Index: dumb_usage.phpt
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/tests/dumb_usage.phpt,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- dumb_usage.phpt 27 Nov 2007 12:35:23 -0000 1.2
+++ dumb_usage.phpt 27 Nov 2007 15:31:44 -0000 1.3
@@ -16,6 +16,13 @@
$conf['filter']['tempdir'] = './tmp';
$_SERVER['argv'] = array('test');
+$logger = Horde::getLogger();
+
+$logger->_lineFormat = '%2$s [%3$s] %7$s';
+// Activate this if you need the log information. This will
+// make the test fail though
+//$logger->_lineFormat = '%2$s [%3$s] %4$s %7$s';
+
/* Setup the class */
$parser = &new Filter_Incoming('StdOut', true);
@@ -23,4 +30,5 @@
$parser->parse();
?>
--EXPECT--
+Kolab Filter [debug] logMessage
Usage is test -s sender at domain -r recipient at domain
Index: outgoing.phpt
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/tests/outgoing.phpt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- outgoing.phpt 27 Nov 2007 12:35:23 -0000 1.1
+++ outgoing.phpt 27 Nov 2007 15:31:44 -0000 1.2
@@ -3,7 +3,7 @@
--SKIPIF--
--FILE--
parse($inh);
?>
--EXPECT--
Kolab Filter [debug] logMessage
+Kolab Filter [debug] logMessage
Mail from sender: me at example.com
Mail to recipient: you at example.com
To: wrobel at pardus.example.com
@@ -45,4 +46,4 @@
test
.
-Kolab Filter [debug] logMessage
+Kolab Filter [info] logMessage
Index: simple_in_msg.phpt
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/tests/simple_in_msg.phpt,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- simple_in_msg.phpt 27 Nov 2007 12:35:23 -0000 1.2
+++ simple_in_msg.phpt 27 Nov 2007 15:31:44 -0000 1.3
@@ -32,6 +32,7 @@
?>
--EXPECT--
Kolab Filter [debug] logMessage
+Kolab Filter [debug] logMessage
Mail from sender: me at example.com
Mail to recipient: you at example.com
Return-Path:
@@ -142,3 +143,4 @@
------=_NextPart_7455_1D89_01C823EB.5AA2E210--
.
Kolab Filter [debug] logMessage
+Kolab Filter [info] logMessage
Index: simple_out_msg.phpt
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/tests/simple_out_msg.phpt,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- simple_out_msg.phpt 27 Nov 2007 12:35:23 -0000 1.2
+++ simple_out_msg.phpt 27 Nov 2007 15:31:44 -0000 1.3
@@ -3,7 +3,7 @@
--SKIPIF--
--FILE--
parse($inh);
?>
--EXPECT--
Kolab Filter [debug] logMessage
+Kolab Filter [debug] logMessage
Mail from sender: me at example.com
Mail to recipient: you at example.com
Return-Path:
@@ -140,4 +141,4 @@
------=_NextPart_7455_1D89_01C823EB.5AA2E210--
.
-Kolab Filter [debug] logMessage
+Kolab Filter [info] logMessage
From cvs at kolab.org Tue Nov 27 16:31:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 16:31:46 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Content.php, NONE,
1.1 Outgoing.php, 1.5, NONE
Message-ID: <20071127153146.72604600D71@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv17267/php-kolab/Kolab_Filter/Filter
Added Files:
Content.php
Removed Files:
Outgoing.php
Log Message:
Rename Outgoing to Content and make the tests work again.
--- NEW FILE: Content.php ---
_sasl_username, $this->_sender,
$from, $this->_client_address);
if (is_a($rc, 'PEAR_Error')) {
return $rc;
} else if ($rc === true) {
/* All OK, do nothing */
} else if ($rc === false) {
/* Reject! */
$senderok = false;
} else if (is_string($rc)) {
/* Rewrite from */
if (strpos($from, $rc) === false) {
Horde::logMessage(sprintf(_("Rewriting '%s' to '%s'"),
$from, $to),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$rewrittenfrom = "From: $rc\r\n";
}
}
}
} else {
if ($line[0] != ' ' && $line[0] != "\t") {
$state = RM_STATE_READING_HEADER;
}
switch( $state ) {
case RM_STATE_READING_HEADER:
if ($allow_sender_header &&
eregi('^Sender: (.*)', $line, $regs)) {
$from = $regs[1];
$state = RM_STATE_READING_SENDER;
} else if (!$from && eregi('^From: (.*)', $line, $regs)) {
$from = $regs[1];
$state = RM_STATE_READING_FROM;
} else if (eregi('^Subject: (.*)', $line, $regs)) {
$subject = $regs[1];
$state = RM_STATE_READING_SUBJECT;
} else if (eregi('^Content-Type: text/calendar', $line)) {
Horde::logMessage(_("Found iCal data in message"),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$ical = true;
} else if (eregi('^Message-ID: (.*)', $line, $regs)) {
$this->_id = $regs[1];
}
break;
case RM_STATE_READING_FROM:
$from .= $line;
break;
case RM_STATE_READING_SENDER:
$from .= $line;
break;
case RM_STATE_READING_SUBJECT:
$subject .= $line;
break;
}
}
if (@fwrite($this->_tmpfh, $buffer) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG | EX_IOERR);
}
}
while (!feof($inh)) {
$buffer = fread($inh, 8192);
if (@fwrite($this->_tmpfh, $buffer) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG | EX_IOERR);
}
}
if (@fclose($this->_tmpfh) === false) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Failed closing %s: %s"),
$this->_tmpfile, $msg),
OUT_LOG | EX_IOERR);
}
if (!$senderok) {
if ($ical && $allow_outlook_ical_forward ) {
require_once('Kolab/Filter/Outlook.php');
$rc = olhacks_embedical($this->_fqhostname, $this->_sender, $this->_recipients,
$from, $subject, $this->_tmpfname);
if (is_a($rc, 'PEAR_Error')) {
return $rc;
} else if ($rc === true) {
return;
}
} else {
return PEAR::raiseError(sprintf(_("Invalid From: header. %s looks like a forged sender"),
$from),
OUT_LOG | OUT_STDOUT | EX_NOPERM);
}
}
$result = $this->deliver($rewrittenfrom);
if (is_a($result, 'PEAR_Error')) {
return $result;
}
}
function deliver($rewrittenfrom)
{
global $conf;
if (!empty($conf['filter']['smtp_host'])) {
$host = $conf['filter']['smtp_host'];
} else {
$host = 'localhost';
}
if (!empty($conf['filter']['smtp_port'])) {
$port = $conf['filter']['smtp_port'];
} else {
$port = 10025;
}
$transport = $this->_getTransport($host, $port);
$tmpf = @fopen($this->_tmpfile, 'r');
if (!$tmpf) {
$msg = $php_errormsg;
return PEAR::raiseError(sprintf(_("Error: Could not open %s for writing: %s"),
$this->_tmpfile, $msg),
OUT_LOG | EX_IOERR);
}
$result = $transport->start($this->_sender, $this->_recipients);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
$state = RM_STATE_READING_HEADER;
while (!feof($tmpf) && $state != RM_STATE_READING_BODY) {
$buffer = fgets($tmpf, 8192);
if ($rewrittenfrom) {
if (eregi( '^From: (.*)', $buffer)) {
$result = $transport->data($rewrittenfrom);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
$state = RM_STATE_READING_FROM;
continue;
} else if ($state == RM_STATE_READING_FROM &&
($buffer[0] == ' ' || $buffer[0] == "\t")) {
/* Folded From header, ignore */
continue;
}
}
if (rtrim($buffer, "\r\n") == '') {
$state = RM_STATE_READING_BODY;
} else if ($buffer[0] != ' ' && $buffer[0] != "\t") {
$state = RM_STATE_READING_HEADER;
}
$result = $transport->data($buffer);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
}
while (!feof($tmpf)) {
$buffer = fread($tmpf, 8192);
$len = strlen($buffer);
/* We can't tolerate that the buffer breaks the data
* between \r and \n, so we try to avoid that. The limit
* of 100 reads is to battle abuse
*/
while ($buffer{$len-1} == "\r" && $len < 8192 + 100) {
$buffer .= fread($tmpf,1);
$len++;
}
$result = $transport->data($buffer);
if (is_a($result, 'PEAR_Error')) {
return $this->_rewriteCode($result);
}
}
return $transport->end();
}
}
// Cleanup function
function is_my_domain($addr)
{
global $conf;
if (!empty($conf['filter']['verify_subdomains'])) {
$verify_subdomains = $conf['filter']['verify_subdomains'];
} else {
$verify_subdomains = true;
}
if (!empty($conf['filter']['email_domain'])) {
$email_domain = $conf['filter']['email_domain'];
} else {
$email_domain = 'localhost';
}
$domains = (array) $email_domain;
$adrs = imap_rfc822_parse_adrlist($addr, $email_domain);
foreach ($adrs as $adr) {
$adrdom = $adr->host;
if (empty($adrdom)) {
continue;
}
foreach ($domains as $dom) {
if ($dom == $adrdom) {
return true;
}
if ($verify_subdomains && substr($adrdom, -strlen($dom)-1) == ".$dom") {
return true;
}
}
}
return false;
}
/**
Returns a list of allowed email addresses for user $sasluser
or a PEAR_Error object if something croaked.
*/
function addrs_for_uid($sasluser)
{
global $conf;
/* Connect to the LDAP server and retrieve the users'
* allowed email addresses
*/
$ldap = ldap_connect($conf['filter']['ldap_uri']);
if (!ldap_bind($ldap, $conf['filter']['bind_dn'], $conf['filter']['bind_pw'])) {
return PEAR::raiseError(sprintf(_("Unable to contact LDAP server: %s"),
ldap_error($ldap)),
OUT_LOG | EX_TEMPFAIL);
}
$filter = "(&(objectClass=kolabInetOrgPerson)(|(mail=$sasluser)(uid=$sasluser)))";
$result = ldap_search($ldap, $conf['filter']['base_dn'],
$filter,
array("dn", "mail", "alias" ));
if (!$result) {
return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
ldap_error($ldap)),
OUT_LOG | EX_TEMPFAIL);
}
$entries = ldap_get_entries($ldap, $result);
if ($entries['count'] != 1) {
return PEAR::raiseError(sprintf(_("%s objects returned for uid %s. Unable to look up user."),
$entries['count'], $sasluser),
OUT_LOG | EX_TEMPFAIL);
}
unset($entries[0]['mail']['count']);
unset($entries[0]['alias']['count']);
$addrs = array_merge((array) $entries[0]['mail'],(array) $entries[0]['alias']);
$mail = $entries[0]['mail'][0];
ldap_free_result($result);
$filter = "(&(objectClass=kolabInetOrgPerson)(kolabDelegate=$mail))";
$result = ldap_search($ldap, $conf['filter']['base_dn'],
$filter,
array("dn", "mail" ));
if (!$result) {
return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
ldap_error($ldap)),
OUT_LOG | EX_TEMPFAIL);
}
$entries = ldap_get_entries($ldap, $result);
unset( $entries['count'] );
foreach( $entries as $adr ) {
if( $adr['mail']['count'] > 0 ) {
unset($adr['mail']['count']);
$addrs = array_merge((array) $addrs,(array) $adr['mail']);
}
}
ldap_free_result($result);
ldap_close($ldap);
return $addrs;
}
/** Returns the format string used to rewrite
the From header for untrusted messages */
function get_untrusted_subject_insert($sasluser,$sender)
{
global $conf;
if ($sasluser) {
if (!empty($conf['filter']['untrusted_subject_insert'])) {
$fmt = $conf['filter']['untrusted_subject_insert'];
} else {
$fmt = _("(UNTRUSTED, sender is <%s>)");
}
} else {
if (!empty($conf['filter']['unauthenticated_subject_insert'])) {
$fmt = $conf['filter']['unauthenticated_subject_insert'];
} else {
$fmt = _("(UNTRUSTED, sender <%s> is not authenticated)");
}
}
return sprintf($fmt, $sender);
}
/** Check that the From header is not trying
to impersonate a valid user that is not
$sasluser. Returns one of:
* True if From can be accepted
* False if From must be rejected
* A string with a corrected From header that makes
From acceptable
* A PEAR_Error object if something croaked
*/
function verify_sender($sasluser, $sender, $fromhdr, $client_addr) {
global $conf;
if (!empty($conf['filter']['email_domain'])) {
$domains = $conf['filter']['email_domain'];
} else {
$domains = 'localhost';
}
if (!is_array($domains)) {
$domains = array($domains);
}
if (!empty($conf['filter']['local_addr'])) {
$local_addr = $conf['filter']['local_addr'];
} else {
$local_addr = 'localhost';
}
if (!empty($conf['filter']['verify_subdomains'])) {
$verify_subdomains = $conf['filter']['verify_subdomains'];
} else {
$verify_subdomains = true;
}
if (!empty($conf['filter']['reject_forged_from_headers'])) {
$reject_forged_from_headers = $conf['filter']['reject_forged_from_headers'];
} else {
$reject_forged_from_headers = true;
}
if (!empty($conf['filter']['kolabhosts'])) {
$kolabhosts = $conf['filter']['kolabhosts'];
} else {
$kolabhosts = 'localhost';
}
/* Allow anything from localhost and
* fellow Kolab-hosts
*/
if ($client_addr == $local_addr) {
return true;
}
$kolabhosts = split(',', $kolabhosts);
$kolabhosts = array_map('gethostbyname', $kolabhosts );
if (array_search($client_addr, $kolabhosts) !== false) {
return true;
}
if ($sasluser) {
$allowed_addrs = addrs_for_uid($sasluser);
if (is_a($allowed_addrs, 'PEAR_Error')) {
return $allowed_addrs;
}
} else {
$allowed_addrs = false;
}
$untrusted = get_untrusted_subject_insert($sasluser,$sender);
$adrs = imap_rfc822_parse_adrlist($fromhdr, $domains[0]);
foreach ($adrs as $adr) {
$from = $adr->mailbox . '@' . $adr->host;
$fromdom = $adr->host;
if ($sasluser) {
if (!in_array(strtolower($from), $allowed_addrs)) {
Horde::logMessage(sprintf(_("%s is not an allowed From address for %s"),
$from, $sasluser), __FILE__, __LINE__, PEAR_LOG_DEBUG);
return false;
}
} else {
foreach ($domains as $domain) {
if (strtolower($fromdom) == $domain
|| ($verify_subdomains
&& substr($fromdom, -strlen($domain)-1) == ".$domain")) {
if ($reject_forged_from_header) {
Horde::logMessage(sprintf(_("%s is not an allowed From address for unauthenticated users."),
$from), __FILE__, __LINE__, PEAR_LOG_DEBUG);
return false;
} else {
/* Rewrite */
Horde::logMessage(sprintf(_("%s is not an allowed From address for unauthenticated users, rewriting."),
$from), __FILE__, __LINE__, PEAR_LOG_DEBUG);
if (strpos( $fromhdr, $untrusted )===false) {
return '"'.str_replace(array("\\",'"'),array("\\\\",'\"'),$adr->personal).' '.$untrusted.'" '.'<'.$from.'>';
} else {
return true;
}
}
}
}
}
}
/* All seems OK */
return true;
/* TODO: What do we do about subdomains? */
/*
$senderdom = substr(strrchr($sender, '@'), 1);
foreach( $domains as $domain ) {
if( $conf['filter']['verify_subdomains'] ) {
if( ($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 ) {
return false;
}
}
}
}
return true;
*/
}
?>
--- Outgoing.php DELETED ---
From cvs at kolab.org Tue Nov 27 18:16:07 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Tue, 27 Nov 2007 18:16:07 +0100 (CET)
Subject: marcus: server/kolabd/kolabd/dist_conf suse,1.63,1.64
Message-ID: <20071127171607.44414600D65@lists.intevation.de>
Author: marcus
Update of /kolabrepository/server/kolabd/kolabd/dist_conf
In directory doto:/tmp/cvs-serv20129/dist_conf
Modified Files:
suse
Log Message:
- updated dist_conf/suse file
Index: suse
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/dist_conf/suse,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- suse 7 Nov 2007 14:50:41 -0000 1.63
+++ suse 27 Nov 2007 17:16:05 -0000 1.64
@@ -141,17 +141,17 @@
sasl_authdconffile=${sysconfdir}/saslauthd.conf
sasl_logfile=${localstatedir}/log/saslauthd.log
-resmgr_logfile=${localstatedir}/log/kolab/resmgr.log
+resmgr_logdir=${localstatedir}/log/kolab
resmgr_scriptsdir=${kolab_scriptsdir}/resmgr
resmgr_confdir=${resmgr_scriptsdir}
resmgr_conffile_usr=kolab
resmgr_conffile_grp=root
-resmgr_filterdir=${localstatedir}/lib/kolab/resmgr
+resmgr_filterdir=${localstatedir}/lib/kolab/kolab-filter
resmgr_usr=root
resmgr_grp=root
fbview_logfile=${localstatedir}/log/kolab/fbview.log
-freebusy_logfile=${localstatedir}/log/kolab/freebusy.log
+freebusy_logdir=${localstatedir}/log/kolab
freebusy_confdir=${webserver_document_root}${webserver_web_prefix}/freebusy
freebusy_cachedir=${webserver_document_root}${webserver_web_prefix}/freebusy/cache
freebusy_usr=wwwrun
From cvs at kolab.org Wed Nov 28 07:06:14 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:06:14 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter ChangeLog,1.2,1.3
Message-ID: <20071128060614.DD16D600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter
In directory doto:/tmp/cvs-serv10688/php-kolab/Kolab_Filter
Modified Files:
ChangeLog
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/ChangeLog,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- ChangeLog 26 Nov 2007 16:35:21 -0000 1.2
+++ ChangeLog 28 Nov 2007 06:06:12 -0000 1.3
@@ -1,3 +1,15 @@
+2007-11-28 Gunnar Wrobel
+
+ * Filter/Incoming.php:
+
+ kolab/issue2174 (Automatic Invitation Policy not working with invites as attachment)
+
+2007-11-27 Gunnar Wrobel
+
+ * Filter/*:
+
+ kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
+
2007-11-26 Gunnar Wrobel
* Filter/*:
From cvs at kolab.org Wed Nov 28 07:06:14 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:06:14 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.180,1.181
Message-ID: <20071128060614.D928E600166@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv10688
Modified Files:
release-notes.txt
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.180
retrieving revision 1.181
diff -u -d -r1.180 -r1.181
--- release-notes.txt 27 Nov 2007 14:21:15 -0000 1.180
+++ release-notes.txt 28 Nov 2007 06:06:12 -0000 1.181
@@ -88,6 +88,7 @@
Adapted to the restructured php-kolab/Kolab_Filter package.
+ kolab/issue2174 (Automatic Invitation Policy not working with invites as attachment)
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
- kolab-freebusy-2.2.???-2007????
From cvs at kolab.org Wed Nov 28 07:06:15 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:06:15 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Content.php, 1.1,
1.2 Incoming.php, 1.5, 1.6 Outlook.php, 1.3, 1.4 Resource.php,
1.3, 1.4 Transport.php, 1.1, 1.2
Message-ID: <20071128060615.3D127600166@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv10688/php-kolab/Kolab_Filter/Filter
Modified Files:
Content.php Incoming.php Outlook.php Resource.php
Transport.php
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
Index: Content.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Content.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Content.php 27 Nov 2007 15:31:44 -0000 1.1
+++ Content.php 28 Nov 2007 06:06:12 -0000 1.2
@@ -88,7 +88,7 @@
if ($from && $verify_from_header) {
$rc = verify_sender($this->_sasl_username, $this->_sender,
$from, $this->_client_address);
- if (is_a($rc, 'PEAR_Error')) {
+ if ($rc instanceof PEAR_Error) {
return $rc;
} else if ($rc === true) {
/* All OK, do nothing */
@@ -169,7 +169,7 @@
require_once('Kolab/Filter/Outlook.php');
$rc = olhacks_embedical($this->_fqhostname, $this->_sender, $this->_recipients,
$from, $subject, $this->_tmpfname);
- if (is_a($rc, 'PEAR_Error')) {
+ if ($rc instanceof PEAR_Error) {
return $rc;
} else if ($rc === true) {
return;
@@ -182,7 +182,7 @@
}
$result = $this->deliver($rewrittenfrom);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
}
@@ -213,7 +213,7 @@
}
$result = $transport->start($this->_sender, $this->_recipients);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
@@ -223,7 +223,7 @@
if ($rewrittenfrom) {
if (eregi( '^From: (.*)', $buffer)) {
$result = $transport->data($rewrittenfrom);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
$state = RM_STATE_READING_FROM;
@@ -240,7 +240,7 @@
$state = RM_STATE_READING_HEADER;
}
$result = $transport->data($buffer);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
}
@@ -257,7 +257,7 @@
$len++;
}
$result = $transport->data($buffer);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
}
@@ -454,7 +454,7 @@
if ($sasluser) {
$allowed_addrs = addrs_for_uid($sasluser);
- if (is_a($allowed_addrs, 'PEAR_Error')) {
+ if ($allowed_addrs instanceof PEAR_Error) {
return $allowed_addrs;
}
} else {
Index: Incoming.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Incoming.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- Incoming.php 27 Nov 2007 14:21:15 -0000 1.5
+++ Incoming.php 28 Nov 2007 06:06:12 -0000 1.6
@@ -45,19 +45,20 @@
{
Filter::Filter($transport, $debug);
}
-
+
function _parse($inh = STDIN)
{
$ical = false;
$add_headers = array();
$headers_done = false;
- while (!feof($inh) && !$headers_done) {
+ /* High speed section START */
+ while (!feof($inh)) {
$buffer = fgets($inh, 8192);
$line = rtrim( $buffer, "\r\n");
if ($line == '') {
/* Done with headers */
- $headers_done = true;
+ break;
} else if (eregi('^Content-Type: text/calendar', $line)) {
Horde::logMessage(_("Found iCal data in message"),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
@@ -73,15 +74,39 @@
}
}
- while (!feof($inh)) {
- $buffer = fread($inh, 8192);
- if (@fwrite($this->_tmpfh, $buffer) === false) {
- $msg = $php_errormsg;
- return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
- $this->_tmpfile, $msg),
- OUT_LOG | EX_TEMPFAIL);
+ if ($ical) {
+ /* iCal already identified. So let's just pipe the rest of
+ * the message through.
+ */
+ while (!feof($inh)) {
+ $buffer = fread($inh, 8192);
+ if (@fwrite($this->_tmpfh, $buffer) === false) {
+ $msg = $php_errormsg;
+ return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
+ $this->_tmpfile, $msg),
+ OUT_LOG | EX_TEMPFAIL);
+ }
+ }
+ } else {
+ /* No ical yet? Let's try to identify the string
+ * "text/calendar". It's likely that we have a mime
+ * multipart message including iCal then.
+ */
+ while (!feof($inh)) {
+ $buffer = fread($inh, 8192);
+ if (@fwrite($this->_tmpfh, $buffer) === false) {
+ $msg = $php_errormsg;
+ return PEAR::raiseError(sprintf(_("Error: Could not write to %s: %s"),
+ $this->_tmpfile, $msg),
+ OUT_LOG | EX_TEMPFAIL);
+ }
+ if (strpos($buffer, 'text/calendar')) {
+ $ical = true;
+ }
}
}
+ /* High speed section END */
+
if (@fclose($this->_tmpfh) === false) {
$msg = $php_errormsg;
@@ -101,7 +126,7 @@
$rc = resmgr_filter($this->_fqhostname, $this->_sender, $recip,
$this->_tmpfile);
- if (is_a($rc, 'PEAR_Error')) {
+ if ($rc instanceof PEAR_Error) {
return $rc;
} else if ($rc === true) {
$newrecips[] = $recip;
@@ -120,7 +145,7 @@
return;
} else {
$result = $this->deliver();
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
}
@@ -155,7 +180,7 @@
}
$result = $transport->start($this->_sender, $this->_recipients);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
@@ -166,13 +191,13 @@
$headers_done = true;
foreach ($this->_add_headers as $h) {
$result = $transport->data("$h\r\n");
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
}
}
$result = $transport->data($buffer);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
}
@@ -190,7 +215,7 @@
$len++;
}
$result = $transport->data($buffer);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $this->_rewriteCode($result);
}
}
Index: Outlook.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Outlook.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Outlook.php 27 Nov 2007 12:35:23 -0000 1.3
+++ Outlook.php 28 Nov 2007 06:06:12 -0000 1.4
@@ -220,7 +220,7 @@
}
$result = $mailer->send($recipients, $headerArray, $msg);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
$append = sprintf(_(", original code %s"), $result->getCode());
$result->message = $result->getMessage() . $append;
$result->code = OUT_LOG | OUT_STDOUT | EX_TEMPFAIL;
Index: Resource.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Resource.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Resource.php 27 Nov 2007 14:21:15 -0000 1.3
+++ Resource.php 28 Nov 2007 06:06:12 -0000 1.4
@@ -860,7 +860,7 @@
} else {
$date = gmstrftime('%Y-%m-%dT%H:%M:%SZ', $ical_date);
}
- Horde::logMessage(sprintf(_("To <%s>"), $date)),
+ Horde::logMessage(sprintf(_("To <%s>"), $date),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
return $date;
}
@@ -877,7 +877,7 @@
$epoch=gmmktime($temp['hour'],$temp['minute'],$temp['second'],$temp['month'],$temp['mday'],$temp['year']);
} else { $epoch=$values;}
- Horde::logMessage(sprintf(_("Converted <%s>"), $epoch)),
+ Horde::logMessage(sprintf(_("Converted <%s>"), $epoch),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
return $epoch;
}
@@ -1516,7 +1516,7 @@
// Delete any old events that we updated
if( !empty( $updated_messages ) ) {
Horde::logMessage(sprintf(_("Deleting %s because of update."),
- join(', ',$deleted_messages))
+ join(', ',$deleted_messages)),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$imap->deleteMessages( $updated_messages );
$imap->expunge();
Index: Transport.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Transport.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Transport.php 26 Nov 2007 16:35:21 -0000 1.1
+++ Transport.php 28 Nov 2007 06:06:12 -0000 1.2
@@ -53,7 +53,7 @@
function start($sender, $recips)
{
$transport = $this->createTransport();
- if (is_a($transport, 'PEAR_Error')) {
+ if ($transport instanceof PEAR_Error) {
return $transport;
}
$this->transport = $transport;
@@ -62,12 +62,12 @@
$this->got_newline = true;
$result = $this->transport->connect();
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
$result = $this->transport->mailFrom($sender);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
$resp = $this->transport->getResponse();
return PEAR::raiseError(sprintf(_("Failed to set sender: %s, code=%s"),
$resp[1], $resp[0]), $resp[0]);
@@ -80,7 +80,7 @@
$reciperrors = array();
foreach ($recips as $recip) {
$result = $this->transport->rcptTo($recip);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
$resp = $this->transport->getResponse();
$reciperrors[] = PEAR::raiseError(sprintf(_("Failed to set recipient: %s, code=%s"),
$resp[1], $resp[0]), $resp[0]);
@@ -99,12 +99,12 @@
}
$result = $this->transport->_put('DATA');
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
$result = $this->transport->_parseResponse(354);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
@@ -149,7 +149,7 @@
* Because a single leading period (.) signifies an end to the data,
* legitimate leading periods need to be "doubled" (e.g. '..').
*/
- if ($this->got_newline && $data[0] == '.') {
+ if ($this->got_newline && !empty($data) && $data[0] == '.') {
$data = '.'.$data;
}
@@ -163,7 +163,7 @@
function data($data) {
$this->quotedataline($data);
$result = $this->transport->_send($data);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
return true;
@@ -178,11 +178,11 @@
}
$result = $this->transport->_send($dot);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
$result = $this->transport->_parseResponse(250);
- if (is_a($result, 'PEAR_Error')) {
+ if ($result instanceof PEAR_Error) {
return $result;
}
$this->transport->disconnect();
@@ -261,6 +261,24 @@
}
}
+class DropWrapper extends StdOutWrapper
+{
+ function mailFrom($sender)
+ {
+ return true;
+ }
+
+ function rcptTo($recipient)
+ {
+ return true;
+ }
+
+ function _send($data)
+ {
+ return true;
+ }
+}
+
class Transport_StdOut extends Transport
{
@@ -271,6 +289,20 @@
function &createTransport()
{
$transport = &new StdOutWrapper();
+ return $transport;
+ }
+}
+
+class Transport_Drop extends Transport
+{
+
+ function Transport_SMTP($host = 'irrelevant', $port = 0)
+ {
+ }
+
+ function &createTransport()
+ {
+ $transport = &new DropWrapper();
return $transport;
}
}
From cvs at kolab.org Wed Nov 28 07:06:14 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:06:14 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests load.phpt,NONE,1.1
Message-ID: <20071128060614.DBF02600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests
In directory doto:/tmp/cvs-serv10688/php-kolab/Kolab_Filter/tests
Added Files:
load.phpt
Log Message:
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
--- NEW FILE: load.phpt ---
--TEST--
A load test for the incoming filter.
--SKIPIF--
--FILE--
_lineFormat = '%2$s [%3$s] %7$s';
// Activate this if you need the log information. This will
// make the test fail though
//$logger->_lineFormat = '%2$s [%3$s] %4$s %7$s';
$timer = 0.0;
for ($i = 0; $i < 100; $i++) {
$parser = &new Filter_Incoming('Drop', true);
$inh = fopen('_data/tiny.eml', 'r');
$parser->parse($inh);
$timer += $parser->_stop();
$parser = &new Filter_Incoming('Drop', true);
$inh = fopen('_data/simple.eml', 'r');
$parser->parse($inh);
$timer += $parser->_stop();
$parser = &new Filter_Incoming('Drop', true);
$inh = fopen('_data/big.eml', 'r');
$parser->parse($inh);
$timer += $parser->_stop();
}
// Let's use a average limit of 0.05 s per mail The above section runs
// 300 Mails through parsing so this should take at most 15 seconds.
var_dump($timer < 15);
?>
--EXPECT--
bool(true)
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework Makefile, 1.8,
NONE kolab-horde-framework.spec, 1.9, NONE
Message-ID: <20071128065130.1A61C60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework
In directory doto:/tmp/cvs-serv14629
Removed Files:
Makefile kolab-horde-framework.spec
Log Message:
Removed kolab-horde-framework
--- Makefile DELETED ---
--- kolab-horde-framework.spec DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework .htaccess,
1.1, NONE install-packages.bat, 1.1, NONE install-packages.php,
1.1, NONE
Message-ID: <20071128065130.21C8A600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework
Removed Files:
.htaccess install-packages.bat install-packages.php
Log Message:
Removed kolab-horde-framework
--- .htaccess DELETED ---
--- install-packages.bat DELETED ---
--- install-packages.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Auth
Auth.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065130.4E71360016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Auth
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Auth
Removed Files:
Auth.php package.xml
Log Message:
Removed kolab-horde-framework
--- Auth.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Auth/Auth
Signup.php, 1.1, NONE application.php, 1.1, NONE auto.php, 1.1,
NONE composite.php, 1.1, NONE customsql.php, 1.1,
NONE cyrsql.php, 1.1, NONE cyrus.php, 1.1, NONE ftp.php, 1.1,
NONE http.php, 1.1, NONE imap.php, 1.1, NONE imsp.php, 1.1,
NONE ipbasic.php, 1.1, NONE ipmap.php, 1.1, NONE krb5.php, 1.1,
NONE ldap.php, 1.1, NONE login.php, 1.1, NONE mcal.php, 1.1,
NONE pam.php, 1.1, NONE passwd.php, 1.1, NONE radius.php, 1.1,
NONE sasl.php, 1.1, NONE smb.php, 1.1, NONE sql.php, 1.1,
NONE yahoo.php, 1.1, NONE
Message-ID: <20071128065130.9584960016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Auth/Auth
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Auth/Auth
Removed Files:
Signup.php application.php auto.php composite.php
customsql.php cyrsql.php cyrus.php ftp.php http.php imap.php
imsp.php ipbasic.php ipmap.php krb5.php ldap.php login.php
mcal.php pam.php passwd.php radius.php sasl.php smb.php
sql.php yahoo.php
Log Message:
Removed kolab-horde-framework
--- Signup.php DELETED ---
--- application.php DELETED ---
--- auto.php DELETED ---
--- composite.php DELETED ---
--- customsql.php DELETED ---
--- cyrsql.php DELETED ---
--- cyrus.php DELETED ---
--- ftp.php DELETED ---
--- http.php DELETED ---
--- imap.php DELETED ---
--- imsp.php DELETED ---
--- ipbasic.php DELETED ---
--- ipmap.php DELETED ---
--- krb5.php DELETED ---
--- ldap.php DELETED ---
--- login.php DELETED ---
--- mcal.php DELETED ---
--- pam.php DELETED ---
--- passwd.php DELETED ---
--- radius.php DELETED ---
--- sasl.php DELETED ---
--- smb.php DELETED ---
--- sql.php DELETED ---
--- yahoo.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Block
Block.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065130.A00AF600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Block
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Block
Removed Files:
Block.php package.xml
Log Message:
Removed kolab-horde-framework
--- Block.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Browser/Browser
imode.php, 1.1, NONE
Message-ID: <20071128065130.E0E2260016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Browser/Browser
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Browser/Browser
Removed Files:
imode.php
Log Message:
Removed kolab-horde-framework
--- imode.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Browser
Browser.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065130.B010D60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Browser
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Browser
Removed Files:
Browser.php package.xml
Log Message:
Removed kolab-horde-framework
--- Browser.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:31 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:31 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/CLI
CLI.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065131.2C3D060016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/CLI
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/CLI
Removed Files:
CLI.php package.xml
Log Message:
Removed kolab-horde-framework
--- CLI.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:31 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:31 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Cache
Cache.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065131.77F2C60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Cache
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Cache
Removed Files:
Cache.php package.xml
Log Message:
Removed kolab-horde-framework
--- Cache.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:30 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:30 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Block/Block
Collection.php, 1.1, NONE Layout.php, 1.1, NONE UI.php, 1.1, NONE
Message-ID: <20071128065130.A9C2A600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Block/Block
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Block/Block
Removed Files:
Collection.php Layout.php UI.php
Log Message:
Removed kolab-horde-framework
--- Collection.php DELETED ---
--- Layout.php DELETED ---
--- UI.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:31 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:31 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Cache/Cache
file.php, 1.1, NONE zps.php, 1.1, NONE
Message-ID: <20071128065131.90E3E60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Cache/Cache
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Cache/Cache
Removed Files:
file.php zps.php
Log Message:
Removed kolab-horde-framework
--- file.php DELETED ---
--- zps.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:31 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:31 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Cipher
Cipher.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065131.B00EF60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Cipher
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Cipher
Removed Files:
Cipher.php package.xml
Log Message:
Removed kolab-horde-framework
--- Cipher.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:32 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Cipher/Cipher/BlockMode
cbc.php, 1.1, NONE cfb64.php, 1.1, NONE ecb.php, 1.1,
NONE ofb64.php, 1.1, NONE
Message-ID: <20071128065132.0048D60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Cipher/Cipher/BlockMode
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Cipher/Cipher/BlockMode
Removed Files:
cbc.php cfb64.php ecb.php ofb64.php
Log Message:
Removed kolab-horde-framework
--- cbc.php DELETED ---
--- cfb64.php DELETED ---
--- ecb.php DELETED ---
--- ofb64.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:31 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:31 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Cipher/Cipher
BlockMode.php, 1.1, NONE blowfish.php, 1.1, NONE cast128.php,
1.1, NONE des.php, 1.1, NONE rc2.php, 1.1, NONE rc4.php, 1.1, NONE
Message-ID: <20071128065131.B4F7E600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Cipher/Cipher
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Cipher/Cipher
Removed Files:
BlockMode.php blowfish.php cast128.php des.php rc2.php rc4.php
Log Message:
Removed kolab-horde-framework
--- BlockMode.php DELETED ---
--- blowfish.php DELETED ---
--- cast128.php DELETED ---
--- des.php DELETED ---
--- rc2.php DELETED ---
--- rc4.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:32 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Cipher/tests
Cipher1.phpt, 1.1, NONE Cipher2.phpt, 1.1, NONE Cipher3.phpt,
1.1, NONE Cipher4.phpt, 1.1, NONE Cipher5.phpt, 1.1,
NONE Cipher6.phpt, 1.1, NONE cipherTest.php, 1.1, NONE
Message-ID: <20071128065132.471D060016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Cipher/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Cipher/tests
Removed Files:
Cipher1.phpt Cipher2.phpt Cipher3.phpt Cipher4.phpt
Cipher5.phpt Cipher6.phpt cipherTest.php
Log Message:
Removed kolab-horde-framework
--- Cipher1.phpt DELETED ---
--- Cipher2.phpt DELETED ---
--- Cipher3.phpt DELETED ---
--- Cipher4.phpt DELETED ---
--- Cipher5.phpt DELETED ---
--- Cipher6.phpt DELETED ---
--- cipherTest.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:32 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Crypt/Crypt
pgp.php, 1.1, NONE smime.php, 1.1, NONE
Message-ID: <20071128065132.9BFD8600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Crypt/Crypt
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Crypt/Crypt
Removed Files:
pgp.php smime.php
Log Message:
Removed kolab-horde-framework
--- pgp.php DELETED ---
--- smime.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:32 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Crypt
Crypt.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065132.97B1C600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Crypt
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Crypt
Removed Files:
Crypt.php package.xml
Log Message:
Removed kolab-horde-framework
--- Crypt.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:32 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Compress
Compress.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065132.8B74F60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Compress
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Compress
Removed Files:
Compress.php package.xml
Log Message:
Removed kolab-horde-framework
--- Compress.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:32 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Compress/Compress
dbx.php, 1.1, NONE gzip.php, 1.1, NONE tar.php, 1.1,
NONE tnef.php, 1.1, NONE zip.php, 1.1, NONE
Message-ID: <20071128065132.90576600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Compress/Compress
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Compress/Compress
Removed Files:
dbx.php gzip.php tar.php tnef.php zip.php
Log Message:
Removed kolab-horde-framework
--- dbx.php DELETED ---
--- gzip.php DELETED ---
--- tar.php DELETED ---
--- tnef.php DELETED ---
--- zip.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:32 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Data
Data.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065132.F016A600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Data
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Data
Removed Files:
Data.php package.xml
Log Message:
Removed kolab-horde-framework
--- Data.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:33 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Data/Data
csv.php, 1.1, NONE icalendar.php, 1.1, NONE imc.php, 1.1,
NONE palm.php, 1.1, NONE pdb.php, 1.1, NONE tsv.php, 1.1,
NONE vcard.php, 1.1, NONE vnote.php, 1.1, NONE vtodo.php, 1.1, NONE
Message-ID: <20071128065133.389F6600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Data/Data
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Data/Data
Removed Files:
csv.php icalendar.php imc.php palm.php pdb.php tsv.php
vcard.php vnote.php vtodo.php
Log Message:
Removed kolab-horde-framework
--- csv.php DELETED ---
--- icalendar.php DELETED ---
--- imc.php DELETED ---
--- palm.php DELETED ---
--- pdb.php DELETED ---
--- tsv.php DELETED ---
--- vcard.php DELETED ---
--- vnote.php DELETED ---
--- vtodo.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:33 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Data/tests
csv_importFile_01.phpt, 1.1, NONE simple_dos.csv, 1.1,
NONE simple_unix.csv, 1.1, NONE
Message-ID: <20071128065133.7584D600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Data/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Data/tests
Removed Files:
csv_importFile_01.phpt simple_dos.csv simple_unix.csv
Log Message:
Removed kolab-horde-framework
--- csv_importFile_01.phpt DELETED ---
--- simple_dos.csv DELETED ---
--- simple_unix.csv DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:33 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/DataTree
DataTree.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065133.763E3600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/DataTree
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/DataTree
Removed Files:
DataTree.php package.xml
Log Message:
Removed kolab-horde-framework
--- DataTree.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:34 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/File_PDF/PDF/fonts
courier.php, 1.1, NONE helvetica.php, 1.1, NONE helveticab.php,
1.1, NONE helveticabi.php, 1.1, NONE helveticai.php, 1.1,
NONE symbol.php, 1.1, NONE times.php, 1.1, NONE timesb.php, 1.1,
NONE timesbi.php, 1.1, NONE timesi.php, 1.1,
NONE zapfdingbats.php, 1.1, NONE
Message-ID: <20071128065134.203DB600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/File_PDF/PDF/fonts
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/File_PDF/PDF/fonts
Removed Files:
courier.php helvetica.php helveticab.php helveticabi.php
helveticai.php symbol.php times.php timesb.php timesbi.php
timesi.php zapfdingbats.php
Log Message:
Removed kolab-horde-framework
--- courier.php DELETED ---
--- helvetica.php DELETED ---
--- helveticab.php DELETED ---
--- helveticabi.php DELETED ---
--- helveticai.php DELETED ---
--- symbol.php DELETED ---
--- times.php DELETED ---
--- timesb.php DELETED ---
--- timesbi.php DELETED ---
--- timesi.php DELETED ---
--- zapfdingbats.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:33 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Editor/Editor
htmlarea.php, 1.1, NONE
Message-ID: <20071128065133.CB03C600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Editor/Editor
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Editor/Editor
Removed Files:
htmlarea.php
Log Message:
Removed kolab-horde-framework
--- htmlarea.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:33 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/DataTree/DataTree
null.php, 1.1, NONE sql.php, 1.1, NONE
Message-ID: <20071128065133.77E4B600D67@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/DataTree/DataTree
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/DataTree/DataTree
Removed Files:
null.php sql.php
Log Message:
Removed kolab-horde-framework
--- null.php DELETED ---
--- sql.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:33 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/File_PDF
PDF.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065133.CBBDB600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/File_PDF
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/File_PDF
Removed Files:
PDF.php package.xml
Log Message:
Removed kolab-horde-framework
--- PDF.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:34 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Form
Form.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065134.6262D600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Form
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Form
Removed Files:
Form.php package.xml
Log Message:
Removed kolab-horde-framework
--- Form.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:33 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:33 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Editor
Editor.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065133.7A63C600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Editor
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Editor
Removed Files:
Editor.php package.xml
Log Message:
Removed kolab-horde-framework
--- Editor.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:34 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Graph
Graph.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065134.6EA2D600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Graph
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Graph
Removed Files:
Graph.php package.xml
Log Message:
Removed kolab-horde-framework
--- Graph.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:34 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Form/Form/Action
conditional_enable.php, 1.1, NONE conditional_setvalue.php, 1.1,
NONE reload.php, 1.1, NONE submit.php, 1.1, NONE sum_fields.php,
1.1, NONE updatefield.php, 1.1, NONE
Message-ID: <20071128065134.6C465600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Form/Form/Action
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Form/Form/Action
Removed Files:
conditional_enable.php conditional_setvalue.php reload.php
submit.php sum_fields.php updatefield.php
Log Message:
Removed kolab-horde-framework
--- conditional_enable.php DELETED ---
--- conditional_setvalue.php DELETED ---
--- reload.php DELETED ---
--- submit.php DELETED ---
--- sum_fields.php DELETED ---
--- updatefield.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:34 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Graph/Graph/Chart
pie.php, 1.1, NONE pie3d.php, 1.1, NONE
Message-ID: <20071128065134.897B3600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Graph/Graph/Chart
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Graph/Graph/Chart
Removed Files:
pie.php pie3d.php
Log Message:
Removed kolab-horde-framework
--- pie.php DELETED ---
--- pie3d.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:34 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Form/Form
Action.php, 1.1, NONE Renderer.php, 1.1, NONE
Message-ID: <20071128065134.675AD600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Form/Form
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Form/Form
Removed Files:
Action.php Renderer.php
Log Message:
Removed kolab-horde-framework
--- Action.php DELETED ---
--- Renderer.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:36 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Graph/Graph/Plot
bar.php, 1.1, NONE bargrouped.php, 1.1, NONE barstacked.php, 1.1,
NONE line.php, 1.1, NONE scatter.php, 1.1, NONE
Message-ID: <20071128065136.20982600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Graph/Graph/Plot
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Graph/Graph/Plot
Removed Files:
bar.php bargrouped.php barstacked.php line.php scatter.php
Log Message:
Removed kolab-horde-framework
--- bar.php DELETED ---
--- bargrouped.php DELETED ---
--- barstacked.php DELETED ---
--- line.php DELETED ---
--- scatter.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:36 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Group
Group.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065136.94271600D69@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Group
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Group
Removed Files:
Group.php package.xml
Log Message:
Removed kolab-horde-framework
--- Group.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:36 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Graph/tests
.htaccess, 1.1, NONE test01.php, 1.1, NONE test02.php, 1.1,
NONE test03.php, 1.1, NONE test04.php, 1.1, NONE test05.php, 1.1,
NONE test06.php, 1.1, NONE test_bargrouped.php, 1.1,
NONE test_pie3d.php, 1.1, NONE test_pie3d_gd.php, 1.1, NONE
Message-ID: <20071128065136.9364F600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Graph/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Graph/tests
Removed Files:
.htaccess test01.php test02.php test03.php test04.php
test05.php test06.php test_bargrouped.php test_pie3d.php
test_pie3d_gd.php
Log Message:
Removed kolab-horde-framework
--- .htaccess DELETED ---
--- test01.php DELETED ---
--- test02.php DELETED ---
--- test03.php DELETED ---
--- test04.php DELETED ---
--- test05.php DELETED ---
--- test06.php DELETED ---
--- test_bargrouped.php DELETED ---
--- test_pie3d.php DELETED ---
--- test_pie3d_gd.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:36 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Horde
Horde.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065136.DAD59600D69@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Horde
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Horde
Removed Files:
Horde.php package.xml
Log Message:
Removed kolab-horde-framework
--- Horde.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:36 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Group/Group
hooks.php, 1.1, NONE
Message-ID: <20071128065136.94E08600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Group/Group
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Group/Group
Removed Files:
hooks.php
Log Message:
Removed kolab-horde-framework
--- hooks.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:36 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:36 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/History
History.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065136.DA18F600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/History
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/History
Removed Files:
History.php package.xml
Log Message:
Removed kolab-horde-framework
--- History.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:39 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/IMAP
package.xml, 1.1, NONE
Message-ID: <20071128065139.B1019600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/IMAP
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/IMAP
Removed Files:
package.xml
Log Message:
Removed kolab-horde-framework
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:39 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Identity
Identity.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065139.E3F29600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Identity
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Identity
Removed Files:
Identity.php package.xml
Log Message:
Removed kolab-horde-framework
--- Identity.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:39 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/IMAP/IMAP/ACL
rfc2086.php, 1.1, NONE
Message-ID: <20071128065139.E1972600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/IMAP/IMAP/ACL
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/IMAP/IMAP/ACL
Removed Files:
rfc2086.php
Log Message:
Removed kolab-horde-framework
--- rfc2086.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:39 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/IMAP/IMAP
ACL.php, 1.1, NONE Admin.php, 1.1, NONE Cache.php, 1.1,
NONE Search.php, 1.1, NONE Sort.php, 1.1, NONE Tree.php, 1.1, NONE
Message-ID: <20071128065139.DCB98600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/IMAP/IMAP
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/IMAP/IMAP
Removed Files:
ACL.php Admin.php Cache.php Search.php Sort.php Tree.php
Log Message:
Removed kolab-horde-framework
--- ACL.php DELETED ---
--- Admin.php DELETED ---
--- Cache.php DELETED ---
--- Search.php DELETED ---
--- Sort.php DELETED ---
--- Tree.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:39 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Horde/Horde
Config.php, 1.1, NONE Help.php, 1.1, NONE Registry.php, 1.1, NONE
Message-ID: <20071128065139.AFF5F600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Horde/Horde
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Horde/Horde
Removed Files:
Config.php Help.php Registry.php
Log Message:
Removed kolab-horde-framework
--- Config.php DELETED ---
--- Help.php DELETED ---
--- Registry.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:40 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:40 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Image/tests
.htaccess, 1.1, NONE gd.php, 1.1, NONE im.php, 1.1, NONE svg.php,
1.1, NONE swf.php, 1.1, NONE
Message-ID: <20071128065140.C56C9600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Image/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Image/tests
Removed Files:
.htaccess gd.php im.php svg.php swf.php
Log Message:
Removed kolab-horde-framework
--- .htaccess DELETED ---
--- gd.php DELETED ---
--- im.php DELETED ---
--- svg.php DELETED ---
--- swf.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:40 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:40 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Image
Image.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065140.AE4F8600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Image
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Image
Removed Files:
Image.php package.xml
Log Message:
Removed kolab-horde-framework
--- Image.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:40 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:40 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Image/Image/Decorator
border.php, 1.1, NONE watermark.php, 1.1, NONE
Message-ID: <20071128065140.BF7B4600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Image/Image/Decorator
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Image/Image/Decorator
Removed Files:
border.php watermark.php
Log Message:
Removed kolab-horde-framework
--- border.php DELETED ---
--- watermark.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:42 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:42 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Kolab
Kolab.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065142.0FB1A600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Kolab
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Kolab
Removed Files:
Kolab.php package.xml
Log Message:
Removed kolab-horde-framework
--- Kolab.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:40 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:40 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Image/Image
Decorator.php, 1.1, NONE gd.php, 1.1, NONE im.php, 1.1,
NONE png.php, 1.1, NONE rgb.php, 1.1, NONE svg.php, 1.1,
NONE swf.php, 1.1, NONE
Message-ID: <20071128065140.BAA15600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Image/Image
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Image/Image
Removed Files:
Decorator.php gd.php im.php png.php rgb.php svg.php swf.php
Log Message:
Removed kolab-horde-framework
--- Decorator.php DELETED ---
--- gd.php DELETED ---
--- im.php DELETED ---
--- png.php DELETED ---
--- rgb.php DELETED ---
--- svg.php DELETED ---
--- swf.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:43 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Links
Links.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065143.4091A600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Links
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Links
Removed Files:
Links.php package.xml
Log Message:
Removed kolab-horde-framework
--- Links.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:43 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/MIME
MIME.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065143.45718600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/MIME
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/MIME
Removed Files:
MIME.php package.xml
Log Message:
Removed kolab-horde-framework
--- MIME.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:43 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/MIME/MIME
Contents.php, 1.1, NONE Headers.php, 1.2, NONE Magic.php, 1.1,
NONE Message.php, 1.1, NONE Part.php, 1.1, NONE Structure.php,
1.1, NONE Viewer.php, 1.1, NONE mime.magic.php, 1.1,
NONE mime.mapping.php, 1.1, NONE
Message-ID: <20071128065143.4D79F600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/MIME/MIME
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/MIME/MIME
Removed Files:
Contents.php Headers.php Magic.php Message.php Part.php
Structure.php Viewer.php mime.magic.php mime.mapping.php
Log Message:
Removed kolab-horde-framework
--- Contents.php DELETED ---
--- Headers.php DELETED ---
--- Magic.php DELETED ---
--- Message.php DELETED ---
--- Part.php DELETED ---
--- Structure.php DELETED ---
--- Viewer.php DELETED ---
--- mime.magic.php DELETED ---
--- mime.mapping.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:42 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:42 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/LDAP
LDAP.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065142.CBA67600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/LDAP
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/LDAP
Removed Files:
LDAP.php package.xml
Log Message:
Removed kolab-horde-framework
--- LDAP.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:43 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/MIME/MIME/Viewer/ooo
common.xsl, 1.1, NONE global_document.xsl, 1.1,
NONE main_html.xsl, 1.1, NONE palm.xsl, 1.1,
NONE style_header.xsl, 1.1, NONE style_inlined.xsl, 1.1,
NONE style_mapping.xsl, 1.1, NONE table.xsl, 1.1,
NONE table_cells.xsl, 1.1, NONE table_columns.xsl, 1.1,
NONE table_rows.xsl, 1.1, NONE
Message-ID: <20071128065143.7D9C2600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/MIME/MIME/Viewer/ooo
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/MIME/MIME/Viewer/ooo
Removed Files:
common.xsl global_document.xsl main_html.xsl palm.xsl
style_header.xsl style_inlined.xsl style_mapping.xsl table.xsl
table_cells.xsl table_columns.xsl table_rows.xsl
Log Message:
Removed kolab-horde-framework
--- common.xsl DELETED ---
--- global_document.xsl DELETED ---
--- main_html.xsl DELETED ---
--- palm.xsl DELETED ---
--- style_header.xsl DELETED ---
--- style_inlined.xsl DELETED ---
--- style_mapping.xsl DELETED ---
--- table.xsl DELETED ---
--- table_cells.xsl DELETED ---
--- table_columns.xsl DELETED ---
--- table_rows.xsl DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:43 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Maintenance
Maintenance.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065143.B5BDC600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Maintenance
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Maintenance
Removed Files:
Maintenance.php package.xml
Log Message:
Removed kolab-horde-framework
--- Maintenance.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:44 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Menu
Menu.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065144.51A2A600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Menu
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Menu
Removed Files:
Menu.php package.xml
Log Message:
Removed kolab-horde-framework
--- Menu.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:44 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Mobile
Mobile.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065144.9AC86600D6A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Mobile
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Mobile
Removed Files:
Mobile.php package.xml
Log Message:
Removed kolab-horde-framework
--- Mobile.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:43 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:43 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/MIME/MIME/Viewer
deb.php, 1.1, NONE default.php, 1.1, NONE enriched.php, 1.1,
NONE enscript.php, 1.1, NONE html.php, 1.1, NONE icalendar.php,
1.1, NONE images.php, 1.1, NONE msexcel.php, 1.1,
NONE mspowerpoint.php, 1.1, NONE msword.php, 1.1, NONE ooo.php,
1.1, NONE pdf.php, 1.1, NONE php.php, 1.1, NONE plain.php, 1.1,
NONE rar.php, 1.1, NONE report.php, 1.1, NONE rfc822.php, 1.1,
NONE richtext.php, 1.1, NONE rpm.php, 1.1, NONE security.php,
1.1, NONE source.php, 1.1, NONE srchighlite.php, 1.1,
NONE tgz.php, 1.1, NONE tnef.php, 1.1, NONE vcard.php, 1.1,
NONE webcpp.php, 1.1, NONE zip.php, 1.1, NONE
Message-ID: <20071128065143.6CB68600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/MIME/MIME/Viewer
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/MIME/MIME/Viewer
Removed Files:
deb.php default.php enriched.php enscript.php html.php
icalendar.php images.php msexcel.php mspowerpoint.php
msword.php ooo.php pdf.php php.php plain.php rar.php
report.php rfc822.php richtext.php rpm.php security.php
source.php srchighlite.php tgz.php tnef.php vcard.php
webcpp.php zip.php
Log Message:
Removed kolab-horde-framework
--- deb.php DELETED ---
--- default.php DELETED ---
--- enriched.php DELETED ---
--- enscript.php DELETED ---
--- html.php DELETED ---
--- icalendar.php DELETED ---
--- images.php DELETED ---
--- msexcel.php DELETED ---
--- mspowerpoint.php DELETED ---
--- msword.php DELETED ---
--- ooo.php DELETED ---
--- pdf.php DELETED ---
--- php.php DELETED ---
--- plain.php DELETED ---
--- rar.php DELETED ---
--- report.php DELETED ---
--- rfc822.php DELETED ---
--- richtext.php DELETED ---
--- rpm.php DELETED ---
--- security.php DELETED ---
--- source.php DELETED ---
--- srchighlite.php DELETED ---
--- tgz.php DELETED ---
--- tnef.php DELETED ---
--- vcard.php DELETED ---
--- webcpp.php DELETED ---
--- zip.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:44 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Mobile/Mobile/Renderer
html.php, 1.1, NONE wml.php, 1.1, NONE
Message-ID: <20071128065144.AA733600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Mobile/Mobile/Renderer
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Mobile/Mobile/Renderer
Removed Files:
html.php wml.php
Log Message:
Removed kolab-horde-framework
--- html.php DELETED ---
--- wml.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:44 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/NLS
NLS.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065144.AE4FD600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/NLS
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/NLS
Removed Files:
NLS.php package.xml
Log Message:
Removed kolab-horde-framework
--- NLS.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:44 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Mobile/Mobile
Renderer.php, 1.1, NONE
Message-ID: <20071128065144.A9B48600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Mobile/Mobile
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Mobile/Mobile
Removed Files:
Renderer.php
Log Message:
Removed kolab-horde-framework
--- Renderer.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:45 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:45 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/NLS/NLS
GeoIP.php, 1.1, NONE coordinates.php, 1.1, NONE countries.php,
1.1, NONE tld.php, 1.1, NONE
Message-ID: <20071128065145.7B60D600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/NLS/NLS
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/NLS/NLS
Removed Files:
GeoIP.php coordinates.php countries.php tld.php
Log Message:
Removed kolab-horde-framework
--- GeoIP.php DELETED ---
--- coordinates.php DELETED ---
--- countries.php DELETED ---
--- tld.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:46 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_Cyrus
Cyrus.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065146.1BF48600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_Cyrus
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_Cyrus
Removed Files:
Cyrus.php package.xml
Log Message:
Removed kolab-horde-framework
--- Cyrus.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:46 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_IMAP
IMAP.php, 1.1, NONE IMAPProtocol.php, 1.1,
NONE IMAPProtocol.php.optimized, 1.1, NONE IMAPProtocol.php.orig,
1.1, NONE IMAPProtocol.php.working, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065146.6065E600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_IMAP
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_IMAP
Removed Files:
IMAP.php IMAPProtocol.php IMAPProtocol.php.optimized
IMAPProtocol.php.orig IMAPProtocol.php.working package.xml
Log Message:
Removed kolab-horde-framework
--- IMAP.php DELETED ---
--- IMAPProtocol.php DELETED ---
--- IMAPProtocol.php.optimized DELETED ---
--- IMAPProtocol.php.orig DELETED ---
--- IMAPProtocol.php.working DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:46 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_IMSP
IMSP.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065146.954A760C4A2@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_IMSP
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_IMSP
Removed Files:
IMSP.php package.xml
Log Message:
Removed kolab-horde-framework
--- IMSP.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:46 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_IMSP/IMSP
Auth.php, 1.1, NONE Book.php, 1.1, NONE Options.php, 1.1,
NONE Utils.php, 1.1, NONE
Message-ID: <20071128065146.E6A6B600D76@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_IMSP/IMSP
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_IMSP/IMSP
Removed Files:
Auth.php Book.php Options.php Utils.php
Log Message:
Removed kolab-horde-framework
--- Auth.php DELETED ---
--- Book.php DELETED ---
--- Options.php DELETED ---
--- Utils.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:46 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_IMAP/docs
test_IMAP.php, 1.1, NONE test_IMAPProtocol.php, 1.1, NONE
Message-ID: <20071128065146.65629600D73@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_IMAP/docs
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_IMAP/docs
Removed Files:
test_IMAP.php test_IMAPProtocol.php
Log Message:
Removed kolab-horde-framework
--- test_IMAP.php DELETED ---
--- test_IMAPProtocol.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:47 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_SMS
SMS.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065147.62D4B600D7A@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_SMS
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_SMS
Removed Files:
SMS.php package.xml
Log Message:
Removed kolab-horde-framework
--- SMS.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:47 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_LMTP
LMTP.php, 1.1, NONE package.xml, 1.1, NONE test_lmtp.php, 1.1, NONE
Message-ID: <20071128065147.3E21B60C4A5@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_LMTP
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_LMTP
Removed Files:
LMTP.php package.xml test_lmtp.php
Log Message:
Removed kolab-horde-framework
--- LMTP.php DELETED ---
--- package.xml DELETED ---
--- test_lmtp.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:47 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_IMSP/IMSP/Auth
cram_md5.php, 1.1, NONE plaintext.php, 1.1, NONE
Message-ID: <20071128065147.323CC600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_IMSP/IMSP/Auth
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_IMSP/IMSP/Auth
Removed Files:
cram_md5.php plaintext.php
Log Message:
Removed kolab-horde-framework
--- cram_md5.php DELETED ---
--- plaintext.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:47 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Notification
Notification.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065147.7DB1C60C4A7@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Notification
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Notification
Removed Files:
Notification.php package.xml
Log Message:
Removed kolab-horde-framework
--- Notification.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:47 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Net_SMS/SMS
clickatell_http.php, 1.1, NONE sms2email_http.php, 1.1,
NONE vodafoneitaly_smtp.php, 1.1, NONE
Message-ID: <20071128065147.6A1D660C4A6@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Net_SMS/SMS
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Net_SMS/SMS
Removed Files:
clickatell_http.php sms2email_http.php vodafoneitaly_smtp.php
Log Message:
Removed kolab-horde-framework
--- clickatell_http.php DELETED ---
--- sms2email_http.php DELETED ---
--- vodafoneitaly_smtp.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Notification/Notification/Listener
javascript.php, 1.1, NONE mobile.php, 1.1, NONE status.php, 1.1, NONE
Message-ID: <20071128065151.212B360016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Notification/Notification/Listener
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Notification/Notification/Listener
Removed Files:
javascript.php mobile.php status.php
Log Message:
Removed kolab-horde-framework
--- javascript.php DELETED ---
--- mobile.php DELETED ---
--- status.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Notification/Notification
Event.php, 1.1, NONE Listener.php, 1.1, NONE
Message-ID: <20071128065151.22820600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Notification/Notification
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Notification/Notification
Removed Files:
Event.php Listener.php
Log Message:
Removed kolab-horde-framework
--- Event.php DELETED ---
--- Listener.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Perms
Perms.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065151.21D8F600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Perms
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Perms
Removed Files:
Perms.php package.xml
Log Message:
Removed kolab-horde-framework
--- Perms.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Prefs
Prefs.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065151.2BDFA600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Prefs
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Prefs
Removed Files:
Prefs.php package.xml
Log Message:
Removed kolab-horde-framework
--- Prefs.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/RPC/RPC
soap.php, 1.1, NONE syncml.php, 1.1, NONE syncml_wbxml.php, 1.1,
NONE webdav.php, 1.1, NONE xmlrpc.php, 1.1, NONE
Message-ID: <20071128065151.2BF1D600D69@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/RPC/RPC
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/RPC/RPC
Removed Files:
soap.php syncml.php syncml_wbxml.php webdav.php xmlrpc.php
Log Message:
Removed kolab-horde-framework
--- soap.php DELETED ---
--- syncml.php DELETED ---
--- syncml_wbxml.php DELETED ---
--- webdav.php DELETED ---
--- xmlrpc.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Prefs/Prefs
CategoryManager.php, 1.1, NONE UI.php, 1.1, NONE imsp.php, 1.1,
NONE ldap.php, 1.1, NONE session.php, 1.1, NONE sql.php, 1.1, NONE
Message-ID: <20071128065151.27F2E600D67@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Prefs/Prefs
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Prefs/Prefs
Removed Files:
CategoryManager.php UI.php imsp.php ldap.php session.php
sql.php
Log Message:
Removed kolab-horde-framework
--- CategoryManager.php DELETED ---
--- UI.php DELETED ---
--- imsp.php DELETED ---
--- ldap.php DELETED ---
--- session.php DELETED ---
--- sql.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/RPC
RPC.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065151.2BE93600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/RPC
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/RPC
Removed Files:
RPC.php package.xml
Log Message:
Removed kolab-horde-framework
--- RPC.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SQL/SQL
Attributes.php, 1.1, NONE
Message-ID: <20071128065151.37007600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SQL/SQL
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SQL/SQL
Removed Files:
Attributes.php
Log Message:
Removed kolab-horde-framework
--- Attributes.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/RPC/tests
rpc-test.php, 1.1, NONE
Message-ID: <20071128065151.32892600D6B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/RPC/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/RPC/tests
Removed Files:
rpc-test.php
Log Message:
Removed kolab-horde-framework
--- rpc-test.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Scheduler/Scheduler
cron.php, 1.1, NONE
Message-ID: <20071128065151.407CD600D6F@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Scheduler/Scheduler
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Scheduler/Scheduler
Removed Files:
cron.php
Log Message:
Removed kolab-horde-framework
--- cron.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SQL
SQL.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065151.36F5D60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SQL
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SQL
Removed Files:
SQL.php package.xml
Log Message:
Removed kolab-horde-framework
--- SQL.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Perms/Perms
UI.php, 1.1, NONE
Message-ID: <20071128065151.3C4C9600D6D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Perms/Perms
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Perms/Perms
Removed Files:
UI.php
Log Message:
Removed kolab-horde-framework
--- UI.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:51 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Scheduler
Scheduler.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065151.3709E600D6C@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Scheduler
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Scheduler
Removed Files:
Scheduler.php package.xml
Log Message:
Removed kolab-horde-framework
--- Scheduler.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:53 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:53 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Search
Search.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065153.7DF2760016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Search
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Search
Removed Files:
Search.php package.xml
Log Message:
Removed kolab-horde-framework
--- Search.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:55 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Search/Search
google.php, 1.1, NONE
Message-ID: <20071128065155.B63D1600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Search/Search
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Search/Search
Removed Files:
google.php
Log Message:
Removed kolab-horde-framework
--- google.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:56 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SessionHandler
SessionHandler.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065156.28A49600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SessionHandler
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SessionHandler
Removed Files:
SessionHandler.php package.xml
Log Message:
Removed kolab-horde-framework
--- SessionHandler.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:56 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Serialize
Serialize.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065156.2639F600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Serialize
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Serialize
Removed Files:
Serialize.php package.xml
Log Message:
Removed kolab-horde-framework
--- Serialize.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:56 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SessionHandler/SessionHandler
dbm.php, 1.1, NONE mysql.php, 1.1, NONE oci8.php, 1.1,
NONE pgsql.php, 1.1, NONE sapdb.php, 1.1, NONE sql.php, 1.1, NONE
Message-ID: <20071128065156.34F3D600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SessionHandler/SessionHandler
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SessionHandler/SessionHandler
Removed Files:
dbm.php mysql.php oci8.php pgsql.php sapdb.php sql.php
Log Message:
Removed kolab-horde-framework
--- dbm.php DELETED ---
--- mysql.php DELETED ---
--- oci8.php DELETED ---
--- pgsql.php DELETED ---
--- sapdb.php DELETED ---
--- sql.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:56 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Secret
Secret.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065156.1C5EF60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Secret
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Secret
Removed Files:
Secret.php package.xml
Log Message:
Removed kolab-horde-framework
--- Secret.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:56 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Share
Share.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065156.9DC8860016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Share
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Share
Removed Files:
Share.php package.xml
Log Message:
Removed kolab-horde-framework
--- Share.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:57 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SyncML
SyncML.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065157.34C7A60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SyncML
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SyncML
Removed Files:
SyncML.php package.xml
Log Message:
Removed kolab-horde-framework
--- SyncML.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:57 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML
Command.php, 1.1, NONE State.php, 1.1, NONE Sync.php, 1.1, NONE
Message-ID: <20071128065157.4116A600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SyncML/SyncML
Removed Files:
Command.php State.php Sync.php
Log Message:
Removed kolab-horde-framework
--- Command.php DELETED ---
--- State.php DELETED ---
--- Sync.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:57 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML/Command/Sync
Add.php, 1.1, NONE ContentSyncElement.php, 1.1, NONE Delete.php,
1.1, NONE Replace.php, 1.1, NONE SyncElement.php, 1.1, NONE
Message-ID: <20071128065157.57021600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML/Command/Sync
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SyncML/SyncML/Command/Sync
Removed Files:
Add.php ContentSyncElement.php Delete.php Replace.php
SyncElement.php
Log Message:
Removed kolab-horde-framework
--- Add.php DELETED ---
--- ContentSyncElement.php DELETED ---
--- Delete.php DELETED ---
--- Replace.php DELETED ---
--- SyncElement.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:57 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML/Command
Alert.php, 1.1, NONE Final.php, 1.1, NONE Get.php, 1.1,
NONE Put.php, 1.1, NONE Replace.php, 1.1, NONE Results.php, 1.1,
NONE Status.php, 1.1, NONE Sync.php, 1.1, NONE
Message-ID: <20071128065157.4FEA960016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML/Command
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SyncML/SyncML/Command
Removed Files:
Alert.php Final.php Get.php Put.php Replace.php Results.php
Status.php Sync.php
Log Message:
Removed kolab-horde-framework
--- Alert.php DELETED ---
--- Final.php DELETED ---
--- Get.php DELETED ---
--- Put.php DELETED ---
--- Replace.php DELETED ---
--- Results.php DELETED ---
--- Status.php DELETED ---
--- Sync.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:57 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML/Sync
OneWayFromClientSync.php, 1.1, NONE OneWayFromServerSync.php,
1.1, NONE RefreshFromClientSync.php, 1.1,
NONE RefreshFromServerSync.php, 1.1, NONE SlowSync.php, 1.1,
NONE TwoWaySync.php, 1.1, NONE
Message-ID: <20071128065157.5BE4C600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SyncML/SyncML/Sync
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SyncML/SyncML/Sync
Removed Files:
OneWayFromClientSync.php OneWayFromServerSync.php
RefreshFromClientSync.php RefreshFromServerSync.php
SlowSync.php TwoWaySync.php
Log Message:
Removed kolab-horde-framework
--- OneWayFromClientSync.php DELETED ---
--- OneWayFromServerSync.php DELETED ---
--- RefreshFromClientSync.php DELETED ---
--- RefreshFromServerSync.php DELETED ---
--- SlowSync.php DELETED ---
--- TwoWaySync.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:57 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:57 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SyncML/docs
TODO, 1.1, NONE
Message-ID: <20071128065157.8086560016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SyncML/docs
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SyncML/docs
Removed Files:
TODO
Log Message:
Removed kolab-horde-framework
--- TODO DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:56 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/SessionObjects
SessionObjects.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065156.4386560016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/SessionObjects
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/SessionObjects
Removed Files:
SessionObjects.php package.xml
Log Message:
Removed kolab-horde-framework
--- SessionObjects.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:58 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text
Text.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065158.5E58360016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text
Removed Files:
Text.php package.xml
Log Message:
Removed kolab-horde-framework
--- Text.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:58 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text/tests
Flowed.phpt, 1.1, NONE
Message-ID: <20071128065158.73DFF600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text/tests
Removed Files:
Flowed.phpt
Log Message:
Removed kolab-horde-framework
--- Flowed.phpt DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:58 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Template
Template.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065158.1C62060016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Template
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Template
Removed Files:
Template.php package.xml
Log Message:
Removed kolab-horde-framework
--- Template.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:58 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_Diff
Diff.php, 1.1, NONE Diff3.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065158.74BCD600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_Diff
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_Diff
Removed Files:
Diff.php Diff3.php package.xml
Log Message:
Removed kolab-horde-framework
--- Diff.php DELETED ---
--- Diff3.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:58 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text/Text
Filter.php, 1.1, NONE Flowed.php, 1.1, NONE
Message-ID: <20071128065158.63405600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text/Text
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text/Text
Removed Files:
Filter.php Flowed.php
Log Message:
Removed kolab-horde-framework
--- Filter.php DELETED ---
--- Flowed.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:58 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_Diff/Diff
Renderer.php, 1.1, NONE
Message-ID: <20071128065158.C4E0860016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_Diff/Diff
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_Diff/Diff
Removed Files:
Renderer.php
Log Message:
Removed kolab-horde-framework
--- Renderer.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_Diff/Diff/Renderer
unified.php, 1.1, NONE
Message-ID: <20071128065159.129D2600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_Diff/Diff/Renderer
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_Diff/Diff/Renderer
Removed Files:
unified.php
Log Message:
Removed kolab-horde-framework
--- unified.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_reST
package.xml, 1.1, NONE reST.php, 1.1, NONE
Message-ID: <20071128065159.76C85600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_reST
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_reST
Removed Files:
package.xml reST.php
Log Message:
Removed kolab-horde-framework
--- package.xml DELETED ---
--- reST.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:58 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:58 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text/Text/Filter
bbcode.php, 1.1, NONE emails.php, 1.1, NONE emoticons.php, 1.1,
NONE linkurls.php, 1.1, NONE rst.php, 1.1, NONE
Message-ID: <20071128065158.68960600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text/Text/Filter
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text/Text/Filter
Removed Files:
bbcode.php emails.php emoticons.php linkurls.php rst.php
Log Message:
Removed kolab-horde-framework
--- bbcode.php DELETED ---
--- emails.php DELETED ---
--- emoticons.php DELETED ---
--- linkurls.php DELETED ---
--- rst.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_Diff/docs/examples
1.txt, 1.1, NONE 2.txt, 1.1, NONE diff.php, 1.1, NONE
Message-ID: <20071128065159.6F6A860016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_Diff/docs/examples
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_Diff/docs/examples
Removed Files:
1.txt 2.txt diff.php
Log Message:
Removed kolab-horde-framework
--- 1.txt DELETED ---
--- 2.txt DELETED ---
--- diff.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_reST/reST
Formatter.php, 1.1, NONE Parser.php, 1.1, NONE
Message-ID: <20071128065159.B641C60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_reST/reST
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_reST/reST
Removed Files:
Formatter.php Parser.php
Log Message:
Removed kolab-horde-framework
--- Formatter.php DELETED ---
--- Parser.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_reST/reST/Formatter
html.php, 1.1, NONE
Message-ID: <20071128065159.B8A03600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_reST/reST/Formatter
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_reST/reST/Formatter
Removed Files:
html.php
Log Message:
Removed kolab-horde-framework
--- html.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_Diff/tests
.cvsignore, 1.1, NONE 1.txt, 1.1, NONE 2.txt, 1.1,
NONE diff.phpt, 1.1, NONE unified.phpt, 1.1, NONE
Message-ID: <20071128065159.744DC600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_Diff/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_Diff/tests
Removed Files:
.cvsignore 1.txt 2.txt diff.phpt unified.phpt
Log Message:
Removed kolab-horde-framework
--- .cvsignore DELETED ---
--- 1.txt DELETED ---
--- 2.txt DELETED ---
--- diff.phpt DELETED ---
--- unified.phpt DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Timer
Timer.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065159.C1023600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Timer
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Timer
Removed Files:
Timer.php package.xml
Log Message:
Removed kolab-horde-framework
--- Timer.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Tree/Tree
html.php, 1.1, NONE javascript.php, 1.1, NONE
Message-ID: <20071128065200.82CB9600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Tree/Tree
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Tree/Tree
Removed Files:
html.php javascript.php
Log Message:
Removed kolab-horde-framework
--- html.php DELETED ---
--- javascript.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Token/Token
file.php, 1.1, NONE sql.php, 1.1, NONE
Message-ID: <20071128065200.81435600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Token/Token
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Token/Token
Removed Files:
file.php sql.php
Log Message:
Removed kolab-horde-framework
--- file.php DELETED ---
--- sql.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:51:59 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:51:59 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Text_reST/tests
headings.phpt, 1.1, NONE lblocks.phpt, 1.1, NONE links.phpt, 1.1,
NONE roles.phpt, 1.1, NONE
Message-ID: <20071128065159.BB310600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Text_reST/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Text_reST/tests
Removed Files:
headings.phpt lblocks.phpt links.phpt roles.phpt
Log Message:
Removed kolab-horde-framework
--- headings.phpt DELETED ---
--- lblocks.phpt DELETED ---
--- links.phpt DELETED ---
--- roles.phpt DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Token
Token.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065200.80880600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Token
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Token
Removed Files:
Token.php package.xml
Log Message:
Removed kolab-horde-framework
--- Token.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/UI
package.xml, 1.1, NONE
Message-ID: <20071128065200.83921600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/UI
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/UI
Removed Files:
package.xml
Log Message:
Removed kolab-horde-framework
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/UI/UI
Language.php, 1.1, NONE Pager.php, 1.1, NONE Table.php, 1.1,
NONE Tabs.php, 1.1, NONE VarRenderer.php, 1.1, NONE Widget.php,
1.1, NONE
Message-ID: <20071128065200.86316600D67@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/UI/UI
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/UI/UI
Removed Files:
Language.php Pager.php Table.php Tabs.php VarRenderer.php
Widget.php
Log Message:
Removed kolab-horde-framework
--- Language.php DELETED ---
--- Pager.php DELETED ---
--- Table.php DELETED ---
--- Tabs.php DELETED ---
--- VarRenderer.php DELETED ---
--- Widget.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Tree
Tree.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065200.81FDF600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Tree
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Tree
Removed Files:
Tree.php package.xml
Log Message:
Removed kolab-horde-framework
--- Tree.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Util
Array.php, 1.1, NONE String.php, 1.1, NONE Util.php, 1.1,
NONE Variables.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065200.D60B660016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Util
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Util
Removed Files:
Array.php String.php Util.php Variables.php package.xml
Log Message:
Removed kolab-horde-framework
--- Array.php DELETED ---
--- String.php DELETED ---
--- Util.php DELETED ---
--- Variables.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:00 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/UI/UI/VarRenderer
html.php, 1.1, NONE
Message-ID: <20071128065200.91C14600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/UI/UI/VarRenderer
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/UI/UI/VarRenderer
Removed Files:
html.php
Log Message:
Removed kolab-horde-framework
--- html.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:01 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/Util/tests
String.phpt, 1.1, NONE String2.phpt, 1.1, NONE utf-8.phpt, 1.1, NONE
Message-ID: <20071128065201.2B2D9600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/Util/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/Util/tests
Removed Files:
String.phpt String2.phpt utf-8.phpt
Log Message:
Removed kolab-horde-framework
--- String.phpt DELETED ---
--- String2.phpt DELETED ---
--- utf-8.phpt DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:01 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/VC VC.php,
1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065201.368EC600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/VC
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/VC
Removed Files:
VC.php package.xml
Log Message:
Removed kolab-horde-framework
--- VC.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:01 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/VC/VC
cvs.php, 1.1, NONE rcs.php, 1.1, NONE svn.php, 1.1, NONE
Message-ID: <20071128065201.3753E600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/VC/VC
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/VC/VC
Removed Files:
cvs.php rcs.php svn.php
Log Message:
Removed kolab-horde-framework
--- cvs.php DELETED ---
--- rcs.php DELETED ---
--- svn.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:01 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/VFS
VFS.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065201.BB30D600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/VFS
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/VFS
Removed Files:
VFS.php package.xml
Log Message:
Removed kolab-horde-framework
--- VFS.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:01 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/VC/docs
TODO, 1.1, NONE
Message-ID: <20071128065201.747BD60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/VC/docs
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/VC/docs
Removed Files:
TODO
Log Message:
Removed kolab-horde-framework
--- TODO DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:01 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/VFS/scripts
vfs.php, 1.1, NONE
Message-ID: <20071128065201.C9D5B600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/VFS/scripts
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/VFS/scripts
Removed Files:
vfs.php
Log Message:
Removed kolab-horde-framework
--- vfs.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:02 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/XML_SVG
SVG.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065202.A7A6B600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/XML_SVG
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/XML_SVG
Removed Files:
SVG.php package.xml
Log Message:
Removed kolab-horde-framework
--- SVG.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:02 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/XML_RAX
RAX.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065202.A52E660016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/XML_RAX
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/XML_RAX
Removed Files:
RAX.php package.xml
Log Message:
Removed kolab-horde-framework
--- RAX.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:02 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/XML_WBXML
WBXML.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065202.F34CF60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/XML_WBXML
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/XML_WBXML
Removed Files:
WBXML.php package.xml
Log Message:
Removed kolab-horde-framework
--- WBXML.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:03 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:03 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/WBXML
ContentHandler.php, 1.1, NONE DTD.php, 1.1, NONE DTDManager.php,
1.1, NONE Decoder.php, 1.1, NONE Encoder.php, 1.1, NONE
Message-ID: <20071128065203.5F957600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/WBXML
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/XML_WBXML/WBXML
Removed Files:
ContentHandler.php DTD.php DTDManager.php Decoder.php
Encoder.php
Log Message:
Removed kolab-horde-framework
--- ContentHandler.php DELETED ---
--- DTD.php DELETED ---
--- DTDManager.php DELETED ---
--- Decoder.php DELETED ---
--- Encoder.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:01 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/VFS/VFS
Browser.php, 1.1, NONE GC.php, 1.1, NONE ListItem.php, 1.1,
NONE Object.php, 1.1, NONE file.php, 1.1, NONE ftp.php, 1.1,
NONE musql.php, 1.1, NONE sql.php, 1.1, NONE sql_file.php, 1.1, NONE
Message-ID: <20071128065201.C766C60016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/VFS/VFS
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/VFS/VFS
Removed Files:
Browser.php GC.php ListItem.php Object.php file.php ftp.php
musql.php sql.php sql_file.php
Log Message:
Removed kolab-horde-framework
--- Browser.php DELETED ---
--- GC.php DELETED ---
--- ListItem.php DELETED ---
--- Object.php DELETED ---
--- file.php DELETED ---
--- ftp.php DELETED ---
--- musql.php DELETED ---
--- sql.php DELETED ---
--- sql_file.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:03 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:03 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/docs/examples
decode.php, 1.1, NONE encode.php, 1.1,
NONE syncml_client_packet_1.wbxml, 1.1,
NONE syncml_client_packet_1.xml, 1.1,
NONE syncml_client_packet_2.xml, 1.1,
NONE syncml_server_packet_1.wbxml, 1.1,
NONE syncml_server_packet_1.xml, 1.1, NONE wbxml.wbxml, 1.1, NONE
Message-ID: <20071128065203.76EF460016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/docs/examples
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/XML_WBXML/docs/examples
Removed Files:
decode.php encode.php syncml_client_packet_1.wbxml
syncml_client_packet_1.xml syncml_client_packet_2.xml
syncml_server_packet_1.wbxml syncml_server_packet_1.xml
wbxml.wbxml
Log Message:
Removed kolab-horde-framework
--- decode.php DELETED ---
--- encode.php DELETED ---
--- syncml_client_packet_1.wbxml DELETED ---
--- syncml_client_packet_1.xml DELETED ---
--- syncml_client_packet_2.xml DELETED ---
--- syncml_server_packet_1.wbxml DELETED ---
--- syncml_server_packet_1.xml DELETED ---
--- wbxml.wbxml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:03 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:03 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/WBXML/DTD
SyncML.php, 1.1, NONE SyncMLDevInf.php, 1.1,
NONE SyncMLMetInf.php, 1.1, NONE
Message-ID: <20071128065203.605A4600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/WBXML/DTD
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/XML_WBXML/WBXML/DTD
Removed Files:
SyncML.php SyncMLDevInf.php SyncMLMetInf.php
Log Message:
Removed kolab-horde-framework
--- SyncML.php DELETED ---
--- SyncMLDevInf.php DELETED ---
--- SyncMLMetInf.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:03 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:03 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/iCalendar
iCalendar.php, 1.1, NONE package.xml, 1.1, NONE
Message-ID: <20071128065203.BB3A760016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/iCalendar
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/iCalendar
Removed Files:
iCalendar.php package.xml
Log Message:
Removed kolab-horde-framework
--- iCalendar.php DELETED ---
--- package.xml DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:04 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:04 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/iCalendar/iCalendar
valarm.php, 1.1, NONE vevent.php, 1.1, NONE vfreebusy.php, 1.1,
NONE vjournal.php, 1.1, NONE vtimezone.php, 1.1, NONE vtodo.php,
1.1, NONE
Message-ID: <20071128065204.599E160016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/iCalendar/iCalendar
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/iCalendar/iCalendar
Removed Files:
valarm.php vevent.php vfreebusy.php vjournal.php vtimezone.php
vtodo.php
Log Message:
Removed kolab-horde-framework
--- valarm.php DELETED ---
--- vevent.php DELETED ---
--- vfreebusy.php DELETED ---
--- vjournal.php DELETED ---
--- vtimezone.php DELETED ---
--- vtodo.php DELETED ---
From cvs at kolab.org Wed Nov 28 07:52:03 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 07:52:03 +0100 (CET)
Subject: gunnar: server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/tests
decode-encode.phpt, 1.1, NONE decode1.phpt, 1.1,
NONE decode2.phpt, 1.1, NONE encode-decode.phpt, 1.1,
NONE encode1.phpt, 1.1, NONE encode2.phpt, 1.1, NONE
Message-ID: <20071128065203.83172600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-horde-framework/kolab-horde-framework/XML_WBXML/tests
In directory doto:/tmp/cvs-serv14629/kolab-horde-framework/XML_WBXML/tests
Removed Files:
decode-encode.phpt decode1.phpt decode2.phpt
encode-decode.phpt encode1.phpt encode2.phpt
Log Message:
Removed kolab-horde-framework
--- decode-encode.phpt DELETED ---
--- decode1.phpt DELETED ---
--- decode2.phpt DELETED ---
--- encode-decode.phpt DELETED ---
--- encode1.phpt DELETED ---
--- encode2.phpt DELETED ---
From cvs at kolab.org Wed Nov 28 08:57:56 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 08:57:56 +0100 (CET)
Subject: gunnar: server Makefile, 1.42, 1.43 install-kolab.sh, 1.14,
1.15 release-notes.txt, 1.181, 1.182
Message-ID: <20071128075756.844FD600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv16648
Modified Files:
Makefile install-kolab.sh release-notes.txt
Log Message:
Complete removal of kolab-horde-framework.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/Makefile,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- Makefile 11 Oct 2007 17:05:08 -0000 1.42
+++ Makefile 28 Nov 2007 07:57:54 -0000 1.43
@@ -38,7 +38,6 @@
kolabd \
kolab-freebusy \
kolab-filter \
- kolab-horde-framework \
kolab-webadmin \
HORDE_PACKAGES=pear/PEAR-Auth_SASL \
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- install-kolab.sh 25 Oct 2007 16:24:18 -0000 1.14
+++ install-kolab.sh 28 Nov 2007 07:57:54 -0000 1.15
@@ -20,7 +20,7 @@
INSTALL=""
-PACKAGES="openpkg-tools openldap postfix kolabd kolab-filter kolab-freebusy kolab-webadmin kolab-horde-framework"
+PACKAGES="openpkg-tools openldap postfix kolabd kolab-filter kolab-freebusy kolab-webadmin"
DEFINE="-D openldap::with_pth=no -D sasl::with_ldap -D sasl::with_login -D postfix::with_sasl -D postfix::with_ssl -D postfix::with_ldap"
#Flags
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.181
retrieving revision 1.182
diff -u -d -r1.181 -r1.182
--- release-notes.txt 28 Nov 2007 06:06:12 -0000 1.181
+++ release-notes.txt 28 Nov 2007 07:57:54 -0000 1.182
@@ -119,6 +119,15 @@
handling and unit testing.
+ Packages in the OpenPKG based Kolab server release:
+
+ - Kolab packages:
+
+ Removed:
+
+ kolab-horde-framework (now horde-framework)
+
+
Changes between 2.2-beta-1 and 2.2-beta-2:
- perl-kolab-2.2.beta2-20071018
From cvs at kolab.org Wed Nov 28 13:45:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 13:45:34 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates kolab.conf.template.in, 1.2,
1.3
Message-ID: <20071128124534.5ED79600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv23550/kolabd/kolabd/templates
Modified Files:
kolab.conf.template.in
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: kolab.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/kolab.conf.template.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- kolab.conf.template.in 8 Oct 2007 15:21:20 -0000 1.2
+++ kolab.conf.template.in 28 Nov 2007 12:45:32 -0000 1.3
@@ -11,7 +11,7 @@
ldap_master_uri : @@@ldap_master_uri@@@
php_dn : cn=nobody,cn=internal,@@@kolab_basedn@@@
php_pw : @@@nobody_pw@@@
-calendar_dn : cn=calendar,cn=internal,@@@kolab_basedn@@@
+calendar_id : calendar
calendar_pw : @@@calendar_pw@@@
slurpd_addr : 127.0.0.1
slurpd_port : 9999
From cvs at kolab.org Wed Nov 28 13:45:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 13:45:34 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.182,1.183
Message-ID: <20071128124534.56576600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv23550
Modified Files:
release-notes.txt
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.182
retrieving revision 1.183
diff -u -d -r1.182 -r1.183
--- release-notes.txt 28 Nov 2007 07:57:54 -0000 1.182
+++ release-notes.txt 28 Nov 2007 12:45:31 -0000 1.183
@@ -50,6 +50,8 @@
Show component and log level when sending debug log to stdout.
+ kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
+
- kolabd-2.1.99-2007????
freebusy_logfile is now freebusy_logdir.
From cvs at kolab.org Wed Nov 28 13:45:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 13:45:34 +0100 (CET)
Subject: gunnar: server/perl-kolab ChangeLog,1.25,1.26
Message-ID: <20071128124534.5F024600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab
In directory doto:/tmp/cvs-serv23550/perl-kolab
Modified Files:
ChangeLog
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/perl-kolab/ChangeLog,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- ChangeLog 23 Oct 2007 09:17:44 -0000 1.25
+++ ChangeLog 28 Nov 2007 12:45:32 -0000 1.26
@@ -1,3 +1,13 @@
+2007-11-28 Gunnar Wrobel
+
+ * lib/Kolab/LDAP.pm (syncDomains, createObject):
+
+ Added syncing for the domins the user specified. We need one
+ calendar user in each domain and resource/group accounts should
+ allow the calendar user to access the mailbox.
+
+ kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
+
2007-10-23 Thomas Arendsen Hein
* lib/Kolab.pm: Show component and log level when sending debug
From cvs at kolab.org Wed Nov 28 13:45:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 13:45:34 +0100 (CET)
Subject: gunnar: server/perl-kolab/lib/Kolab LDAP.pm,1.1,1.2
Message-ID: <20071128124534.59A02600174@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/perl-kolab/lib/Kolab
In directory doto:/tmp/cvs-serv23550/perl-kolab/lib/Kolab
Modified Files:
LDAP.pm
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: LDAP.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/lib/Kolab/LDAP.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- LDAP.pm 1 Aug 2007 14:57:42 -0000 1.1
+++ LDAP.pm 28 Nov 2007 12:45:32 -0000 1.2
@@ -36,6 +36,8 @@
use Kolab;
use Kolab::Util;
use Kolab::Cyrus;
+use Digest::SHA1 qw(sha1);
+use MIME::Base64 qw(encode_base64);
use vars qw(%uid_db %gyard_db %newuid_db %gyard_ts_db %quota_db);
require Exporter;
@@ -351,8 +353,14 @@
# the groups/resources folder.
# TODO: Don't hardcode username
Kolab::log('L', "Detected group or resource account, adding ACL for calendar", KOLAB_ERROR );
+ my $domain;
+ if ($uid =~ /.*\@(.*)/) {
+ $domain = $1;
+ } else {
+ $domain = $Kolab::config{'postfix-mydomain'};
+ }
Kolab::Cyrus::setACL($cyrus,$uid,0, ["$uid all",
- 'calendar@'.$Kolab::config{'postfix-mydomain'}
+ 'calendar@' . $domain
.' all']);
}
}
@@ -568,6 +576,8 @@
%uid_db = %newuid_db;
+ syncDomains();
+
Kolab::log('L', 'Finished synchronisation');
}
@@ -684,6 +694,101 @@
Kolab::log('L', "Finished `$p' object synchronisation");
return $ts;
}
+
+sub syncDomains
+{
+ Kolab::log('L', "Synchronising domains");
+
+ my $ldapmesg;
+ my $uid;
+ my $ldapobject;
+ my @domains;
+ my $domain;
+
+ my $ldap = &create(
+ $Kolab::config{'ldap_ip'},
+ $Kolab::config{'ldap_port'},
+ $Kolab::config{'bind_dn'},
+ $Kolab::config{'bind_pw'}
+ );
+
+ # If we have an old "cn=calendar" we need to fix the DN of that
+ # object
+ my $dn = 'cn=calendar,cn=internal,' . $Kolab::config{'base_dn'};
+ $ldapmesg = $ldap->search(
+ base => 'cn=internal,' . $Kolab::config{'base_dn'},
+ scope => 'one',
+ filter => '(&(objectClass=kolabInetOrgPerson)(cn=calendar))',
+ attrs => [
+ 'objectClass',
+ 'uid',
+ ],
+ );
+
+ if ( UNIVERSAL::isa( $ldapmesg, 'Net::LDAP::Search') && $ldapmesg->count() > 0) {
+ Kolab::log('L', "Identified old calendar user with DN `$dn'", KOLAB_DEBUG);
+ my $cn = 'cn=' . $Kolab::config{'calendar_id'} . '@' . $Kolab::config{'postfix-mydomain'};
+ $ldap->moddn($dn, newrdn => $cn, deleteoldrdn => 1);
+ Kolab::log('L', "Renamed old calendar user with DN `$dn' to DN `$cn'", KOLAB_INFO);
+ } else {
+ Kolab::log('L', "Unable to locate old calendar user with DN `$dn'", KOLAB_DEBUG);
+ }
+
+ if( ref($Kolab::config{'postfix-mydestination'}) eq 'ARRAY' ) {
+ @domains = @{$Kolab::config{'postfix-mydestination'}};
+ } else {
+ @domains =( $Kolab::config{'postfix-mydestination'} );
+ }
+
+ my $sha_pw = hash_pw($Kolab::config{'calendar_pw'});
+ foreach $domain (@domains) {
+ $uid = $Kolab::config{'calendar_id'} . '@' . $domain;
+ $dn = 'cn=' . $uid . ',cn=internal,' . $Kolab::config{'base_dn'};
+ $ldapmesg = $ldap->search(
+ base => $dn,
+ scope => 'one',
+ filter => '(&(objectClass=kolabInetOrgPerson))',
+ attrs => [
+ 'objectClass',
+ 'uid',
+ ],
+ );
+ if ( UNIVERSAL::isa( $ldapmesg, 'Net::LDAP::Search') && $ldapmesg->code() <= 0) {
+ Kolab::log('L', "Calendar user for domain `$domain' exists", KOLAB_DEBUG);
+ } else {
+ $ldapobject = Net::LDAP::Entry->new;
+ $ldapobject->replace('cn' => $uid,
+ 'sn' => 'n/a n/a',
+ 'uid' => $uid,
+ 'userPassword' => $sha_pw,
+ 'objectclass' => ['top','inetorgperson','kolabinetorgperson']);
+ $ldapobject->dn($dn);
+ $ldapobject->update($ldap);
+ undef $ldapobject;
+ Kolab::log('L', "Created new calendar user with DN `$dn' for domain `$domain'", KOLAB_INFO);
+ }
+ }
+
+}
+
+# Taken from Samba::LDAP::User.pm
+sub hash_pw {
+ my $pass = shift;
+
+ # Generate SSHA hash (SHA1 with salt)
+ my $salt = make_salt(4);
+ return '{SSHA}' . encode_base64(sha1($pass . $salt) . $salt, '');
+}
+
+sub make_salt {
+ my $self = shift;
+ my $length = shift || '32';
+
+ my @tab = ('.', '/', 0 .. 9, 'A' .. 'Z', 'a' .. 'z');
+
+ return join "", @tab[ map {rand 64} (1 .. $length) ];
+}
+
1;
__END__
From cvs at kolab.org Wed Nov 28 13:45:34 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 13:45:34 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd ChangeLog, 1.121, 1.122 kolab.globals.in,
1.9, 1.10 kolab_bootstrap.in, 1.28, 1.29
Message-ID: <20071128124534.5F74B600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv23550/kolabd/kolabd
Modified Files:
ChangeLog kolab.globals.in kolab_bootstrap.in
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -d -r1.121 -r1.122
--- ChangeLog 27 Nov 2007 07:30:24 -0000 1.121
+++ ChangeLog 28 Nov 2007 12:45:32 -0000 1.122
@@ -1,3 +1,17 @@
+2007-11-28 Gunnar Wrobel
+
+ * templates/kolab.conf.template.in (calendar_id):
+
+ Rename "calendar_dn" to "calendar_id"
+
+ * kolab_bootstrap.in:
+
+ Use "calendar_id" instead of "calendar_pw"
+
+ * kolab.globals.in (calendar_id):
+
+ Added global calendar_id setting.
+
2007-11-27 Gunnar Wrobel
* dist_conf/common:
Index: kolab.globals.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolab.globals.in,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- kolab.globals.in 17 Oct 2007 17:57:13 -0000 1.9
+++ kolab.globals.in 28 Nov 2007 12:45:32 -0000 1.10
@@ -46,3 +46,4 @@
local_addr : 127.0.0.1
bind_any : TRUE
bind_addr : 0.0.0.0
+calendar_id : calendar
Index: kolab_bootstrap.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolab_bootstrap.in,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- kolab_bootstrap.in 17 Oct 2007 17:57:13 -0000 1.28
+++ kolab_bootstrap.in 28 Nov 2007 12:45:32 -0000 1.29
@@ -270,7 +270,7 @@
my $base_dn = $kolab_config{'base_dn'} || die "could not read base_dn from $kolab_config";
my $php_dn = $kolab_config{'php_dn'} || die "could not read php_dn from $kolab_config";
my $php_pw = $kolab_config{'php_pw'} || die "could not read php_pw from $kolab_config";
-my $calendar_dn = $kolab_config{'calendar_dn'};
+my $calendar_id = $kolab_config{'calendar_id'};
my $calendar_pw = $kolab_config{'calendar_pw'};
my $slurpd_addr = $kolab_config{'slurpd_addr'} || die "could not read slurpd_addr from $kolab_config";
my $slurpd_port = $kolab_config{'slurpd_port'} || die "could not read slurpd_port from $kolab_config";
@@ -353,10 +353,7 @@
$php_pw = `@bindir@/openssl rand -base64 30`;
chomp $php_pw;
}
- if ($calendar_dn =~ /\@\@\@/) {
- $calendar_dn =~ s/\@\@\@kolab_basedn\@\@\@/$base_dn/g;
- chomp $calendar_dn;
- }
+
if ($calendar_pw =~ /\@\@\@/) {
$calendar_pw = `@bindir@/openssl rand -base64 30`;
chomp $calendar_pw;
@@ -373,7 +370,7 @@
print $fd "ldap_master_uri : $ldap_uri\n";
print $fd "php_dn : $php_dn\n";
print $fd "php_pw : $php_pw\n";
- print $fd "calendar_dn : $calendar_dn\n";
+ print $fd "calendar_id : $calendar_id\n";
print $fd "calendar_pw : $calendar_pw\n";
print $fd "slurpd_addr : $slurpd_addr\n";
print $fd "slurpd_port : $slurpd_port\n";
@@ -609,11 +606,11 @@
undef $ldapobject;
# create calendar user
- $ldapobject = newOrExistingLDAPEntry( $ldap, "cn=calendar,cn=internal,$base_dn" );
- $ldapobject->replace('cn' => 'calendar', 'sn' => 'n/a n/a', 'uid' => 'calendar@'.$domain,
+ $ldapobject = newOrExistingLDAPEntry( $ldap, "cn=$calendar_id@$domain,cn=internal,$base_dn" );
+ $ldapobject->replace('cn' => $calendar_id . '@' . $domain, 'sn' => 'n/a n/a', 'uid' => $calendar_id . '@' . $domain,
'userPassword' => hashPassword($calendar_pw),
'objectclass' => ['top','inetorgperson','kolabinetorgperson']);
- $ldapobject->dn("cn=calendar,cn=internal,$base_dn");
+ $ldapobject->dn("cn=$calendar_id@$domain,cn=internal,$base_dn");
$mesg = $ldapobject->update($ldap);
$mesg && $mesg->code && warn "failed to write entry: ", $mesg->error;
undef $ldapobject;
@@ -779,7 +776,7 @@
#my $entry = $mesg->entry(0);
#$php_pw = $entry->get_value( 'userPassword' );
- $calendar_dn = "cn=calendar,cn=internal,$base_dn";
+ $calendar_dn = "cn=$calendar_id@$domain,cn=internal,$base_dn";
$mesg = $ldap->search(base=> $php_dn, scope=> 'exact', filter=> "(objectclass=*)");
if ($mesg && $mesg->count != 1) {
print "Calendar object not found, please check your input\n";
@@ -830,7 +827,7 @@
print $fd "ldap_master_uri : $ldap_uri\n";
print $fd "php_dn : $php_dn\n";
print $fd "php_pw : $php_pw\n";
- print $fd "calendar_dn : $calendar_dn\n";
+ print $fd "calendar_id : $calendar_id\n";
print $fd "calendar_pw : $calendar_pw\n";
print $fd "slurpd_addr : $slurpd_addr\n";
print $fd "slurpd_port : $slurpd_port\n";
@@ -935,7 +932,7 @@
print $fd "ldap_master_uri : $ldap_uri\n";
print $fd "php_dn : $php_dn\n";
print $fd "php_pw : $php_pw\n";
- print $fd "calendar_dn : $calendar_dn\n";
+ print $fd "calendar_id : $calendar_id\n";
print $fd "calendar_pw : $calendar_pw\n";
print $fd "slurpd_addr : $slurpd_addr\n";
print $fd "slurpd_port : $slurpd_port\n";
From cvs at kolab.org Wed Nov 28 16:37:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 16:37:01 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.183,1.184
Message-ID: <20071128153701.E74F760016D@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv28709
Modified Files:
release-notes.txt
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.183
retrieving revision 1.184
diff -u -d -r1.183 -r1.184
--- release-notes.txt 28 Nov 2007 12:45:31 -0000 1.183
+++ release-notes.txt 28 Nov 2007 15:36:59 -0000 1.184
@@ -120,6 +120,7 @@
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
+ kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Packages in the OpenPKG based Kolab server release:
From cvs at kolab.org Wed Nov 28 16:37:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 16:37:01 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter config.php,1.8,1.9
Message-ID: <20071128153701.EA422600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv28709/kolab-filter/filter
Modified Files:
config.php
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- config.php 27 Nov 2007 14:52:18 -0000 1.8
+++ config.php 28 Nov 2007 15:36:59 -0000 1.9
@@ -114,7 +114,7 @@
* account should have access to the calendar mailbox of all
* resource/group mailboxes.
*/
-$conf['filter']['calendar_user'] = 'calendar@' . $conf['filter']['email_domain'];
+$conf['filter']['calendar_id'] = 'calendar';
$conf['filter']['calendar_pass'] = 'zyx';
/* Filename of private key used to decrypt password from LDAP */
From cvs at kolab.org Wed Nov 28 16:37:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 16:37:01 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates resmgr.conf.template.in, 1.14,
1.15
Message-ID: <20071128153701.EBAB5600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv28709/kolabd/kolabd/templates
Modified Files:
resmgr.conf.template.in
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: resmgr.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/resmgr.conf.template.in,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- resmgr.conf.template.in 27 Nov 2007 14:21:15 -0000 1.14
+++ resmgr.conf.template.in 28 Nov 2007 15:36:59 -0000 1.15
@@ -131,7 +131,7 @@
* account should have access to the calendar mailbox of all
* resource/group mailboxes.
*/
-$conf['filter']['calendar_user'] = 'calendar@' . $conf['filter']['email_domain'];
+$conf['filter']['calendar_id'] = '@@@calendar_id@@@';
$conf['filter']['calendar_pass'] = '@@@calendar_pw@@@';
/* Filename of private key used to decrypt password from LDAP */
From cvs at kolab.org Wed Nov 28 16:37:01 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 16:37:01 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter ChangeLog,1.3,1.4
Message-ID: <20071128153701.ED1C6600D67@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter
In directory doto:/tmp/cvs-serv28709/php-kolab/Kolab_Filter
Modified Files:
ChangeLog
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ChangeLog 28 Nov 2007 06:06:12 -0000 1.3
+++ ChangeLog 28 Nov 2007 15:36:59 -0000 1.4
@@ -1,5 +1,9 @@
2007-11-28 Gunnar Wrobel
+ * Filter/Resource.php:
+
+ kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
+
* Filter/Incoming.php:
kolab/issue2174 (Automatic Invitation Policy not working with invites as attachment)
From cvs at kolab.org Wed Nov 28 16:37:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Wed, 28 Nov 2007 16:37:02 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/Filter Filter.php, 1.4,
1.5 Incoming.php, 1.6, 1.7 Resource.php, 1.4, 1.5
Message-ID: <20071128153702.050DC600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/Filter
In directory doto:/tmp/cvs-serv28709/php-kolab/Kolab_Filter/Filter
Modified Files:
Filter.php Incoming.php Resource.php
Log Message:
kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
Index: Filter.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Filter.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Filter.php 27 Nov 2007 14:21:15 -0000 1.4
+++ Filter.php 28 Nov 2007 15:36:59 -0000 1.5
@@ -232,7 +232,15 @@
OUT_STDOUT | EX_USAGE);
}
- $this->_sender = strtolower($options['s']);
+ if (empty($options['s'])) {
+ $sender = '';
+ } else if (is_array($options['s'])) {
+ $sender = $options['s'][0];
+ } else {
+ $sender = $options['s'];
+ }
+
+ $this->_sender = strtolower($sender);
$recipients = $options['r'];
@@ -351,13 +359,27 @@
$msg = $result->getMessage() . $id;
/* Log all errors */
- $frame = $result->getBacktrace(1);
+ $file = __FILE__;
+ $line = __LINE__;
+
+ $frames = $result->getBacktrace();
+ if (count($frames) > 1) {
+ $frame = $frames[1];
+ } else if (count($frames) == 1) {
+ $frame = $frames[0];
+ }
+ if (isset($frame['file'])) {
+ $file = $frame['file'];
+ }
+ if (isset($frame['line'])) {
+ $line = $frame['line'];
+ }
/* In debugging mode the errors get delivered to the screen
* without a time stamp (mainly because of unit testint)
*/
if (!$this->_debug) {
- Horde::logMessage($msg, $frame['file'], $frame['line'], PEAR_LOG_ERR);
+ Horde::logMessage($msg, $file, $line, PEAR_LOG_ERR);
} else {
$msg .= ' (Line ' . $frame['line'] . ' in ' . basename($frame['file']) . ")\n";
fwrite(STDOUT, $msg);
Index: Incoming.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Incoming.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- Incoming.php 28 Nov 2007 06:06:12 -0000 1.6
+++ Incoming.php 28 Nov 2007 15:36:59 -0000 1.7
@@ -121,7 +121,7 @@
foreach ($this->_recipients as $recip) {
Horde::logMessage(sprintf(_("Calling resmgr_filter(%s, %s, %s, %s)"),
$this->_fqhostname, $this->_sender,
- $this->_recip, $this->tmpfile),
+ $recip, $this->_tmpfile), __FILE__, __LINE__,
PEAR_LOG_DEBUG);
$rc = resmgr_filter($this->_fqhostname, $this->_sender, $recip,
$this->_tmpfile);
Index: Resource.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Filter/Filter/Resource.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Resource.php 28 Nov 2007 06:06:12 -0000 1.4
+++ Resource.php 28 Nov 2007 15:36:59 -0000 1.5
@@ -32,8 +32,6 @@
*
*/
-require_once 'Kolab/Filter/misc.php';
-
require_once 'Net/IMAP.php';
require_once 'Horde/iCalendar.php';
require_once 'Horde/MIME.php';
@@ -42,24 +40,14 @@
require_once 'Horde/MIME/Part.php';
require_once 'Horde/MIME/Structure.php';
-require_once 'Horde/Text.php';
-
-if (!method_exists('Text', 'wrap')) {
- require_once 'Horde/String.php';
-}
+require_once 'Horde/String.php';
// Required to be able to use the old Horde framework
function wrap($text)
{
- if (method_exists('Text', 'wrap')) {
- return Text::wrap($text, 76, "\n");
- } else {
- return String::wrap($text, 76, "\n");
- }
+ return String::wrap($text, 76, "\n");
}
-require_once 'Kolab/Freebusy/recurrence.class.php';
-
// What actions we can take when receiving an event request
define('RM_ACT_ALWAYS_ACCEPT', 1);
define('RM_ACT_REJECT_IF_CONFLICTS', 2);
@@ -84,35 +72,35 @@
/* Recurrence implementation for looking for
conflicts between an event and a freebusy list
*/
-class ResmgrRecurrence extends Recurrence {
- function ResmgrRecurrence() {
- $this->conflict = false;
- }
+// class ResmgrRecurrence extends Recurrence {
+// function ResmgrRecurrence() {
+// $this->conflict = false;
+// }
- function setBusy( $start, $end, $duration ) {
- if( $this->conflict ) return;
- if( is_null($end) ) $end = $start + $duration;
- foreach ($this->busyperiods as $busyfrom => $busyto) {
- if ( in_array(base64_decode($this->extraparams[$busyfrom]['X-UID']), $this->ignore) ||
- in_array(base64_decode($this->extraparams[$busyfrom]['X-SID']), $this->ignore) ) {
- // Ignore
- continue;
- }
- if (($busyfrom >= $start && $busyfrom < $end) || ($start >= $busyfrom && $start < $busyto)) {
- Horde::logMessage('Request overlaps', __FILE__, __LINE__, PEAR_LOG_DEBUG);
- $this->conflict = true;
- break;
- }
- }
- }
+// function setBusy( $start, $end, $duration ) {
+// if( $this->conflict ) return;
+// if( is_null($end) ) $end = $start + $duration;
+// foreach ($this->busyperiods as $busyfrom => $busyto) {
+// if ( in_array(base64_decode($this->extraparams[$busyfrom]['X-UID']), $this->ignore) ||
+// in_array(base64_decode($this->extraparams[$busyfrom]['X-SID']), $this->ignore) ) {
+// // Ignore
+// continue;
+// }
+// if (($busyfrom >= $start && $busyfrom < $end) || ($start >= $busyfrom && $start < $busyto)) {
+// Horde::logMessage('Request overlaps', __FILE__, __LINE__, PEAR_LOG_DEBUG);
+// $this->conflict = true;
+// break;
+// }
+// }
+// }
- function hasConflict() { return $this->conflict; }
+// function hasConflict() { return $this->conflict; }
- var $busyperiods;
- var $extraparams;
- var $ignore;
- var $conflict;
-};
+// var $busyperiods;
+// var $extraparams;
+// var $ignore;
+// var $conflict;
+// };
function imapClose()
{
@@ -202,7 +190,7 @@
if (!ldap_bind($ldap, $conf['filter']['bind_dn'], $conf['filter']['bind_pw'])) {
return PEAR::raiseError(sprintf(_("Unable to contact LDAP server: %s"),
ldap_error($ldap)),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
$result = ldap_search($ldap, $conf['filter']['base_dn'],
@@ -212,7 +200,7 @@
if (!$result) {
return PEAR::raiseError(sprintf(_("Unable to perform LDAP search: %s"),
ldap_error($ldap)),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
$entries = ldap_get_entries($ldap, $result);
@@ -227,34 +215,6 @@
$hs = $entries[0]['kolabhomeserver'][0];
$actions = $entries[0]['kolabinvitationpolicy'];
- /* Encrypted password are not used anymore...
- * TODO: Clean this code out when we're sure
- * we don't want to use it...
- */
- $cleartext = false;
- /*
- $encpw = base64_decode($entries[0]['kolabencryptedpassword'][0]);
-
- # Now get private key and decrypt the password
- $pkd = file_get_contents($conf['filter']['priv_key_file']);
- $pkey = openssl_pkey_get_private($pkd);
- if ($pkey === false) {
- while ($msg = openssl_error_string()) {
- Horde::logMessage(sprintf(_("Error reading private key: %s"),
- $msg), __FILE__, __LINE__, PEAR_LOG_WARNING);
- }
-
- if (!openssl_private_decrypt($encpw, $cleartext, $pkey)) {
- while ($msg = openssl_error_string()) {
- Horde::logMessage(sprintf(_("Error decrypting password: %s"),
- $msg), __FILE__, __LINE__, PEAR_LOG_WARNING);
- ldap_free_result( $result );
- $cleartext = false;
- }
-
- openssl_free_key($pkey);
- */
-
$policies = array();
$defaultpolicy = false;
foreach( $actions as $action ) {
@@ -301,44 +261,9 @@
ldap_close($ldap);
- return array( 'cn' => $cn, 'homeserver' => $hs, 'password' => $cleartext,
- 'action' => $action );
+ return array( 'cn' => $cn, 'homeserver' => $hs, 'action' => $action );
}
-function getResourceUid($resource)
-{
- global $conf;
-
- // Connect to the LDAP server and retrieve the users' password
- $ldap = ldap_connect($conf['filter']['ldap_uri']);
- if (!ldap_bind($ldap, $conf['filter']['bind_dn'], $conf['filter']['bind_pw'])) {
- Horde::logMessage(sprintf(_("Unable to contact LDAP server: %s"),
- ldap_error($ldap)),
- __FILE__, __LINE__, PEAR_LOG_WARNING);
- return false;
- }
-
- $result = ldap_search($ldap, $conf['filter']['base_dn'], "(&(objectClass=kolabInetOrgPerson)(mail=$resource))", array("uid"));
- if (!$result) {
- Horde::logMessage(sprintf(_("Unable to perform LDAP search: %s"),
- ldap_error($ldap)),
- __FILE__, __LINE__, PEAR_LOG_WARNING);
- return false;
- }
-
- $entries = ldap_get_entries($ldap, $result);
- if ($entries['count'] != 1) {
- Horde::logMessage(sprintf(_("%s objects returned for %s"),
- $entries['count'], $resource),
- __FILE__, __LINE__, PEAR_LOG_WARNING);
- return false;
- }
-
- $ldap_uid = $entries[0]['uid'][0];
- ldap_close($ldap);
- if( $ldap_uid ) return $ldap_uid;
- else return $resource;
-}
function getRequest($filename)
{
@@ -485,10 +410,18 @@
Horde::logMessage(sprintf(_("URL = %s"), $url), __FILE__, __LINE__, PEAR_LOG_DEBUG);
$parsed = parse_url($url);
- $parsed['user'] = urlencode($conf['filter']['calendar_user']);
+
+ list($user, $domain) = split('@', $resource);
+ if (empty($domain)) {
+ $domain = $conf['filter']['email_domain'];
+ }
+ $parsed['user'] = urlencode($conf['filter']['calendar_id'] . '@' . $domain);
$parsed['pass'] = urlencode($conf['filter']['calendar_pass']);
+
$url = assembleUri($parsed);
+ Horde::logMessage(sprintf(_("URL = %s"), $url), __FILE__, __LINE__, PEAR_LOG_DEBUG);
+
$text = @file_get_contents($url);
if ($text == false || empty($text)) {
$parsed = parse_url($url);
@@ -498,7 +431,8 @@
$resource, $url),
__FILE__, __LINE__, PEAR_LOG_ERR);
//shutdown(1, "Unable to retrieve free/busy information for $resource");
- return false;
+ $result = false;
+ return $result;
}
// If this call is purely to cache the f/b list then we don't need to
@@ -513,7 +447,8 @@
$resource),
__FILE__, __LINE__, PEAR_LOG_ERR);
//shutdown();
- return false;
+ $result = false;
+ return $result;
}
$vfb->simplify();
@@ -527,7 +462,7 @@
global $organiser, $uid, $sid, $is_update;
Horde::logMessage(sprintf(_("sendITipReply(%s, %s, %s, %s)"),
- $cn, $resource, $itip, $type),
+ $cn, $resource, get_class($itip), $type),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
// Build the reply.
@@ -687,6 +622,13 @@
global $conf, $imap, $server, $mailbox, $calmbox, $prefix, $suffix;
// Handle virtual domains
+ list($user, $domain) = split('@', $resource);
+ if (empty($domain)) {
+ $domain = $conf['filter']['email_domain'];
+ }
+ $calendar_user = $conf['filter']['calendar_id'] . '@' . $domain;
+
+ // Handle virtual domains
$prefix = $resource;
$suffix = '';
if ($conf['filter']['virtual_domains']) {
@@ -709,7 +651,7 @@
$fullmbox = $server . $mymailbox;
Horde::logMessage(sprintf(_("Logging into %s as user %s to access %s"),
- $conf['filter']['imap_server'], $conf['filter']['calendar_user'], $mymailbox),
+ $conf['filter']['imap_server'], $calendar_user, $mymailbox),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
$imap = &new Net_IMAP( $conf['filter']['imap_server'] );
@@ -720,7 +662,7 @@
return false;
}
//$imap->setDebug(true);
- $rc = $imap->login($conf['filter']['calendar_user'], $conf['filter']['calendar_pass'], true, false);
+ $rc = $imap->login($calendar_user, $conf['filter']['calendar_pass'], true, false);
if( PEAR::isError($rc) ) {
Horde::logMessage(sprintf(_("Unable to authenticate: %s"),
$rc->getMessage()),
@@ -781,7 +723,7 @@
}
Horde::logMessage(sprintf(_("Selecting %s for %s"),
- $calmbox, $conf['filter']['calendar_user']),
+ $calmbox, $calendar_user),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
// Open an IMAP connection to the requested users' calendar
$rc = $imap->selectMailBox( $calmbox );
@@ -792,8 +734,8 @@
return false;
}
- Horde::logMessage(sprintf(_("Connected to %s, imap object is %s"),
- $calmbox, $imap),
+ Horde::logMessage(sprintf(_("Successfully connected to %s."),
+ $calmbox),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
return $imap;
}
@@ -1194,7 +1136,9 @@
}
}
- return array($kolab_xml,$recurrence);
+ $result = array($kolab_xml,$recurrence);
+
+ return $result;
}
@@ -1218,14 +1162,6 @@
// Not the users homeserver, ignore
return true;
}
- if( $ldapdata['password'] === false ) {
- // No decryptable password, use calendar user
- $conf['filter']['calendar_uid'] = getResourceUid($resource);
- } else {
- $conf['filter']['calendar_user'] = $resource;
- $conf['filter']['calendar_uid'] = getResourceUid($resource);
- $conf['filter']['calendar_pass'] = $ldapdata['password'];
- }
$cn = $ldapdata['cn'];
$conf['filter']['action'] = $ldapdata['action'];
@@ -1323,7 +1259,7 @@
$connected = ($imap !== false);
if( !$connected ) {
return PEAR::raiseError(_("Error, could not open calendar folder!"),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
}
switch ($method) {
case 'REQUEST':
@@ -1356,6 +1292,8 @@
}
list($kolab_xml,$recurrence) = buildKolabEvent($itip);
+ $outofperiod=0;
+
// Don't even bother checking free/busy info if RM_ACT_ALWAYS_ACCEPT
// is specified
if ($conf['filter']['action'] != RM_ACT_ALWAYS_ACCEPT) {
@@ -1373,7 +1311,6 @@
$vfbstart, iCalDate2Kolab($vfbstart), $vfbend, iCalDate2Kolab($vfbend)),
__FILE__, __LINE__, PEAR_LOG_DEBUG);
- $outofperiod=0;
if ($vfbstart && $dtstart > convert2epoch ($vfbend)) {
$outofperiod=1;
} else {
@@ -1604,7 +1541,7 @@
if (is_a($status, 'PEAR_Error')) {
return PEAR::raiseError(sprintf(_("Unable to send cancellation reply: %s"),
$status->getMessage()),
- OUT_LOG | ERR_TEMPFAIL);
+ OUT_LOG | EX_TEMPFAIL);
} else {
Horde::logMessage(_("Successfully sent cancellation reply"),
__FILE__, __LINE__, PEAR_LOG_INFO);
From cvs at kolab.org Thu Nov 29 09:22:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 09:22:55 +0100 (CET)
Subject: gunnar: server/patches/horde
HK-GW-framework_3.2_RC1-Fix_Prefs_for_Ingo.patch, NONE,
1.1 HK-GW-turba_2.2_RC1-Fix_editing_contacts.patch, NONE,
1.1 HK-GW-turba_2.2_RC1-Fix_share_id_change.patch, NONE,
1.1 HK-GW-turba_2.2_RC1-Ldap_read_only_fix.patch, NONE,
1.1 HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch, 1.1,
NONE HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch, 1.1,
NONE HK-GW-framework_3.2_ALPHA-Fix_contact_XML.patch, 1.1,
NONE HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch, 1.1,
NONE HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch, 1.4,
NONE HK-GW-framework_3.2_ALPHA-Kolab_issue_2138.patch, 1.1,
NONE HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch, 1.1,
NONE HK-GW-framework_3.2_ALPHA-Share_caching.patch, 1.1,
NONE HK-GW-global_3.2_ALPHA-SyncML.patch, 1.1,
NONE HK-GW-horde_3.2_ALPHA-Deleting_categories.patch, 1.1,
NONE HK-GW-kronolith_2.2-Fix_create_new_event.patch, 1.1,
NONE HK-GW-kronolith_2.2-Fix_share_right_editing.patch, 1.1,
NONE HK-GW-kronolith_2.2_ALPHA-Kolab_issue_2138.p
atch, 1.1, NONE HK-GW-mnemo_2.2_ALPHA-Edit_share_rights.patch, 1.1,
NONE HK-GW-nag_2.2_ALPHA-Fix_share_right_editing.patch, 1.1,
NONE HK-GW-turba_2.2-Changes_after_ALPHA.patch, 1.1,
NONE HK-GW-turba_2.2-Fix_address_book_deletion_1.patch, 1.1,
NONE HK-GW-turba_2.2-Fix_editing_contacts.patch, 1.1,
NONE HK-GW-turba_2.2-Fix_notice_on_addressbook_creation.patch,
1.1, NONE HK-GW-turba_2.2-Fix_share_id_change.patch, 1.1,
NONE HK-GW-turba_2.2-Ldap_read_only_fix.patch, 1.1,
NONE HK-UV-kronolith_2.2-Fix_list_events.patch, 1.1,
NONE README_Changes_after_ALPHA.patch, 1.1,
NONE README_Deleting_categories.patch, 1.1,
NONE README_Edit_share_rights.patch, 1.1,
NONE README_Fix_address_book_deletion_1.patch, 1.1,
NONE README_Fix_annotation_use.patch, 1.1,
NONE README_Fix_contact_XML.patch, 1.1,
NONE README_Fix_create_new_event.patch, 1.1,
NONE README_Fix_list_events.patch, 1.1,
NONE README_Fix_notice_on_addressbook_creation.patch, 1.1,
NONE README_Fix_share_right_editing.patch, 1.1,
NONE README_Fix_the_share_params.patch, 1.1, NONE R
EADME_Kolab_extensions.patch, 1.1, NONE README_Kolab_issue_2138.patch,
1.1, NONE README_Kolab_issue_2144.patch, 1.1,
NONE README_Share_caching.patch, 1.2, NONE README_SyncML.patch,
1.1, NONE
Message-ID: <20071129082255.BE658600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv8070
Added Files:
HK-GW-framework_3.2_RC1-Fix_Prefs_for_Ingo.patch
HK-GW-turba_2.2_RC1-Fix_editing_contacts.patch
HK-GW-turba_2.2_RC1-Fix_share_id_change.patch
HK-GW-turba_2.2_RC1-Ldap_read_only_fix.patch
Removed Files:
HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch
HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch
HK-GW-framework_3.2_ALPHA-Fix_contact_XML.patch
HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch
HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch
HK-GW-framework_3.2_ALPHA-Kolab_issue_2138.patch
HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch
HK-GW-framework_3.2_ALPHA-Share_caching.patch
HK-GW-global_3.2_ALPHA-SyncML.patch
HK-GW-horde_3.2_ALPHA-Deleting_categories.patch
HK-GW-kronolith_2.2-Fix_create_new_event.patch
HK-GW-kronolith_2.2-Fix_share_right_editing.patch
HK-GW-kronolith_2.2_ALPHA-Kolab_issue_2138.patch
HK-GW-mnemo_2.2_ALPHA-Edit_share_rights.patch
HK-GW-nag_2.2_ALPHA-Fix_share_right_editing.patch
HK-GW-turba_2.2-Changes_after_ALPHA.patch
HK-GW-turba_2.2-Fix_address_book_deletion_1.patch
HK-GW-turba_2.2-Fix_editing_contacts.patch
HK-GW-turba_2.2-Fix_notice_on_addressbook_creation.patch
HK-GW-turba_2.2-Fix_share_id_change.patch
HK-GW-turba_2.2-Ldap_read_only_fix.patch
HK-UV-kronolith_2.2-Fix_list_events.patch
README_Changes_after_ALPHA.patch
README_Deleting_categories.patch
README_Edit_share_rights.patch
README_Fix_address_book_deletion_1.patch
README_Fix_annotation_use.patch README_Fix_contact_XML.patch
README_Fix_create_new_event.patch README_Fix_list_events.patch
README_Fix_notice_on_addressbook_creation.patch
README_Fix_share_right_editing.patch
README_Fix_the_share_params.patch
README_Kolab_extensions.patch README_Kolab_issue_2138.patch
README_Kolab_issue_2144.patch README_Share_caching.patch
README_SyncML.patch
Log Message:
Horde patch update for the new RC1 release.
--- NEW FILE: HK-GW-framework_3.2_RC1-Fix_Prefs_for_Ingo.patch ---
This patch is required if you want to use Ingo with the Kolab server.
diff -r 56b552eb6b01 framework/Prefs/Prefs/kolab.php
--- a/framework/Prefs/Prefs/kolab.php Wed Nov 28 17:00:34 2007 +0100
+++ b/framework/Prefs/Prefs/kolab.php Wed Nov 28 17:04:21 2007 +0100
@@ -1,5 +1,6 @@
'3',
'basedn' => $GLOBALS['conf']['kolab']['ldap']['basedn'],
'fetchdn' => true,
+ 'username' => Auth::getAuth(),
+ 'password' => Auth::getCredential('password'),
'searchdn' => $GLOBALS['conf']['kolab']['ldap']['phpdn'],
'searchpass' => $GLOBALS['conf']['kolab']['ldap']['phppw'],
'uid' => array('mail', 'uid'));
--- NEW FILE: HK-GW-turba_2.2_RC1-Fix_editing_contacts.patch ---
Fixes editing contacts.
diff -r e2bcaaed2d6b turba/lib/Driver/share.php
--- a/turba/lib/Driver/share.php Wed Nov 28 17:23:14 2007 +0100
+++ b/turba/lib/Driver/share.php Wed Nov 28 17:24:17 2007 +0100
@@ -58,7 +58,7 @@ class Turba_Driver_share extends Turba_D
*/
function getName()
{
- $share_parts = explode(':', $this->_share->getName());
+ $share_parts = explode(':', $this->_share->getId());
return array_pop($share_parts);
}
--- NEW FILE: HK-GW-turba_2.2_RC1-Fix_share_id_change.patch ---
This fixes a problem with the way the Kolab share driver handles ids.
diff -r 0ffb2574c923 turba/lib/Turba.php
--- a/turba/lib/Turba.php Wed Nov 28 17:04:21 2007 +0100
+++ b/turba/lib/Turba.php Wed Nov 28 17:23:14 2007 +0100
@@ -439,7 +439,7 @@ class Turba {
$source_config = $sources[$source];
$source_config['params']['share'] = &$share;
- $sources[$sourceKey] = $source_config;
+ $sources[$share->getId()] = $source_config;
} else {
$notification->push($driver, 'horde.error');
}
@@ -564,7 +564,7 @@ class Turba {
/* Add the new addressbook to the user's list of visible
* address books. */
$prefs = explode("\n", $GLOBALS['prefs']->getValue('addressbooks'));
- if (array_search($share_id, $prefs) === false) {
+ if (array_search($share->getId(), $prefs) === false) {
$GLOBALS['prefs']->setValue('addressbooks', $GLOBALS['prefs']->getValue('addressbooks') . "\n" . $share_id);
}
return $share;
--- NEW FILE: HK-GW-turba_2.2_RC1-Ldap_read_only_fix.patch ---
This is a temporary fix to mark the ldap addressbook as read-only. This should be solved with the Horde Perms package but this needs a new driver.
diff -r 449ef255c5ff turba/lib/Driver/ldap.php
--- a/turba/lib/Driver/ldap.php Wed Nov 28 17:24:17 2007 +0100
+++ b/turba/lib/Driver/ldap.php Wed Nov 28 17:26:17 2007 +0100
@@ -53,6 +53,9 @@ class Turba_Driver_ldap extends Turba_Dr
}
if (empty($params['deref'])) {
$params['deref'] = LDAP_DEREF_NEVER;
+ }
+ if (empty($params['read_only'])) {
+ $params['read_only'] = false;
}
parent::Turba_Driver($params);
@@ -749,4 +752,25 @@ class Turba_Driver_ldap extends Turba_Dr
return $dn;
}
+ /**
+ * Checks if the current user has the requested permission
+ * on this source.
+ *
+ * @param integer $perm The permission to check for.
+ *
+ * @return boolean true if user has permission, false otherwise.
+ */
+ function hasPermission($perm)
+ {
+ if ($this->_params['read_only'] === false) {
+ return parent::hasPermission($perm);
+ } else {
+ switch ($perm) {
+ case PERMS_EDIT: return false;
+ case PERMS_DELETE: return false;
+ default: return parent::hasPermission($perm);
+ }
+ }
+ }
+
}
--- HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch DELETED ---
--- HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch DELETED ---
--- HK-GW-framework_3.2_ALPHA-Fix_contact_XML.patch DELETED ---
--- HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch DELETED ---
--- HK-GW-framework_3.2_ALPHA-Kolab_extensions.patch DELETED ---
--- HK-GW-framework_3.2_ALPHA-Kolab_issue_2138.patch DELETED ---
--- HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch DELETED ---
--- HK-GW-framework_3.2_ALPHA-Share_caching.patch DELETED ---
--- HK-GW-global_3.2_ALPHA-SyncML.patch DELETED ---
--- HK-GW-horde_3.2_ALPHA-Deleting_categories.patch DELETED ---
--- HK-GW-kronolith_2.2-Fix_create_new_event.patch DELETED ---
--- HK-GW-kronolith_2.2-Fix_share_right_editing.patch DELETED ---
--- HK-GW-kronolith_2.2_ALPHA-Kolab_issue_2138.patch DELETED ---
--- HK-GW-mnemo_2.2_ALPHA-Edit_share_rights.patch DELETED ---
--- HK-GW-nag_2.2_ALPHA-Fix_share_right_editing.patch DELETED ---
--- HK-GW-turba_2.2-Changes_after_ALPHA.patch DELETED ---
--- HK-GW-turba_2.2-Fix_address_book_deletion_1.patch DELETED ---
--- HK-GW-turba_2.2-Fix_editing_contacts.patch DELETED ---
--- HK-GW-turba_2.2-Fix_notice_on_addressbook_creation.patch DELETED ---
--- HK-GW-turba_2.2-Fix_share_id_change.patch DELETED ---
--- HK-GW-turba_2.2-Ldap_read_only_fix.patch DELETED ---
--- HK-UV-kronolith_2.2-Fix_list_events.patch DELETED ---
--- README_Changes_after_ALPHA.patch DELETED ---
--- README_Deleting_categories.patch DELETED ---
--- README_Edit_share_rights.patch DELETED ---
--- README_Fix_address_book_deletion_1.patch DELETED ---
--- README_Fix_annotation_use.patch DELETED ---
--- README_Fix_contact_XML.patch DELETED ---
--- README_Fix_create_new_event.patch DELETED ---
--- README_Fix_list_events.patch DELETED ---
--- README_Fix_notice_on_addressbook_creation.patch DELETED ---
--- README_Fix_share_right_editing.patch DELETED ---
--- README_Fix_the_share_params.patch DELETED ---
--- README_Kolab_extensions.patch DELETED ---
--- README_Kolab_issue_2138.patch DELETED ---
--- README_Kolab_issue_2144.patch DELETED ---
--- README_Share_caching.patch DELETED ---
--- README_SyncML.patch DELETED ---
From cvs at kolab.org Thu Nov 29 09:25:53 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 09:25:53 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.184,1.185
Message-ID: <20071129082553.B16A8600D65@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv8296
Modified Files:
release-notes.txt
Log Message:
Horde packages updated to the newest RC1 release.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.184
retrieving revision 1.185
diff -u -d -r1.184 -r1.185
--- release-notes.txt 28 Nov 2007 15:36:59 -0000 1.184
+++ release-notes.txt 29 Nov 2007 08:25:51 -0000 1.185
@@ -63,7 +63,7 @@
kolab/issue2134 ([Horde] Unable to send message with attachments)
kolab/issue2236 (Apache UID access broken)
- - horde-framework-kolab-3.2_ALPHA-2007????
+ - horde-framework-kolab-3.2_RC1-2007????
New functionality required for kolab-freebusy.
@@ -73,15 +73,15 @@
kolab/issue2138 (Horde creates events in main inbox)
kolab/issue2144 (Calendar items of shared calendar not appearing)
- - horde-kolab-3.2_ALPHA-2007????
+ - horde-kolab-3.2_RC1-2007????
kolab/issue2101 ([horde] can't delete categories)
- - horde-kronolith-2.2_ALPHA-2007????
+ - horde-kronolith-2.2_RC1-2007????
kolab/issue2138 (Horde creates events in main inbox)
- - horde-turba-2.2_ALPHA-2007????
+ - horde-turba-2.2_RC1-2007????
kolab/issue2040 (Horde: resouces are not displayed in address book)
kolab/issue2135 ([horde/turba] Turba should support some more contact attributes)
@@ -126,6 +126,22 @@
- Kolab packages:
+ Updated:
+
+ fbview-horde-3.2_rc1-20071013
+ fbview-kronolith-2.2_rc1-20071001
+ horde-framework-kolab-3.2_RC1-20071004
+ horde-imp-kolab-4.2_rc1-20071004
+ horde-ingo-kolab-1.2_rc1-20071004
+ horde-kolab-3.2_rc1-20071013
+ horde-kolab-client-0.99-20071002
+ horde-kolab-client-0.99-20071002
+ horde-kronolith-kolab-2.2_rc1-20071004
+ horde-mnemo-kolab-2.2_rc1-20071001
+ horde-nag-kolab-2.2_rc1-20071004
+ horde-passwd-kolab-3.0.1-20071001
+ horde-turba-kolab-2.2_rc1-20071002
+
Removed:
kolab-horde-framework (now horde-framework)
From cvs at kolab.org Thu Nov 29 09:25:53 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 09:25:53 +0100 (CET)
Subject: gunnar: server/horde external-horde.sh,1.4,1.5
Message-ID: <20071129082553.E0BAE600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde
In directory doto:/tmp/cvs-serv8296/horde
Modified Files:
external-horde.sh
Log Message:
Horde packages updated to the newest RC1 release.
Index: external-horde.sh
===================================================================
RCS file: /kolabrepository/server/horde/external-horde.sh,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- external-horde.sh 20 Nov 2007 06:48:33 -0000 1.4
+++ external-horde.sh 29 Nov 2007 08:25:51 -0000 1.5
@@ -2,47 +2,33 @@
# The package versions we will be using
-HORDE_PKG=horde-3.2-alpha
-IMP_PKG=imp-h3-4.2-alpha
-INGO_PKG=ingo-h3-1.2-alpha
+HORDE_PKG=horde-3.2-rc1
+IMP_PKG=imp-h3-4.2-rc1
+INGO_PKG=ingo-h3-1.2-rc1
PASSWD_PKG=passwd-h3-3.0.1
-KRONOLITH_PKG=kronolith-h3-2.2-alpha
-MNEMO_PKG=mnemo-h3-2.2-alpha
-NAG_PKG=nag-h3-2.2-alpha
-TURBA_PKG=turba-h3-2.2-alpha
+KRONOLITH_PKG=kronolith-h3-2.2-rc1
+MNEMO_PKG=mnemo-h3-2.2-rc1
+NAG_PKG=nag-h3-2.2-rc1
+TURBA_PKG=turba-h3-2.2-rc1
# The patches we will be using
-FRAMEWORK_PATCHES="HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch
- HK-GW-framework_3.2_ALPHA-Fix_annotation_use.patch
- HK-GW-framework_3.2_ALPHA-Fix_the_share_params.patch
- HK-GW-framework_3.2_ALPHA-Kolab_issue_2144.patch
- HK-GW-framework_3.2_ALPHA-Share_caching.patch
- HK-GW-framework_3.2_ALPHA-Kolab_issue_2138.patch
- HK-GW-framework_3.2_ALPHA-Fix_contact_XML.patch"
+FRAMEWORK_PATCHES="HK-GW-framework_3.2_ALPHA-Fix_Prefs_for_Ingo.patch"
-HORDE_PATCHES="HK-GW-horde_3.2_ALPHA-Deleting_categories.patch"
+###########
+# No horde patches right now
+#
+#HORDE_PATCHES=""
-APPLICATION_PATCHES="HK-GW-kronolith_2.2-Fix_create_new_event.patch
- HK-GW-kronolith_2.2-Fix_share_right_editing.patch
- HK-GW-kronolith_2.2_ALPHA-Kolab_issue_2138.patch
- HK-GW-mnemo_2.2_ALPHA-Edit_share_rights.patch
- HK-GW-nag_2.2_ALPHA-Fix_share_right_editing.patch
- HK-GW-turba_2.2-Changes_after_ALPHA.patch
- HK-GW-turba_2.2-Fix_address_book_deletion_1.patch
- HK-GW-turba_2.2-Fix_editing_contacts.patch
- HK-GW-turba_2.2-Fix_notice_on_addressbook_creation.patch
+APPLICATION_PATCHES="HK-GW-turba_2.2-Fix_editing_contacts.patch
HK-GW-turba_2.2-Fix_share_id_change.patch
- HK-GW-turba_2.2-Ldap_read_only_fix.patch
- HK-UV-kronolith_2.2-Fix_list_events.patch"
+ HK-GW-turba_2.2-Ldap_read_only_fix.patch"
# The configuration files prepared for Kolab
CONFIG_FILES="horde/conf.php
- horde/hooks.php
- horde/registry.php
horde-imp/conf.php
horde-imp/servers.php
horde-ingo/conf.php
@@ -53,7 +39,6 @@
horde-mnemo/conf.php
horde-nag/conf.php
horde-turba/conf.php
- horde-turba/attributes.php
horde-turba/sources.php"
@@ -103,10 +88,13 @@
# Apply the patches
-for PATCH in $HORDE_PATCHES;
-do
- patch -p1 < $PATCH;
-done
+###########
+# No horde patches right now
+#
+#for PATCH in $HORDE_PATCHES;
+#do
+# patch -p1 < $PATCH;
+#done
cd horde
for PATCH in $APPLICATION_PATCHES;
From cvs at kolab.org Thu Nov 29 09:25:54 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 09:25:54 +0100 (CET)
Subject: gunnar: server/horde/fbview-kronolith ChangeLog, 1.1,
1.2 fbview-kronolith.spec, 1.14, 1.15
Message-ID: <20071129082554.3095C600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/fbview-kronolith
In directory doto:/tmp/cvs-serv8296/horde/fbview-kronolith
Modified Files:
ChangeLog fbview-kronolith.spec
Log Message:
Horde packages updated to the newest RC1 release.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/horde/fbview-kronolith/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- ChangeLog 2 Aug 2007 08:25:18 -0000 1.1
+++ ChangeLog 29 Nov 2007 08:25:51 -0000 1.2
@@ -1,3 +1,7 @@
+2007-11-29 Gunnar Wrobel
+
+ * fbview-kronolith.spec: Update to RC1
+
2007-08-02 Gunnar Wrobel
+
+ * horde-kolab-client.spec: Update to RC1
+
2007-07-23 Gunnar Wrobel
* horde-kolab-client.spec: Added package to Kolab CVS.
From cvs at kolab.org Thu Nov 29 09:25:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 09:25:55 +0100 (CET)
Subject: gunnar: server/horde/horde-turba ChangeLog, 1.5, 1.6 conf.php, 1.1,
1.2 horde-turba-kolab.spec, 1.19, 1.20 sources.php, 1.4,
1.5 HK-GW-Changes_after_ALPHA.patch, 1.1,
NONE HK-GW-Fix_address_book_deletion_1.patch, 1.1,
NONE HK-GW-Fix_notice_on_addressbook_creation.patch, 1.1,
NONE attributes.php, 1.1, NONE config-sources.php.dist.patch,
1.1, NONE
Message-ID: <20071129082555.59480600D67@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-turba
In directory doto:/tmp/cvs-serv8296/horde/horde-turba
Modified Files:
ChangeLog conf.php horde-turba-kolab.spec sources.php
Removed Files:
HK-GW-Changes_after_ALPHA.patch
HK-GW-Fix_address_book_deletion_1.patch
HK-GW-Fix_notice_on_addressbook_creation.patch attributes.php
config-sources.php.dist.patch
Log Message:
Horde packages updated to the newest RC1 release.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/horde/horde-turba/ChangeLog,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ChangeLog 19 Nov 2007 19:31:27 -0000 1.5
+++ ChangeLog 29 Nov 2007 08:25:53 -0000 1.6
@@ -1,3 +1,7 @@
+2007-11-29 Gunnar Wrobel
+
+ * horde-turba-kolab.spec: Update to RC1
+
2007-11-19 Gunnar Wrobel
* horde-turba-kolab.spec:
Index: conf.php
===================================================================
RCS file: /kolabrepository/server/horde/horde-turba/conf.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- conf.php 25 May 2007 12:07:17 -0000 1.1
+++ conf.php 29 Nov 2007 08:25:53 -0000 1.2
@@ -1,6 +1,6 @@
array('fields' => array('firstname', 'lastname'),
- * 'format' => '%s %s',
- * 'attribute' => 'object_name'),
- * 'firstname' => 'object_firstname',
- * 'lastname' => 'object_lastname',
- * ...
- *
- * Standard Turba attributes are:
- * __key : A backend-specific ID for the entry (any value
- * as long as it is unique inside that source;
- * required)
- * __uid : Globally unique ID of the entry (used for
- * synchronizing and must be able to be set to any
- * value)
- * __owner : User name of the contact's owner
- * __type : Either 'Object' or 'Group'
- * __members : Serialized PHP array with list of Group members.
- * More Turba attributes are defined in config/attributes.php.
- *
- * tabs: All fields can be grouped into tabs with this optional entry.
- * This list is multidimensional hash, the keys are the tab
- * titles.
- * Here is an example:
- * 'tabs' => array(
- * 'Names' => array('firstname', 'lastname', 'alias'),
- * 'Addresses' => array('homeAddress', 'workAddress')
- * );
- *
- * search: A list of Turba attribute names that can be searched for this
- * source.
- *
- * strict: A list of native field/attribute names that must
- * always be matched exactly in a search.
- *
- * approximate: Only applies to LDAP servers. If set, should be an
- * array of native field/attribute names to search
- * "approximately" (for example, "Sánchez", "Sanchez",
- * and "Sanchéz" will all match a search string of
- * "sanchez").
- *
- * export: If set to true, this source will appear on the Export menu,
- * allowing users to export the contacts to a CSV (etc.) file.
- *
- * browse: If set to true, this source will be browseable via the Browse
- * menu item, and empty searches against the source will return
- * all contacts.
- *
- * use_shares: If this is present and true, Horde_Share functionality will
- * be enabled for this source - allowing users to share their
- * personal address books as well as to create new ones. Since
- * Turba only supports having one backend configured for
- * creating new shares, use the 'shares' configuration option to
- * specify which backend will be used for creating new shares.
- * All permission checking will be done against Horde_Share, but
- * note that any 'extended' permissions (such as max_contacts)
- * will still be enforced. Also note that the backend driver
- * must have support for using this. Currently SQL and IMSP.
- *
- * list_name_field: If this is present and non-empty, it will be taken as the
- * name of the turba field to store contact list names in.
- * This is required when using a composite field as the 'name'
- * field.
- * Here are some example configurations:
- */
-
-/**
- * A local address book in an LDAP directory. This implements a public
- * (shared) address book.
- *
- * To store distribution lists in the LDAP directory, you'll need to include
- * horde/scripts/ldap/horde.schema in your LDAP configuration.
- *
- * To store freebusy information in the LDAP directory, you'll need to include
- * turba/scripts/ldap/rfc2739.schema in your LDAP configuration.
- */
-// $cfgSources['localldap'] = array(
-// 'title' => _("Shared Directory"),
-// 'type' => 'ldap',
-// 'params' => array(
-// 'server' => 'ldap.example.com',
-// 'port' => 389,
-// 'tls' => false,
-// 'root' => 'dc=example,dc=com',
-// 'bind_dn' => 'cn=admin,ou=users,dc=example,dc=com',
-// 'bind_password' => '********',
-// 'sizelimit' => 200,
-// 'dn' => array('cn'),
-// 'objectclass' => array('top',
-// 'person',
-// 'organizationalPerson',
-// 'inetOrgPerson'),
-// 'scope' => 'one',
-// 'charset' => 'iso-8859-1',
-// // Consult the LDAP schema to verify that all required attributes for
-// // an entry are set and add them if needed.
-// 'checkrequired' => false,
-// // Value used to fill in missing required attributes.
-// 'checkrequired_string' => ' ',
-// // Check LDAP schema for valid syntax. If this is false an address
-// // field is assumed to have postalAddress syntax; otherwise the schema
-// // is consulted for the syntax to use.
-// 'checksyntax' => false,
-// 'version' => 3
-// ),
-// 'map' => array(
-// '__key' => 'dn',
-// '__uid' => 'uid',
-//
-// // From horde.schema:
-// // '__type' => 'turbaType',
-// // '__members' => 'turbaMembers'
-//
-// 'name' => 'cn',
-// 'email' => 'mail',
-// 'homePhone' => 'homephone',
-// 'workPhone' => 'telephonenumber',
-// 'cellPhone' => 'mobiletelephonenumber',
-// 'homeAddress' => 'homepostaladdress',
-//
-// // From rfc2739.schema:
-// // 'freebusyUrl' => 'calFBURL',
-// ),
-// 'search' => array(
-// 'name',
-// 'email',
-// 'homePhone',
-// 'workPhone',
-// 'cellPhone',
-// 'homeAddress'
-// ),
-// 'strict' => array(
-// 'dn',
-// ),
-// 'approximate' => array(
-// 'cn',
-// ),
-// 'export' => true,
-// 'browse' => true,
-// );
-
-/**
- * A personal LDAP address book. This assumes that the login is
- * @domain.com and that the users are stored on the same LDAP
- * server. Thus it is possible to bind with the username and password from the
- * user. For more info; please refer to the docs/LDAP file in the Turba
- * distribution.
- *
- * To store distribution lists in the LDAP directory, you'll need to include
- * horde/scripts/ldap/horde.schema in your LDAP configuration.
- *
- * To store freebusy information in the LDAP directory, you'll need to include
- * turba/scripts/ldap/rfc2739.schema in your LDAP configuration.
- */
-/* First we need to get the uid. */
-// $_ldap_uid = Auth::getBareAuth();
-// $_ldap_basedn = 'dc=example,dc=com';
-// $cfgSources['personal_ldap'] = array(
-// 'title' => _("My Address Book"),
-// 'type' => 'ldap',
-// 'params' => array(
-// 'server' => 'localhost',
-// 'tls' => false,
-// 'root' => 'ou=' . $_ldap_uid . ',ou=personal_addressbook,' . $_ldap_basedn,
-// 'bind_dn' => 'uid=' . $_ldap_uid . ',ou=People,' . $_ldap_basedn,
-// 'bind_password' => Auth::getCredential('password'),
-// 'dn' => array('cn', 'uid'),
-// 'objectclass' => array('top',
-// 'person',
-// // 'turbaContact',
-// 'inetOrgPerson',
-// // 'calEntry',
-// 'organizationalPerson'),
-// 'scope' => 'one',
-// 'charset' => 'utf-8',
-// 'version' => 3
-// ),
-// 'map' => array(
-// '__key' => 'dn',
-// '__uid' => 'uid',
-//
-// // From horde.schema:
-// // '__type' => 'turbaType',
-// // '__members' => 'turbaMembers'
-//
-// 'name' => 'cn',
-// 'email' => 'mail',
-// 'lastname' => 'sn',
-// 'title' => 'title',
-// 'company' => 'organizationname',
-// 'businessCategory' => 'businesscategory',
-// 'workAddress' => 'postaladdress',
-// 'workPostalCode' => 'postalcode',
-// 'workPhone' => 'telephonenumber',
-// 'fax' => 'facsimiletelephonenumber',
-// 'homeAddress' => 'homepostaladdress',
-// 'homePhone' => 'homephone',
-// 'cellPhone' => 'mobile',
-// 'notes' => 'description',
-//
-// // Evolution interopt attributes: (those that do not require the
-// // evolution.schema)
-// 'office' => 'roomNumber',
-// 'department' => 'ou',
-// 'nickname' => 'displayName',
-// 'website' => 'labeledURI',
-//
-// // These are not stored on the LDAP server.
-// 'pgpPublicKey' => 'object_pgppublickey',
-// 'smimePublicKey' => 'object_smimepublickey',
-//
-// // From rfc2739.schema:
-// // 'freebusyUrl' => 'calFBURL',
-// ),
-// 'search' => array(
-// 'name',
-// 'email',
-// 'businessCategory',
-// 'title',
-// 'homePhone',
-// 'workPhone',
-// 'cellPhone',
-// 'homeAddress'
-// ),
-// 'strict' => array(
-// 'dn',
-// ),
-// 'approximate' => array(
-// 'cn',
-// ),
-// 'export' => true,
-// 'browse' => true,
-// );
-
-/**
- * Public netcenter and verisign LDAP directories.
- */
-// $cfgSources['netcenter'] = array(
-// 'title' => _("Netcenter Member Directory"),
-// 'type' => 'ldap',
-// 'params' => array(
-// 'server' => 'memberdir.netscape.com',
-// 'port' => 389,
-// 'tls' => false,
-// 'root' => 'ou=member_directory,o=netcenter.com',
-// 'dn' => array('cn'),
-// 'objectclass' => 'person',
-// 'filter' => '',
-// 'scope' => 'sub',
-// 'charset' => 'iso-8859-1'
-// ),
-// 'map' => array(
-// '__key' => 'dn',
-// 'name' => 'cn',
-// 'email' => 'mail',
-// 'alias' => 'givenname'
-// ),
-// 'search' => array(
-// 'name',
-// 'email',
-// 'alias'
-// ),
-// 'strict' => array(
-// 'dn'
-// ),
-// 'approximate' => array(
-// 'cn',
-// ),
-// 'export' => false,
-// 'browse' => false,
-// );
-//
-// $cfgSources['verisign'] = array(
-// 'title' => _("Verisign Directory"),
-// 'type' => 'ldap',
-// 'params' => array(
-// 'server' => 'directory.verisign.com',
-// 'port' => 389,
-// 'tls' => false,
-// 'root' => '',
-// 'scope' => 'sub',
-// 'charset' => 'iso-8859-1'
-// ),
-// 'map' => array(
-// '__key' => 'dn',
-// 'name' => 'cn',
-// 'email' => 'mail'
-// ),
-// 'search' => array(
-// 'name',
-// 'email'
-// ),
-// 'strict' => array(
-// 'dn'
-// ),
-// 'approximate' => array(
-// 'cn',
-// ),
-// 'export' => false,
-// 'browse' => false,
-// );
-
-/**
- * A preferences-based address book. This will always be private. You can add
- * any attributes you like to the map and it will just work; you can also
- * create multiple prefs-based address books by changing the 'name' parameter.
- * This is best for address books that are expected to remain small; it's not
- * the most efficient, but it can't be beat for getting up and running
- * quickly, especially if you already have Horde preferences working. Note
- * that it is not searchable, though - searches will simply return the whole
- * address book.
- */
-// $cfgSources['prefs'] = array(
-// 'title' => _("Private Address Book"),
-// 'type' => 'prefs',
-// 'params' => array(
-// 'name' => 'prefs',
-// 'charset' => NLS::getCharset()
-// ),
-// 'map' => array(
-// '__key' => 'id',
-// '__type' => '_type',
-// '__members' => '_members',
-// '__uid' => 'uid',
-// 'name' => 'name',
-// 'email' => 'mail',
-// 'alias' => 'alias'
-// ),
-// 'search' => array(
-// 'name',
-// 'email',
-// 'alias'
-// ),
-// 'strict' => array(
-// 'id',
-// '_type',
-// ),
-// 'export' => true,
-// 'browse' => true,
-// );
-
-/**
- * This source creates an address book for each group the current user is a
- * member in. The address book will always be read only, and the group members
- * must have an email address entered in their default identity. No email
- * address will result in that member not being included in the address book.
- */
-//$grpSource = array(
-// 'title' => _("Group"),
-// 'type' => 'group',
-// 'params' => array(
-// 'name' => ''
-// ),
-// 'map' => array(
-// '__key' => 'email',
-// 'name' => 'name',
-// 'email' => 'email'
-// ),
-// 'search' => array(
-// 'name',
-// 'email'
-// ),
-// 'export' => true,
-// 'browse' => true,
-//);
-
-//require_once 'Horde/Group.php';
-//$_group_driver = &Group::singleton();
-//$_group_list = $_group_driver->getGroupMemberships(Auth::getAuth());
-//foreach ($_group_list as $_group_id => $_group_name) {
-// $cfgSources['group_' . $_group_id] = $grpSource;
-// $cfgSources['group_' . $_group_id]['params'] = array('gid' => $_group_id);
-// $cfgSources['group_' . $_group_id]['title'] = $_group_name;
-//}
-
-/**
- * IMSP based address book.
- *
- * Communicates with an IMSP backend server.
- *
- * Notes:
- * You should configure the user's "main" address book here. The name of the
- * address book is set in the 'name' element of the params array. It should
- * be configured to be the same as the IMSP server username. Any other
- * address books the user has access to will automatically be configured at
- * runtime.
- *
- * In the params array, accepted values for auth_method are 'cram_md5',
- * 'imtest', and 'plaintext' - these must match a IMSP_Auth_ driver. If you
- * are using the imtest driver for Cyrus, please read the
- * framework/Net_IMSP/Auth/imtest.php file for more configuration information.
- *
- * Groups in other IMSP-aware applications are just entries with multiple
- * email addresses in the email field and a 'group' field set to flag the
- * entry as a group. (The Cyrusoft applications, Mulberry and Silkymail both
- * use a field named 'group' set to equal 'group' to signify this). A
- * Turba_Object_Group is basically a List of existing Turba_Objects. The IMSP
- * driver will map between these two structures when reading and writing
- * groups.
- * The only caveat is that IMSP groups that contain email addresses which do
- * not have a cooresponding contact entry will be ignored. The group_id_field
- * should be set to the IMSP field that flags the entry as a 'group' entry and
- * the group_id_value should be set to the value given to that field.
- *
- * By default, the username and password that were used to login to Horde is
- * used to login to the IMSP server. If these credentials are different,
- * there is a user preference in Horde to allow another username / password to
- * be entered. The alternate credentials are always used if present.
- *
- * In the map array, since IMSP uses the 'name' attribute as a key, this is
- * what __key is mapped to ... and a dynamic field 'fullname' is added and
- * mapped to the horde 'name' field. This is populated with the IMSP 'name'
- * field when the object is read from the server.
- *
- * If you wish to keep track of ownership of individual contacts, set
- * 'contact_ownership' = true. Note that entries created using other clients
- * will not be created this way and will therefore have no 'owner'. Set
- * 'contact_ownership' = false and the __owner field will be automatically
- * populated with the current username.
- *
- * To integrate with Horde_Share (requires Horde 3.2 or better) set use_shares
- * to true, and uncomment the IMSP Horde_Share hooks in horde/config/hooks.php.
- */
-// Check that IMSP is configured in Horde but fall through if there is no
-// configuration at all - in case we don't have at least a 3.0.6 Horde
-// install. (In that case, be sure to change the params array below to suit
-// your needs.
-if (!empty($GLOBALS['conf']['imsp']['enabled']) ||
- !isset($GLOBALS['conf']['imsp']['enabled'])) {
- // First, get the user name to login to IMSP server with.
- $_imsp_auth_user = $GLOBALS['prefs']->getValue('imsp_auth_user');
- $_imsp_auth_pass = $GLOBALS['prefs']->getValue('imsp_auth_pass');
- if (!strlen($_imsp_auth_user)) {
- $_imsp_auth_user = Auth::getBareAuth();
- $_imsp_auth_pass = Auth::getCredential('password');
- }
- $cfgSources['imsp'] = array(
- 'title' => _("IMSP"),
- 'type' => 'imsp',
- 'params' => array(
- 'server' => $GLOBALS['conf']['imsp']['server'],
- 'port' => $GLOBALS['conf']['imsp']['port'],
- 'auth_method' => $GLOBALS['conf']['imsp']['auth_method'],
- // socket, command, and auth_mechanism are for imtest driver.
- 'socket' => isset($GLOBALS['conf']['imsp']['socket']) ?
- $GLOBALS['conf']['imsp']['socket'] . $_imsp_auth_user . '.sck' :
- '',
- 'command' => isset($GLOBALS['conf']['imsp']['command']) ?
- $GLOBALS['conf']['imsp']['command'] : '' ,
- 'auth_mechanism' => isset($GLOBALS['conf']['imsp']['auth_mechanism']) ?
- $GLOBALS['conf']['imsp']['auth_mechanism'] : '',
- 'username' => $_imsp_auth_user,
- 'password' => $_imsp_auth_pass,
- 'name' => $_imsp_auth_user,
- 'group_id_field' => 'group',
- 'group_id_value' => 'group',
- 'contact_ownership' => false,
- // Dynamically generated acl rights for current user.
- 'my_rights' => '',
- ),
- 'map' => array(
- '__key' => 'name',
- '__type' => '__type',
- '__members' => '__members',
- '__owner' => '__owner',
- '__uid' => '__uid',
- 'email' => 'email',
- 'alias' => 'alias',
- 'company' => 'company',
- 'notes' => 'notes',
- 'workPhone' => 'phone-work',
- 'fax' => 'fax',
- 'homePhone' => 'phone-home',
- 'cellPhone' => 'cellphone',
- 'freebusyUrl' => 'freebusyUrl'
- ),
- 'search' => array(
- 'name',
- 'email',
- 'alias',
- 'company',
- 'homePhone'
- ),
- 'strict' => array(),
- 'export' => true,
- 'browse' => true,
- 'use_shares' => false,
- );
-
- /**
- * Get any other address books this user might be privy to.
- * The values for attributes such as 'export' and 'browse' for books
- * that are added below will be the same as the values set in the default
- * book above. Any entries defined explicitly in cfgSources[]
- * will override any entries gathered dynamically below.
- */
- if (empty($cfgSources['imsp']['use_shares'])) {
- require_once 'Net/IMSP/Utils.php';
- $result = Net_IMSP_Utils::getAllBooks($cfgSources['imsp']);
-
- if (!is_a($result, 'PEAR_Error')) {
- $resultCount = count($result);
- for ($i = 0; $i < $resultCount; $i++) {
- // Make sure we didn't define this source explicitly,
- // but set the acls from the server regardless.
- $dup = false;
- foreach ($cfgSources as $key => $thisSource) {
- if (($thisSource['type'] == 'imsp') &&
- ($thisSource['params']['name'] == $result[$i]['params']['name'])) {
-
- $dup = true;
- $acl = $result[$i]['params']['my_rights'];
- $cfgSources[$key]['params']['my_rights'] = $acl;
- break;
- }
- }
- if (!$dup) {
- $cfgSources[$result[$i]['params']['name']] = $result[$i];
- }
- }
- } else {
- $notification->push($result);
- }
- }
-}
-/* End IMSP sources. */
/* Begin Kolab sources. */
if (!empty($GLOBALS['conf']['kolab']['enabled'])) {
@@ -644,7 +35,8 @@
'version' => 3,
'bind_dn' => '',
'bind_password' => '',
- ),
+ 'read_only' => true,
+ ),
'map' => array(
'__key' => 'dn',
'name' => 'cn',
@@ -695,6 +87,10 @@
/**
* The local address books for a Kolab user. These are stored in specially
* flagged contact folder within the users Cyrus IMAP mailbox.
+ *
+ * Still missing attributes are:
+ *
+ * picture, sensitivity
*/
$cfgSources['kolab'] = array(
@@ -716,7 +112,7 @@
'namePrefix' => 'prefix',
'nameSuffix' => 'suffix',
'initials' => 'initials',
- 'alias' => 'nick-name',
+ 'nickname' => 'nick-name',
'gender' => 'gender',
'birthday' => 'birthday',
'spouse' => 'spouse-name',
@@ -756,11 +152,10 @@
'language' => 'language',
'latitude' => 'latitude',
'longitude' => 'longitude',
- // MISSING: picture, sensitivity
),
'tabs' => array(
_("Personal") => array('name', 'firstname', 'lastname', 'middlenames',
- 'namePrefix', 'nameSuffix', 'initials', 'alias',
+ 'namePrefix', 'nameSuffix', 'initials', 'nickname',
'gender', 'birthday', 'spouse', 'anniversary',
'children'),
_("Location") => array('homeStreet', 'homeCity', 'homeProvince',
@@ -782,7 +177,7 @@
'namePrefix',
'nameSuffix',
'initials',
- 'alias',
+ 'nickname',
'gender',
'birthday',
'spouse',
--- HK-GW-Changes_after_ALPHA.patch DELETED ---
--- HK-GW-Fix_address_book_deletion_1.patch DELETED ---
--- HK-GW-Fix_notice_on_addressbook_creation.patch DELETED ---
--- attributes.php DELETED ---
--- config-sources.php.dist.patch DELETED ---
From cvs at kolab.org Thu Nov 29 09:25:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 09:25:55 +0100 (CET)
Subject: gunnar: server/horde/horde-framework ChangeLog, 1.11,
1.12 horde-framework-kolab.spec, 1.30,
1.31 HK-GW-Fix_annotation_use.patch, 1.1,
NONE HK-GW-Fix_contact_XML.patch, 1.1,
NONE HK-GW-Fix_the_share_params.patch, 1.1,
NONE HK-GW-Kolab_extensions.patch, 1.4,
NONE HK-GW-Kolab_issue_2138.patch, 1.1,
NONE HK-GW-Kolab_issue_2144.patch, 1.1,
NONE HK-GW-Share_caching.patch, 1.1, NONE
Message-ID: <20071129082555.429AF600D66@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv8296/horde/horde-framework
Modified Files:
ChangeLog horde-framework-kolab.spec
Removed Files:
HK-GW-Fix_annotation_use.patch HK-GW-Fix_contact_XML.patch
HK-GW-Fix_the_share_params.patch HK-GW-Kolab_extensions.patch
HK-GW-Kolab_issue_2138.patch HK-GW-Kolab_issue_2144.patch
HK-GW-Share_caching.patch
Log Message:
Horde packages updated to the newest RC1 release.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/ChangeLog,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- ChangeLog 22 Nov 2007 16:24:14 -0000 1.11
+++ ChangeLog 29 Nov 2007 08:25:52 -0000 1.12
@@ -1,3 +1,7 @@
+2007-11-29 Gunnar Wrobel
+
+ * horde-framework-kolab.spec: Update to RC1
+
2007-11-22 Gunnar Wrobel
+
+ * horde-imp-kolab.spec: Update to RC1
+
2007-07-19 Gunnar Wrobel
* horde-imp-kolab.spec: Update to 20070719
Index: conf.php
===================================================================
RCS file: /kolabrepository/server/horde/horde-imp/conf.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- conf.php 4 Oct 2007 09:47:55 -0000 1.2
+++ conf.php 29 Nov 2007 08:25:52 -0000 1.3
@@ -1,10 +1,10 @@
array('#shared/', '#news/', '#ftp/', '#public/')
- * This parameter must be set if using a TLS connection.
- * Additionally, this parameter may be set if not using a TLS
- * connection and you want to allow access to namespaces that may
- * not be publicly advertised by the IMAP server (see RFC
- * 2342 [3]). These additional namespaces will be added to the list
- * of available namespaces returned by the server.
- *
- * imap_config: Manually set IMAP server configuration information. Please see
- * http://wiki.horde.org/ImpImapConfig for information on this
- * parameter. THIS PARAMETER IS NOT OFFICIALLY SUPPORTED BY THE
- * HORDE PROJECT. This entry must be an array with the following
- * elements:
- * 'children' - (boolean) Whether the IMAP server supports the
- * CHILDREN command.
- * 'namespace' - (array) The namespace configuration of the
- * server. See the return from
- * IMAP_Client::namespace() (located in
- * imp/lib/IMAP/Client.php) for the structure of
- * this array.
- * 'search_charset' - (array) A list of charsets the IMAP server
- * supports for searches.
- *
- * timeout: Manually set server timeouts. This option only works with PHP >=
- * 4.3.3. This entry must be an array with the following possible
- * elements (if an element is missing, the default value is used):
- * IMAP_OPENTIMEOUT - (integer) The timeout for open actions.
- * IMAP_READTIMEOUT - (integer) The timeout for read actions.
- * IMAP_WRITETIMEOUT - (integer) The timeout for write actions.
- * IMAP_CLOSETIMEOUT - (integer) The timeout for close actions.
- *
- * login_tries: Manually set the number of login tries we make to the server.
- * The PHP imap_open() function will try to login 3 times to a
- * server before failing. This value indicates the number of
- * times we call imap_open() before IMP fails (we pause one second
- * between imap_open() calls). The default value is 3 (meaning IMP
- * may attempt to login to the server 9 times). If you have a
- * mail server that will lock out an account if a certain number
- * of incorrect login attempts occur within a certain period of
- * time, you may want to set this to a lower value. The minimum
- * value for this setting is 1.
- */
if ($GLOBALS['conf']['kolab']['enabled']) {
require_once 'Horde/Kolab.php';
From cvs at kolab.org Thu Nov 29 09:25:55 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 09:25:55 +0100 (CET)
Subject: gunnar: server/horde/horde-nag ChangeLog, 1.3,
1.4 horde-nag-kolab.spec, 1.15,
1.16 HK-GW-Fix_share_right_editing.patch, 1.1, NONE
Message-ID: <20071129082555.5C495600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-nag
In directory doto:/tmp/cvs-serv8296/horde/horde-nag
Modified Files:
ChangeLog horde-nag-kolab.spec
Removed Files:
HK-GW-Fix_share_right_editing.patch
Log Message:
Horde packages updated to the newest RC1 release.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/horde/horde-nag/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ChangeLog 20 Jul 2007 11:19:08 -0000 1.3
+++ ChangeLog 29 Nov 2007 08:25:52 -0000 1.4
@@ -1,3 +1,7 @@
+2007-11-29 Gunnar Wrobel
+
+ * horde-nag-kolab.spec: Update to RC1
+
2007-07-19 Gunnar Wrobel
+
+ * horde-ingo-kolab.spec: Update to RC1
+
2007-07-19 Gunnar Wrobel
* horde-ingo-kolab.spec: Update to 20070719
Index: backends.php
===================================================================
RCS file: /kolabrepository/server/horde/horde-ingo/backends.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- backends.php 25 May 2007 13:06:44 -0000 1.1
+++ backends.php 29 Nov 2007 08:25:52 -0000 1.2
@@ -1,53 +1,28 @@
'timsieved',
'preferred' => '',
'hordeauth' => 'full',
'params' => array(
- 'hostspec' => $GLOBALS['conf']['kolab']['imap']['server'],
+ 'hostspec' => $server,
'logintype' => 'PLAIN',
+ 'usetls' => false,
'port' => $GLOBALS['conf']['kolab']['imap']['sieveport'],
'scriptname' => 'kmail-vacation.siv'
),
'script' => 'sieve',
- 'scriptparams' => array()
+ 'scriptparams' => array(),
+ 'shares' => false
);
}
Index: conf.php
===================================================================
RCS file: /kolabrepository/server/horde/horde-ingo/conf.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- conf.php 4 Oct 2007 09:47:55 -0000 1.2
+++ conf.php 29 Nov 2007 08:25:52 -0000 1.3
@@ -1,13 +1,12 @@
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests
In directory doto:/tmp/cvs-serv723/php-kolab/Kolab_Filter/tests
Added Files:
dumb_usage.phpt simple_in_msg.phpt simple_out_msg.phpt
Removed Files:
test.eml
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
--- NEW FILE: dumb_usage.phpt ---
--TEST--
Test reading a mail without iCal content.
--SKIPIF--
--FILE--
handle($parser->parse());
?>
--EXPECT--
Usage is test -s sender at domain -r recipient at domain
--- NEW FILE: simple_in_msg.phpt ---
--TEST--
Test reading a mail without iCal content.
--SKIPIF--
--FILE--
_lineFormat = '%2$s [%3$s] %7$s';
// Activate this if you need the log information. This will
// make the test fail though
//$logger->_lineFormat = '%2$s [%3$s] %4$s %7$s';
$inh = fopen('_data/simple.eml', 'r');
/* Setup the classes */
$parser = &new Filter_Incoming('StdOut');
$response = &new Response('', true);
/* Parse the mail and spit out the response */
$response->handle($parser->parse($inh));
?>
--EXPECT--
Kolab Filter [debug] logMessage
Mail from sender: me at example.com
Mail to recipient: you at example.com
Return-Path:
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Cyrus v2.3.9-openpkg) with LMTPA;
Sat, 10 Nov 2007 20:44:52 +0100
X-Sieve: CMU Sieve 2.3
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Postfix) with ESMTP id 395055FC0128
for ; Sat, 10 Nov 2007 20:44:52 +0100 (CET)
X-Quarantine-ID:
X-Virus-Scanned: by amavisd-new at demo.example.com
X-Spam-Flag: YES
X-Spam-Score: 15.576
X-Spam-Level: ***************
X-Spam-Status: Yes, score=15.576 tagged_above=3 required=6.3
tests=[FRT_PENIS1=3.799, HTML_MESSAGE=0.001, PLING_QUERY=2.16,
RCVD_FORGED_WROTE=4.365, RCVD_FORGED_WROTE2=2.052, RDNS_NONE=0.1,
SUBJECT_FUZZY_PENIS=3.099]
Received: from demo.example.com ([127.0.0.1])
by localhost (demo.example.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id pcNZVfHFgssC for ;
Sat, 10 Nov 2007 20:44:51 +0100 (CET)
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Postfix) with ESMTP id ABE8E5FC012A
for ; Sat, 10 Nov 2007 20:44:51 +0100 (CET)
Received: from town.windham.me.us (unknown [85.192.14.1])
by demo.example.com (Postfix) with SMTP id D10375FC0128
for ; Sat, 10 Nov 2007 20:44:49 +0100 (CET)
Received: from 192.85.78.105 (HELO ccfemsasmtp.kof.com.mx)
by demo.example.com with esmtp (CEYPNSAEHHT CYXPCJ)
id UNrWB0-GRSpeC-lz
for wrobel at demo.example.com; Sat, 10 Nov 2007 22:45:12 +0300
Message-ID: <1d2101c823d2$3555aa10$ac112c15 at Meredith>
From: "Meredith F. Dick"
To: "Marta Z. Rodrigues"
Subject: ***SPAM*** Don't you think it's time you stopped being a loser
Date: Sat, 10 Nov 2007 22:45:12 +0300
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_7455_1D89_01C823EB.5AA2E210"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
X-Kolab-Scheduling-Message: FALSE
This is a multi-part message in MIME format.
------=_NextPart_7455_1D89_01C823EB.5AA2E210
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
request=2E Horn was a fan favorite, standing up for theA recent poll by M=
ontreal based newspaper Le Devoir, on
Mel Karmazin spoke on behalf of both XM and Sirius=2E
Do you believe in magic? We suppose you're likely to say "no"=2E=20
We hadn't believed, either=2E=2E=2Euntil the moment MegaXXXX was introduc=
ed!=20
The effect this remedy produces on a male XXXXX cannot be called otherwis=
e than a Miracle!=20
It's fabulous!
So, hurry up, work a miracle in your life with this wonder-medicine!
competiton has a poor track record of keeping down costsas head of the pu=
ppet government in China=2EParti Qubcois leader slams radio host on homop=
hobiacontrols=2E XM and Sirius can be said to compete with
------=_NextPart_7455_1D89_01C823EB.5AA2E210
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
=20
request=2E Horn was a fan favorite, standing up for theA recent poll =
by Montreal based newspaper Le Devoir, on Mel Karmazin spoke on behalf=
of both XM and Sirius=2E=20
Do you believe in magic? We suppose you're likely to say "no"=2E We hadn't believed, either=2E=2E=2Euntil the momen=
t MegaXXXX was introduced!
The effect this remedy produces on a male XXXXX cannot be called otherwis=
e than a Miracle! It's fabulous!
competiton has a poor track record of keeping =
down costsas head of the puppet government in China=2EParti Qubcois leade=
r slams radio host on homophobiacontrols=2E XM and Sirius can be said to =
compete with
------=_NextPart_7455_1D89_01C823EB.5AA2E210--
.
Kolab Filter [debug] logMessage
--- NEW FILE: simple_out_msg.phpt ---
--TEST--
Test sending a mail without iCal content.
--SKIPIF--
--FILE--
_lineFormat = '%2$s [%3$s] %7$s';
// Activate this if you need the log information. This will
// make the test fail though
//$logger->_lineFormat = '%2$s [%3$s] %4$s %7$s';
$inh = fopen('_data/simple.eml', 'r');
/* Setup the classes */
$parser = &new Filter_Outgoing('StdOut');
$response = &new Response('', true);
/* Parse the mail and spit out the response */
$response->handle($parser->parse($inh));
?>
--EXPECT--
Kolab Filter [debug] logMessage
Mail from sender: me at example.com
Mail to recipient: you at example.com
Return-Path:
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Cyrus v2.3.9-openpkg) with LMTPA;
Sat, 10 Nov 2007 20:44:52 +0100
X-Sieve: CMU Sieve 2.3
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Postfix) with ESMTP id 395055FC0128
for ; Sat, 10 Nov 2007 20:44:52 +0100 (CET)
X-Quarantine-ID:
X-Virus-Scanned: by amavisd-new at demo.example.com
X-Spam-Flag: YES
X-Spam-Score: 15.576
X-Spam-Level: ***************
X-Spam-Status: Yes, score=15.576 tagged_above=3 required=6.3
tests=[FRT_PENIS1=3.799, HTML_MESSAGE=0.001, PLING_QUERY=2.16,
RCVD_FORGED_WROTE=4.365, RCVD_FORGED_WROTE2=2.052, RDNS_NONE=0.1,
SUBJECT_FUZZY_PENIS=3.099]
Received: from demo.example.com ([127.0.0.1])
by localhost (demo.example.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id pcNZVfHFgssC for ;
Sat, 10 Nov 2007 20:44:51 +0100 (CET)
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Postfix) with ESMTP id ABE8E5FC012A
for ; Sat, 10 Nov 2007 20:44:51 +0100 (CET)
Received: from town.windham.me.us (unknown [85.192.14.1])
by demo.example.com (Postfix) with SMTP id D10375FC0128
for ; Sat, 10 Nov 2007 20:44:49 +0100 (CET)
Received: from 192.85.78.105 (HELO ccfemsasmtp.kof.com.mx)
by demo.example.com with esmtp (CEYPNSAEHHT CYXPCJ)
id UNrWB0-GRSpeC-lz
for wrobel at demo.example.com; Sat, 10 Nov 2007 22:45:12 +0300
Message-ID: <1d2101c823d2$3555aa10$ac112c15 at Meredith>
From: "Meredith F. Dick"
To: "Marta Z. Rodrigues"
Subject: ***SPAM*** Don't you think it's time you stopped being a loser
Date: Sat, 10 Nov 2007 22:45:12 +0300
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_7455_1D89_01C823EB.5AA2E210"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
This is a multi-part message in MIME format.
------=_NextPart_7455_1D89_01C823EB.5AA2E210
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
request=2E Horn was a fan favorite, standing up for theA recent poll by M=
ontreal based newspaper Le Devoir, on
Mel Karmazin spoke on behalf of both XM and Sirius=2E
Do you believe in magic? We suppose you're likely to say "no"=2E=20
We hadn't believed, either=2E=2E=2Euntil the moment MegaXXXX was introduc=
ed!=20
The effect this remedy produces on a male XXXXX cannot be called otherwis=
e than a Miracle!=20
It's fabulous!
So, hurry up, work a miracle in your life with this wonder-medicine!
competiton has a poor track record of keeping down costsas head of the pu=
ppet government in China=2EParti Qubcois leader slams radio host on homop=
hobiacontrols=2E XM and Sirius can be said to compete with
------=_NextPart_7455_1D89_01C823EB.5AA2E210
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
=20
request=2E Horn was a fan favorite, standing up for theA recent poll =
by Montreal based newspaper Le Devoir, on Mel Karmazin spoke on behalf=
of both XM and Sirius=2E=20
Do you believe in magic? We suppose you're likely to say "no"=2E We hadn't believed, either=2E=2E=2Euntil the momen=
t MegaXXXX was introduced!
The effect this remedy produces on a male XXXXX cannot be called otherwis=
e than a Miracle! It's fabulous!
competiton has a poor track record of keeping =
down costsas head of the puppet government in China=2EParti Qubcois leade=
r slams radio host on homophobiacontrols=2E XM and Sirius can be said to =
compete with
------=_NextPart_7455_1D89_01C823EB.5AA2E210--
.
Kolab Filter [debug] logMessage
--- test.eml DELETED ---
From cvs at kolab.org Mon Nov 26 17:35:23 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 26 Nov 2007 17:35:23 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Filter/tests/_data simple.eml, NONE,
1.1 test.eml, NONE, 1.1
Message-ID: <20071126163523.84C16600D6C@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Filter/tests/_data
In directory doto:/tmp/cvs-serv723/php-kolab/Kolab_Filter/tests/_data
Added Files:
simple.eml test.eml
Log Message:
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
--- NEW FILE: simple.eml ---
Return-Path:
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Cyrus v2.3.9-openpkg) with LMTPA;
Sat, 10 Nov 2007 20:44:52 +0100
X-Sieve: CMU Sieve 2.3
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Postfix) with ESMTP id 395055FC0128
for ; Sat, 10 Nov 2007 20:44:52 +0100 (CET)
X-Quarantine-ID:
X-Virus-Scanned: by amavisd-new at demo.example.com
X-Spam-Flag: YES
X-Spam-Score: 15.576
X-Spam-Level: ***************
X-Spam-Status: Yes, score=15.576 tagged_above=3 required=6.3
tests=[FRT_PENIS1=3.799, HTML_MESSAGE=0.001, PLING_QUERY=2.16,
RCVD_FORGED_WROTE=4.365, RCVD_FORGED_WROTE2=2.052, RDNS_NONE=0.1,
SUBJECT_FUZZY_PENIS=3.099]
Received: from demo.example.com ([127.0.0.1])
by localhost (demo.example.com [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id pcNZVfHFgssC for ;
Sat, 10 Nov 2007 20:44:51 +0100 (CET)
Received: from localhost (fqdn.example.com [127.0.0.1])
by demo.example.com (Postfix) with ESMTP id ABE8E5FC012A
for ; Sat, 10 Nov 2007 20:44:51 +0100 (CET)
Received: from town.windham.me.us (unknown [85.192.14.1])
by demo.example.com (Postfix) with SMTP id D10375FC0128
for ; Sat, 10 Nov 2007 20:44:49 +0100 (CET)
Received: from 192.85.78.105 (HELO ccfemsasmtp.kof.com.mx)
by demo.example.com with esmtp (CEYPNSAEHHT CYXPCJ)
id UNrWB0-GRSpeC-lz
for wrobel at demo.example.com; Sat, 10 Nov 2007 22:45:12 +0300
Message-ID: <1d2101c823d2$3555aa10$ac112c15 at Meredith>
From: "Meredith F. Dick"
To: "Marta Z. Rodrigues"
Subject: ***SPAM*** Don't you think it's time you stopped being a loser
Date: Sat, 10 Nov 2007 22:45:12 +0300
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_7455_1D89_01C823EB.5AA2E210"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
This is a multi-part message in MIME format.
------=_NextPart_7455_1D89_01C823EB.5AA2E210
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
request=2E Horn was a fan favorite, standing up for theA recent poll by M=
ontreal based newspaper Le Devoir, on
Mel Karmazin spoke on behalf of both XM and Sirius=2E
Do you believe in magic? We suppose you're likely to say "no"=2E=20
We hadn't believed, either=2E=2E=2Euntil the moment MegaXXXX was introduc=
ed!=20
The effect this remedy produces on a male XXXXX cannot be called otherwis=
e than a Miracle!=20
It's fabulous!
So, hurry up, work a miracle in your life with this wonder-medicine!
competiton has a poor track record of keeping down costsas head of the pu=
ppet government in China=2EParti Qubcois leader slams radio host on homop=
hobiacontrols=2E XM and Sirius can be said to compete with
------=_NextPart_7455_1D89_01C823EB.5AA2E210
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
=20
request=2E Horn was a fan favorite, standing up for theA recent poll =
by Montreal based newspaper Le Devoir, on Mel Karmazin spoke on behalf=
of both XM and Sirius=2E=20
Do you believe in magic? We suppose you're likely to say "no"=2E We hadn't believed, either=2E=2E=2Euntil the momen=
t MegaXXXX was introduced!
The effect this remedy produces on a male XXXXX cannot be called otherwis=
e than a Miracle! It's fabulous!
diff -r 848f241f83e0 kronolith/templates/javascript/open_savedattlist_win.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/javascript/open_savedattlist_win.js Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,36 @@
+
+
diff -r 848f241f83e0 kronolith/templates/savedattlist/savedattlist.inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/savedattlist/savedattlist.inc Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,68 @@
+
+
+
+
--- NEW FILE: README_Fbview_extra_params.patch ---
DESCRIPTION:
Allows to display extended parameters of events in the free/busy
list. The patch implements this is a Kolab specific fashion and
thus it makes no sense to submit it upstream.
IMPACT:
The free/busy view won't display extended attributes.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
The patch has been originally developed by Stuart Binge
(Codefusion).
--- NEW FILE: README_Fbview_save_attendees.patch ---
DESCRIPTION:
This allows to store the list of attendees in the user preferences.
The patch implements this in a hackish way and it was consequently
rejected upstream (http://bugs.horde.org/ticket/?id=4788). This
should be solved using Horde::Groups or the Turba API.
IMPACT:
You won't be able to store the list of attendees.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
The patch has been originally developed by Stuart Binge
(Codefusion).
Horde issue #4788
From cvs at kolab.org Thu Nov 29 12:09:05 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 12:09:05 +0100 (CET)
Subject: gunnar: server/horde/fbview-kronolith HK-SB-Fbview_extra_params.patch,
NONE, 1.1 HK-SB-Fbview_save_attendees.patch, NONE,
1.1 fbview-kronolith.spec, 1.16, 1.17 prefs.php, 1.2,
1.3 fbview.patch, 1.1, NONE open_savedattlist_win.js, 1.1,
NONE savedattlist.inc, 1.1, NONE savedattlist.php, 1.1, NONE
Message-ID: <20071129110905.019D1600D68@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/fbview-kronolith
In directory doto:/tmp/cvs-serv14573/horde/fbview-kronolith
Modified Files:
fbview-kronolith.spec prefs.php
Added Files:
HK-SB-Fbview_extra_params.patch
HK-SB-Fbview_save_attendees.patch
Removed Files:
fbview.patch open_savedattlist_win.js savedattlist.inc
savedattlist.php
Log Message:
Cleanup of the fbview patches. Both patches that make kronolith into fbview have now been added to the patch directory and are documented there.
--- NEW FILE: HK-SB-Fbview_extra_params.patch ---
This includes extra parameters into the free/busy view. The params are hardcoded so this patch won't make it upstream.
diff -r 735b35f9f866 kronolith/lib/FBView.php
--- a/kronolith/lib/FBView.php Thu Nov 29 11:32:43 2007 +0100
+++ b/kronolith/lib/FBView.php Thu Nov 29 11:35:20 2007 +0100
@@ -86,8 +86,8 @@ class Kronolith_FreeBusy_View {
$template = new Horde_Template();
$rows = '';
foreach ($this->_requiredMembers as $member) {
- $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"));
- $template = new Horde_Template();
+ $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"), $member->getExtraParams());
+ $template = &new Horde_Template();
$template->set('blocks', $blocks);
$template->set('name', $member->getName());
$rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.tpl');
@@ -107,8 +107,8 @@ class Kronolith_FreeBusy_View {
$template = new Horde_Template();
$rows = '';
foreach ($this->_optionalMembers as $member) {
- $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"));
- $template = new Horde_Template();
+ $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.tpl', _("Busy"), $member->getExtraParams());
+ $template = &new Horde_Template();
$template->set('blocks', $blocks);
$template->set('name', $member->getName());
$rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.tpl');
@@ -122,6 +122,9 @@ class Kronolith_FreeBusy_View {
$template->set('legend', '');
$html .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/section.tpl');
}
+
+ //**********
+ //This has been disabled in kolab-fbview. Make this optional?
// Possible meeting times.
$optimal->setAttribute('ORGANIZER', _("All Attendees"));
@@ -144,6 +147,9 @@ class Kronolith_FreeBusy_View {
$template->set('name', _("Required Attendees"));
$template->set('blocks', $blocks);
$rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.tpl');
+
+ //This has been disabled in kolab-fbview. Make this optional?
+ //**********
// Reset locale.
setlocale(LC_NUMERIC, $lc);
@@ -217,7 +223,7 @@ class Kronolith_FreeBusy_View {
return $instances[$view];
}
- function _getBlocks($member, $periods, $blockfile, $label)
+ function _getBlocks($member, $periods, $blockfile, $label, $extra = array())
{
$template = new Horde_Template();
$template->set('label', $label);
@@ -250,6 +256,21 @@ class Kronolith_FreeBusy_View {
$template->set('left', $left . '%');
$template->set('width', $width . '%');
+ $template->set('evclick', '');
+
+ if (isset($extra[$periodStart])) {
+ if (!empty($extra[$periodStart]['X-UID'])) {
+ $link = "javascript:performAction('viewaction', '"
+ . addslashes($member->getName() . "#"
+ . String::convertCharset(base64_decode($extra[$periodStart]['X-UID']),
+ 'UTF-8',NLS::getCharset())) . "')";
+ $template->set('evclick', $link);
+ }
+ if (!empty($extra[$periodStart]['X-SUMMARY'])) {
+ $template->set('label', String::convertCharset(base64_decode($extra[$periodStart]['X-SUMMARY']),'UTF-8',
+ NLS::getCharset()));
+ }
+ }
$blocks .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/' . $blockfile);
} else {
diff -r 735b35f9f866 kronolith/templates/fbview/busyblock.tpl
--- a/kronolith/templates/fbview/busyblock.tpl Thu Nov 29 11:32:43 2007 +0100
+++ b/kronolith/templates/fbview/busyblock.tpl Thu Nov 29 11:35:20 2007 +0100
@@ -1,1 +1,1 @@
-
+
--- NEW FILE: HK-SB-Fbview_save_attendees.patch ---
Provides a patch to store the list of attendees in the user preferences. This is a broken patch that has been rejected upstream (http://bugs.horde.org/ticket/?id=4788). This should be solved using Horde::Groups.
diff -r 848f241f83e0 kronolith/attendees.php
--- a/kronolith/attendees.php Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/attendees.php Thu Nov 29 11:32:43 2007 +0100
@@ -155,6 +155,16 @@ case 'clear':
$attendees = array();
$_SESSION['kronolith']['attendees'] = $attendees;
break;
+
+case 'save':
+ if (empty($attendees)) {
+ break;
+ }
+ $savedattlist = unserialize($prefs->getValue('saved_attendee_list'));
+ $savedattlist[] = array_keys($attendees);
+ $prefs->setValue('saved_attendee_list', serialize($savedattlist));
+ $notification->push(_('Successfully saved attendee list'), 'horde.success');
+ break;
}
// Get the current Free/Busy view; default to the 'day' view if none specified.
@@ -226,6 +236,14 @@ Imple::factory('ContactAutoCompleter', a
$title = _("Edit attendees");
require KRONOLITH_TEMPLATES . '/common-header.inc';
+
+if ($browser->hasFeature('javascript')) {
+ Horde::addScriptFile('open_savedattlist_win.js');
+ $savedattlist_url = 'javascript:open_savedattlist_win();';
+} else {
+ $savedattlist_url = Horde::applicationUrl('savedattlist.php');
+}
+
$notification->notify(array('status'));
require KRONOLITH_TEMPLATES . '/attendees/attendees.inc';
require $registry->get('templates', 'horde') . '/common-footer.inc';
diff -r 848f241f83e0 kronolith/config/prefs.php.dist
--- a/kronolith/config/prefs.php.dist Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/config/prefs.php.dist Thu Nov 29 11:32:43 2007 +0100
@@ -465,3 +465,11 @@ if ($GLOBALS['registry']->hasMethod('con
'shared' => false,
'type' => 'implicit'
);
+
+$_prefs['saved_attendee_list'] = array(
+ 'value' => 'a:0:{}',
+ 'locked' => false,
+ 'shared' => false,
+ 'type' => 'implicit',
+ 'desc' => _("A saved list of attendees")
+);
diff -r 848f241f83e0 kronolith/savedattlist.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/savedattlist.php Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,77 @@
+
+ * Stuart Binge
+ *
+ * See the enclosed file COPYING for license information (GPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
+ */
+
+ at define('KRONOLITH_BASE', dirname(__FILE__));
+require_once KRONOLITH_BASE . '/lib/base.php';
+require_once KRONOLITH_BASE . '/lib/FBView.php';
+
+$title = _('Load Attendee List');
+
+Horde::addScriptFile('tooltip.js', 'horde');
+require KRONOLITH_TEMPLATES . '/common-header.inc';
+
+// Get our list of saved attendees
+$savedattlist = unserialize($prefs->getValue('saved_attendee_list'));
+
+// Preformat our image urls
+$delimg = Horde::img('delete.png', _("Remove List"), null, $GLOBALS['registry']->getImageDir('horde'));
+$loadimg = Horde::img('tree/folder.png', _("Load List"), null, $GLOBALS['registry']->getImageDir('horde'));
+
+// Get our Action ID & Value. This specifies what action the user initiated.
+$actionID = Util::getFormData('actionID', false);
+$actionValue = Util::getFormData('actionValue', false);
+if (!$actionID) {
+ $actionID = (Util::getFormData('addNew', false) ? 'add' : false);
+ $actionValue = Util::getFormData('newAttendees', '');
+}
+
+// Perform the specified action, if there is one.
+switch ($actionID) {
+case 'remove':
+ // Remove the specified attendee
+ if (array_key_exists($actionValue, $savedattlist)) {
+ unset($savedattlist[$actionValue]);
+ $prefs->setValue('saved_attendee_list', serialize($savedattlist));
+ }
+
+ break;
+
+case 'dismiss':
+ // Make sure we're actually allowed to dismiss
+ if (!$allow_dismiss) break;
+
+ // Close the attendee window
+ global $browser;
+
+ if ($browser->hasFeature('javascript')) {
+ Util::closeWindowJS();
+ } else {
+ $url = Util::getFormData('url');
+
+ if (!empty($url)) {
+ $location = Horde::applicationUrl($url, true);
+ } else {
+ $url = Util::addParameter($prefs->getValue('defaultview') . '.php', 'month', Util::getFormData('month'));
+ $url = Util::addParameter($url, 'year', Util::getFormData('year'));
+ $location = Horde::applicationUrl($url, true);
+ }
+
+ // Make sure URL is unique.
+ $location = Util::addParameter($location, 'unique', md5(microtime()));
+
+ header('Location: ' . $location);
+ }
+ break;
+}
+
+$form_handler = Horde::applicationUrl('savedattlist.php');
+require KRONOLITH_TEMPLATES . '/savedattlist/savedattlist.inc';
+require $GLOBALS['registry']->get('templates', 'horde') . '/common-footer.inc';
diff -r 848f241f83e0 kronolith/templates/attendees/attendees.inc
--- a/kronolith/templates/attendees/attendees.inc Thu Nov 29 10:56:04 2007 +0100
+++ b/kronolith/templates/attendees/attendees.inc Thu Nov 29 11:32:43 2007 +0100
@@ -92,6 +92,8 @@ function switchDateView(view, timestamp)
--- NEW FILE: README_Fbview_menu.patch ---
DESCRIPTION:
Adds a reduced menu to the attendees view. This won't make it upstream
since the the view is used by upstream as a popup and does not need a
menu.
IMPACT:
The menu will be missing in fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
--- NEW FILE: README_Fbview_relevance.patch ---
DESCRIPTION:
Allows to set the free/busy relevance of a calendar. This is Kolab
specific and won't make it upstream in this form.
IMPACT:
Without this patch you won't be able to set the free/busy relevance of
a calendar in fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
--- NEW FILE: README_Fbview_xfb_access.patch ---
DESCRIPTION:
Allows to set the access rules for extended free busy parameters.
This is Kolab specific and won't make it upstream in this form.
IMPACT:
Without this patch you won't be able to modify the access rights in
fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
--- NEW FILE: README_Fbview_xfb_concept.patch ---
DESCRIPTION:
Adds routines in the Horde::Share library to store the free/busy
relevance and the free/busy access settings. This could be submitted
upstream after some restructuring.
IMPACT:
Setting/Getting these parameters won't work in fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
From cvs at kolab.org Thu Nov 29 16:32:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 16:32:13 +0100 (CET)
Subject: gunnar: server/horde/horde-turba horde-turba-kolab.spec,1.21,1.22
Message-ID: <20071129153213.56F41600D7B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-turba
In directory doto:/tmp/cvs-serv23106/horde/horde-turba
Modified Files:
horde-turba-kolab.spec
Log Message:
Support for the extended free/busy concept.
Index: horde-turba-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-turba/horde-turba-kolab.spec,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- horde-turba-kolab.spec 29 Nov 2007 09:55:38 -0000 1.21
+++ horde-turba-kolab.spec 29 Nov 2007 15:32:11 -0000 1.22
@@ -76,6 +76,8 @@
cd %{V_horde_name}-h3-%{V_uver}
+ rm -rf test.php
+
cd config && for fl in *.dist;do cp $fl ${fl/.dist/};done; cd ..
cp -r * $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/horde/%{V_horde_name}/
From cvs at kolab.org Thu Nov 29 16:32:13 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Thu, 29 Nov 2007 16:32:13 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates httpd.conf.template.in, 1.17,
1.18 imapd.annotation_definitions.template.in, 1.3, 1.4
Message-ID: <20071129153213.A9988600D7B@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv23106/kolabd/kolabd/templates
Modified Files:
httpd.conf.template.in
imapd.annotation_definitions.template.in
Log Message:
Support for the extended free/busy concept.
Index: httpd.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/httpd.conf.template.in,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- httpd.conf.template.in 21 Nov 2007 11:05:41 -0000 1.17
+++ httpd.conf.template.in 29 Nov 2007 15:32:11 -0000 1.18
@@ -145,20 +145,7 @@
ErrorDocument 403 https://@@@fqdnhostname@@@@webserver_web_prefix@/admin/
- Deny from all
ErrorDocument 403 https://@@@fqdnhostname@@@@webserver_web_prefix@/fbview/
-
-
- Order allow,deny
- Allow from all
-
-
- Order allow,deny
- Allow from all
-
-
- Order allow,deny
- Allow from all
Index: imapd.annotation_definitions.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/imapd.annotation_definitions.template.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- imapd.annotation_definitions.template.in 3 Oct 2007 10:05:18 -0000 1.3
+++ imapd.annotation_definitions.template.in 29 Nov 2007 15:32:11 -0000 1.4
@@ -6,6 +6,7 @@
/vendor/kolab/folder-test,mailbox,string,backend,value.shared value.priv,a
/vendor/kolab/folder-type,mailbox,string,backend,value.shared value.priv,a
/vendor/kolab/incidences-for,mailbox,string,backend,value.shared value.priv,a
+/vendor/kolab/xfb-readable,mailbox,string,backend,value.shared value.priv,a
/vendor/kolab/h-share-attr-desc,mailbox,string,backend,value.shared value.priv,a
/vendor/horde/share-params,mailbox,string,backend,value.shared value.priv,a
/vendor/x-toltec/test,mailbox,string,backend,value.shared value.priv,a
From cvs at kolab.org Fri Nov 30 06:44:49 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 06:44:49 +0100 (CET)
Subject: gunnar: server cvs-kolab.sh,1.17,1.18
Message-ID: <20071130054449.6AFF3600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv20169
Modified Files:
cvs-kolab.sh
Log Message:
Fixed some syntax problems from the beta2 release run. Let's see if this script makes beta3 nice and easy.
Index: cvs-kolab.sh
===================================================================
RCS file: /kolabrepository/server/cvs-kolab.sh,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- cvs-kolab.sh 25 Oct 2007 16:13:45 -0000 1.17
+++ cvs-kolab.sh 30 Nov 2007 05:44:47 -0000 1.18
@@ -188,17 +188,18 @@
"/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i .
cd ..
cp RELEASE/install-kolab.sh .
- cat << EOF > 00INDEX.rdf
-
-
-
-
-
-
-
-EOF
+ cat << __EOF > 00INDEX.rdf
+
+
+
+
+
+
+
+__EOF
+
./install-kolab.sh -t "${KOLAB_REL_USER}" -I 23414 -F -H > kolab-build.log2 2>&1
cp /"${KOLAB_REL_USER}"/RPM/PKG/*.src.rpm RELEASE/
cd RELEASE
From cvs at kolab.org Fri Nov 30 06:49:49 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 06:49:49 +0100 (CET)
Subject: gunnar: server/horde/horde-kronolith HK-GW-Fbview_relevance.patch,
NONE, 1.1 HK-GW-Fbview_xfb_access.patch, NONE,
1.1 HK-SB-Fbview_extra_params.patch, NONE,
1.1 HK-SB-Fbview_save_attendees.patch, NONE,
1.1 horde-kronolith-kolab.spec, 1.20, 1.21
Message-ID: <20071130054949.3A142600166@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-kronolith
In directory doto:/tmp/cvs-serv20305
Modified Files:
horde-kronolith-kolab.spec
Added Files:
HK-GW-Fbview_relevance.patch HK-GW-Fbview_xfb_access.patch
HK-SB-Fbview_extra_params.patch
HK-SB-Fbview_save_attendees.patch
Log Message:
We can add these fbview patches also to the main kronolith. They won't hurt.
--- NEW FILE: HK-GW-Fbview_relevance.patch ---
Allows to set the free/busy relevance on a calendar.
diff -r e7fdad8797ac kronolith/calendars.php
--- a/kronolith/calendars.php Thu Nov 29 14:36:50 2007 +0100
+++ b/kronolith/calendars.php Thu Nov 29 14:43:24 2007 +0100
@@ -39,6 +39,7 @@ case 'save':
$cal = $kronolith_shares->newShare(md5(microtime()));
$cal->set('name', $id);
$cal->set('desc', Util::getFormData('description', ''));
+ $cal->set('params', serialize(array('fbrelevance' => (int) Util::getFormData('fbrelevance', 0))));
$result = $kronolith_shares->addShare($cal);
if (is_a($result, 'PEAR_Error')) {
$notification->push($result, 'horde.error');
@@ -50,6 +51,7 @@ case 'save':
$original_name = $cal->get('name');
$cal->set('name', $id);
$cal->set('desc', Util::getFormData('description', ''));
+ $cal->set('params', serialize(array('fbrelevance' => (int) Util::getFormData('fbrelevance', 0))));
if ($original_name != $id) {
$result = $kronolith_driver->rename($original_name, $id);
@@ -125,9 +127,16 @@ case 'delete':
$remote_calendars = unserialize($prefs->getValue('remote_cals'));
$current_user = Auth::getAuth();
$my_calendars = array();
+$fbrelevance = array();
foreach (Kronolith::listCalendars() as $id => $cal) {
if ($cal->get('owner') == $current_user) {
$my_calendars[$id] = $cal;
+ $params = @unserialize($cal->get('params'));
+ if (isset($params['fbrelevance'])) {
+ $fbrelevance[$id] = $params['fbrelevance'];
+ } else {
+ $fbrelevance[$id] = 0;
+ }
}
}
diff -r e7fdad8797ac kronolith/templates/calendars/calendars.inc
--- a/kronolith/templates/calendars/calendars.inc Thu Nov 29 14:36:50 2007 +0100
+++ b/kronolith/templates/calendars/calendars.inc Thu Nov 29 14:43:24 2007 +0100
@@ -8,7 +8,8 @@ var fields = [];
$cal): ?>
fields[''] = [
"get('name'), NLS::getCharset(), 'UTF-8')) ?>",
- "get('desc'), NLS::getCharset(), 'UTF-8')) ?>"];
+ "get('desc'), NLS::getCharset(), 'UTF-8')) ?>",
+ ""];
function newChoice()
@@ -25,6 +26,7 @@ function newChoice()
document.shares.edit_share.value = share;
document.shares.id.value = decodeURIComponent(fields[share][0]);
document.shares.description.value = decodeURIComponent(fields[share][1]);
+ document.shares.fbrelevance[fields[share][2]].checked = true;
urlObj.innerHTML = "" + share;
subscriptionUrlObj.innerHTML = "get('webroot', 'horde'), true, -1) . '/rpc.php/kronolith/" + share + ".ics"') : Util::addParameter(Horde::applicationUrl('ics.php', true, -1), 'c', '') . '" + share' ?>;
}
@@ -126,11 +128,55 @@ function checkSubmit()
-
diff -r 848f241f83e0 kronolith/templates/javascript/open_savedattlist_win.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/javascript/open_savedattlist_win.js Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,36 @@
+
+
diff -r 848f241f83e0 kronolith/templates/savedattlist/savedattlist.inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/savedattlist/savedattlist.inc Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,68 @@
+
+
+
+
Index: horde-kronolith-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-kronolith/horde-kronolith-kolab.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- horde-kronolith-kolab.spec 29 Nov 2007 15:32:10 -0000 1.20
+++ horde-kronolith-kolab.spec 30 Nov 2007 05:49:47 -0000 1.21
@@ -3,7 +3,7 @@
%define V_package horde-%{V_horde_name}-kolab
%define V_year 2007
%define V_month 11
-%define V_day 28
+%define V_day 29
%define V_version 2.2_rc1
%define V_uver 2.2-rc1
%define V_date %{V_year}-%{V_month}-%{V_day}
@@ -28,6 +28,10 @@
# List of Patches
Patch0: HK-JS-Fix_library_import.patch
+Patch1: HK-SB-Fbview_extra_params.patch
+Patch2: HK-SB-Fbview_save_attendees.patch
+Patch3: HK-GW-Fbview_relevance.patch
+Patch4: HK-GW-Fbview_xfb_access.patch
# Build Info
Prefix: %{l_prefix}
@@ -58,6 +62,10 @@
cd %{V_horde_name}-h3-%{V_uver}
%patch -p2 -P 0
+ %patch -p2 -P 1
+ %patch -p2 -P 2
+ %patch -p2 -P 3
+ %patch -p2 -P 4
cd ..
%build
From cvs at kolab.org Fri Nov 30 06:55:53 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 06:55:53 +0100 (CET)
Subject: gunnar: server/horde/fbview-kronolith Makefile,1.4,1.5
Message-ID: <20071130055553.1FB34600166@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/fbview-kronolith
In directory doto:/tmp/cvs-serv20457
Modified Files:
Makefile
Log Message:
Hm, looks like I missed that when commiting some time earlier.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/horde/fbview-kronolith/Makefile,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Makefile 1 Oct 2007 15:47:19 -0000 1.4
+++ Makefile 30 Nov 2007 05:55:51 -0000 1.5
@@ -23,7 +23,7 @@
UVER = $(shell grep "%define[ ]*V_uver" *.spec | sed -e "s/.*V_uver\s*\([0-9.a-z-]*\).*/\1/")
RELEASE = ${YEAR}${MONTH}${DAY}
-PATCHES = $(shell find . -name "*.patch") savedattlist.inc open_savedattlist_win.js
+PATCHES = $(shell find . -name "*.patch")
TEMPLATES = $(shell find . -name "*.template")
CONFIGS = $(shell find . -name "*.php")
From cvs at kolab.org Fri Nov 30 07:47:24 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 07:47:24 +0100 (CET)
Subject: gunnar: server/horde/fbview-kronolith fbview-kronolith.spec, 1.18,
1.19
Message-ID: <20071130064724.83B0F600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/fbview-kronolith
In directory doto:/tmp/cvs-serv21764
Modified Files:
fbview-kronolith.spec
Log Message:
This was the second part of the commit that I missed yesterday.
Index: fbview-kronolith.spec
===================================================================
RCS file: /kolabrepository/server/horde/fbview-kronolith/fbview-kronolith.spec,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- fbview-kronolith.spec 29 Nov 2007 15:32:10 -0000 1.18
+++ fbview-kronolith.spec 30 Nov 2007 06:47:22 -0000 1.19
@@ -88,17 +88,10 @@
edit.php new.php test.php year.php attend.php \
data.php event.php
+ find . -name '*.orig' | xargs rm
cp -r * $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/fbview/%{V_horde_name}/
cd ..
-
- %{l_shtool} install -d $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/fbview/%{V_horde_name}/templates/savedattlist
- %{l_shtool} install -c -m 644 %{l_value -s -a} %{S:4} \
- $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/fbview/%{V_horde_name}
- %{l_shtool} install -c -m 644 %{l_value -s -a} %{S:5} \
- $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/fbview/%{V_horde_name}/templates/savedattlist
- %{l_shtool} install -c -m 644 %{l_value -s -a} %{S:6} \
- $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/fbview/%{V_horde_name}/templates/javascript
%{l_shtool} install -c -m 644 %{l_value -s -a} %{S:1} \
$RPM_BUILD_ROOT%{l_prefix}/etc/kolab/templates
From cvs at kolab.org Fri Nov 30 07:58:41 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 07:58:41 +0100 (CET)
Subject: gunnar: server/horde/horde-kronolith horde-kronolith-kolab.spec, 1.21,
1.22
Message-ID: <20071130065841.0E881600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-kronolith
In directory doto:/tmp/cvs-serv22088/horde-kronolith
Modified Files:
horde-kronolith-kolab.spec
Log Message:
If we use the fbview patches we will also need to remove the *.orig files.
Index: horde-kronolith-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-kronolith/horde-kronolith-kolab.spec,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- horde-kronolith-kolab.spec 30 Nov 2007 05:49:47 -0000 1.21
+++ horde-kronolith-kolab.spec 30 Nov 2007 06:58:38 -0000 1.22
@@ -80,6 +80,8 @@
cd config && for fl in *.dist;do cp $fl ${fl/.dist/};done; cd ..
+ find . -name '*.orig' | xargs rm
+
cp -r * $RPM_BUILD_ROOT%{l_prefix}/var/kolab/www/horde/%{V_horde_name}/
cd ..
From cvs at kolab.org Fri Nov 30 08:13:40 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 08:13:40 +0100 (CET)
Subject: gunnar: server Makefile,1.43,1.44
Message-ID: <20071130071340.13868600166@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv22667
Modified Files:
Makefile
Log Message:
These files don't exist anymore.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/Makefile,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- Makefile 28 Nov 2007 07:57:54 -0000 1.43
+++ Makefile 30 Nov 2007 07:13:37 -0000 1.44
@@ -67,9 +67,7 @@
BASE_FILES=install-kolab.sh \
00INDEX.rdf \
- LIESMICH.txt \
- README.1st \
- README.webclient
+ README.1st
.PHONY: dist
dist: stage base kolab horde files
From cvs at kolab.org Fri Nov 30 09:47:47 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 09:47:47 +0100 (CET)
Subject: gunnar: server Makefile,1.44,1.45
Message-ID: <20071130084747.6BCD5600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv25225
Modified Files:
Makefile
Log Message:
Added missing package.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/Makefile,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- Makefile 30 Nov 2007 07:13:37 -0000 1.44
+++ Makefile 30 Nov 2007 08:47:44 -0000 1.45
@@ -52,6 +52,7 @@
pear/PEAR-Net_SMTP \
pear/PEAR-Net_LMTP \
pear/PEAR-HTTP_Request \
+ horde/php-channel-horde \
horde/fbview-horde \
horde/fbview-kronolith \
horde/horde-framework \
From cvs at kolab.org Fri Nov 30 09:50:18 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 09:50:18 +0100 (CET)
Subject: gunnar: server install-kolab.sh,1.15,1.16
Message-ID: <20071130085018.30434600D50@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv25358
Modified Files:
install-kolab.sh
Log Message:
While this added output does not exactly look beautiful it helps to see the final command the installer will actually run.
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- install-kolab.sh 28 Nov 2007 07:57:54 -0000 1.15
+++ install-kolab.sh 30 Nov 2007 08:50:16 -0000 1.16
@@ -302,6 +302,13 @@
"
fi
find "$DIR" -mindepth 1 -maxdepth 1 -name "*.$PLATTAG.rpm" -exec ln -sf '{}' "$PREFIX/RPM/PKG/" \;
+ echo "----------- SETUP COMPLETED -----------"
+ echo ""
+ echo " Now running:"
+ echo ""
+ echo " $PREFIX/bin/openpkg build -kKBuZ -r \"$DIR\" -p \"$PLATTAG\" $DEFINE $PACKAGES | sh"
+ echo ""
+ echo "---------------------------------------"
"$PREFIX/bin/openpkg" build -kKBuZ -r "$DIR" -p "$PLATTAG" $DEFINE $PACKAGES | sh || exit $?
fi
From cvs at kolab.org Fri Nov 30 10:43:29 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 10:43:29 +0100 (CET)
Subject: gunnar: server cvs-kolab.sh,1.18,1.19
Message-ID: <20071130094329.76D4F600151@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv27300
Modified Files:
cvs-kolab.sh
Log Message:
Add some fixes to the release process. Maybe this becomes useful next time then.
Index: cvs-kolab.sh
===================================================================
RCS file: /kolabrepository/server/cvs-kolab.sh,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- cvs-kolab.sh 30 Nov 2007 05:44:47 -0000 1.18
+++ cvs-kolab.sh 30 Nov 2007 09:43:27 -0000 1.19
@@ -169,23 +169,36 @@
die "There exists no CVS environment at /${KOLAB_DEV_USER}/CVS/server! Did you run ./cvs-kolab.sh -i to setup the CVS based Kolab server?"
fi
cd "/${KOLAB_DEV_USER}/CVS/server"
- cvs -q update -P -d
+ cvs -Q update -P -d
chown -R "${KOLAB_DEV_USER}:" "/${KOLAB_DEV_USER}/CVS"
- su - "${KOLAB_DEV_USER}" -c "cd `pwd` && make clean" || die "Not releasing! Looks like the Kolab developers broke CVS. Bug them at https://www.intevation.de/roundup/kolab"
- su - "${KOLAB_DEV_USER}" -c "cd `pwd` && make" || die "Not releasing! Looks like the Kolab developers broke CVS. Bug them at https://www.intevation.de/roundup/kolab"
mkdir -p "${KOLAB_PACKAGES}/source-release/RELEASE"
+ su - "${KOLAB_DEV_USER}" -c "cd `pwd` && make clean" > "${KOLAB_PACKAGES}/source-release/make-clean.log" || die "Not releasing! Looks like the Kolab developers broke CVS. Bug them at https://www.intevation.de/roundup/kolab"
+ su - "${KOLAB_DEV_USER}" -c "cd `pwd` && make" > "${KOLAB_PACKAGES}/source-release/make.log" || die "Not releasing! Looks like the Kolab developers broke CVS. Bug them at https://www.intevation.de/roundup/kolab"
cd "${KOLAB_PACKAGES}/source-release/RELEASE"
cp "/${KOLAB_DEV_USER}/CVS/server/install-kolab.sh" .
cp /"${KOLAB_DEV_USER}"/CVS/server/stage/* .
- wget "ftp://ftp.openpkg.org/current/SRC/CORE/openpkg-*.src.sh" || die "No OpenPKG installer found!"
- ./install-kolab.sh -E -t "${KOLAB_REL_USER}" -I 23414 -F -H > ../kolab-build.log 2>&1
+ wget -q "ftp://ftp.openpkg.org/current/SRC/CORE/openpkg-*.src.sh" || die "No OpenPKG installer found!"
+ ./install-kolab.sh -E -t "${KOLAB_REL_USER}" -I 23414 -F -H > ../openpkg-build.log 2>&1 || die "Couldn't build OpenPKG!"
wget "ftp://ftp.openpkg.org/current/SRC/BASE/openpkg-tools*.src.rpm" || die "No OpenPKG tools found!"
- "/${KOLAB_REL_USER}/bin/openpkg" build -k openpkg-tools | sh
- "/${KOLAB_REL_USER}/bin/openpkg" register --mode=post --user=${OPENPKG_USER}
+ "/${KOLAB_REL_USER}/bin/openpkg" build -k openpkg-tools | sh > ../openpkg-tools-build.log 2>&1 || die "Couldn't build OpenPKG tools!"
+ echo "----------------------------------------------------"
+ echo ""
+ echo " Registering your instance:"
+ echo ""
+ "/${KOLAB_REL_USER}/bin/openpkg" register --mode=post --user=${OPENPKG_USER} || die "Failed to register the release instance!"
+ echo ""
+ echo " Registered your instance."
+ echo " Now go to http://registry.openpkg.org/register and"
+ echo " associate your release instance."
+ echo ""
+ echo "----------------------------------------------------"
+ echo "Press [Enter] after registering..."
+ echo ""
+ read ANSWER
PLATFORM=`/"${KOLAB_REL_USER}"/lib/openpkg/shtool platform --type=binary`
rm *$PLATFORM*
chown ${KOLAB_REL_USER} .
- "/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i .
+ "/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i . > ../local-index.log 2>&1 || die "Failed generating the Kolab package index!"
cd ..
cp RELEASE/install-kolab.sh .
cat << __EOF > 00INDEX.rdf
@@ -200,10 +213,10 @@
__EOF
- ./install-kolab.sh -t "${KOLAB_REL_USER}" -I 23414 -F -H > kolab-build.log2 2>&1
+ ./install-kolab.sh -t "${KOLAB_REL_USER}" -I 23414 -F -H > kolab-build.log2 2>&1 || die "Failed to build the Kolab server!"
cp /"${KOLAB_REL_USER}"/RPM/PKG/*.src.rpm RELEASE/
cd RELEASE
- "/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i .
+ "/${KOLAB_REL_USER}/bin/openpkg" index -r . -o 00INDEX.rdf -i . > ../final-index.log 2>&1 || die "Failed generating the final release index!"
md5sum *.sh *.rpm > MD5SUMS
cd ..
From cvs at kolab.org Fri Nov 30 12:15:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 12:15:00 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates ldapdistlist.cf.template.in,
1.3, 1.4
Message-ID: <20071130111500.C71F860C4B9@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv30102/kolabd/kolabd/templates
Modified Files:
ldapdistlist.cf.template.in
Log Message:
kolab/issue2206 (Multiple deliveries to distribution lists)
Index: ldapdistlist.cf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/ldapdistlist.cf.template.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ldapdistlist.cf.template.in 4 Feb 2006 18:19:58 -0000 1.3
+++ ldapdistlist.cf.template.in 30 Nov 2007 11:14:58 -0000 1.4
@@ -19,9 +19,7 @@
server_host = @@@ldap_uri@@@
search_base = @@@user_dn_list@@@
query_filter = (&(objectClass=kolabGroupOfNames)(!(kolabDeleteFlag=*))(mail=%s))
-special_result_attribute = member
exclude_internal = yes
-result_attribute = mail
result_filter = %s
search_timeout = 15
scope = sub
@@ -30,3 +28,10 @@
bind_pw = @@@php_pw@@@
version = 3
#debuglevel = 255
+
+
+# Postfix 2.4.0 distribution list support
+# see http://archive.netbsd.se/?ml=postfix-devel&a=2007-03&m=3322510
+special_result_attribute = member
+result_attribute =
+leaf_result_attribute = mail
From cvs at kolab.org Fri Nov 30 12:15:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 12:15:00 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.186,1.187
Message-ID: <20071130111500.BEF4360C4B0@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv30102
Modified Files:
release-notes.txt
Log Message:
kolab/issue2206 (Multiple deliveries to distribution lists)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.186
retrieving revision 1.187
diff -u -d -r1.186 -r1.187
--- release-notes.txt 29 Nov 2007 15:32:10 -0000 1.186
+++ release-notes.txt 30 Nov 2007 11:14:58 -0000 1.187
@@ -63,6 +63,7 @@
Support for the extended free/busy concept.
kolab/issue2134 ([Horde] Unable to send message with attachments)
+ kolab/issue2206 (Multiple deliveries to distribution lists)
kolab/issue2236 (Apache UID access broken)
- horde-framework-kolab-3.2_RC1-2007????
From cvs at kolab.org Fri Nov 30 12:15:00 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 12:15:00 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd ChangeLog,1.125,1.126
Message-ID: <20071130111500.C2A9A60C4B5@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv30102/kolabd/kolabd
Modified Files:
ChangeLog
Log Message:
kolab/issue2206 (Multiple deliveries to distribution lists)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.125
retrieving revision 1.126
diff -u -d -r1.125 -r1.126
--- ChangeLog 29 Nov 2007 15:32:11 -0000 1.125
+++ ChangeLog 30 Nov 2007 11:14:58 -0000 1.126
@@ -1,3 +1,9 @@
+2007-11-30 Gunnar Wrobel
+
+ * templates/ldapdistlist.cf.template.in:
+
+ kolab/issue2206 (Multiple deliveries to distribution lists)
+
2007-11-29 Gunnar Wrobel
* templates/httpd.conf.template.in:
From cvs at kolab.org Fri Nov 30 12:41:50 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 12:41:50 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd kolab_bootstrap.in,1.29,1.30
Message-ID: <20071130114150.BE44560C4AD@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv30973
Modified Files:
kolab_bootstrap.in
Log Message:
Fix bootstrap issues.
Index: kolab_bootstrap.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolab_bootstrap.in,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- kolab_bootstrap.in 28 Nov 2007 12:45:32 -0000 1.29
+++ kolab_bootstrap.in 30 Nov 2007 11:41:48 -0000 1.30
@@ -275,6 +275,7 @@
my $slurpd_addr = $kolab_config{'slurpd_addr'} || die "could not read slurpd_addr from $kolab_config";
my $slurpd_port = $kolab_config{'slurpd_port'} || die "could not read slurpd_port from $kolab_config";
my @kolabhosts;
+my $domain;
if (!$bind_dn || !$bind_pw || !$ldap_uri || !$base_dn) {
print "Please check $kolab_config (seems to be incomplete)\n";
@@ -312,7 +313,7 @@
##### Master server setup
getopt('f');
- (my $dummy, my $domain) = split(/\./, $fqdn, 2);
+ (my $dummy, $domain) = split(/\./, $fqdn, 2);
if (!$domain) {
$domain = $fqdn;
}
@@ -776,7 +777,7 @@
#my $entry = $mesg->entry(0);
#$php_pw = $entry->get_value( 'userPassword' );
- $calendar_dn = "cn=$calendar_id@$domain,cn=internal,$base_dn";
+ my $calendar_dn = "cn=$calendar_id@$domain,cn=internal,$base_dn";
$mesg = $ldap->search(base=> $php_dn, scope=> 'exact', filter=> "(objectclass=*)");
if ($mesg && $mesg->count != 1) {
print "Calendar object not found, please check your input\n";
From cvs at kolab.org Fri Nov 30 14:53:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 14:53:32 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd kolab_bootstrap.in,1.30,1.31
Message-ID: <20071130135332.90429600151@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv2497
Modified Files:
kolab_bootstrap.in
Log Message:
Fix another bootstrap issue.
Index: kolab_bootstrap.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolab_bootstrap.in,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- kolab_bootstrap.in 30 Nov 2007 11:41:48 -0000 1.30
+++ kolab_bootstrap.in 30 Nov 2007 13:53:30 -0000 1.31
@@ -607,7 +607,7 @@
undef $ldapobject;
# create calendar user
- $ldapobject = newOrExistingLDAPEntry( $ldap, "cn=$calendar_id@$domain,cn=internal,$base_dn" );
+ $ldapobject = newOrExistingLDAPEntry( $ldap, "cn=$calendar_id@" . $domain . ",cn=internal,$base_dn" );
$ldapobject->replace('cn' => $calendar_id . '@' . $domain, 'sn' => 'n/a n/a', 'uid' => $calendar_id . '@' . $domain,
'userPassword' => hashPassword($calendar_pw),
'objectclass' => ['top','inetorgperson','kolabinetorgperson']);
From cvs at kolab.org Fri Nov 30 15:02:25 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 15:02:25 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd kolab_bootstrap.in,1.31,1.32
Message-ID: <20071130140225.ED91560C4A7@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv2677
Modified Files:
kolab_bootstrap.in
Log Message:
Fix another bootstrap issue.
Index: kolab_bootstrap.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolab_bootstrap.in,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- kolab_bootstrap.in 30 Nov 2007 13:53:30 -0000 1.31
+++ kolab_bootstrap.in 30 Nov 2007 14:02:23 -0000 1.32
@@ -611,7 +611,7 @@
$ldapobject->replace('cn' => $calendar_id . '@' . $domain, 'sn' => 'n/a n/a', 'uid' => $calendar_id . '@' . $domain,
'userPassword' => hashPassword($calendar_pw),
'objectclass' => ['top','inetorgperson','kolabinetorgperson']);
- $ldapobject->dn("cn=$calendar_id@$domain,cn=internal,$base_dn");
+ $ldapobject->dn("cn=$calendar_id@" . $domain . ",cn=internal,$base_dn");
$mesg = $ldapobject->update($ldap);
$mesg && $mesg->code && warn "failed to write entry: ", $mesg->error;
undef $ldapobject;
@@ -777,7 +777,7 @@
#my $entry = $mesg->entry(0);
#$php_pw = $entry->get_value( 'userPassword' );
- my $calendar_dn = "cn=$calendar_id@$domain,cn=internal,$base_dn";
+ my $calendar_dn = "cn=$calendar_id@" . $domain . ",cn=internal,$base_dn";
$mesg = $ldap->search(base=> $php_dn, scope=> 'exact', filter=> "(objectclass=*)");
if ($mesg && $mesg->count != 1) {
print "Calendar object not found, please check your input\n";
From cvs at kolab.org Fri Nov 30 15:27:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 15:27:46 +0100 (CET)
Subject: gunnar: server release-notes.txt,1.187,1.188
Message-ID: <20071130142746.1242560C4A7@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv3322
Modified Files:
release-notes.txt
Log Message:
kolab/issue2225 (notifyd logging going into fsl.log)
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -d -r1.187 -r1.188
--- release-notes.txt 30 Nov 2007 11:14:58 -0000 1.187
+++ release-notes.txt 30 Nov 2007 14:27:43 -0000 1.188
@@ -64,6 +64,7 @@
kolab/issue2134 ([Horde] Unable to send message with attachments)
kolab/issue2206 (Multiple deliveries to distribution lists)
+ kolab/issue2225 (notifyd logging going into fsl.log)
kolab/issue2236 (Apache UID access broken)
- horde-framework-kolab-3.2_RC1-2007????
From cvs at kolab.org Fri Nov 30 15:27:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 15:27:46 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates cyrus.conf.template.in, 1.5,
1.6
Message-ID: <20071130142746.19C0860C4B5@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv3322/kolabd/kolabd/templates
Modified Files:
cyrus.conf.template.in
Log Message:
kolab/issue2225 (notifyd logging going into fsl.log)
Index: cyrus.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/cyrus.conf.template.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- cyrus.conf.template.in 8 Oct 2007 15:39:27 -0000 1.5
+++ cyrus.conf.template.in 30 Nov 2007 14:27:44 -0000 1.6
@@ -53,7 +53,7 @@
lmtp cmd="lmtpd -a" listen="@@@local_addr@@@:2003"
# this is only necessary if using notifications
- notify cmd="notifyd" listen="@imap_notify_socket@" proto="udp" prefork=1
+ notifyd cmd="notifyd" listen="@imap_notify_socket@" proto="udp" prefork=1
}
EVENTS {
From cvs at kolab.org Fri Nov 30 15:27:46 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 15:27:46 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd ChangeLog,1.126,1.127
Message-ID: <20071130142746.1619460C4AD@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv3322/kolabd/kolabd
Modified Files:
ChangeLog
Log Message:
kolab/issue2225 (notifyd logging going into fsl.log)
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.126
retrieving revision 1.127
diff -u -d -r1.126 -r1.127
--- ChangeLog 30 Nov 2007 11:14:58 -0000 1.126
+++ ChangeLog 30 Nov 2007 14:27:44 -0000 1.127
@@ -1,5 +1,9 @@
2007-11-30 Gunnar Wrobel
+ * templates/cyrus.conf.template.in:
+
+ kolab/issue2225 (notifyd logging going into fsl.log)
+
* templates/ldapdistlist.cf.template.in:
kolab/issue2206 (Multiple deliveries to distribution lists)
From cvs at kolab.org Fri Nov 30 16:10:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:10:26 +0100 (CET)
Subject: thomas: server/kolab-freebusy Makefile,1.8,1.9
Message-ID: <20071130151026.E07F8600174@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-freebusy
In directory doto:/tmp/cvs-serv4605/kolab-freebusy
Modified Files:
Makefile
Log Message:
Bumped some version numbers for 2.2-beta3
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-freebusy/Makefile,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- Makefile 23 Oct 2007 09:11:28 -0000 1.8
+++ Makefile 30 Nov 2007 15:10:24 -0000 1.9
@@ -1,8 +1,8 @@
PACKAGE = $(shell grep "%define[ ]*V_package" *.spec | sed -e "s/.*V_package \([a-z\_-]*\).*/\1/")
RELEASE = $(shell date '+%Y%m%d')
-VERSION = 2.2.beta2
-CVS = 1
+VERSION = 2.2.beta3
+CVS = 0
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
From cvs at kolab.org Fri Nov 30 16:10:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:10:26 +0100 (CET)
Subject: thomas: server/kolab-filter Makefile,1.7,1.8
Message-ID: <20071130151026.E094A600D7D@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-filter
In directory doto:/tmp/cvs-serv4605/kolab-filter
Modified Files:
Makefile
Log Message:
Bumped some version numbers for 2.2-beta3
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/kolab-filter/Makefile,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- Makefile 23 Oct 2007 09:11:27 -0000 1.7
+++ Makefile 30 Nov 2007 15:10:24 -0000 1.8
@@ -1,8 +1,8 @@
PACKAGE = $(shell grep "%define[ ]*V_package" *.spec | sed -e "s/.*V_package \([a-z\_-]*\).*/\1/")
RELEASE = $(shell date '+%Y%m%d')
-VERSION = 2.2.beta2
-CVS = 1
+VERSION = 2.2.beta3
+CVS = 0
ifeq "x$(CVS)" "x0"
SOURCE_TAG = $(VERSION)
From cvs at kolab.org Fri Nov 30 16:10:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:10:26 +0100 (CET)
Subject: thomas: server/perl-kolab/lib Kolab.pm,1.10,1.11
Message-ID: <20071130151026.EA87160C4A7@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/perl-kolab/lib
In directory doto:/tmp/cvs-serv4605/perl-kolab/lib
Modified Files:
Kolab.pm
Log Message:
Bumped some version numbers for 2.2-beta3
Index: Kolab.pm
===================================================================
RCS file: /kolabrepository/server/perl-kolab/lib/Kolab.pm,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- Kolab.pm 23 Oct 2007 09:17:44 -0000 1.10
+++ Kolab.pm 30 Nov 2007 15:10:24 -0000 1.11
@@ -59,10 +59,10 @@
);
# The Kolab version number for the perl-kolab package
-our $KOLAB_BASE_VERSION = "2.2.beta2";
+our $KOLAB_BASE_VERSION = "2.2.beta3";
# Are current releases cvs based or is this a real release?
-my $KOLAB_CVS = 1;
+my $KOLAB_CVS = 0;
our $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
From cvs at kolab.org Fri Nov 30 16:10:27 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:10:27 +0100 (CET)
Subject: thomas: server/php-kolab Makefile,1.13,1.14
Message-ID: <20071130151027.21F0B600166@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/php-kolab
In directory doto:/tmp/cvs-serv4605/php-kolab
Modified Files:
Makefile
Log Message:
Bumped some version numbers for 2.2-beta3
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/php-kolab/Makefile,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- Makefile 23 Oct 2007 09:11:28 -0000 1.13
+++ Makefile 30 Nov 2007 15:10:24 -0000 1.14
@@ -4,8 +4,8 @@
VERSION = 2.2
PRERELEASE = beta
-PRERELEASE_VERSION = 2
-CVS = 1
+PRERELEASE_VERSION = 3
+CVS = 0
ifeq "x$(PRERELEASE)" "x"
ifeq "x$(CVS)" "x0"
From cvs at kolab.org Fri Nov 30 16:10:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:10:26 +0100 (CET)
Subject: thomas: server/kolabconf Makefile.PL,1.13,1.14
Message-ID: <20071130151026.E97B160C4A2@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabconf
In directory doto:/tmp/cvs-serv4605/kolabconf
Modified Files:
Makefile.PL
Log Message:
Bumped some version numbers for 2.2-beta3
Index: Makefile.PL
===================================================================
RCS file: /kolabrepository/server/kolabconf/Makefile.PL,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- Makefile.PL 23 Oct 2007 09:11:28 -0000 1.13
+++ Makefile.PL 30 Nov 2007 15:10:24 -0000 1.14
@@ -9,10 +9,10 @@
my $KOLAB_VERSION;
# The Kolab version number for the perl-kolab package
-my $KOLAB_BASE_VERSION = "2.2.beta2";
+my $KOLAB_BASE_VERSION = "2.2.beta3";
# Are current releases cvs based or is this a real release?
-my $KOLAB_CVS = 1;
+my $KOLAB_CVS = 0;
my $KOLAB_RELEASE = sprintf "%0004d%02d%02d", ((gmtime)[5] + 1900), ((gmtime)[4] + 1), (gmtime)[3];
From cvs at kolab.org Fri Nov 30 16:10:26 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:10:26 +0100 (CET)
Subject: thomas: server install-kolab.sh,1.16,1.17
Message-ID: <20071130151026.DEA16600166@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv4605
Modified Files:
install-kolab.sh
Log Message:
Bumped some version numbers for 2.2-beta3
Index: install-kolab.sh
===================================================================
RCS file: /kolabrepository/server/install-kolab.sh,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- install-kolab.sh 30 Nov 2007 08:50:16 -0000 1.16
+++ install-kolab.sh 30 Nov 2007 15:10:24 -0000 1.17
@@ -11,7 +11,7 @@
#
# This program is free software under the GNU GPL (>=v2)
-KOLAB_VERSION="2.2-beta2"
+KOLAB_VERSION="2.2-beta3"
KID="19414"
TAG="kolab"
@@ -55,7 +55,7 @@
echo " -p PREFIX (alternate installation prefix; default is /\$TAG)"
echo " -u USER (alternate user name; default is \$TAG)"
echo
- echo " -V VERSION (alternate version; default is 2.2-beta1)"
+ echo " -V VERSION (alternate version; default is $KOLAB_VERSION)"
echo
echo " -D (generate a binary distribution based on ./ and /\$PREFIX)"
echo " -S (generate a source distribution based on ./ and /\$PREFIX)"
From cvs at kolab.org Fri Nov 30 16:11:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:11:02 +0100 (CET)
Subject: thomas: server README.1st,1.67,1.68
Message-ID: <20071130151102.C16D2600166@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv4718
Modified Files:
README.1st
Log Message:
Added "Nothing special" upgrade instructions from beta2 to beta3.
Index: README.1st
===================================================================
RCS file: /kolabrepository/server/README.1st,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- README.1st 16 Nov 2007 18:01:52 -0000 1.67
+++ README.1st 30 Nov 2007 15:11:00 -0000 1.68
@@ -120,6 +120,12 @@
# /kolab/bin/openpkg rc all start
+Upgrade from 2.2-beta2 to 2.2-beta3
+-----------------------------------
+
+Nothing special has to be done for this upgrade.
+
+
Upgrade from 2.2-beta1 to 2.2-beta2
-----------------------------------
From cvs at kolab.org Fri Nov 30 16:24:50 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:24:50 +0100 (CET)
Subject: gunnar: server/horde/horde-framework horde-framework-kolab.spec, 1.32,
1.33
Message-ID: <20071130152450.CC9E4600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv5020
Modified Files:
horde-framework-kolab.spec
Log Message:
Change package suffix to lower case so that it is in line with the other packages.
Index: horde-framework-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/horde-framework-kolab.spec,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- horde-framework-kolab.spec 29 Nov 2007 15:32:10 -0000 1.32
+++ horde-framework-kolab.spec 30 Nov 2007 15:24:48 -0000 1.33
@@ -4,7 +4,7 @@
%define V_year 2007
%define V_month 11
%define V_day 29
-%define V_version 3.2_RC1
+%define V_version 3.2_rc1
%define V_date %{V_year}-%{V_month}-%{V_day}
%define V_release %{V_year}%{V_month}%{V_day}
From cvs at kolab.org Fri Nov 30 16:55:31 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 16:55:31 +0100 (CET)
Subject: thomas: server 00INDEX.rdf,1.4,1.5
Message-ID: <20071130155531.37C3F600151@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv5524
Modified Files:
00INDEX.rdf
Log Message:
Updated 00INDEX.rdf for 2.2beta3
Index: 00INDEX.rdf
===================================================================
RCS file: /kolabrepository/server/00INDEX.rdf,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- 00INDEX.rdf 18 Oct 2007 16:45:46 -0000 1.4
+++ 00INDEX.rdf 30 Nov 2007 15:55:28 -0000 1.5
@@ -2,151 +2,6 @@
-
- PEAR-Auth_SASL
- 1.0.2
- 1
- OpenPKG
- Development/Libraries
- PHP License
- Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
[...8835 lines suppressed...]
- 2.2.beta2
- 20071018
+ 2.2.beta3
+ 20071130OpenPKG CommunityPLUSLanguage
@@ -7107,9 +7360,9 @@
- Kolab_Filter-2.2beta220071018.tgz
- Kolab_Webadmin-2.2beta220071018.tgz
- Kolab_Freebusy-2.2beta220071018.tgz
+ Kolab_Filter-2.2beta320071130.tgz
+ Kolab_Webadmin-2.2beta320071130.tgz
+ Kolab_Freebusy-2.2beta320071130.tgz
From cvs at kolab.org Fri Nov 30 17:07:14 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 17:07:14 +0100 (CET)
Subject: thomas: server 00INDEX.rdf,1.5,1.6
Message-ID: <20071130160714.8451D600151@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv5985
Modified Files:
00INDEX.rdf
Log Message:
Regenerated 00INDEX.rdf again (the openpkg binary snuck in)
Index: 00INDEX.rdf
===================================================================
RCS file: /kolabrepository/server/00INDEX.rdf,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- 00INDEX.rdf 30 Nov 2007 15:55:28 -0000 1.5
+++ 00INDEX.rdf 30 Nov 2007 16:07:12 -0000 1.6
@@ -2,6 +2,454 @@
+
+ PEAR-Auth_SASL
+ 1.0.2
+ 1
+ OpenPKG
+ Development/Libraries
+ PHP License
+ Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
[...3423 lines suppressed...]
- Languages
- LGPL
- Steffen Hansen <steffen at klaralvdalens-datakonsult.se> (Klaraelvdalens Datakonsult AB)
- Template engine for PHP
- http://smarty.php.net/
-
-
- http://smarty.php.net/distributions/Smarty-2.6.18.tar.gz
-
-
-
-Smarty is a template engine for PHP. Smarty provides your basic
-variable substitution and dynamic block functionality, and also takes
-a step further to be a "smart" template engine, adding features such
-as configuration files, template functions, variable modifiers, and
-making all of this functionality as easy as possible to use for both
-programmers and template designers.
From cvs at kolab.org Fri Nov 30 17:10:19 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 17:10:19 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy ChangeLog,1.5,1.6
Message-ID: <20071130161019.E4450600151@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy
In directory doto:/tmp/cvs-serv6099/Kolab_Freebusy
Modified Files:
ChangeLog
Log Message:
Fix the loading of free/busy list so that we do not fetch the list of the caller but of the requested owner.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Freebusy/ChangeLog,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ChangeLog 23 Nov 2007 13:39:32 -0000 1.5
+++ ChangeLog 30 Nov 2007 16:10:17 -0000 1.6
@@ -1,3 +1,10 @@
+2007-11-30 Gunnar Wrobel
+
+ * Freebusy/Cache.php:
+
+ Fix the loading of free/busy list so that we do not fetch the list
+ of the caller but of the requested owner.
+
2007-11-23 Gunnar Wrobel
* Freebusy/Cache.php:
From cvs at kolab.org Fri Nov 30 17:10:19 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 17:10:19 +0100 (CET)
Subject: gunnar: server/php-kolab/Kolab_Freebusy/Freebusy Cache.php,1.2,1.3
Message-ID: <20071130161019.EBDF6600D70@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/php-kolab/Kolab_Freebusy/Freebusy
In directory doto:/tmp/cvs-serv6099/Kolab_Freebusy/Freebusy
Modified Files:
Cache.php
Log Message:
Fix the loading of free/busy list so that we do not fetch the list of the caller but of the requested owner.
Index: Cache.php
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Freebusy/Freebusy/Cache.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Cache.php 23 Nov 2007 13:39:32 -0000 1.2
+++ Cache.php 30 Nov 2007 16:10:17 -0000 1.3
@@ -165,13 +165,9 @@
/* Which files will we access? */
$aclcache = &FreeBusyCacheDB_acl::singleton('acl', $this->_cache_dir);
- $files = array();
- foreach ($access->groups as $id) {
- $add = $aclcache->get($id);
- if (is_a($add, 'PEAR_Error')) {
- return $add;
- }
- $files = array_unique(array_merge($files, $add));
+ $files = $aclcache->get($access->owner);
+ if (is_a($files, 'PEAR_Error')) {
+ return $files;
}
$filesnames = array();
From cvs at kolab.org Fri Nov 30 17:13:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 17:13:44 +0100 (CET)
Subject: thomas: server/horde/horde-framework Makefile,1.9,1.10
Message-ID: <20071130161344.0A2B2600151@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/horde/horde-framework
In directory doto:/tmp/cvs-serv6179/horde-framework
Modified Files:
Makefile
Log Message:
Fixed horde-framework version number sed command.
Adjusted horde-kolab-client to use the absolutely identical command.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/horde/horde-framework/Makefile,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- Makefile 1 Oct 2007 15:47:19 -0000 1.9
+++ Makefile 30 Nov 2007 16:13:41 -0000 1.10
@@ -19,7 +19,7 @@
DATE = ${YEAR}-${MONTH}-${DAY}
PACKAGE = horde-$(HORDE_NAME)-kolab
-VERSION = $(shell grep "%define[ ]*V_version" *.spec | sed -e "s/.*V_version\s*\([0-9._A-Z]*\).*/\1/")
+VERSION = $(shell grep "%define[ ]*V_version" *.spec | sed -e "s/.*V_version\s*\([0-9._a-z]*\).*/\1/")
RELEASE = ${YEAR}${MONTH}${DAY}
PATCHES = $(shell find . -name "*.patch")
From cvs at kolab.org Fri Nov 30 17:13:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 17:13:44 +0100 (CET)
Subject: thomas: server/horde/horde-kolab-client Makefile,1.4,1.5
Message-ID: <20071130161344.0DC23600D70@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/horde/horde-kolab-client
In directory doto:/tmp/cvs-serv6179/horde-kolab-client
Modified Files:
Makefile
Log Message:
Fixed horde-framework version number sed command.
Adjusted horde-kolab-client to use the absolutely identical command.
Index: Makefile
===================================================================
RCS file: /kolabrepository/server/horde/horde-kolab-client/Makefile,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- Makefile 3 Aug 2007 11:40:04 -0000 1.4
+++ Makefile 30 Nov 2007 16:13:42 -0000 1.5
@@ -18,7 +18,7 @@
DATE = ${YEAR}-${MONTH}-${DAY}
-VERSION = $(shell grep "%define[ ]*V_version" *.spec | sed -e "s/.*V_version\s*\([0-9.]*\).*/\1/")
+VERSION = $(shell grep "%define[ ]*V_version" *.spec | sed -e "s/.*V_version\s*\([0-9._a-z]*\).*/\1/")
RELEASE = ${YEAR}${MONTH}${DAY}
.PHONY: all
From cvs at kolab.org Fri Nov 30 17:21:14 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 17:21:14 +0100 (CET)
Subject: thomas: server/horde/php-channel-horde .cvsignore,NONE,1.1
Message-ID: <20071130162114.44FCC600151@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/horde/php-channel-horde
In directory doto:/tmp/cvs-serv6417
Added Files:
.cvsignore
Log Message:
ignore .src.rpm in php-channel-horde
--- NEW FILE: .cvsignore ---
*.src.rpm
From cvs at kolab.org Fri Nov 30 17:25:22 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 17:25:22 +0100 (CET)
Subject: thomas: server 00INDEX.rdf,1.6,1.7
Message-ID: <20071130162522.E6E97600151@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv6567
Modified Files:
00INDEX.rdf
Log Message:
horde-framework-3.2_RC1 -> horde-framework-3.2_rc1
Index: 00INDEX.rdf
===================================================================
RCS file: /kolabrepository/server/00INDEX.rdf,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- 00INDEX.rdf 30 Nov 2007 16:07:12 -0000 1.6
+++ 00INDEX.rdf 30 Nov 2007 16:25:20 -0000 1.7
@@ -2386,9 +2386,9 @@
1951 and 1952.
-
+ horde-framework-kolab
- 3.2_RC1
+ 3.2_rc120071129OpenPKGLanguages
@@ -2407,7 +2407,7 @@
- http://build.pardus.de/downloads/horde-framework-3.2_RC1.tar.bz2
+ http://build.pardus.de/downloads/horde-framework-3.2_rc1.tar.bz2
From cvs at kolab.org Fri Nov 30 19:02:08 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Fri, 30 Nov 2007 19:02:08 +0100 (CET)
Subject: thomas: server release-notes.txt,1.188,1.189
Message-ID: <20071130180208.CCB76600151@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv8402
Modified Files:
release-notes.txt
Log Message:
Updated release notes to current status of 2.2-beta3
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.188
retrieving revision 1.189
diff -u -d -r1.188 -r1.189
--- release-notes.txt 30 Nov 2007 14:27:43 -0000 1.188
+++ release-notes.txt 30 Nov 2007 18:02:05 -0000 1.189
@@ -1,6 +1,6 @@
Kolab Server 2.2 Release Notes
==============================
-(Version 2007????, Kolab Server 2.2-???)
+(Version 20071130, Kolab Server 2.2-beta3)
For upgrading and installation instructions, please refer to
the 1st.README file in the package directory.
@@ -44,15 +44,14 @@
The specifics are described below.
-Changes between 2.2-beta-2 and 2.2-???:
-
- - perl-kolab-2.2.???-2007????
-
- Show component and log level when sending debug log to stdout.
+Changes between 2.2-beta-2 and 2.2-beta-3:
- kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
+ All packages except for openldap and db were upgraded to OpenPKG-CURRENT
+ (as of 20071130). The package openldap-2.3.39-20071130 was created to
+ fix security issues (CVE-2007-5707 and CVE-2007-5708) without upgrading
+ to OpenLDAP 2.4.
- - kolabd-2.1.99-2007????
+ - kolabd-2.1.99-20071130
freebusy_logfile is now freebusy_logdir.
@@ -67,51 +66,24 @@
kolab/issue2225 (notifyd logging going into fsl.log)
kolab/issue2236 (Apache UID access broken)
- - horde-framework-kolab-3.2_RC1-2007????
-
- New functionality required for kolab-freebusy.
-
- Support for the extended free/busy concept.
-
- kolab/issue2128 (Building horde-framework-kolab without http access fails)
- kolab/issue2134 ([Horde] Unable to send message with attachments)
- kolab/issue2135 ([horde/turba] Turba should support some more contact attributes)
- kolab/issue2138 (Horde creates events in main inbox)
- kolab/issue2144 (Calendar items of shared calendar not appearing)
-
- - horde-kolab-3.2_RC1-2007????
-
- kolab/issue2101 ([horde] can't delete categories)
-
- - horde-kronolith-2.2_RC1-2007????
-
- kolab/issue2138 (Horde creates events in main inbox)
-
- - horde-turba-2.2_RC1-2007????
-
- kolab/issue2040 (Horde: resouces are not displayed in address book)
- kolab/issue2135 ([horde/turba] Turba should support some more contact attributes)
-
- - fbview-kronolith-2.2_RC1-2007????
-
- Support for the extended free/busy concept.
-
- - kolab-filter-2.2.beta2-2007????
+ - kolab-filter-2.2.beta3-20071130
Adapted to the restructured php-kolab/Kolab_Filter package.
- kolab/issue2174 (Automatic Invitation Policy not working with invites as attachment)
+ kolab/issue2174 (Automatic Invitation Policy not working with invites
+ as attachment)
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
- - kolab-freebusy-2.2.???-2007????
+ - kolab-freebusy-2.2.beta3-20071130
A fully restructured free/busy with the most recent free/busy
concept implemented.
- kolab/issue799 (pfb php script cannot handle umlaut and dots in foldernames correctly)
+ kolab/issue799 (pfb php script cannot handle umlaut and dots in
+ foldernames correctly)
kolab/issue898 (pfbs from several servers, are not combined into .ifb)
- - kolab-webadmin-2.1.99-2007????
+ - kolab-webadmin-2.1.99-20071130
Improved some message strings.
@@ -122,7 +94,14 @@
kolab/issue1912 (some field descriptions missing in web admin
interface)
- - php-kolab-2.2.???-2007????
+ - perl-kolab-2.2.beta3-20071130
+
+ Show component and log level when sending debug log to stdout.
+
+ kolab/issue1313 (resmngr cannot create calendar folder in multidomain
+ setup)
+
+ - php-kolab-2.2.beta3-20071130
A fully restructured free/busy with the most recent free/busy
concept implemented.
@@ -130,31 +109,176 @@
Restructured Kolab_Filter package with the focus on error
handling and unit testing.
- kolab/issue1313 (resmngr cannot create calendar folder in multidomain setup)
+ kolab/issue1313 (resmngr cannot create calendar folder in multidomain
+ setup)
+
+ - horde-framework-kolab-3.2_rc1-20071129
+
+ New functionality required for kolab-freebusy.
+
+ Support for the extended free/busy concept.
+
+ kolab/issue2128 (Building horde-framework-kolab without http access
+ fails)
+ kolab/issue2134 ([Horde] Unable to send message with attachments)
+ kolab/issue2135 ([horde/turba] Turba should support some more contact
+ attributes)
+ kolab/issue2138 (Horde creates events in main inbox)
+ kolab/issue2144 (Calendar items of shared calendar not appearing)
+
+ - horde-kolab-3.2_rc1-20071128
+
+ kolab/issue2101 ([horde] can't delete categories)
+
+ - horde-kronolith-kolab-2.2_rc1-20071129
+
+ kolab/issue2138 (Horde creates events in main inbox)
+
+ - horde-turba-kolab-2.2_rc1-20071128
+
+ kolab/issue2040 (Horde: resouces are not displayed in address book)
+ kolab/issue2135 ([horde/turba] Turba should support some more contact
+ attributes)
+
+ - fbview-kronolith-2.2_rc1-20071129
+
+ Support for the extended free/busy concept.
+
Packages in the OpenPKG based Kolab server release:
-
+
- Kolab packages:
-
+
+ Removed:
+
+ kolab-horde-framework (now horde-framework-kolab)
+
+ Added:
+
+ php-channel-horde-1.0-1
+
Updated:
- fbview-horde-3.2_rc1-20071013
- fbview-kronolith-2.2_rc1-20071001
- horde-framework-kolab-3.2_RC1-20071004
- horde-imp-kolab-4.2_rc1-20071004
- horde-ingo-kolab-1.2_rc1-20071004
- horde-kolab-3.2_rc1-20071013
- horde-kolab-client-0.99-20071002
+ fbview-horde-3.2_rc1-20071128
+ fbview-kronolith-2.2_rc1-20071129
+ horde-framework-kolab-3.2_rc1-20071129
+ horde-imp-kolab-4.2_rc1-20071128
+ horde-ingo-kolab-1.2_rc1-20071128
+ horde-kolab-3.2_rc1-20071128
+ horde-kronolith-kolab-2.2_rc1-20071129
+ horde-mnemo-kolab-2.2_rc1-20071128
+ horde-nag-kolab-2.2_rc1-20071128
+ horde-turba-kolab-2.2_rc1-20071128
+ kolab-filter-2.2.beta3-20071130
+ kolab-freebusy-2.2.beta3-20071130
+ kolab-webadmin-2.1.99-20071130
+ kolabconf-2.2.beta3-20071130
+ kolabd-2.1.99-20071130
+ openldap-2.3.39-20071130
+ perl-kolab-2.2.beta3-20071130
+ php-kolab-2.2.beta3-20071130
+
+ Unchanged:
+
+ PEAR-Auth_SASL-1.0.2-1
+ PEAR-Date-1.4.7-1
+ PEAR-HTTP_Request-1.4.1-1
+ PEAR-Log-1.9.9-1
+ PEAR-Mail-1.1.14-1
+ PEAR-Mail_Mime-1.3.1-1
+ PEAR-Net_IMAP-1.1.0beta1-1
+ PEAR-Net_LMTP-1.0.1-1
+ PEAR-Net_SMTP-1.2.10-1
+ PEAR-Net_Sieve-1.1.5-1
+ PEAR-Net_Socket-1.0.6-1
+ PEAR-Net_URL-1.0.15-1
horde-kolab-client-0.99-20071002
- horde-kronolith-kolab-2.2_rc1-20071004
- horde-mnemo-kolab-2.2_rc1-20071001
- horde-nag-kolab-2.2_rc1-20071004
horde-passwd-kolab-3.0.1-20071001
- horde-turba-kolab-2.2_rc1-20071002
+ php-smarty-2.6.18-20070607
- Removed:
-
- kolab-horde-framework (now horde-framework)
+ - OpenPKG packages:
+
+ Updated:
+
+ apache-2.2.6-20071121
+ apache-php-5.2.5-20071112
+ apr-1.2.12-20071126
+ binutils-2.18-20071111
+ curl-7.17.1-20071030
+ flex-2.5.33-20071104
+ fsl-1.7.0-20071027
+ gcc-4.2.2-20071031
+ gettext-0.17-20071107
+ gmp-4.2.2-20071107
+ imap-2006j2-20071028
+ imapd-2.3.10-20071130
+ libiconv-1.12-20071112
+ ncurses-5.6.20071124-20071126
+ openpkg-20071030-20071030
+ openssl-0.9.8g-20071104
+ pcre-7.4-20071101
+ perl-5.8.8-20071108
+ perl-comp-5.8.8-20071120
+ perl-crypto-5.8.8-20071110
+ perl-db-5.8.8-20071029
+ perl-ds-5.8.8-20071114
+ perl-mail-5.8.8-20071128
+ perl-module-5.8.8-20071118
+ perl-net-5.8.8-20071109
+ perl-parse-5.8.8-20071129
+ perl-ssl-5.8.8-20071026
+ perl-stats-5.8.8-20071028
+ perl-sys-5.8.8-20071124
+ perl-time-5.8.8-20071128
+ perl-util-5.8.8-20071122
+ perl-www-5.8.8-20071126
+ perl-xml-5.8.8-20071121
+ php-5.2.5-20071112
+ png-1.2.23-20071109
+ postfix-2.4.6-20071027
+ procmail-3.22-20071027
+ sasl-2.1.22-20071027
+ spamassassin-3.2.3-20071027
+
+ Unchanged:
+
+ amavisd-2.5.2-20070907
+ autoconf-2.61-20070711
+ automake-1.10-20061111
+ bc-1.06-20061013
+ bison-2.3-20070312
+ bzip2-1.0.4-20070507
+ clamav-0.91.2-20070907
+ config-20060923-20061013
+ db-4.5.20.2-20070628
+ diffutils-2.8.7-20071005
+ expat-2.0.1-20070629
+ file-4.21-20070829
+ freetype-2.3.5-20070720
+ gd-2.0.35-20071011
+ grep-2.5.3-20070829
+ groff-1.19.2-20070113
+ gzip-1.3.12-20070623
+ jpeg-6b-20070507
+ libmcrypt-2.5.8-20070720
+ libxml-2.6.30-20070824
+ libxslt-1.1.22-20070824
+ lzo-2.02-20061013
+ m4-1.4.9-20070818
+ make-3.81-20061013
+ mhash-0.9.9-20070807
+ mm-1.4.2-20061013
+ openpkg-tools-1.4.5-20070624
+ perl-conv-5.8.8-20070526
+ perl-dns-5.8.8-20070920
+ perl-ldap-5.8.8-20070916
+ perl-openpkg-5.8.8-20061013
+ perl-term-5.8.8-20070924
+ pkgconfig-0.22-20070720
+ readline-5.2.7-20070927
+ sed-4.1.5-20061013
+ texinfo-4.11-20070911
+ zlib-1.2.3-20070507
Changes between 2.2-beta-1 and 2.2-beta-2:
From cvs at kolab.org Sat Dec 1 07:57:45 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sat, 1 Dec 2007 07:57:45 +0100 (CET)
Subject: gunnar: server/horde/horde conf.php, 1.10, 1.11 horde-kolab.spec, 1.23,
1.24
Message-ID: <20071201065745.65727602CA2@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde
In directory doto:/tmp/cvs-serv30484/horde
Modified Files:
conf.php horde-kolab.spec
Log Message:
Let's just disable the share cache for now. This seems to be broken after the upstream fixes last week and I need more time to fix the code.
Index: conf.php
===================================================================
RCS file: /kolabrepository/server/horde/horde/conf.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- conf.php 29 Nov 2007 08:25:52 -0000 1.10
+++ conf.php 1 Dec 2007 06:57:42 -0000 1.11
@@ -41,7 +41,7 @@
$conf['group']['driver'] = 'datatree';
$conf['group']['cache'] = false;
$conf['share']['no_sharing'] = false;
-$conf['share']['cache'] = true;
+$conf['share']['cache'] = false;
$conf['share']['driver'] = 'kolab';
$conf['cache']['default_lifetime'] = 1800;
$conf['cache']['params']['dir'] = Horde::getTempDir();
Index: horde-kolab.spec
===================================================================
RCS file: /kolabrepository/server/horde/horde/horde-kolab.spec,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- horde-kolab.spec 29 Nov 2007 15:32:10 -0000 1.23
+++ horde-kolab.spec 1 Dec 2007 06:57:42 -0000 1.24
@@ -2,8 +2,8 @@
%define V_horde_name horde
%define V_package %{V_horde_name}-kolab
%define V_year 2007
-%define V_month 11
-%define V_day 28
+%define V_month 12
+%define V_day 01
%define V_version 3.2_rc1
%define V_uver 3.2-rc1
%define V_date %{V_year}-%{V_month}-%{V_day}
From cvs at kolab.org Sat Dec 1 07:57:45 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sat, 1 Dec 2007 07:57:45 +0100 (CET)
Subject: gunnar: server/horde/fbview-horde conf.php, 1.8, 1.9 fbview-horde.spec,
1.16, 1.17
Message-ID: <20071201065745.67B52602CA3@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/fbview-horde
In directory doto:/tmp/cvs-serv30484/fbview-horde
Modified Files:
conf.php fbview-horde.spec
Log Message:
Let's just disable the share cache for now. This seems to be broken after the upstream fixes last week and I need more time to fix the code.
Index: conf.php
===================================================================
RCS file: /kolabrepository/server/horde/fbview-horde/conf.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- conf.php 29 Nov 2007 08:25:51 -0000 1.8
+++ conf.php 1 Dec 2007 06:57:42 -0000 1.9
@@ -41,7 +41,7 @@
$conf['group']['driver'] = 'datatree';
$conf['group']['cache'] = false;
$conf['share']['no_sharing'] = false;
-$conf['share']['cache'] = true;
+$conf['share']['cache'] = false;
$conf['share']['driver'] = 'kolab';
$conf['cache']['default_lifetime'] = 1800;
$conf['cache']['params']['dir'] = Horde::getTempDir();
Index: fbview-horde.spec
===================================================================
RCS file: /kolabrepository/server/horde/fbview-horde/fbview-horde.spec,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- fbview-horde.spec 29 Nov 2007 15:32:10 -0000 1.16
+++ fbview-horde.spec 1 Dec 2007 06:57:42 -0000 1.17
@@ -2,8 +2,8 @@
%define V_horde_name horde
%define V_package fbview-%{V_horde_name}
%define V_year 2007
-%define V_month 11
-%define V_day 28
+%define V_month 12
+%define V_day 01
%define V_version 3.2_rc1
%define V_uver 3.2-rc1
%define V_date %{V_year}-%{V_month}-%{V_day}
From cvs at kolab.org Sat Dec 1 08:00:14 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Sat, 1 Dec 2007 08:00:14 +0100 (CET)
Subject: gunnar: server/horde external-horde.sh,1.6,1.7
Message-ID: <20071201070014.E9F66602CA2@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde
In directory doto:/tmp/cvs-serv30615
Modified Files:
external-horde.sh
Log Message:
Include the kronolith patches for the external horde installation.
Index: external-horde.sh
===================================================================
RCS file: /kolabrepository/server/horde/external-horde.sh,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- external-horde.sh 29 Nov 2007 09:55:37 -0000 1.6
+++ external-horde.sh 1 Dec 2007 07:00:12 -0000 1.7
@@ -24,6 +24,10 @@
APPLICATION_PATCHES="HK-GW-turba_2.2-Fix_editing_contacts.patch
HK-GW-turba_2.2-Fix_share_id_change.patch
HK-JS-nag_2.2_RC1-Fix_library_import.patch
+ HK-GW-kronolith_2.2_RC1-Fbview_relevance.patch
+ HK-GW-kronolith_2.2_RC1-Fbview_xfb_access.patch
+ HK-SB-kronolith_2.2_RC1-Fbview_extra_params.patch
+ HK-SB-kronolith_2.2_RC1-Fbview_save_attendees.patch
HK-JS-kronolith_2.2_RC1-Fix_library_import.patch
HK-GW-turba_2.2-Ldap_read_only_fix.patch"
From cvs at kolab.org Mon Dec 3 09:43:38 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 09:43:38 +0100 (CET)
Subject: gunnar: server/kolab-filter/filter config.php,1.10,1.11
Message-ID: <20071203084338.7DA61600171@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv10806/kolab-filter/filter
Modified Files:
config.php
Log Message:
kolab-filter configuration file fixes as suggested by Richard Bos.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- config.php 29 Nov 2007 14:15:03 -0000 1.10
+++ config.php 3 Dec 2007 08:43:35 -0000 1.11
@@ -118,7 +118,7 @@
$conf['filter']['calendar_pass'] = 'zyx';
/* Filename of private key used to decrypt password from LDAP */
-$conf['filter']['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
+$conf['filter']['priv_key_file'] = '/etc/kolab/res_priv.pem';
/* What is the name of the users' calendar mailbox? This is only used
* when the user does not already have a primary calendar folder
@@ -127,10 +127,10 @@
$conf['filter']['calendar_store'] = 'Calendar';
/* Where can we get free/busy information from? */
-$conf['filter']['freebusy_url'] = 'http://kolab.example.com/freebusy/${USER}.xfb';
+$conf['filter']['freebusy_url'] = 'http://localhost/freebusy/${USER}.xfb';
/* PFB url to trigger creation of pfb */
-$conf['filter']['pfb_trigger_url'] = 'http://@@@fqdnhostname@@@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
+$conf['filter']['pfb_trigger_url'] = 'https://localhost/freebusy/trigger/${USER}/${FOLDER}.xpfb';
/* Temporary data storage for the scripts */
$conf['filter']['tempdir'] = '';
From cvs at kolab.org Mon Dec 3 09:43:38 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 09:43:38 +0100 (CET)
Subject: gunnar: server/kolabd/kolabd/templates resmgr.conf.template.in, 1.17,
1.18
Message-ID: <20071203084338.76F3E600169@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv10806/kolabd/kolabd/templates
Modified Files:
resmgr.conf.template.in
Log Message:
kolab-filter configuration file fixes as suggested by Richard Bos.
Index: resmgr.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/resmgr.conf.template.in,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- resmgr.conf.template.in 29 Nov 2007 14:37:37 -0000 1.17
+++ resmgr.conf.template.in 3 Dec 2007 08:43:36 -0000 1.18
@@ -82,9 +82,9 @@
* that origins on this server?
*/
@@@if kolabfilter-verify-from-header@@@
-$params['verify_from_header'] = ('@@@kolabfilter-verify-from-header@@@'=='TRUE');
+$conf['filter']['verify_from_header'] = ('@@@kolabfilter-verify-from-header@@@'=='TRUE');
@@@else@@@
-$params['verify_from_header'] = false;
+$conf['filter']['verify_from_header'] = false;
@@@endif@@@
/* Should we perform this check on mail from our
@@ -94,18 +94,18 @@
/* Should the Sender: header be used over From: if present? */
@@@if kolabfilter-allow-sender-header@@@
-$params['allow_sender_header'] = ('@@@kolabfilter-allow-sender-header@@@'=='TRUE');
+$conf['filter']['allow_sender_header'] = ('@@@kolabfilter-allow-sender-header@@@'=='TRUE');
@@@else@@@
-$params['allow_sender_header'] = false;
+$conf['filter']['allow_sender_header'] = false;
@@@endif@@@
/* Should reject messages with From headers that dont match
* the envelope? Default is to rewrite the header
*/
@@@if kolabfilter-reject-forged-from-header@@@
-$params['reject_forged_from_header'] = ('@@@kolabfilter-reject-forged-from-header@@@'=='TRUE');
+$conf['filter']['reject_forged_from_header'] = ('@@@kolabfilter-reject-forged-from-header@@@'=='TRUE');
@@@else@@@
-$params['reject_forged_from_header'] = false;
+$conf['filter']['reject_forged_from_header'] = false;
@@@endif@@@
/* Text to be inserted in From: when rewriting untrusted mails */
@@ -148,7 +148,7 @@
$conf['filter']['calendar_store'] = 'Calendar';
/* Where can we get free/busy information from? */
-$conf['filter']['freebusy_url'] = '@@@fqdnhostname@@@@webserver_web_prefix@/freebusy/${USER}.xfb';
+$conf['filter']['freebusy_url'] = 'http://@@@fqdnhostname@@@@webserver_web_prefix@/freebusy/${USER}.xfb';
/* PFB url to trigger creation of pfb */
$conf['filter']['pfb_trigger_url'] = 'https://@@@fqdnhostname@@@@webserver_web_prefix@/freebusy/trigger/${USER}/${FOLDER}.xpfb';
From cvs at kolab.org Mon Dec 3 09:44:22 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 09:44:22 +0100 (CET)
Subject: thomas: server release-notes.txt,1.189,1.190
Message-ID: <20071203084422.A885A600169@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv10872
Modified Files:
release-notes.txt
Log Message:
Updated release notes for fbview-horde and horde-kolab packages
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.189
retrieving revision 1.190
diff -u -d -r1.189 -r1.190
--- release-notes.txt 30 Nov 2007 18:02:05 -0000 1.189
+++ release-notes.txt 3 Dec 2007 08:44:20 -0000 1.190
@@ -1,6 +1,6 @@
Kolab Server 2.2 Release Notes
==============================
-(Version 20071130, Kolab Server 2.2-beta3)
+(Version 20071203, Kolab Server 2.2-beta3)
For upgrading and installation instructions, please refer to
the 1st.README file in the package directory.
@@ -126,7 +126,7 @@
kolab/issue2138 (Horde creates events in main inbox)
kolab/issue2144 (Calendar items of shared calendar not appearing)
- - horde-kolab-3.2_rc1-20071128
+ - horde-kolab-3.2_rc1-20071201
kolab/issue2101 ([horde] can't delete categories)
@@ -159,12 +159,12 @@
Updated:
- fbview-horde-3.2_rc1-20071128
+ fbview-horde-3.2_rc1-20071201
fbview-kronolith-2.2_rc1-20071129
horde-framework-kolab-3.2_rc1-20071129
horde-imp-kolab-4.2_rc1-20071128
horde-ingo-kolab-1.2_rc1-20071128
- horde-kolab-3.2_rc1-20071128
+ horde-kolab-3.2_rc1-20071201
horde-kronolith-kolab-2.2_rc1-20071129
horde-mnemo-kolab-2.2_rc1-20071128
horde-nag-kolab-2.2_rc1-20071128
From cvs at kolab.org Mon Dec 3 12:27:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 12:27:21 +0100 (CET)
Subject: thomas: server release-notes.txt,1.190,1.191
Message-ID: <20071203112721.D08D3600169@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv16355
Modified Files:
release-notes.txt
Log Message:
Removed resource password handling which is unused since server 2.1.
Index: release-notes.txt
===================================================================
RCS file: /kolabrepository/server/release-notes.txt,v
retrieving revision 1.190
retrieving revision 1.191
diff -u -d -r1.190 -r1.191
--- release-notes.txt 3 Dec 2007 08:44:20 -0000 1.190
+++ release-notes.txt 3 Dec 2007 11:27:19 -0000 1.191
@@ -51,7 +51,7 @@
fix security issues (CVE-2007-5707 and CVE-2007-5708) without upgrading
to OpenLDAP 2.4.
- - kolabd-2.1.99-20071130
+ - kolabd-2.1.99-20071203
freebusy_logfile is now freebusy_logdir.
@@ -61,15 +61,19 @@
Support for the extended free/busy concept.
+ Removed resource password handling which is unused since server 2.1.
+
kolab/issue2134 ([Horde] Unable to send message with attachments)
kolab/issue2206 (Multiple deliveries to distribution lists)
kolab/issue2225 (notifyd logging going into fsl.log)
kolab/issue2236 (Apache UID access broken)
- - kolab-filter-2.2.beta3-20071130
+ - kolab-filter-2.2.beta3-20071203
Adapted to the restructured php-kolab/Kolab_Filter package.
+ Removed resource password handling which is unused since server 2.1.
+
kolab/issue2174 (Automatic Invitation Policy not working with invites
as attachment)
kolab/issue2177 (Better logging in kolabfilter and kolabmailboxfilter)
@@ -83,12 +87,14 @@
foldernames correctly)
kolab/issue898 (pfbs from several servers, are not combined into .ifb)
- - kolab-webadmin-2.1.99-20071130
+ - kolab-webadmin-2.1.99-20071203
Improved some message strings.
Updated German translations.
+ Removed resource password handling which is unused since server 2.1.
+
kolab/issue1711 (extra space after first name when editing users or
admins)
kolab/issue1912 (some field descriptions missing in web admin
@@ -169,11 +175,11 @@
horde-mnemo-kolab-2.2_rc1-20071128
horde-nag-kolab-2.2_rc1-20071128
horde-turba-kolab-2.2_rc1-20071128
- kolab-filter-2.2.beta3-20071130
+ kolab-filter-2.2.beta3-20071203
kolab-freebusy-2.2.beta3-20071130
- kolab-webadmin-2.1.99-20071130
+ kolab-webadmin-2.1.99-20071203
kolabconf-2.2.beta3-20071130
- kolabd-2.1.99-20071130
+ kolabd-2.1.99-20071203
openldap-2.3.39-20071130
perl-kolab-2.2.beta3-20071130
php-kolab-2.2.beta3-20071130
From cvs at kolab.org Mon Dec 3 12:27:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 12:27:21 +0100 (CET)
Subject: thomas: server/kolab-filter ChangeLog,1.2,1.3
Message-ID: <20071203112721.D4F81600D5D@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-filter
In directory doto:/tmp/cvs-serv16355/kolab-filter
Modified Files:
ChangeLog
Log Message:
Removed resource password handling which is unused since server 2.1.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolab-filter/ChangeLog,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- ChangeLog 29 Nov 2007 14:15:03 -0000 1.2
+++ ChangeLog 3 Dec 2007 11:27:19 -0000 1.3
@@ -1,3 +1,8 @@
+2007-12-03 Thomas Arendsen Hein
+
+ * filter/config.php: Removed resource password handling which is
+ unused since server 2.1.
+
2007-11-29 Thomas Arendsen Hein
* filter/config.php: lmpt -> lmtp, smpt -> smtp
From cvs at kolab.org Mon Dec 3 12:27:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 12:27:21 +0100 (CET)
Subject: thomas: server/kolabd/kolabd/templates resmgr.conf.template.in, 1.18,
1.19
Message-ID: <20071203112721.E0FF3600D60@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabd/kolabd/templates
In directory doto:/tmp/cvs-serv16355/kolabd/kolabd/templates
Modified Files:
resmgr.conf.template.in
Log Message:
Removed resource password handling which is unused since server 2.1.
Index: resmgr.conf.template.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/templates/resmgr.conf.template.in,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- resmgr.conf.template.in 3 Dec 2007 08:43:36 -0000 1.18
+++ resmgr.conf.template.in 3 Dec 2007 11:27:19 -0000 1.19
@@ -138,9 +138,6 @@
$conf['filter']['calendar_id'] = '@@@calendar_id@@@';
$conf['filter']['calendar_pass'] = '@@@calendar_pw@@@';
-/* Filename of private key used to decrypt password from LDAP */
-$conf['filter']['priv_key_file'] = '@sysconfdir@/kolab/res_priv.pem';
-
/* What is the name of the users' calendar mailbox? This is only used
* when the user does not already have a primary calendar folder
* (search via Kolab annotation)
From cvs at kolab.org Mon Dec 3 12:27:22 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 12:27:22 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin ChangeLog,1.66,1.67
Message-ID: <20071203112722.DC9CC600D5E@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin
In directory doto:/tmp/cvs-serv16355/kolab-webadmin/kolab-webadmin
Modified Files:
ChangeLog
Log Message:
Removed resource password handling which is unused since server 2.1.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/ChangeLog,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- ChangeLog 21 Nov 2007 18:11:37 -0000 1.66
+++ ChangeLog 3 Dec 2007 11:27:19 -0000 1.67
@@ -1,3 +1,8 @@
+2007-12-03 Thomas Arendsen Hein
+
+ * www/admin/user/user.php.in: Removed resource password handling
+ which is unused since server 2.1.
+
2007-11-21 Thomas Arendsen Hein
* www/admin/user/user.php.in: Renamed "Free/Busy future" to
From cvs at kolab.org Mon Dec 3 12:27:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 12:27:21 +0100 (CET)
Subject: thomas: server/kolab-filter/filter config.php,1.11,1.12
Message-ID: <20071203112721.DFE4A600D5F@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-filter/filter
In directory doto:/tmp/cvs-serv16355/kolab-filter/filter
Modified Files:
config.php
Log Message:
Removed resource password handling which is unused since server 2.1.
Index: config.php
===================================================================
RCS file: /kolabrepository/server/kolab-filter/filter/config.php,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- config.php 3 Dec 2007 08:43:35 -0000 1.11
+++ config.php 3 Dec 2007 11:27:19 -0000 1.12
@@ -117,9 +117,6 @@
$conf['filter']['calendar_id'] = 'calendar';
$conf['filter']['calendar_pass'] = 'zyx';
-/* Filename of private key used to decrypt password from LDAP */
-$conf['filter']['priv_key_file'] = '/etc/kolab/res_priv.pem';
-
/* What is the name of the users' calendar mailbox? This is only used
* when the user does not already have a primary calendar folder
* (search via Kolab annotation)
From cvs at kolab.org Mon Dec 3 12:27:22 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 12:27:22 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/www/admin/user
user.php.in, 1.26, 1.27
Message-ID: <20071203112722.16E5F600169@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user
In directory doto:/tmp/cvs-serv16355/kolab-webadmin/kolab-webadmin/www/admin/user
Modified Files:
user.php.in
Log Message:
Removed resource password handling which is unused since server 2.1.
Index: user.php.in
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/www/admin/user/user.php.in,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- user.php.in 21 Nov 2007 18:11:37 -0000 1.26
+++ user.php.in 3 Dec 2007 11:27:19 -0000 1.27
@@ -501,34 +501,6 @@
// We are editing our own password, let's update the session!
$auth->setPassword($_POST['password_0']);
}
-
- /* The code below is disabled for now because we're
- not going to use that encrypted password anyway.
-
- TODO: Clean it up once we're sure we don't want it
- */
- if( false && isset( $_POST['accttype'] ) && $_POST['accttype'] > 1 ) {
- // We have a group or resource, create encrypted pw
- $pubkeydata=file_get_contents("@sysconfdir@/kolab/res_pub.pem" );
- $pkey = openssl_pkey_get_public( $pubkeydata );
- if( $pkey === false ) {
- $sslerr = "Could not read resource encryption public key file://@sysconfdir@/kolab/res_pub.pem: ";
-
- while( $msg = openssl_error_string() )
- $sslerr .= $msg.' ';
- $errors[] = $sslerr;
- } else {
- if( !openssl_public_encrypt( $_POST['password_0'], $encpw, $pkey ) ) {
- $sslerr = _("Could not encrypt password: ");
- while( $msg = openssl_error_string() )
- $sslerr .= $msg.' ';
- $errors[] = $sslerr;
- } else {
- $ldap_object['kolabEncryptedPassword'] = base64_encode( $encpw );
- }
- openssl_free_key( $pkey );
- }
- }
}
$ldap_object['mail'] = trim( strtolower( $_POST['user_mail'] ) ).'@'.trim( strtolower( $_POST['domain_mail'] ) );
$ldap_object['uid'] = trim( strtolower( $_POST['uid'] ) );
From cvs at kolab.org Mon Dec 3 12:27:21 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 12:27:21 +0100 (CET)
Subject: thomas: server/kolabd/kolabd ChangeLog, 1.127,
1.128 kolab_bootstrap.in, 1.32, 1.33
Message-ID: <20071203112721.E2F19600D61@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolabd/kolabd
In directory doto:/tmp/cvs-serv16355/kolabd/kolabd
Modified Files:
ChangeLog kolab_bootstrap.in
Log Message:
Removed resource password handling which is unused since server 2.1.
Index: ChangeLog
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/ChangeLog,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -d -r1.127 -r1.128
--- ChangeLog 30 Nov 2007 14:27:44 -0000 1.127
+++ ChangeLog 3 Dec 2007 11:27:19 -0000 1.128
@@ -1,3 +1,8 @@
+2007-12-03 Thomas Arendsen Hein
+
+ * kolab_bootstrap.in, templates/resmgr.conf.template.in: Removed
+ resource password handling which is unused since server 2.1.
+
2007-11-30 Gunnar Wrobel
* templates/cyrus.conf.template.in:
Index: kolab_bootstrap.in
===================================================================
RCS file: /kolabrepository/server/kolabd/kolabd/kolab_bootstrap.in,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- kolab_bootstrap.in 30 Nov 2007 14:02:23 -0000 1.32
+++ kolab_bootstrap.in 3 Dec 2007 11:27:19 -0000 1.33
@@ -661,25 +661,6 @@
}
}
- # Create key-pair for resource password encryption
- # if they dont exist already
- my $pubreskey = "@sysconfdir@/kolab/res_pub.pem";
- my $privreskey = "@sysconfdir@/kolab/res_priv.pem";
- if( ! -e $pubreskey || ! -e $privreskey ) {
- my $oldmask = umask 0077;
- #print "Creating DSA keypair for resource password encryption\n";
- #system("@bindir@/openssl dsaparam 1024 -out dsa-params");
- #system("@bindir@/openssl gendsa -out $privreskey dsa-params");
- #system("@bindir@/openssl dsa -in $privreskey -pubout -out $pubreskey");
- print "Creating RSA keypair for resource password encryption\n";
- kolab_system("@bindir@/openssl genrsa -out $privreskey 1024");
- kolab_system("@bindir@/openssl rsa -in $privreskey -pubout -out $pubreskey");
- kolab_system("chown @kolab_musr@:@kolab_grp@ $pubreskey $privreskey");
- chmod 0660, $privreskey, $pubreskey;
- #unlink( "dsa-params" );
- umask $oldmask;
- }
-
print <<'EOS';
Kolab can create and manage a certificate authority that can be
used to create SSL certificates for use within the Kolab environment.
@@ -910,17 +891,6 @@
EOS
}
- print <<'EOS';
-To be able to encrypt and decrypt passwords for group and resource accounts
-we need to copy the RSA keypair used for that purpose from the master server.
-EOS
- my $privreskey = "@sysconfdir@/kolab/res_priv.pem";
- my $pubreskey = "@sysconfdir@/kolab/res_pub.pem";
- kolab_system("scp $master_host:$privreskey "
- ."$master_host:$pubreskey "
- ."@sysconfdir@/kolab/");
- kolab_system("chown @kolab_musr@:@kolab_grp@ $pubreskey $privreskey");
- chmod 0660, $privreskey, $pubreskey;
kolab_system("@sbindir@/kolabconf -n");
$fd = IO::File->new($kolab_config, "w+") || die "could not open $kolab_config";
From cvs at kolab.org Mon Dec 3 17:14:39 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 17:14:39 +0100 (CET)
Subject: gunnar: server/horde/horde HK-GW-Deleting_categories.patch,1.1,NONE
Message-ID: <20071203161439.BDC90600165@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/horde/horde
In directory doto:/tmp/cvs-serv28021
Removed Files:
HK-GW-Deleting_categories.patch
Log Message:
Obsolete patch.
--- HK-GW-Deleting_categories.patch DELETED ---
From cvs at kolab.org Mon Dec 3 17:17:02 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 17:17:02 +0100 (CET)
Subject: thomas: server 00INDEX.rdf,1.7,1.8
Message-ID: <20071203161702.CA0D4600D73@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv28115
Modified Files:
00INDEX.rdf
Log Message:
Updated 00INDEX.rdf for 2.2-beta3
Index: 00INDEX.rdf
===================================================================
RCS file: /kolabrepository/server/00INDEX.rdf,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- 00INDEX.rdf 30 Nov 2007 16:25:20 -0000 1.7
+++ 00INDEX.rdf 3 Dec 2007 16:17:00 -0000 1.8
@@ -1745,49 +1745,6 @@
conforming. It is currently not a validating XML parser.
-
- fbview-horde
- 3.2_rc1
- 20071128
- OpenPKG
- JUNK
- MAIL
- GPL
- Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
- The Horde Application Framework
- http://www.horde.org/
-
-
- OpenPKG
- openpkg
- php
- php::with_pear
-
-
-
-
- horde-framework-kolab
- PEAR-Mail_Mime
- PEAR-Mail
- PEAR-Log
-
-
-
-
- fbview-horde-conf.template
- conf.php
- prefs.php
- http://ftp.horde.org/pub/horde/horde-3.2-rc1.tar.gz
-
-
-
-The Horde Framework is the glue that all Horde applications have in
-common. It is many things, including some coding standards, common
-code, and inter-application communication. The shared code provides
-common ways of handling things like preferences, permissions, browser
-detection, user help, and more.
-
- fbview-kronolith2.2_rc1
@@ -2495,48 +2452,150 @@
filtering agent in IMP H3 (4.x).
-
- horde-kolab
- 3.2_rc1
- 20071128
+
+ kolabd
+ 2.1.99
+ 20071203OpenPKG
- JUNK
- MAIL
+ PLUS
+ MailGPL
- Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
- The Horde Application Framework
- http://www.horde.org/
+ Klaraelvdalens Datakonsult AB
+ Kolab2 Groupware Server Daemon
+ http://www.kolab.org/
+ Erfrakon, Intevation, Code Fusion, Klaraelvdalens Datakonsult ABOpenPKGopenpkg
- php
- php::with_pear
- kolabd::with_horde
- horde-framework-kolab
- PEAR-Mail_Mime
- PEAR-Mail
- PEAR-Log
- PEAR-HTTP_Request
+ OpenPKG
+ openpkg
+ postfix
+ postfix::with_ldap
+ postfix::with_sasl
+ postfix::with_ssl
+ sasl::with_ldap
+ sasl::with_login
+ amavisd
+ clamav
+ openldap
+ openldap::with_pth
+ imap
+ imap::with_annotate
+ apache
+ apache::with_mod_ssl
+ apache::with_mod_ldap
+ apache::with_mod_authn_alias
+ imapd
+ imapd::with_group
+ imapd::with_group_igncase
+ imapd::with_ldap
+ imapd::with_annotate
+ imapd::with_atvdom
+ imapd::with_morelogging
+ imapd::with_kolab
+ perl-ssl
+ perl-www
+ perl-ldap
+ perl-kolab
+ kolabconf
+
+
+
+
+ php
+ php::with_zlib
+ php::with_bdb
+ php::with_gettext
+ php::with_imap
+ php::with_imap_annotate
+ php::with_openldap
+ php::with_pear
+ php::with_xml
+ php::with_dom
+ php::with_ssl
+ php::with_mbstring
+ php::with_mm
+ apache-php
+ apache-php::with_zlib
+ apache-php::with_bdb
+ apache-php::with_gettext
+ apache-php::with_imap
+ apache-php::with_imap_annotate
+ apache-php::with_openldap
+ apache-php::with_pear
+ apache-php::with_xml
+ apache-php::with_dom
+ apache-php::with_ssl
+ apache-php::with_mbstring
+ apache-php::with_mm
+
+
+
+
+ php
+ php::with_pear
+ php::with_gettext
+ php::with_dom
+ php::with_mcrypt
+ php::with_iconv
+ php::with_mbstring
+ php::with_mbregex
+ php::with_gd
+ php::with_imap
+ php::with_ssl
+ php::with_ctype
+ php::with_openldap
+ php::with_mhash
+ php::with_zlib
+ php::with_bdb
+ php::with_imap_annotate
+ php::with_pear
+ php::with_xml
+ php::with_mm
+ apache-php
+ apache-php::with_gettext
+ apache-php::with_dom
+ apache-php::with_mcrypt
+ apache-php::with_iconv
+ apache-php::with_mbstring
+ apache-php::with_mbregex
+ apache-php::with_gd
+ apache-php::with_imap
+ apache-php::with_ssl
+ apache-php::with_ctype
+ apache-php::with_openldap
+ apache-php::with_mhash
+ apache-php::with_zlib
+ apache-php::with_bdb
+ apache-php::with_imap_annotate
+ apache-php::with_pear
+ apache-php::with_xml
+ apache-php::with_mm
+
+
+ kolabd::with_horde
+ kolabd::kolab_version
+
+
- horde-kolab-conf.template
- conf.php
- http://ftp.horde.org/pub/horde/horde-3.2-rc1.tar.gz
+ kolabd-2.1.99.tar.bz2
-The Horde Framework is the glue that all Horde applications have in
-common. It is many things, including some coding standards, common
-code, and inter-application communication. The shared code provides
-common ways of handling things like preferences, permissions, browser
-detection, user help, and more.
+Kolab is the KDE Groupware Server that provides full groupware
+features to either KDE Kolab clients or Microsoft Outlook[tm]
+clients using third party plugins and web clients in the future.
+In addition it is a robust and flexible general IMAP mail server
+with LDAP addressbooks.
+Kolab %{V_ei_maj}.%{V_ei_min}
@@ -2974,39 +3033,6 @@
original name of the committee that wrote the standard.
-
- kolab-filter
- 2.2.beta3
- 20071130
- OpenPKG Community
- PLUS
- Mail
- GPL
- Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
- Kolab2 Groupware Server mail filters
- http://www.kolab.org/
- Kolab Consortium
-
-
- OpenPKG
- openpkg
-
-
-
-
- php-kolab
-
-
-
-
- kolab-filter-2.2.beta3.tar.bz2
-
-
-
-kolab-freebusy provides two filtering scripts for the postfix MTA
-service. The scripts identify iCal mails and process these.
-
- kolab-freebusy2.2.beta3
@@ -3040,46 +3066,6 @@
Groupware server.
-
- kolab-webadmin
- 2.1.99
- 20071130
- OpenPKG
- JUNK
- Mail
- GPL
- Klaraelvdalens Datakonsult AB
- Kolab Groupware Server Web Administration Interface
- http://www.kolab.org/
- Klaraelvdalens Datakonsult AB
-
-
- OpenPKG
- openpkg
-
-
-
-
- OpenPKG
- openpkg
- kolabd
- php-smarty
-
-
-
-
- kolab-webadmin::kolab_version
-
-
-
-
- kolab-webadmin-2.1.99.tar.bz2
-
-
-
-Web based administration interface for The Kolab Groupware Server
-
- kolabconf2.2.beta3
@@ -3120,152 +3106,6 @@
associated to that process.
-
- kolabd
- 2.1.99
- 20071130
- OpenPKG
- PLUS
- Mail
- GPL
- Klaraelvdalens Datakonsult AB
- Kolab2 Groupware Server Daemon
- http://www.kolab.org/
- Erfrakon, Intevation, Code Fusion, Klaraelvdalens Datakonsult AB
-
-
- OpenPKG
- openpkg
-
-
-
-
- OpenPKG
- openpkg
- postfix
- postfix::with_ldap
- postfix::with_sasl
- postfix::with_ssl
- sasl::with_ldap
- sasl::with_login
- amavisd
- clamav
- openldap
- openldap::with_pth
- imap
- imap::with_annotate
- apache
- apache::with_mod_ssl
- apache::with_mod_ldap
- apache::with_mod_authn_alias
- imapd
- imapd::with_group
- imapd::with_group_igncase
- imapd::with_ldap
- imapd::with_annotate
- imapd::with_atvdom
- imapd::with_morelogging
- imapd::with_kolab
- perl-ssl
- perl-www
- perl-ldap
- perl-kolab
- kolabconf
-
-
-
-
- php
- php::with_zlib
- php::with_bdb
- php::with_gettext
- php::with_imap
- php::with_imap_annotate
- php::with_openldap
- php::with_pear
- php::with_xml
- php::with_dom
- php::with_ssl
- php::with_mbstring
- php::with_mm
- apache-php
- apache-php::with_zlib
- apache-php::with_bdb
- apache-php::with_gettext
- apache-php::with_imap
- apache-php::with_imap_annotate
- apache-php::with_openldap
- apache-php::with_pear
- apache-php::with_xml
- apache-php::with_dom
- apache-php::with_ssl
- apache-php::with_mbstring
- apache-php::with_mm
-
-
-
-
- php
- php::with_pear
- php::with_gettext
- php::with_dom
- php::with_mcrypt
- php::with_iconv
- php::with_mbstring
- php::with_mbregex
- php::with_gd
- php::with_imap
- php::with_ssl
- php::with_ctype
- php::with_openldap
- php::with_mhash
- php::with_zlib
- php::with_bdb
- php::with_imap_annotate
- php::with_pear
- php::with_xml
- php::with_mm
- apache-php
- apache-php::with_gettext
- apache-php::with_dom
- apache-php::with_mcrypt
- apache-php::with_iconv
- apache-php::with_mbstring
- apache-php::with_mbregex
- apache-php::with_gd
- apache-php::with_imap
- apache-php::with_ssl
- apache-php::with_ctype
- apache-php::with_openldap
- apache-php::with_mhash
- apache-php::with_zlib
- apache-php::with_bdb
- apache-php::with_imap_annotate
- apache-php::with_pear
- apache-php::with_xml
- apache-php::with_mm
-
-
-
-
- kolabd::with_horde
- kolabd::kolab_version
-
-
-
-
- kolabd-2.1.99.tar.bz2
-
-
-
-Kolab is the KDE Groupware Server that provides full groupware
-features to either KDE Kolab clients or Microsoft Outlook[tm]
-clients using third party plugins and web clients in the future.
-In addition it is a robust and flexible general IMAP mail server
-with LDAP addressbooks.
-Kolab %{V_ei_maj}.%{V_ei_min}
-
- libiconv1.12
@@ -6413,102 +6253,6 @@
stand-alone webserver-independent CGI scripts.
-
- php-channel-horde
- 1.0
- 1
- Development/Languages
- N/A
- Adds pear.horde.org channel to PEAR
- http://pear.horde.org/
-
-
- php
- php::with_pear
-
-
-
-
- http://pear.horde.org/channel.xml
-
-
-
-This package adds the pear.horde.org channel which allows PEAR packages
-from this channel to be installed.
-
-
-
- php-kolab
- 2.2.beta3
- 20071130
- OpenPKG Community
- PLUS
- Language
- GPL
- Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
- php-kolab provides several PEAR-style package with PHP routines for the Kolab Groupware server
- http://www.kolab.org
- Kolab Consortium
-
-
- OpenPKG
- openpkg
- php
- php::with_pear
-
-
-
-
- horde-framework-kolab
- PEAR-Net_LMTP
- PEAR-Net_SMTP
- PEAR-Net_IMAP
-
-
-
-
- Kolab_Filter-2.2beta320071130.tgz
- Kolab_Webadmin-2.2beta320071130.tgz
- Kolab_Freebusy-2.2beta320071130.tgz
-
-
-
-php-kolab provides several PEAR-style package with PHP routines for
-the Kolab Groupware server.
-
-Kolab_Freebusy provides the library required for free/busy support on
-the server.
-
-Kolab_Filter holds routines necessary to parse iCal mail messages.
-
-Kolab_Webadmin groups utilities for the Kolab web admin frontend.
-
-
-
- php-smarty
- 2.6.18
- 20070607
- OpenPKG
- JUNK
- Languages
- LGPL
- Steffen Hansen <steffen at klaralvdalens-datakonsult.se> (Klaraelvdalens Datakonsult AB)
- Template engine for PHP
- http://smarty.php.net/
-
-
- http://smarty.php.net/distributions/Smarty-2.6.18.tar.gz
-
-
-
-Smarty is a template engine for PHP. Smarty provides your basic
-variable substitution and dynamic block functionality, and also takes
-a step further to be a "smart" template engine, adding features such
-as configuration files, template functions, variable modifiers, and
-making all of this functionality as easy as possible to use for both
-programmers and template designers.
-
- pkgconfig0.22
@@ -7163,6 +6907,262 @@
the file size in extreme cases). ZLIB's memory footprint is also
independent of the input data and can be reduced, if necessary, at
some cost in compression.
+
+
+
+ php-channel-horde
+ 1.0
+ 1
+ Development/Languages
+ N/A
+ Adds pear.horde.org channel to PEAR
+ http://pear.horde.org/
+
+
+ php
+ php::with_pear
+
+
+
+
+ http://pear.horde.org/channel.xml
+
+
+
+This package adds the pear.horde.org channel which allows PEAR packages
+from this channel to be installed.
+
+
+
+ php-kolab
+ 2.2.beta3
+ 20071130
+ OpenPKG Community
+ PLUS
+ Language
+ GPL
+ Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
+ php-kolab provides several PEAR-style package with PHP routines for the Kolab Groupware server
+ http://www.kolab.org
+ Kolab Consortium
+
+
+ OpenPKG
+ openpkg
+ php
+ php::with_pear
+
+
+
+
+ horde-framework-kolab
+ PEAR-Net_LMTP
+ PEAR-Net_SMTP
+ PEAR-Net_IMAP
+
+
+
+
+ Kolab_Filter-2.2beta320071130.tgz
+ Kolab_Webadmin-2.2beta320071130.tgz
+ Kolab_Freebusy-2.2beta320071130.tgz
+
+
+
+php-kolab provides several PEAR-style package with PHP routines for
+the Kolab Groupware server.
+
+Kolab_Freebusy provides the library required for free/busy support on
+the server.
+
+Kolab_Filter holds routines necessary to parse iCal mail messages.
+
+Kolab_Webadmin groups utilities for the Kolab web admin frontend.
+
+
+
+ php-smarty
+ 2.6.18
+ 20070607
+ OpenPKG
+ JUNK
+ Languages
+ LGPL
+ Steffen Hansen <steffen at klaralvdalens-datakonsult.se> (Klaraelvdalens Datakonsult AB)
+ Template engine for PHP
+ http://smarty.php.net/
+
+
+ http://smarty.php.net/distributions/Smarty-2.6.18.tar.gz
+
+
+
+Smarty is a template engine for PHP. Smarty provides your basic
+variable substitution and dynamic block functionality, and also takes
+a step further to be a "smart" template engine, adding features such
+as configuration files, template functions, variable modifiers, and
+making all of this functionality as easy as possible to use for both
+programmers and template designers.
+
+
+
+ fbview-horde
+ 3.2_rc1
+ 20071201
+ OpenPKG
+ JUNK
+ MAIL
+ GPL
+ Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
+ The Horde Application Framework
+ http://www.horde.org/
+
+
+ OpenPKG
+ openpkg
+ php
+ php::with_pear
+
+
+
+
+ horde-framework-kolab
+ PEAR-Mail_Mime
+ PEAR-Mail
+ PEAR-Log
+
+
+
+
+ fbview-horde-conf.template
+ conf.php
+ prefs.php
+ http://ftp.horde.org/pub/horde/horde-3.2-rc1.tar.gz
+
+
+
+The Horde Framework is the glue that all Horde applications have in
+common. It is many things, including some coding standards, common
+code, and inter-application communication. The shared code provides
+common ways of handling things like preferences, permissions, browser
+detection, user help, and more.
+
+
+
+ horde-kolab
+ 3.2_rc1
+ 20071201
+ OpenPKG
+ JUNK
+ MAIL
+ GPL
+ Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
+ The Horde Application Framework
+ http://www.horde.org/
+
+
+ OpenPKG
+ openpkg
+ php
+ php::with_pear
+
+
+
+
+ kolabd::with_horde
+ horde-framework-kolab
+ PEAR-Mail_Mime
+ PEAR-Mail
+ PEAR-Log
+ PEAR-HTTP_Request
+
+
+
+
+ horde-kolab-conf.template
+ conf.php
+ http://ftp.horde.org/pub/horde/horde-3.2-rc1.tar.gz
+
+
+
+The Horde Framework is the glue that all Horde applications have in
+common. It is many things, including some coding standards, common
+code, and inter-application communication. The shared code provides
+common ways of handling things like preferences, permissions, browser
+detection, user help, and more.
+
+
+
+ kolab-filter
+ 2.2.beta3
+ 20071203
+ OpenPKG Community
+ PLUS
+ Mail
+ GPL
+ Gunnar Wrobel <wrobel at pardus.de> (p at rdus)
+ Kolab2 Groupware Server mail filters
+ http://www.kolab.org/
+ Kolab Consortium
+
+
+ OpenPKG
+ openpkg
+
+
+
+
+ php-kolab
+
+
+
+
+ kolab-filter-2.2.beta3.tar.bz2
+
+
+
+kolab-freebusy provides two filtering scripts for the postfix MTA
+service. The scripts identify iCal mails and process these.
+
+
+
+ kolab-webadmin
+ 2.1.99
+ 20071203
+ OpenPKG
+ JUNK
+ Mail
+ GPL
+ Klaraelvdalens Datakonsult AB
+ Kolab Groupware Server Web Administration Interface
+ http://www.kolab.org/
+ Klaraelvdalens Datakonsult AB
+
+
+ OpenPKG
+ openpkg
+
+
+
+
+ OpenPKG
+ openpkg
+ kolabd
+ php-smarty
+
+
+
+
+ kolab-webadmin::kolab_version
+
+
+
+
+ kolab-webadmin-2.1.99.tar.bz2
+
+
+
+Web based administration interface for The Kolab Groupware Server
From cvs at kolab.org Mon Dec 3 17:30:51 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 17:30:51 +0100 (CET)
Subject: gunnar: server/patches/fbview - New directory
Message-ID: <20071203163051.4B834600D64@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/fbview
In directory doto:/tmp/cvs-serv28370/fbview
Log Message:
Directory /kolabrepository/server/patches/fbview added to the repository
From cvs at kolab.org Mon Dec 3 17:34:44 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 17:34:44 +0100 (CET)
Subject: gunnar: server/patches/fbview
HK-GW-framework_3.2_RC1-Fbview_xfb_concept.patch, NONE,
1.1 HK-GW-kronolith_2.2_RC1-Fbview_menu.patch, NONE,
1.1 HK-GW-kronolith_2.2_RC1-Fbview_relevance.patch, NONE,
1.1 HK-GW-kronolith_2.2_RC1-Fbview_xfb_access.patch, NONE,
1.1 HK-JS-kronolith_2.2_RC1-Fix_library_import.patch, NONE,
1.1 HK-SB-kronolith_2.2_RC1-Fbview_extra_params.patch, NONE,
1.1 HK-SB-kronolith_2.2_RC1-Fbview_save_attendees.patch, NONE,
1.1 README_Fbview_extra_params.patch, NONE,
1.1 README_Fbview_menu.patch, NONE,
1.1 README_Fbview_relevance.patch, NONE,
1.1 README_Fbview_save_attendees.patch, NONE,
1.1 README_Fbview_xfb_access.patch, NONE,
1.1 README_Fbview_xfb_concept.patch, NONE,
1.1 README_Fix_library_import.patch, NONE, 1.1
Message-ID: <20071203163444.E321E600165@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/fbview
In directory doto:/tmp/cvs-serv28445
Added Files:
HK-GW-framework_3.2_RC1-Fbview_xfb_concept.patch
HK-GW-kronolith_2.2_RC1-Fbview_menu.patch
HK-GW-kronolith_2.2_RC1-Fbview_relevance.patch
HK-GW-kronolith_2.2_RC1-Fbview_xfb_access.patch
HK-JS-kronolith_2.2_RC1-Fix_library_import.patch
HK-SB-kronolith_2.2_RC1-Fbview_extra_params.patch
HK-SB-kronolith_2.2_RC1-Fbview_save_attendees.patch
README_Fbview_extra_params.patch README_Fbview_menu.patch
README_Fbview_relevance.patch
README_Fbview_save_attendees.patch
README_Fbview_xfb_access.patch README_Fbview_xfb_concept.patch
README_Fix_library_import.patch
Log Message:
Create a separate patch directory for the fbview application.
--- NEW FILE: HK-GW-framework_3.2_RC1-Fbview_xfb_concept.patch ---
diff -r fce4450434a7 framework/Share/Share/kolab.php
--- a/framework/Share/Share/kolab.php Thu Nov 29 14:45:46 2007 +0100
+++ b/framework/Share/Share/kolab.php Thu Nov 29 14:49:04 2007 +0100
@@ -17,6 +17,13 @@ define('HORDE_ANNOT_SHARE_ATTR', HORDE_A
* Marks a share without a name. These shares are still invalid
*/
define('KOLAB_SHARE_INVALID', 'KOLAB_SHARE_INVALID');
+
+/**
+ * Kolab specific free/busy relevance
+ */
+define('KOLAB_FBRELEVANCE_ADMINS', 0);
+define('KOLAB_FBRELEVANCE_READERS', 1);
+define('KOLAB_FBRELEVANCE_NOBODY', 2);
/**
* Horde_Share_kolab:: provides the kolab backend for the horde share driver.
@@ -825,16 +832,135 @@ class Horde_Share_Object_kolab extends H
*/
function isDefault()
{
+ $type = $this->getType();
+ if (is_a($type, 'PEAR_Error')) {
+ return false;
+ }
+ return $type[1];
+ }
+
+ //FIXME: The following five functions (actually also most other things in this class
+ // needs to go into Kolab/IMAP.php
+ /**
+ * Get the folder type
+ *
+ * @return mixed Array containing the type and the default status or a PEAR_Error
+ * if the folder annotation cannot be accessed.
+ */
+ function getType()
+ {
$imap = &$this->_shareOb->getImap();
- $annotation = $imap->getAnnotation(KOLAB_ANNOT_FOLDER_TYPE, 'value.shared', $this->_folder);
+ $annotation = $imap->getAnnotation(KOLAB_ANNOT_FOLDER_TYPE,
+ 'value.shared',
+ $this->_folder);
if (is_a($annotation, 'PEAR_Error')) {
- return false;
- }
- if (empty($annotation)) {
- return false;
- }
- $type = explode('.', $annotation);
- return (!empty($type[1]) && $type[1] == 'default');
+ return $annotation;
+ }
+
+ if (!empty($annotation)) {
+ $default = false;
+ $subtype = '';
+ $type = explode('.', $annotation);
+ if (!empty($type[0])) {
+ $foldertype = $type[0];
+ if (!empty($type[1])) {
+ $subtype = $type[1];
+ if ($type[1] == 'default') {
+ $default = true;
+ }
+ }
+ }
+ return array($foldertype, $default, $subtype);
+ } else {
+ return PEAR::raiseError(sprintf(_("Unknown folder type for folder %s."), $this->_folder));
+ }
+ }
+
+ /**
+ * Get the free/busy relevance for this folder
+ *
+ * @return int Value containing the FB_RELEVANCE.
+ */
+ function getFbrelevance()
+ {
+ $imap = &$this->_shareOb->getImap();
+ $entry = KOLAB_ANNOT_ROOT . 'incidences-for';
+
+ $annotation = $imap->getAnnotation($entry, 'value.shared', $this->_folder);
+ if (is_a($annotation, 'PEAR_Error') || empty($annotation)) {
+ return KOLAB_FBRELEVANCE_ADMINS;
+ }
+ switch ($annotation) {
+ case 'admins':
+ return KOLAB_FBRELEVANCE_ADMINS;
+ case 'readers':
+ return KOLAB_FBRELEVANCE_READERS;
+ case 'nobody':
+ return KOLAB_FBRELEVANCE_NOBODY;
+ default:
+ return KOLAB_FBRELEVANCE_ADMINS;
+ }
+ }
+
+ /**
+ * Set the free/busy relevance for this folder
+ *
+ * @param int $relevance Value containing the FB_RELEVANCE
+ *
+ * @return mixed True on success or a PEAR_Error.
+ */
+ function setFbrelevance($relevance)
+ {
+ switch ($relevance) {
+ case KOLAB_FBRELEVANCE_ADMINS:
+ $value = 'admins';
+ break;
+ case KOLAB_FBRELEVANCE_READERS:
+ $value = 'readers';
+ break;
+ case KOLAB_FBRELEVANCE_NOBODY:
+ $value = 'nobody';
+ break;
+ default:
+ $value = 'admins';
+ }
+
+ $imap = &$this->_shareOb->getImap();
+ $entry = KOLAB_ANNOT_ROOT . 'incidences-for';
+ return $imap->setAnnotation($entry, array('value.shared' => $value), $this->_folder);
+ }
+
+ /**
+ * Get the extended free/busy access settings for this folder
+ *
+ * @return array Array containing the users with access to the
+ * extended information.
+ */
+ function getXfbaccess()
+ {
+ $imap = &$this->_shareOb->getImap();
+ $entry = KOLAB_ANNOT_ROOT . 'xfb-readable';
+
+ $annotation = $imap->getAnnotation($entry, 'value.shared', $this->_folder);
+ if (is_a($annotation, 'PEAR_Error') || empty($annotation)) {
+ return array();
+ }
+ return explode(' ', $annotation);
+ }
+
+ /**
+ * Set the extended free/busy access settings for this folder
+ *
+ * @param array $access Array containing the users with access to the
+ * extended information.
+ *
+ * @return mixed True on success or a PEAR_Error.
+ */
+ function setXfbaccess($access)
+ {
+ $imap = &$this->_shareOb->getImap();
+ $entry = KOLAB_ANNOT_ROOT . 'xfb-readable';
+ return $imap->setAnnotation($entry, array('value.shared' => join(' ', $access)), $this->_folder);
}
/**
@@ -910,13 +1036,18 @@ class Horde_Share_Object_kolab extends H
break;
case 'params':
- $params = $this->getAttribute('params');
+ $params = @unserialize($this->getAttribute('params'));
if (is_a($params, 'PEAR_Error') || $params == '') {
- $params = serialize(array('source' => 'kolab',
- 'default' => $this->get('default'),
- 'name' => $this->get('name')));
- }
- $this->data['params'] = $params;
+ $params = array('source' => 'kolab',
+ 'default' => $this->get('default'),
+ 'name' => $this->get('name'));
+ }
+ $type = $this->getType();
+ if (!is_a($type, 'PEAR_Error') && $type[0] == 'event') {
+ $params = array_merge($params, array('fbrelevance' => $this->getFbrelevance(),
+ 'xfbaccess' => $this->getXfbaccess()));
+ }
+ $this->data['params'] = serialize($params);
break;
case 'default':
@@ -967,8 +1098,9 @@ class Horde_Share_Object_kolab extends H
$value = unserialize($value);
if (isset($value['default'])) {
$this->data['default'] = $value['default'];
- }
- break;
+ unset($value['default']);
+ }
+ $value = serialize($value);
default:
$this->data[$attribute] = $value;
@@ -1017,6 +1149,7 @@ class Horde_Share_Object_kolab extends H
}
} elseif ($attribute == 'default') {
$imap = &$this->_shareOb->getImap();
+ //FIXME: Simplify with getType
$annotation = $imap->getAnnotation(KOLAB_ANNOT_FOLDER_TYPE, 'value.shared', $this->_folder);
if (is_a($annotation, 'PEAR_Error')) {
return $annotation;
@@ -1037,6 +1170,40 @@ class Horde_Share_Object_kolab extends H
continue;
} elseif ($attribute == 'folder') {
continue;
+ } elseif ($attribute == 'params') {
+ $type = $this->getType();
+ if (!is_a($type, 'PEAR_Error') && $type[0] == 'event') {
+ $params = @unserialize($value);
+ if (isset($params['fbrelevance'])) {
+ $result = $this->setFbrelevance($params['fbrelevance']);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ unset($params['fbrelevance']);
+ }
+ if (isset($params['xfbaccess'])) {
+ $result = $this->setXfbaccess($params['xfbaccess']);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
+ unset($params['xfbaccess']);
+ }
+
+ if (empty($params)) {
+ continue;
+ }
+
+ $value = @serialize($params);
+ }
+
+ $imap = &$this->_shareOb->getImap();
+ // setAnnotation apparently does not suppoort UTF-8 nor any special characters
+ $store = base64_encode($value);
+ $entry = HORDE_ANNOT_SHARE_ATTR . $attribute;
+ $result = $imap->setAnnotation($entry, array('value.shared' => $store), $this->_folder);
+ if (is_a($result, 'PEAR_Error')) {
+ return $result;
+ }
} else {
$imap = &$this->_shareOb->getImap();
// setAnnotation apparently does not suppoort UTF-8 nor any special characters
--- NEW FILE: HK-GW-kronolith_2.2_RC1-Fbview_menu.patch ---
diff -r 538d4c6293be kronolith/attendees.php
--- a/kronolith/attendees.php Thu Nov 29 12:33:18 2007 +0100
+++ b/kronolith/attendees.php Thu Nov 29 12:34:39 2007 +0100
@@ -236,6 +236,7 @@ Imple::factory('ContactAutoCompleter', a
$title = _("Edit attendees");
require KRONOLITH_TEMPLATES . '/common-header.inc';
+require KRONOLITH_TEMPLATES . '/fbview-menu.inc';
if ($browser->hasFeature('javascript')) {
Horde::addScriptFile('open_savedattlist_win.js');
diff -r 538d4c6293be kronolith/calendars.php
--- a/kronolith/calendars.php Thu Nov 29 12:33:18 2007 +0100
+++ b/kronolith/calendars.php Thu Nov 29 12:34:39 2007 +0100
@@ -134,6 +134,6 @@ Horde::addScriptFile('popup.js', 'horde'
Horde::addScriptFile('popup.js', 'horde', true);
$title = _("My Calendars");
require KRONOLITH_TEMPLATES . '/common-header.inc';
-require KRONOLITH_TEMPLATES . '/menu.inc';
+require KRONOLITH_TEMPLATES . '/fbview-menu.inc';
require KRONOLITH_TEMPLATES . '/calendars/calendars.inc';
require $registry->get('templates', 'horde') . '/common-footer.inc';
diff -r 538d4c6293be kronolith/lib/Kronolith.php
--- a/kronolith/lib/Kronolith.php Thu Nov 29 12:33:18 2007 +0100
+++ b/kronolith/lib/Kronolith.php Thu Nov 29 12:34:39 2007 +0100
@@ -1968,6 +1968,33 @@ class Kronolith {
}
/**
+ * Builds Kronolith's list of menu items.
+ */
+ function getFbviewMenu($returnType = 'object')
+ {
+ global $conf, $registry, $browser, $prefs;
+
+ /* Check here for guest calendars so that we don't get multiple
+ * messages after redirects, etc. */
+ if (!Auth::getAuth() && !count($GLOBALS['all_calendars'])) {
+ $GLOBALS['notification']->push(_("No calendars are available to guests."));
+ }
+
+ require_once 'Horde/Menu.php';
+ $menu = new Menu(HORDE_MENU_MASK_HELP | HORDE_MENU_MASK_LOGIN);
+
+ $menu->add(Horde::applicationUrl('attendees.php'), _("Attendees"), 'attendees.png', null, null, null, '__noselection');
+
+ $menu->add(Horde::applicationUrl('calendars.php'), _("Calendars"), 'calendars.png', null, null, null, '__noselection');
+
+ if ($returnType == 'object') {
+ return $menu;
+ } else {
+ return $menu->render();
+ }
+ }
+
+ /**
* Used with usort() to sort events based on their start times.
* This function ignores the date component so recuring events can
* be sorted correctly on a per day basis.
diff -r 538d4c6293be kronolith/templates/fbview-menu.inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/fbview-menu.inc Thu Nov 29 12:34:39 2007 +0100
@@ -0,0 +1,4 @@
+
diff -r 848f241f83e0 kronolith/templates/javascript/open_savedattlist_win.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/javascript/open_savedattlist_win.js Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,36 @@
+
+
diff -r 848f241f83e0 kronolith/templates/savedattlist/savedattlist.inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kronolith/templates/savedattlist/savedattlist.inc Thu Nov 29 11:32:43 2007 +0100
@@ -0,0 +1,68 @@
+
+
+
+
--- NEW FILE: README_Fbview_extra_params.patch ---
DESCRIPTION:
Allows to display extended parameters of events in the free/busy
list. The patch implements this is a Kolab specific fashion and
thus it makes no sense to submit it upstream.
IMPACT:
The free/busy view won't display extended attributes.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
The patch has been originally developed by Stuart Binge
(Codefusion).
--- NEW FILE: README_Fbview_menu.patch ---
DESCRIPTION:
Adds a reduced menu to the attendees view. This won't make it upstream
since the the view is used by upstream as a popup and does not need a
menu.
IMPACT:
The menu will be missing in fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
--- NEW FILE: README_Fbview_relevance.patch ---
DESCRIPTION:
Allows to set the free/busy relevance of a calendar. This is Kolab
specific and won't make it upstream in this form.
IMPACT:
Without this patch you won't be able to set the free/busy relevance of
a calendar in fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
--- NEW FILE: README_Fbview_save_attendees.patch ---
DESCRIPTION:
This allows to store the list of attendees in the user preferences.
The patch implements this in a hackish way and it was consequently
rejected upstream (http://bugs.horde.org/ticket/?id=4788). This
should be solved using Horde::Groups or the Turba API.
IMPACT:
You won't be able to store the list of attendees.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
The patch has been originally developed by Stuart Binge
(Codefusion).
Horde issue #4788
--- NEW FILE: README_Fbview_xfb_access.patch ---
DESCRIPTION:
Allows to set the access rules for extended free busy parameters.
This is Kolab specific and won't make it upstream in this form.
IMPACT:
Without this patch you won't be able to modify the access rights in
fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
--- NEW FILE: README_Fbview_xfb_concept.patch ---
DESCRIPTION:
Adds routines in the Horde::Share library to store the free/busy
relevance and the free/busy access settings. This could be submitted
upstream after some restructuring.
IMPACT:
Setting/Getting these parameters won't work in fbview.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
--- NEW FILE: README_Fix_library_import.patch ---
DESCRIPTION:
A commit shortly before the release of RC1 did break the share editing
in kronolith and nag in case no Webdav PEAR package is available.
IMPACT:
You won't be able to edit calendars or tasklists.
REFERENCES:
Mercurial patch repository:
http://hg.pardus.de/cgi-bin/hg.cgi/horde/HORDE_3_2_RC1/summary
HISTORY
Fix generated from an upstream commit after RC1.
From cvs at kolab.org Mon Dec 3 17:36:04 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 17:36:04 +0100 (CET)
Subject: gunnar: server/patches/horde
HK-GW-kronolith_2.2_RC1-Fbview_menu.patch, 1.1,
NONE README_Fbview_menu.patch, 1.1, NONE
Message-ID: <20071203163604.59398600165@lists.intevation.de>
Author: gunnar
Update of /kolabrepository/server/patches/horde
In directory doto:/tmp/cvs-serv28500
Removed Files:
HK-GW-kronolith_2.2_RC1-Fbview_menu.patch
README_Fbview_menu.patch
Log Message:
This is the only fbview specific patch.
--- HK-GW-kronolith_2.2_RC1-Fbview_menu.patch DELETED ---
--- README_Fbview_menu.patch DELETED ---
From cvs at kolab.org Mon Dec 3 18:10:32 2007
From: cvs at kolab.org (cvs@kolab.org)
Date: Mon, 3 Dec 2007 18:10:32 +0100 (CET)
Subject: thomas: server/kolab-webadmin/kolab-webadmin/php/admin/templates
service.tpl, 1.15, 1.16
Message-ID: <20071203171032.2C4BE600165@lists.intevation.de>
Author: thomas
Update of /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/templates
In directory doto:/tmp/cvs-serv29359/kolab-webadmin/kolab-webadmin/php/admin/templates
Modified Files:
service.tpl
Log Message:
Removed obsolete explanation about enabling legacy services.
Index: service.tpl
===================================================================
RCS file: /kolabrepository/server/kolab-webadmin/kolab-webadmin/php/admin/templates/service.tpl,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- service.tpl 21 Nov 2007 14:26:38 -0000 1.15
+++ service.tpl 3 Dec 2007 17:10:30 -0000 1.16
@@ -25,12 +25,6 @@
{/if}
{tr msg="Enable or Disable individual Services"}
-
-
{tr msg="Using legacy services poses a security thread due to leakage of cleartext passwords, lack of authenticity and privacy."}
-
{tr msg="The legacy Freebusy Support (FTP and HTTP) is only required for Outlook2000 clients. Under all other circumstances it is advised to use the server-side freebusy creation feature over secure HTTP instead (this is enabled by default and may not be deactivated)."}
-
{tr msg="Further details with regards to security considerations might be available from the Kolab Project."}