1
0
mirror of https://github.com/kakwa/ldapcherry synced 2024-11-22 17:34:21 +01:00
This commit is contained in:
kakwa 2016-06-17 07:47:07 +02:00
commit ffac99994c
5 changed files with 50 additions and 72 deletions

View File

@ -1,30 +1,26 @@
sudo: required
dist: trusty
language: python
env: env:
- TRAVIS="yes" - TRAVIS="yes"
before_install: before_install:
- '[ "$TEST_PEP8" == "1" ] || curl https://ftp-master.debian.org/keys/archive-key-7.0.asc | sudo apt-key add -'
- '[ "$TEST_PEP8" == "1" ] || echo "deb http://http.debian.net/debian wheezy-backports main" | sudo tee -a /etc/apt/sources.list'
- '[ "$TEST_PEP8" == "1" ] || echo "deb http://http.debian.net/debian wheezy main" | sudo tee -a /etc/apt/sources.list'
- '[ "$TEST_PEP8" == "1" ] || sudo /sbin/ifconfig'
- '[ "$TEST_PEP8" == "1" ] || sudo apt-get update -qq'
- '[ "$TEST_PEP8" == "1" ] || sudo rm /etc/dpkg/dpkg.cfg.d/multiarch'
- '[ "$TEST_PEP8" == "1" ] || sudo ./tests/test_env/deploy.sh' - '[ "$TEST_PEP8" == "1" ] || sudo ./tests/test_env/deploy.sh'
language: python
python: python:
- "2.7" - "2.7"
# - "3.2"
# - "3.3"
# command to install dependencies
install: install:
- pip install -e . - pip install -e .
- "if [[ $TEST_PEP8 == '1' ]]; then pip install pep8; fi" - "if [[ $TEST_PEP8 == '1' ]]; then pip install pep8; fi"
- pip install passlib - pip install passlib
- pip install coveralls - pip install coveralls
# command to run tests # command to run tests
script: #
- coverage run --source=ldapcherry setup.py test #script:
- "if [[ $TEST_HIREDIS == '1' ]]; then pip install hiredis; fi" # - coverage run --source=ldapcherry setup.py test
script: "if [[ $TEST_PEP8 == '1' ]]; then pep8 --repeat --show-source --exclude=.venv,.tox,dist,docs,build,*.egg,tests,misc . scripts/ldapcherryd; else coverage run --source=ldapcherry setup.py test; fi" script: "if [[ $TEST_PEP8 == '1' ]]; then pep8 --repeat --show-source --exclude=.venv,.tox,dist,docs,build,*.egg,tests,misc . scripts/ldapcherryd; else coverage run --source=ldapcherry setup.py test; fi"
matrix: matrix:
include: include:

View File

@ -58,7 +58,6 @@ DONT_REQ_PREAUTH = 0x400000
PASSWORD_EXPIRED = 0x800000 PASSWORD_EXPIRED = 0x800000
TRUSTED_TO_AUTH_FOR_DELEGATION = 0x1000000 TRUSTED_TO_AUTH_FOR_DELEGATION = 0x1000000
PARTIAL_SECRETS_ACCOUNT = 0x04000000 PARTIAL_SECRETS_ACCOUNT = 0x04000000
# Generated by the followin command: # Generated by the followin command:
# samba-tool group list | \ # samba-tool group list | \
@ -184,21 +183,19 @@ class Backend(ldapcherry.backend.backendLdap.Backend):
dn = str('CN=%(cn)s,%(user_dn)s' % { dn = str('CN=%(cn)s,%(user_dn)s' % {
'cn': cn, 'cn': cn,
'user_dn': self.userdn 'user_dn': self.userdn
} })
)
attrs = {} attrs = {}
attrs['unicodePwd'] = str(password_value) attrs['unicodePwd'] = str(password_value)
#ldif = modlist.modifyModlist({'unicodePwd': 'asad'}, attrs)
ldif = modlist.modifyModlist({'unicodePwd': 'tmp'}, attrs) ldif = modlist.modifyModlist({'unicodePwd': 'tmp'}, attrs)
ldap_client.modify_s(dn,ldif) ldap_client.modify_s(dn, ldif)
del(attrs['unicodePwd']) del(attrs['unicodePwd'])
attrs['UserAccountControl'] = str(NORMAL_ACCOUNT) attrs['UserAccountControl'] = str(NORMAL_ACCOUNT)
ldif = modlist.modifyModlist({'UserAccountControl': 'tmp'}, attrs) ldif = modlist.modifyModlist({'UserAccountControl': 'tmp'}, attrs)
ldap_client.modify_s(dn,ldif) ldap_client.modify_s(dn, ldif)
def add_user(self, attrs): def add_user(self, attrs):
password = attrs['unicodePwd'] password = attrs['unicodePwd']

