Univention Bugzilla – Bug 23560
Übernahme von univention-mail-kolab2-cyrus nach univention-mail-cyrus
Last modified: 2011-12-13 15:50:10 CET
Auf Basis von univention-mail-kolab2-cyrus soll es für 3.0 ein Paket univention-mail-cyrus für die Integration des cyrus imap Server geben. Dabei sollen aus univention-mail-kolab2-cyrus alle Kolab spezifischen Dinge entfernt werden. Außerdem müssen die LDAP Attribute und Objektklassen entsprechend angepasst werden.
Folgende Templates entfallen: etc/default/cyrus2.2 - Anpassungen werden über Patch an cyrus-imapd-2.2 (2.4) gemacht etc/init.d/cyrus2.2 - Anpassungen werden über Patch an cyrus-imapd-2.2 (2.4) gemacht etc/default/saslauthd - ist in univention-sasl etc/imapd/pam_ldap_imap.conf - "/etc/pam.d/imap" hat früher pam_ldap.so mit config=/etc/imapd/pam_ldap_imap.conf verwendet, hier konnte man aber nichts konfigurieren und es war identisch mit /etc/pam_ldap.conf. Daher wird nun auch hier der Standard verwendet. Änderungen an Templates: etc/pam.d/imap(pop,sieve) - pam_univentionmailcyrus.so verwendet nun "binddn=@%@ldap/hostdn@%@ pwfile=/etc/machine.secret" für die Authen. am LDAP, "config=/etc/imapd/pam_ldap_imap.conf" am pam_ldap.so Modul ist entfallen. etc/imapd/imapd.conf - die beiden Variablen "ldap_bindpwfile: @%@mail/cyrus/ldap/pwfile@%@" und "ldap_binddn: @%@ldap/hostdn@%@" für die Authen. am LDAP wurden aufgenommen. Änderungen an Skripten: univention-cyrus-mkdir - Es wird nun beim Anlegen der Mailbox ein Standard Sieve Script erzeugt um Spam-Mails nach Spam zu verschieben. Folgende Listener Module entfallen: cyrus-sieve.py - keine sieve Sachen in 3.0 (Außer Standard Spam Regel, die aber über univention-cyrus-mkdir einmalig beim Angelegen der Mailbox erzeugt wird) Änderungen an Listener Modulen: alle - LDAP Attribute angepasst (kolabHomeServer -> univentionMailHomeServer) und Test auf "is_groupware_user" entfernt. Alle Benutzer mit objectClass=univentionMail werden verarbeitet. cyrus-shared-folder.py - univentionKolabSharedFolderType bzw. setfoldertype entfallen (keine verschiedenen IMAP Folder in UCS 3.0). Änderungen am Join Skript: Es wird nun der Servive "IMAP Server" am Rechnerobjekt gesetzt.
Folgende Dinge sind noch zu tun: 1) Das Maschinen Passwort muss für den imap Server noch nach /etc/cyrus-ldap.secret kopiert werden (auch wenn es sich ändert) und für den Benutzer cyrus lesbar gemacht werden. 2) Update Dinge. Einige Templates sind entfernt wurden. Hier muss nochmal genau geschaut werden, wie es sich beim Update entfällt.
(In reply to comment #2) > Folgende Dinge sind noch zu tun: > > 1) Das Maschinen Passwort muss für den imap Server noch nach > /etc/cyrus-ldap.secret kopiert werden (auch wenn es sich ändert) und für den > Benutzer cyrus lesbar gemacht werden. Es wurde ein Hook usr/lib/univention-server/server_password_change.d hinterlegt, der nach der Passwort Änderung das machine.secret nach /etc/cyrus-ldap.secret kopiert und die Berechtigungen für cyrus setzt.
(In reply to comment #2) > Folgende Dinge sind noch zu tun: > > 2) Update Dinge. Einige Templates sind entfernt wurden. Hier muss nochmal genau > geschaut werden, wie es sich beim Update entfällt. univention-mail-cyrus bringt zwei transitinal Pakete mit u-m-c-imap/pop. Darüber sollte das Update von u-m-c (2.4 mit dem pop und imap Pakete) auf 3.0 funktionieren. In postinst werden zusätzlich noch alte Templates und Info Datei gelöscht (remove_ucr_template, remove_ucr_info_file).
Es gibt noch ein Problem beim Update, die berkeley DB Version von cyrus2.2 aus UCS 2.4 ist 4.2 in UCS 3.0 4.7
univention-cyrus-mkdir-shared, acl, ... funktionieren nicht mehr, wahrscheinlich gibt es da Probleme mit dem cyradm und dem expect : Traceback (most recent call last): File "/usr/sbin/univention-cyrus-mkdir-shared", line 79, in <module> i = child.expect(['IMAP Password:', '>', 'cyradm: cannot connect to server', EOF], timeout=60) File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1311, in expect return self.expect_list(compiled_pattern_list, timeout, searchwindowsize) File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1325, in expect_list return self.expect_loop(searcher_re(pattern_list), timeout, searchwindowsize) File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1409, in expect_loop raise TIMEOUT (str(e) + '\n' + str(self)) pexpect.TIMEOUT: Timeout exceeded in read_nonblocking(). <pexpect.spawn object at 0x9fee0ec> version: 2.3 ($Revision: 399 $) command: /usr/bin/cyradm args: ['/usr/bin/cyradm', '-u', 'cyrus', 'localhost'] searcher: searcher_re: 0: re.compile("IMAP Password:") 1: re.compile(">") 2: re.compile("cyradm: cannot connect to server") 3: EOF buffer (last 100 chars): Password: before (last 100 chars): Password: after: <class 'pexpect.TIMEOUT'> match: None match_index: None exitstatus: None flag_eof: False pid: 5650 child_fd: 3 closed: False timeout: 30 delimiter: <class 'pexpect.EOF'> logfile: None logfile_read: None logfile_send: None maxread: 2000 ignorecase: False searchwindowsize: None delaybeforesend: 0.05 delayafterclose: 0.1 delayafterterminate: 0.1
(In reply to comment #6) > univention-cyrus-mkdir-shared, acl, ... funktionieren nicht mehr, > wahrscheinlich gibt es da Probleme mit dem cyradm und dem expect : > > Traceback (most recent call last): > File "/usr/sbin/univention-cyrus-mkdir-shared", line 79, in <module> > i = child.expect(['IMAP Password:', '>', 'cyradm: cannot connect to > server', EOF], timeout=60) > File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1311, in expect > return self.expect_list(compiled_pattern_list, timeout, searchwindowsize) > File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1325, in expect_list > return self.expect_loop(searcher_re(pattern_list), timeout, > searchwindowsize) > File "/usr/lib/python2.6/dist-packages/pexpect.py", line 1409, in expect_loop > raise TIMEOUT (str(e) + '\n' + str(self)) > pexpect.TIMEOUT: Timeout exceeded in read_nonblocking(). > <pexpect.spawn object at 0x9fee0ec> > version: 2.3 ($Revision: 399 $) > command: /usr/bin/cyradm > args: ['/usr/bin/cyradm', '-u', 'cyrus', 'localhost'] > searcher: searcher_re: > 0: re.compile("IMAP Password:") > 1: re.compile(">") > 2: re.compile("cyradm: cannot connect to server") > 3: EOF > buffer (last 100 chars): Password: > before (last 100 chars): Password: > after: <class 'pexpect.TIMEOUT'> > match: None > match_index: None > exitstatus: None > flag_eof: False > pid: 5650 > child_fd: 3 > closed: False > timeout: 30 > delimiter: <class 'pexpect.EOF'> > logfile: None > logfile_read: None > logfile_send: None > maxread: 2000 > ignorecase: False > searchwindowsize: None > delaybeforesend: 0.05 > delayafterclose: 0.1 > delayafterterminate: 0.1 Die Script /usr/sbin/univention-cyrus-* wurden so umgebaut, dass sie mit cyrus 2.2 und 2.4 zurecht kommen.
Mindestens im Listener-Modul cyrus-shared-folder.py wird ein Attribute acl ausgelesen das jetzt aber scheinbar univentionMailACL heisst.
(In reply to comment #8) > Mindestens im Listener-Modul cyrus-shared-folder.py wird ein Attribute acl > ausgelesen das jetzt aber scheinbar univentionMailACL heisst. Das wurde in cyrus-shared-folder.py entsprechend geändert.
(In reply to comment #4) > univention-mail-cyrus bringt zwei transitinal Pakete mit u-m-c-imap/pop. univention-mail-cyrus-pop ist in UCS 3.0 derzeit in unmaintained.
(In reply to comment #10) > (In reply to comment #4) > > univention-mail-cyrus bringt zwei transitinal Pakete mit u-m-c-imap/pop. univention-mail-cyrus-{pop,imap} ist in UCS 3.0 derzeit in unmaintained.
(In reply to comment #11) > (In reply to comment #10) > > (In reply to comment #4) > > > univention-mail-cyrus bringt zwei transitinal Pakete mit u-m-c-imap/pop. > > univention-mail-cyrus-{pop,imap} ist in UCS 3.0 derzeit in unmaintained. Die beiden Pakete +univention-mail-cyrus-pop +univention-mail-cyrus-imap wurden in die trigger Liste für 3.0 aufgenommen. Auf der nächsten DVD sollten die Pakete vorhanden und damit maintained sein.
(In reply to comment #1) > Folgende Templates entfallen: > > etc/default/cyrus2.2 - Anpassungen werden über Patch an cyrus-imapd-2.2 → OK > etc/init.d/cyrus2.2 - Anpassungen werden über Patch an cyrus-imapd-2.2 (2.4) → OK > etc/default/saslauthd - ist in univention-sasl → OK > etc/imapd/pam_ldap_imap.conf - "/etc/pam.d/imap" hat früher pam_ldap.so mit > config=/etc/imapd/pam_ldap_imap.conf verwendet, > hier konnte man aber nichts konfigurieren und es > war identisch mit /etc/pam_ldap.conf. Daher > wird nun auch hier der Standard verwendet. → OK > Änderungen an Templates: > > etc/pam.d/imap(pop,sieve) - pam_univentionmailcyrus.so verwendet nun > "binddn=@%@ldap/hostdn@%@ pwfile=/etc/machine.secret" für die Authen. am LDAP, > "config=/etc/imapd/pam_ldap_imap.conf" am pam_ldap.so Modul ist entfallen. → OK > etc/imapd/imapd.conf - die beiden Variablen "ldap_bindpwfile: > @%@mail/cyrus/ldap/pwfile@%@" und "ldap_binddn: @%@ldap/hostdn@%@" für die > Authen. am LDAP wurden aufgenommen. → OK > Änderungen an Skripten: > > univention-cyrus-mkdir - Es wird nun beim Anlegen der Mailbox ein Standard > Sieve Script erzeugt um Spam-Mails nach Spam zu verschieben. → OK > Folgende Listener Module entfallen: > > cyrus-sieve.py - keine sieve Sachen in 3.0 (Außer Standard Spam Regel, die > aber über univention-cyrus-mkdir einmalig beim Angelegen > der Mailbox erzeugt wird) → OK > Änderungen an Listener Modulen: > > alle - LDAP Attribute angepasst (kolabHomeServer -> univentionMailHomeServer) > und Test auf "is_groupware_user" entfernt. Alle Benutzer mit > objectClass=univentionMail werden verarbeitet. → OK > cyrus-shared-folder.py - univentionKolabSharedFolderType bzw. setfoldertype > entfallen (keine verschiedenen IMAP Folder in UCS 3.0). → OK > Änderungen am Join Skript: > > Es wird nun der Servive "IMAP Server" am Rechnerobjekt gesetzt. → OK (In reply to comment #3) > (In reply to comment #2) > > Folgende Dinge sind noch zu tun: > > > > 1) Das Maschinen Passwort muss für den imap Server noch nach > > /etc/cyrus-ldap.secret kopiert werden (auch wenn es sich ändert) und für den > > Benutzer cyrus lesbar gemacht werden. > > Es wurde ein Hook usr/lib/univention-server/server_password_change.d > hinterlegt, der nach der Passwort Änderung das machine.secret nach > /etc/cyrus-ldap.secret kopiert und die Berechtigungen für cyrus setzt. → OK (In reply to comment #4) > > 2) Update Dinge. Einige Templates sind entfernt wurden. Hier muss nochmal > > genau geschaut werden, wie es sich beim Update entfällt. > > univention-mail-cyrus bringt zwei transitinal Pakete mit u-m-c-imap/pop. > Darüber sollte das Update von u-m-c (2.4 mit dem pop und imap Pakete) auf 3.0 > funktionieren. In postinst werden zusätzlich noch alte Templates und Info > Datei gelöscht (remove_ucr_template, remove_ucr_info_file). → Transition funktioniert, Templates werden entfernt → OK (In reply to comment #8) > Mindestens im Listener-Modul cyrus-shared-folder.py wird ein Attribute acl > ausgelesen das jetzt aber scheinbar univentionMailACL heisst. → OK (In reply to comment #12) > Die beiden Pakete > > +univention-mail-cyrus-pop > +univention-mail-cyrus-imap > > wurden in die trigger Liste für 3.0 aufgenommen. Auf der nächsten DVD sollten > die Pakete vorhanden und damit maintained sein. → OK
Changelogeintrag fehlt
(In reply to comment #14) > Changelogeintrag fehlt Ich habe jetzt nur einen kurzen Einzeiler in das Changelog aufgenommen. Alles weitere Sollte dann über die Mail-Doku erfolgen.
(In reply to comment #15) > Ich habe jetzt nur einen kurzen Einzeiler in das Changelog aufgenommen. Alles > weitere Sollte dann über die Mail-Doku erfolgen. Ok.
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"