View | Details | Raw Unified | Return to bug 57574
Collapse All | Expand All

(-)base/univention-python/modules/uldap.py (-21 / +5 lines)
 Lines 46-58   from ldap.controls.readentry import PostReadControl, PreReadControl Link Here 
46
from ldapurl import LDAPUrl, isLDAPUrl
46
from ldapurl import LDAPUrl, isLDAPUrl
47
47
48
import univention.logging  # noqa: F401
48
import univention.logging  # noqa: F401
49
from univention.config_registry import ConfigRegistry
49
from univention.config_registry import ucr
50
50
51
51
52
configRegistry = ConfigRegistry()
53
configRegistry.load()
54
feature_full_prepostread = configRegistry.is_true('directory/manager/feature/prepostread', False)
55
56
try:
52
try:
57
    from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union  # noqa: F401
53
    from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union  # noqa: F401
58
except ImportError:
54
except ImportError:
 Lines 102-109   def getRootDnConnection(start_tls=None, decode_ignorelist=[], reconnect=True): Link Here 
102
    :return: A LDAP access object.
98
    :return: A LDAP access object.
103
    :rtype: univention.uldap.access
99
    :rtype: univention.uldap.access
104
    """
100
    """
105
    ucr = ConfigRegistry()
106
    ucr.load()
107
    port = int(ucr.get('slapd/port', '7389').split(',')[0])
101
    port = int(ucr.get('slapd/port', '7389').split(',')[0])
108
    host = ucr['hostname'] + '.' + ucr['domainname']
102
    host = ucr['hostname'] + '.' + ucr['domainname']
109
    if ucr.get('ldap/server/type', 'dummy') == 'master':
103
    if ucr.get('ldap/server/type', 'dummy') == 'master':
 Lines 127-134   def getAdminConnection(start_tls=None, decode_ignorelist=[], reconnect=True): Link Here 
127
    :return: A LDAP access object.
121
    :return: A LDAP access object.
128
    :rtype: univention.uldap.access
122
    :rtype: univention.uldap.access
129
    """
123
    """
130
    ucr = ConfigRegistry()
131
    ucr.load()
132
    bindpw = open('/etc/ldap.secret').read().rstrip('\n')
124
    bindpw = open('/etc/ldap.secret').read().rstrip('\n')
133
    port = int(ucr.get('ldap/master/port', '7389'))
125
    port = int(ucr.get('ldap/master/port', '7389'))
134
    return access(host=ucr['ldap/master'], port=port, base=ucr['ldap/base'], binddn='cn=admin,' + ucr['ldap/base'], bindpw=bindpw, start_tls=start_tls, decode_ignorelist=decode_ignorelist, reconnect=reconnect)
126
    return access(host=ucr['ldap/master'], port=port, base=ucr['ldap/base'], binddn='cn=admin,' + ucr['ldap/base'], bindpw=bindpw, start_tls=start_tls, decode_ignorelist=decode_ignorelist, reconnect=reconnect)
 Lines 146-153   def getBackupConnection(start_tls=None, decode_ignorelist=[], reconnect=True): Link Here 
146
    :return: A LDAP access object.
138
    :return: A LDAP access object.
147
    :rtype: univention.uldap.access
139
    :rtype: univention.uldap.access
148
    """
140
    """
149
    ucr = ConfigRegistry()
150
    ucr.load()
151
    bindpw = open('/etc/ldap-backup.secret').read().rstrip('\n')
141
    bindpw = open('/etc/ldap-backup.secret').read().rstrip('\n')
152
    port = int(ucr.get('ldap/master/port', '7389'))
142
    port = int(ucr.get('ldap/master/port', '7389'))
153
    try:
143
    try:
 Lines 174-182   def getMachineConnection(start_tls=None, decode_ignorelist=[], ldap_master=True, Link Here 
174
    :return: A LDAP access object.
164
    :return: A LDAP access object.
175
    :rtype: univention.uldap.access
165
    :rtype: univention.uldap.access
176
    """
166
    """
177
    ucr = ConfigRegistry()
178
    ucr.load()
179
180
    bindpw = open(secret_file).read().rstrip('\n')
167
    bindpw = open(secret_file).read().rstrip('\n')
181
168
182
    if ldap_master:
169
    if ldap_master:
 Lines 264-272   class access(object): Link Here 
264
251
265
        self.port = int(port) if port else None
252
        self.port = int(port) if port else None
266
253
267
        ucr = ConfigRegistry()
268
        ucr.load()
269
270
        if self.start_tls is None:
254
        if self.start_tls is None:
271
            self.start_tls = ucr.get_int('directory/manager/starttls', 2)
255
            self.start_tls = ucr.get_int('directory/manager/starttls', 2)
272
256
 Lines 719-725   class access(object): Link Here 
719
        """
703
        """
720
        log.debug('uldap.add dn=%s', dn)
704
        log.debug('uldap.add dn=%s', dn)
721
705
722
        if feature_full_prepostread:
706
        if ucr.is_true('directory/manager/feature/prepostread', False):
723
            if serverctrls:
707
            if serverctrls:
724
                for ctrl in serverctrls:
708
                for ctrl in serverctrls:
725
                    if isinstance(ctrl, PostReadControl):
709
                    if isinstance(ctrl, PostReadControl):
 Lines 769-775   class access(object): Link Here 
769
        """
753
        """
770
        log.debug('uldap.modify %s', dn)
754
        log.debug('uldap.modify %s', dn)
771
755
772
        if feature_full_prepostread:
756
        if ucr.is_true('directory/manager/feature/prepostread', False):
773
            if serverctrls:
757
            if serverctrls:
774
                for ctrl in serverctrls:
758
                for ctrl in serverctrls:
775
                    for ctrl_type in (PreReadControl, PostReadControl):
759
                    for ctrl_type in (PreReadControl, PostReadControl):
 Lines 898-904   class access(object): Link Here 
898
        newrdn = ldap.dn.dn2str([ldap.dn.str2dn(newdn)[0]])
882
        newrdn = ldap.dn.dn2str([ldap.dn.str2dn(newdn)[0]])
899
        newsdn = ldap.dn.dn2str(ldap.dn.str2dn(newdn)[1:])
883
        newsdn = ldap.dn.dn2str(ldap.dn.str2dn(newdn)[1:])
900
884
901
        if feature_full_prepostread:
885
        if ucr.is_true('directory/manager/feature/prepostread', False):
902
            if serverctrls:
886
            if serverctrls:
903
                for ctrl in serverctrls:
887
                for ctrl in serverctrls:
904
                    for ctrl_type in (PreReadControl, PostReadControl):
888
                    for ctrl_type in (PreReadControl, PostReadControl):
 Lines 957-963   class access(object): Link Here 
957
        """
941
        """
958
        log.debug('uldap.delete %s', dn)
942
        log.debug('uldap.delete %s', dn)
959
943
960
        if feature_full_prepostread:
944
        if ucr.is_true('directory/manager/feature/prepostread', False):
961
            if serverctrls:
945
            if serverctrls:
962
                for ctrl in serverctrls:
946
                for ctrl in serverctrls:
963
                    if isinstance(ctrl, PreReadControl):
947
                    if isinstance(ctrl, PreReadControl):

Return to bug 57574