View File

@ -259,7 +259,6 @@ class Backend(ldapcherry.backend.Backend):
else: else:
dn_entry = r[0] dn_entry = r[0]
return dn_entry return dn_entry
# python-ldap talks in bytes, # python-ldap talks in bytes,
# as the rest of ldapcherry talks in unicode utf-8: # as the rest of ldapcherry talks in unicode utf-8:
# * everything passed to python-ldap must be converted to bytes # * everything passed to python-ldap must be converted to bytes
@ -308,10 +307,10 @@ class Backend(ldapcherry.backend.Backend):
attrs_str['objectClass'] = self.objectclasses attrs_str['objectClass'] = self.objectclasses
# construct is DN # construct is DN
dn = \ dn = \
self._str(self.dn_user_attr) +\ self._str(self.dn_user_attr) + \
'=' +\ '=' + \
self._str(attrs[self.dn_user_attr]) +\ self._str(attrs[self.dn_user_attr]) + \
',' +\ ',' + \
self._str(self.userdn) self._str(self.userdn)
# gen the ldif fir add_s and add the user # gen the ldif fir add_s and add the user
ldif = modlist.addModlist(attrs_str) ldif = modlist.addModlist(attrs_str)

View File

@ -127,7 +127,7 @@ class WrongParamValue(Exception):
self.param = param self.param = param
possible_values_str = string.join(possible_values, ', ') possible_values_str = string.join(possible_values, ', ')
self.log = \ self.log = \
"wrong value for param '%(param)s' in section '%(section)s'"\ "wrong value for param '%(param)s' in section '%(section)s'" \
", possible values are [%(values)s]" % \ ", possible values are [%(values)s]" % \
{ {
'param': param, 'param': param,
@ -167,7 +167,7 @@ class PasswordAttributesCollision(Exception):
self.key = key self.key = key
self.log = \ self.log = \
"key '" + key + "' type is password," \ "key '" + key + "' type is password," \
" keys '" + key + "1' and '" + key + "2'"\ " keys '" + key + "1' and '" + key + "2'" \
" are reserved and cannot be used" " are reserved and cannot be used"

View File

@ -6,20 +6,6 @@ then
DEBIAN_FRONTEND=noninteractive apt-get install kpartx -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y DEBIAN_FRONTEND=noninteractive apt-get install kpartx -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y
DEBIAN_FRONTEND=noninteractive apt-get install lsb-base libattr1 -t wheezy -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y DEBIAN_FRONTEND=noninteractive apt-get install lsb-base libattr1 -t wheezy -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y
DEBIAN_FRONTEND=noninteractive apt-get install samba python-samba samba-vfs-modules -t wheezy-backports -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y DEBIAN_FRONTEND=noninteractive apt-get install samba python-samba samba-vfs-modules -t wheezy-backports -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y
truncate -s 512M file.img
fdisk file.img <<EOF
n
p
1
w
q
EOF
kpartx -a file.img
mkfs.ext4 /dev/mapper/loop0p1
mount /dev/mapper/loop0p1 /var/lib/samba/
else else
DEBIAN_FRONTEND=noninteractive apt-get install ldap-utils slapd samba python-samba samba-vfs-modules -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y DEBIAN_FRONTEND=noninteractive apt-get install ldap-utils slapd samba python-samba samba-vfs-modules -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -f -q -y
fi fi