7 commits - configure.ac kolabd/__init__.py pykolab/auth pykolab/imap pykolab.spec.in
Jeroen van Meeuwen
vanmeeuwen at kolabsys.com
Sun Apr 8 15:00:11 CEST 2012
configure.ac | 2 +-
kolabd/__init__.py | 2 ++
pykolab.spec.in | 10 +++++-----
pykolab/auth/ldap/__init__.py | 16 +++++++++-------
pykolab/imap/__init__.py | 2 +-
pykolab/imap/cyrus.py | 9 ++++-----
6 files changed, 22 insertions(+), 19 deletions(-)
New commits:
commit 0123d55d358731119c57d3a7e4269c30691fe830
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Sun Apr 8 13:49:20 2012 +0100
Correct macro used for the sysvinit rc.d directory
diff --git a/pykolab.spec.in b/pykolab.spec.in
index 3752bac..000af5c 100644
--- a/pykolab.spec.in
+++ b/pykolab.spec.in
@@ -120,14 +120,14 @@ rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
mkdir -p \
- %{buildroot}/%{_initddir} \
+ %{buildroot}/%{_initrddir} \
%{buildroot}/%{_sysconfdir}/sysconfig
%{__install} -p -m 644 saslauthd/kolab-saslauthd.sysconfig %{buildroot}/%{_sysconfdir}/sysconfig/kolab-saslauthd
-%{__install} -p -m 755 saslauthd/kolab-saslauthd.sysvinit %{buildroot}/%{_initddir}/kolab-saslauthd
+%{__install} -p -m 755 saslauthd/kolab-saslauthd.sysvinit %{buildroot}/%{_initrddir}/kolab-saslauthd
%{__install} -p -m 644 kolabd/kolabd.sysconfig %{buildroot}/%{_sysconfdir}/sysconfig/kolabd
-%{__install} -p -m 755 kolabd/kolabd.sysvinit %{buildroot}/%{_initddir}/kolabd
+%{__install} -p -m 755 kolabd/kolabd.sysvinit %{buildroot}/%{_initrddir}/kolabd
%find_lang pykolab
@@ -252,7 +252,7 @@ rm -rf %{buildroot}
%files -n kolab-saslauthd
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING
-%{_initddir}/kolab-saslauthd
+%{_initrddir}/kolab-saslauthd
%config(noreplace) %{_sysconfdir}/sysconfig/kolab-saslauthd
%{_sbindir}/kolab-saslauthd
%{python_sitelib}/saslauthd/
@@ -262,7 +262,7 @@ rm -rf %{buildroot}
%files -n kolab-server
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING
-%{_initddir}/kolabd
+%{_initrddir}/kolabd
%config(noreplace) %{_sysconfdir}/sysconfig/kolabd
%{_sbindir}/kolabd
%{python_sitelib}/kolabd/
commit 2992ee8ba598d24b54d9d7eabaff603d67132470
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Sun Apr 8 13:41:36 2012 +0100
Bump pre-release
diff --git a/configure.ac b/configure.ac
index 1b4a92b..8ecb735 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_INIT([pykolab], 0.3)
-AC_SUBST([RELEASE], 0.17)
+AC_SUBST([RELEASE], 0.18)
AC_CONFIG_SRCDIR(pykolab/constants.py.in)
commit 4b7299189dbbd1e4825c67b64a11301497a2fa08
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Sun Apr 8 13:40:45 2012 +0100
Insert TODO
diff --git a/kolabd/__init__.py b/kolabd/__init__.py
index b53c7c2..8d25b91 100644
--- a/kolabd/__init__.py
+++ b/kolabd/__init__.py
@@ -149,6 +149,8 @@ class KolabDaemon(object):
)
domain_auth[primary_domain] = Auth()
+ # TODO: Consider threading for domain name space specific
+ # Authn/Authz operations.
pid = os.fork()
if pid == 0:
domain_auth[primary_domain].connect(primary_domain)
commit 4090928dcf5aa57933b7b265c661f809eae83671
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Sun Apr 8 13:39:44 2012 +0100
Connect to the new server using the template for the original uri
diff --git a/pykolab/imap/cyrus.py b/pykolab/imap/cyrus.py
index 3df716a..7872c6e 100644
--- a/pykolab/imap/cyrus.py
+++ b/pykolab/imap/cyrus.py
@@ -166,7 +166,7 @@ class Cyrus(cyruslib.CYRUS):
"""
server = self.find_mailfolder_server(mailfolder)
#print "server:", server
- imap.connect('imap://%s:143' % (server))
+ imap.connect(self.uri.replace(self.server,server))
log.debug(_("Setting quota for INBOX folder %s to %s") % (mailfolder,quota), level=8)
try:
@@ -179,7 +179,7 @@ class Cyrus(cyruslib.CYRUS):
Login to the actual backend server, then rename.
"""
server = self.find_mailfolder_server(from_mailfolder)
- imap.connect('imap://%s:143' % (server))
+ imap.connect(self.uri.replace(self.server,server))
log.debug(_("Moving INBOX folder %s to %s") % (from_mailfolder,to_mailfolder), level=8)
imap.rename(from_mailfolder, to_mailfolder, partition)
@@ -192,7 +192,7 @@ class Cyrus(cyruslib.CYRUS):
Login to the actual backend server, then set annotation.
"""
server = self.find_mailfolder_server(mailfolder)
- imap.connect('imap://%s:143' % (server))
+ imap.connect(self.uri.replace(self.server,server))
log.debug(_("Setting annotation %s on folder %s") % (annotation,mailfolder), level=8)
@@ -201,7 +201,7 @@ class Cyrus(cyruslib.CYRUS):
imap.setannotation(mailfolder, annotation, value)
def _xfer(self, mailfolder, current_server, new_server):
- imap.connect('imap://%s:143' % (current_server))
+ imap.connect(self.uri.replace(self.server,server))
log.debug(_("Transferring folder %s from %s to %s") % (mailfolder, current_server, new_server), level=8)
imap.xfer(mailfolder, new_server)
commit 720c111b46bc4c558e93d752cf6152a588536d8f
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Sun Apr 8 13:39:32 2012 +0100
Use the configured quota attribute
diff --git a/pykolab/imap/__init__.py b/pykolab/imap/__init__.py
index 0c77a54..ee7e722 100644
--- a/pykolab/imap/__init__.py
+++ b/pykolab/imap/__init__.py
@@ -385,7 +385,7 @@ class IMAP(object):
elif type(user[_inbox_folder_attr]) == str:
folder = "user/%s" % user[_inbox_folder_attr]
elif type(user) == str:
- quota = auth.get_user_attribute(user, 'quota')
+ quota = auth.get_user_attribute(user, _quota_attr)
folder = "user/%s" % (user)
folder = folder.lower()
commit 07ef012ce1660979b53b8b383c19444f164bf50b
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Sun Apr 8 13:34:11 2012 +0100
Correct adding back in an attribute
diff --git a/pykolab/auth/ldap/__init__.py b/pykolab/auth/ldap/__init__.py
index ae06a5f..2213f39 100644
--- a/pykolab/auth/ldap/__init__.py
+++ b/pykolab/auth/ldap/__init__.py
@@ -854,6 +854,9 @@ class LDAP(object):
attribute = attribute.lower()
+ if not user.has_key(attribute):
+ user[attribute] = self._get_user_attribute(user, attribute)
+
mode = None
# TODO: This should be a schema check!
@@ -875,18 +878,17 @@ class LDAP(object):
user['objectclass']
)
- if not user.has_key(attribute):
- mode = ldap.MOD_ADD
-
- if mode == None:
+ if user.has_key(attribute) and not user[attribute] == None:
mode = ldap.MOD_REPLACE
+ else:
+ mode = ldap.MOD_ADD
try:
- self.ldap.modify(user['dn'], [(mode, attribute, value)])
- except:
+ self.ldap.modify(user['dn'], [(mode, attribute, '%s' % (value))])
+ except ldap.LDAPError, e:
log.warning(
_("LDAP modification of attribute %s for %s to value " + \
- "%s failed") % (attribute,user_dn,value)
+ "%s failed: %r") % (attribute,user_dn,value,e.message['info'])
)
def _list_domains(self):
commit 1e8c12a01a6be9a0b4b48ebbfb13048a6d11f3bd
Author: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen at kolabsys.com>
Date: Sun Apr 8 13:10:51 2012 +0100
Do not reconnect to get an annotation
diff --git a/pykolab/imap/cyrus.py b/pykolab/imap/cyrus.py
index 1515222..3df716a 100644
--- a/pykolab/imap/cyrus.py
+++ b/pykolab/imap/cyrus.py
@@ -185,7 +185,6 @@ class Cyrus(cyruslib.CYRUS):
imap.rename(from_mailfolder, to_mailfolder, partition)
def _getannotation(self, *args, **kw):
- imap.connect()
return imap.getannotation(*args, **kw)
def _setannotation(self, mailfolder, annotation, value):
More information about the commits
mailing list