summaryrefslogtreecommitdiffstats
path: root/kolabd
Commit message (Collapse)AuthorAgeFilesLines
* [Python 3] Remove unnecessary occurrences of .keys()Christoph Erhardt2022-01-101-2/+2
| | | | | | | | | | | | | | | | Summary: The following cases are covered: * for key in dict * if key in dict * len(dict) This will make life easier for futurize. Reviewers: machniak, mollekopf Reviewed By: mollekopf Differential Revision: https://git.kolab.org/D3235
* compare namingtext with basedn always in lowercaseDaniel Hoffend2020-02-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When the hosted_domain_rootdn contains uppercase letters (only happens when crafting our own ldap naming context, or connecting with an existing ldap directory) kolabd doesn't match the namespace and therefore doesn't track changes and kolabd doesn't create or delete the mailboxes. Test Plan: Initial Situation mgmt_root_dn = dc=mgmt,dc=dotlan,dc=info hosted_root_dn = o=Hosting Starting kolabd via cli with debug enabled /usr/sbin/kolabd -l DEBUG -d 9 --user kolab --pid-file /run/kolabd/kolabd.pid Log messages about which domains / naming contexts to watch: 2020-01-17 23:29:35,260 pykolab.daemon DEBUG [8525] Domain 'mgmt.dotlan.info' naming context: 'dc=mgmt,dc=dotlan,dc=info', root dn: 'dc=mgmt,dc=dotlan,dc=info' 2020-01-17 23:29:35,268 pykolab.daemon DEBUG [8525] Domain 'hosting.com' naming context: None, root dn: 'o=Hosting' 2020-01-17 23:29:35,268 pykolab.daemon DEBUG [8525] Naming contexts to synchronize: [None, 'dc=mgmt,dc=dotlan,dc=info'] 2020-01-17 23:29:35,268 pykolab.daemon DEBUG [8525] Result set of domains: ['mgmt.dotlan.info'] Adding a Child domain (testdomain.com): 2020-01-17 23:36:16,505 pykolab.daemon DEBUG [9149] Domain 'mgmt.dotlan.info' naming context: 'dc=mgmt,dc=dotlan,dc=info', root dn: 'dc=mgmt,dc=dotlan,dc=info' 2020-01-17 23:36:16,513 pykolab.daemon DEBUG [9149] Domain 'hosting.com' naming context: None, root dn: 'o=Hosting' 2020-01-17 23:36:16,522 pykolab.daemon DEBUG [9149] Domain 'testdomain.com' naming context: None, root dn: 'ou=testdomain.com,o=Hosting' 2020-01-17 23:36:16,522 pykolab.daemon DEBUG [9149] Naming contexts to synchronize: [None, 'dc=mgmt,dc=dotlan,dc=info'] 2020-01-17 23:36:16,523 pykolab.daemon DEBUG [9149] Result set of domains: ['mgmt.dotlan.info'] Adding a user doesn't create the mailbox because kolabd isn't watching the naming context of o=Hosting After applying the patch: 2020-01-17 23:38:36,633 pykolab.daemon DEBUG [9499] Domain 'mgmt.dotlan.info' naming context: 'dc=mgmt,dc=dotlan,dc=info', root dn: 'dc=mgmt,dc=dotlan,dc=info' 2020-01-17 23:38:36,646 pykolab.daemon DEBUG [9499] Domain 'hosting.com' naming context: 'o=hosting', root dn: 'o=Hosting' 2020-01-17 23:38:36,655 pykolab.daemon DEBUG [9499] Domain 'testdomain.com' naming context: 'o=hosting', root dn: 'ou=testdomain.com,o=Hosting' 2020-01-17 23:38:36,656 pykolab.daemon DEBUG [9499] Naming contexts to synchronize: ['o=hosting', 'dc=mgmt,dc=dotlan,dc=info'] 2020-01-17 23:38:36,656 pykolab.daemon DEBUG [9499] Result set of domains: ['mgmt.dotlan.info', 'hosting.com'] Creating a user (to prove the patch works) 2020-01-17 23:41:13,756 pykolab.auth DEBUG [9502] LDAP Search Result Data Entry: 2020-01-17 23:41:13,756 pykolab.auth DEBUG [9502] DN: 'uid=jdoe,ou=People,ou=testdomain.com,o=Hosting' 2020-01-17 23:41:13,756 pykolab.auth DEBUG [9502] Entry: {'displayName': ['Doe, John'], 'cn': ['John Doe'], 'mailQuota': ['1048576'], 'preferredLanguage': ['de_DE'], 'userPassword': ['{PBKDF2_SHA256}AAAIABAeq5TwN6vcCAtBi+jspdlAXeGX5v5FV76uVIWxC5cQ4+23wbfR40aYr+SPzT2AP+Pg17N2hFxXDh3OI9qe/j5bE3A4Nz5utCJahvmorowGTIUA0DJrT6kz8Hy2X7PA8wjeZzedKvjdsqODIYDMdDm4DMNMbwU0pVFKgqWYBf7pNCAa/ZZ7lPPIxVXBC3z7Xhmi0mhxzVbY3TjNptxT9lGJ1Z4JCjID8B+BEqpPSKPJzW5sozgqTUYC8EH37bIn+JsmyMbukepz/0DU3oAKcda0j3VOdnfNE3lQ4tBS9e1CrjRVhzx+7H2ehAdu3olq7xHBRW9Po59hP3+X7nvU9C1lwt5stfv7hnEJ15jyy1JXDzoABUUIYxTxGz+uhP1oyuMHAxqxPDrJikdbCBx4ucGLnTnfFXwtAeuMefRsctMl'], 'nsuniqueid': ['6f0ae601-397a11ea-9892ad7b-e428d0cf'], 'objectClass': ['inetorgperson', 'inetuser', 'kolabinetorgperson', 'mailrecipient', 'organizationalperson', 'person', 'top'], 'sn': ['Doe'], 'mail': ['john.doe@testdomain.com'], 'givenName': ['John'], 'modifytimestamp': ['20200117224113Z'], 'uid': ['jdoe']} 2020-01-17 23:41:13,756 pykolab.auth DEBUG [9502] Entry Change Notification attributes: 2020-01-17 23:41:13,757 pykolab.auth DEBUG [9502] Change Type: 1 ('add') 2020-01-17 23:41:13,757 pykolab.auth DEBUG [9502] Previous DN: None Reviewers: #pykolab_developers, vanmeeuwen Reviewed By: #pykolab_developers, vanmeeuwen Differential Revision: https://git.kolab.org/D913
* Fixes T5665: kolabd should now terminate its child processes on exitDaniel Hoffend2019-11-181-4/+9
| | | | | | | | | | | | Summary: This patch ensures that kolabd will terminate his forked childs Test Plan: Tested on Debian 9 and Debian 10 Reviewers: #pykolab_developers, vanmeeuwen Reviewed By: #pykolab_developers, vanmeeuwen Differential Revision: https://git.kolab.org/D853
* restore system umask after fork (fix T5659)Daniel Hoffend2019-11-181-1/+3
| | | | | | | | | | | | Summary: start-stop-daemon behaviour has changed. We must make sure the created pidfile is "secure" and not world-wide-writeable. Reviewers: #pykolab_developers, vanmeeuwen Reviewed By: #pykolab_developers, vanmeeuwen Differential Revision: https://git.kolab.org/D847
* More linting and compatibilityJeroen van Meeuwen (Kolab Systems)2019-10-251-1/+1
|
* More linting and syntax issues resolvedJeroen van Meeuwen (Kolab Systems)2019-10-252-128/+118
|
* Fix SIGPIPE errors in wallace due to closing stderr and reusing FD2 by @fjlJeroen van Meeuwen (Kolab Systems)2019-05-171-0/+4
|
* Call the correct functionsJeroen van Meeuwen (Kolab Systems)2016-07-081-2/+1
|
* Clear out synchronizing domains vs. naming contexts by matching domain root ↵Jeroen van Meeuwen (Kolab Systems)2016-07-071-16/+42
| | | | dns with naming contexts
* CS fixes according to PEP8 (ignored mostly line-length errors only)Aleksander Machniak2016-05-042-10/+11
| | | | | | | | Summary: . Reviewers: #pykolab_developers Differential Revision: https://git.kolab.org/D134
* Update bugzilla url to https://issues.kolab.org.Jeroen van Meeuwen (Kolab Systems)2016-02-291-2/+2
| | | | Resolves T1044
* Correct the use of the format returned by auth.list_domains()Jeroen van Meeuwen (Kolab Systems)2015-10-131-1/+1
|
* Translate naming contexts back to domain name spaces or the list of ↵Jeroen van Meeuwen (Kolab Systems)2015-08-141-0/+1
| | | | processes becomes volatile
* Correct detecting naming contexts for databases to synchronize against, and ↵Jeroen van Meeuwen (Kolab Systems)2015-08-141-4/+18
| | | | using parent domain name spaces for synchronization
* fix typo, remove bracketTimotheus Pokorra2015-08-131-1/+1
|
* Don't use domains.values(), we need only the first value of the tuple(s) of ↵Jeroen van Meeuwen (Kolab Systems)2015-08-121-5/+11
| | | | primary and secondary domain name spaces.
* Close stdin, stdout and stderr, when the process is told to fork(). Also, ↵Jeroen van Meeuwen (Kolab Systems)2015-08-121-5/+28
| | | | fork twice to eliminate session control.
* Use the new domain naming context comparison function to reduce the number ↵Jeroen van Meeuwen (Kolab Systems)2015-03-181-1/+3
| | | | | | of processes against hosted (#4260) Domain name spaces are translated back to the domain that owns the naming context, and skipped a separate process for should the naming context already be synchronized by another process.
* CentOS7 systemd: need to adjust the kolabd.tmpfiles.d.conf as well (#2626)Timotheus Pokorra2015-02-201-1/+1
| | | | that was pointing still to /var/run/kolabd instead of /run/kolabd as in the spec file
* fixing location of kolabd.pid file for systemd. fixing #2626Timotheus Pokorra2015-02-131-2/+2
|
* Bug #2491: sleep time until new domains are created should be optionally set ↵Timotheus Pokorra (TBits.net)2014-08-191-1/+5
| | | | in configuration file
* Updated the licensing information according to FSF recommendations.Paul Boddie2014-06-262-14/+14
| | | | Note that cyruslib.py is still "GPLv2 or a later version" unlike the other files.
* Fix inifinite loop for initially connectingJeroen van Meeuwen (Kolab Systems)2014-02-161-1/+2
|
* Avoid connection errors being fatal.Jeroen van Meeuwen (Kolab Systems)2014-02-111-0/+14
| | | | Sleep and continue should we have an empty list of domains
* Pause between starting domain synchronizations if the number of domains ↵Jeroen van Meeuwen (Kolab Systems)2014-01-261-0/+3
| | | | added is greater or equal to 5, for otherwise you will hammer your LDAP server to death
* terminate() processes for domains that have been removedJeroen van Meeuwen (Kolab Systems)2013-10-151-0/+4
|
* Correct unpack error (#2246)Jeroen van Meeuwen (Kolab Systems)2013-09-231-1/+1
|
* Make sure that in a multi-domain environment, we get the base dn for ↵Jeroen van Meeuwen (Kolab Systems)2013-05-231-0/+2
| | | | additional domain name spaces right.
* Add a [kolab] section setting 'sync_interval', used as the interval between ↵Jeroen van Meeuwen (Kolab Systems)2013-04-291-0/+8
| | | | | | authn/authz synchronization calls. Synchronization would otherwise continue to occur with paged searches, or vlv searches, immediately after finishing a run.
* Update copyrightJeroen van Meeuwen (Kolab Systems)2013-04-172-2/+2
|
* Sleep for a second or so, otherwise we loop very quickly - also accept a ↵Jeroen van Meeuwen (Kolab Systems)2012-12-261-0/+3
| | | | KeyboardInterrupt exception to bail out
* Loop through the thread's synchronization routine continuouslyJeroen van Meeuwen (Kolab Systems)2012-12-261-9/+10
|
* Display a traceback with the process failsJeroen van Meeuwen (Kolab Systems)2012-12-261-3/+5
|
* try/except synchronizing and gracefully exit if something goes wrong. The ↵Jeroen van Meeuwen (Kolab Systems)2012-11-301-3/+7
| | | | master kolabd process will restart synchronization
* Check if a domain name space synchronization process is still aliveJeroen van Meeuwen (Kolab Systems)2012-11-301-2/+17
| | | | try/except removing our PID file
* Include tmpfiles.d in dist tarballJeroen van Meeuwen (Kolab Systems)2012-11-251-1/+2
|
* Add tmpfiles.d configuration filesJeroen van Meeuwen (Kolab Systems)2012-10-011-0/+2
|
* Revert "List Default-Start runlevels explicitly, and start the services on ↵Jeroen van Meeuwen (Kolab Systems)2012-09-121-2/+2
| | | | | | runlevel 2 as well" This reverts commit 7d26bec2649c678cb2533607e33443cbe7008510.
* List Default-Start runlevels explicitly, and start the services on runlevel ↵Jeroen van Meeuwen (Kolab Systems)2012-09-121-2/+2
| | | | 2 as well
* Clause the inclusion of /etc/init.d/functions (it should exist)Jeroen van Meeuwen (Kolab Systems)2012-08-231-3/+9
| | | | | | Include /etc/default/$service if the file exists Both changes work towards resolving #972
* Import the required utilsJeroen van Meeuwen (Kolab Systems)2012-06-131-0/+1
|
* Make use of the new ensure_directory() function (#840)Jeroen van Meeuwen (Kolab Systems)2012-06-131-0/+6
|
* Include LSB headers for default-start and default-stopJeroen van Meeuwen (Kolab Systems)2012-06-061-0/+2
|
* Make sure we use no functions that have been introduced in Python > 2.6 (#803)Jeroen van Meeuwen (Kolab Systems)2012-05-291-6/+10
|
* Resolve pylint long lines issueJeroen van Meeuwen (Kolab Systems)2012-05-171-1/+7
|
* Update kolabd/process to set it's own name after the domain name being servedJeroen van Meeuwen (Kolab Systems)2012-05-171-1/+6
|
* Make as sure as possible, kolabd does not run with any non-kolab privilegesJeroen van Meeuwen (Kolab Systems)2012-05-171-11/+107
|
* Set kolabd to run as kolab:kolab (systemd) or with daemon options --user kolabJeroen van Meeuwen (Kolab Systems)2012-05-172-1/+4
|
* Add kolabd systemd fileJeroen van Meeuwen (Kolab Systems)2012-04-194-64/+88
| | | | Refactor process management in kolabd
* Bump pre-releaseJeroen van Meeuwen (Kolab Systems)2012-04-171-1/+6
|