HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //usr/share/doc/python-ldap-2.4.15/Demo/pyasn1/readentrycontrol.py
#!/usr/bin/env python
"""
This sample script demonstrates the use of the pre-read control (see RFC 4527).

Originally contributed by Andreas Hasenack <ahasenack@terra.com.br>

Requires module pyasn1 (see http://pyasn1.sourceforge.net/)
"""

import pprint,ldap,ldap.modlist

from ldap.controls.readentry import PreReadControl,PostReadControl

uri = "ldap://localhost:2071/"

l = ldap.initialize(uri,trace_level=2)
l.simple_bind_s('uid=diradm,ou=schulung,dc=stroeder,dc=local','testsecret')

print """#---------------------------------------------------------------------------
# Add new entry
#---------------------------------------------------------------------------
"""

new_test_dn = "uid=ablume,ou=Users,ou=schulung,dc=stroeder,dc=local"
new_test_dn2 = "uid=ablume2,ou=Users,ou=schulung,dc=stroeder,dc=local"
new_test_entry = {
  'objectClass':['account','posixAccount'],
  'uid':['ablume'],
  'cn':['Anna Blume'],
  'uidNumber':['10000'],
  'gidNumber':['10000'],
  'homeDirectory':['/home/ablume'],
}

pr = PostReadControl(criticality=True,attrList=['entryUUID','entryCSN'])

msg_id = l.add_ext(
  new_test_dn,
  ldap.modlist.addModlist(new_test_entry),
  serverctrls = [pr]
)
_,_,_,resp_ctrls = l.result3(msg_id)
print "resp_ctrls[0].dn:",resp_ctrls[0].dn
print "resp_ctrls[0].entry:";pprint.pprint(resp_ctrls[0].entry)

print """#---------------------------------------------------------------------------
# Modify entry
#---------------------------------------------------------------------------
"""

pr = PreReadControl(criticality=True,attrList=['uidNumber','gidNumber','entryCSN'])

msg_id = l.modify_ext(
  new_test_dn,
  [(ldap.MOD_INCREMENT, "uidNumber", "1"),(ldap.MOD_INCREMENT, "gidNumber", "1")],
  serverctrls = [pr]
)
_,_,_,resp_ctrls = l.result3(msg_id)
print "resp_ctrls[0].dn:",resp_ctrls[0].dn
print "resp_ctrls[0].entry:";pprint.pprint(resp_ctrls[0].entry)

pr = PostReadControl(criticality=True,attrList=['uidNumber','gidNumber','entryCSN'])

msg_id = l.modify_ext(
  new_test_dn,
  [(ldap.MOD_INCREMENT, "uidNumber", "1"),(ldap.MOD_INCREMENT, "gidNumber", "1")],
  serverctrls = [pr]
)
_,_,_,resp_ctrls = l.result3(msg_id)
print "resp_ctrls[0].dn:",resp_ctrls[0].dn
print "resp_ctrls[0].entry:";pprint.pprint(resp_ctrls[0].entry)

print """#---------------------------------------------------------------------------
# Rename entry
#---------------------------------------------------------------------------
"""

pr = PostReadControl(criticality=True,attrList=['uid'])
msg_id = l.rename(
  new_test_dn,
  "uid=ablume2",
  delold=1,
  serverctrls = [pr]
)
_,_,_,resp_ctrls = l.result3(msg_id)
print "resp_ctrls[0].dn:",resp_ctrls[0].dn
print "resp_ctrls[0].entry:";pprint.pprint(resp_ctrls[0].entry)

pr = PreReadControl(criticality=True,attrList=['uid'])
msg_id = l.rename(
  new_test_dn2,
  "uid=ablume",
  delold=1,
  serverctrls = [pr]
)
_,_,_,resp_ctrls = l.result3(msg_id)
print "resp_ctrls[0].dn:",resp_ctrls[0].dn
print "resp_ctrls[0].entry:";pprint.pprint(resp_ctrls[0].entry)

print """#---------------------------------------------------------------------------
# Delete entry
#---------------------------------------------------------------------------
"""

pr = PreReadControl(criticality=True,attrList=['*','+'])
msg_id = l.delete_ext(
  new_test_dn,
  serverctrls = [pr]
)
_,_,_,resp_ctrls = l.result3(msg_id)
print "resp_ctrls[0].dn:",resp_ctrls[0].dn
print "resp_ctrls[0].entry:";pprint.pprint(resp_ctrls[0].entry)