diff options
Diffstat (limited to 'index.py')
-rwxr-xr-x | index.py | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -11,7 +11,8 @@ from tmpl import expose, render, _ from lxml import etree from lxml.html import formfill from StringIO import StringIO -import ldap +import ldap, ldap.filter +ldapf = ldap.filter.filter_format import mx.DateTime, urllib from accountservice import accountservice import ticket @@ -55,7 +56,7 @@ class SubdapSite(object): return render(errors = {}, username = username) def login_perform(s, username, password): - dn = "cn=%s,ou=people,dc=sublab,dc=org" % (username) + dn = ldapf("cn=%s,ou=people,dc=sublab,dc=org", [username]) try: l = ldap.initialize('ldap://oberon.local.sublab.org/') l.start_tls_s() @@ -79,7 +80,7 @@ class SubdapSite(object): try: l, dn = s.login_perform(username, password) except LoginError, e: - return render(errors = {'password': str(e)}) + return render(errors = {'password': unicode(e)}) return s.selectpage(l, dn) @@ -142,13 +143,13 @@ class SubdapSite(object): try: l, dn = s.login_perform(username, oldpassword) except LoginError, e: - return render(errors = {'oldpassword': str(e)}, username = username) + return render(errors = {'oldpassword': unicode(e)}, username = username) import kerberos try: assert kerberos.changePassword(username + '@SUBLAB.ORG', oldpassword, password) == True except kerberos.PwdChangeError, e: - return render(errors = {'password2': str(e[0])}, username = username) + return render(errors = {'password2': unicode(e[0])}, username = username) if os.fork() == 0: accountservice.kprop() |