diff --git a/uffd/group/models.py b/uffd/group/models.py index 98b60453878aab5e494f898e029d9779e995350d..5006c097a3878e47c8fac2fcef188824f404048a 100644 --- a/uffd/group/models.py +++ b/uffd/group/models.py @@ -25,7 +25,7 @@ class Group(): @classmethod def from_ldap_dn(cls, dn): - conn = ldap.service_conn() + conn = ldap.get_conn() conn.search(dn, '(objectClass=groupOfUniqueNames)') if not len(conn.entries) == 1: return None diff --git a/uffd/group/views.py b/uffd/group/views.py index 35ad425d41ab871e55efcee4736fc009732390b8..1c6bcf2ef60b53dd6d3f967d992007a10de9bddb 100644 --- a/uffd/group/views.py +++ b/uffd/group/views.py @@ -1,7 +1,7 @@ from flask import Blueprint, current_app, render_template from uffd.navbar import register_navbar -from uffd.ldap import service_conn, escape_filter_chars +from uffd.ldap import get_conn, escape_filter_chars from .models import Group @@ -10,7 +10,7 @@ bp = Blueprint("group", __name__, template_folder='templates', url_prefix='/grou @bp.route("/") @register_navbar('Groups', icon='layer-group', blueprint=bp) def group_list(): - conn = service_conn() + conn = get_conn() conn.search(current_app.config["LDAP_BASE_GROUPS"], '(objectclass=groupOfUniqueNames)') groups = [] for i in conn.entries: @@ -19,7 +19,7 @@ def group_list(): @bp.route("/<int:gid>") def group_show(gid): - conn = service_conn() + conn = get_conn() conn.search(current_app.config["LDAP_BASE_GROUPS"], '(&(objectclass=groupOfUniqueNames)(gidNumber={}))'.format((escape_filter_chars(gid)))) assert len(conn.entries) == 1 group = Group.from_ldap(conn.entries[0]) diff --git a/uffd/ldap/__init__.py b/uffd/ldap/__init__.py index 61ffb9e0dde2158e82c80db24f77de409468ad95..b57cd78472b79aea9bd586629d81f1e105e199de 100644 --- a/uffd/ldap/__init__.py +++ b/uffd/ldap/__init__.py @@ -1,4 +1,4 @@ from .ldap import bp as ldap_bp -from .ldap import service_conn, user_conn, escape_filter_chars, uid_to_dn, loginname_to_dn, get_next_uid +from .ldap import get_conn, escape_filter_chars, uid_to_dn, loginname_to_dn, get_next_uid bp = [ldap_bp] diff --git a/uffd/ldap/ldap.py b/uffd/ldap/ldap.py index a9068cc7c1d913b8584cd795c2a4bfdda9887cfc..760ae0929ce08b2e9e559595240bbf0e1ca55ca5 100644 --- a/uffd/ldap/ldap.py +++ b/uffd/ldap/ldap.py @@ -16,11 +16,14 @@ def fix_connection(conn): def service_conn(): server = Server(current_app.config["LDAP_SERVICE_URL"], get_info=ALL) conn = Connection(server, current_app.config["LDAP_SERVICE_BIND_DN"], current_app.config["LDAP_SERVICE_BIND_PASSWORD"], auto_bind=True) - return fix_connection(conn) def user_conn(): pass +def get_conn(): + conn = service_conn() + return fix_connection(conn) + def uid_to_dn(uid): conn = service_conn() conn.search(current_app.config["LDAP_BASE_USER"], '(&(objectclass=person)(uidNumber={}))'.format(escape_filter_chars(uid))) diff --git a/uffd/user/models.py b/uffd/user/models.py index 8d889a1fc3bc4adba5a908835d2c9ce06da00697..d4d3fb39e8d48120971b77ae43d63cfabe33cd32 100644 --- a/uffd/user/models.py +++ b/uffd/user/models.py @@ -35,14 +35,14 @@ class User(): @classmethod def from_ldap_dn(cls, dn): - conn = ldap.service_conn() + conn = ldap.get_conn() conn.search(dn, '(objectClass=person)') if not len(conn.entries) == 1: return None return User.from_ldap(conn.entries[0]) def to_ldap(self, new): - conn = ldap.service_conn() + conn = ldap.get_conn() if new: attributes= { 'uidNumber': ldap.get_next_uid(), diff --git a/uffd/user/views.py b/uffd/user/views.py index b6633bbb83cc0ea1dd03894547c14d1a40aeb352..31ef6989557baab6d319adb83e3df828650402d9 100644 --- a/uffd/user/views.py +++ b/uffd/user/views.py @@ -4,14 +4,14 @@ from uffd.navbar import register_navbar from uffd.csrf import csrf_protect from .models import User -from uffd.ldap import service_conn, escape_filter_chars +from uffd.ldap import get_conn, escape_filter_chars bp = Blueprint("user", __name__, template_folder='templates', url_prefix='/user/') @bp.route("/") @register_navbar('Users', icon='users', blueprint=bp) def user_list(): - conn = service_conn() + conn = get_conn() conn.search(current_app.config["LDAP_BASE_USER"], '(objectclass=person)') users = [] for i in conn.entries: @@ -25,7 +25,7 @@ def user_show(uid=None): user = User() ldif = '<none yet>' else: - conn = service_conn() + conn = get_conn() conn.search(current_app.config["LDAP_BASE_USER"], '(&(objectclass=person)(uidNumber={}))'.format((escape_filter_chars(uid)))) assert len(conn.entries) == 1 user = User.from_ldap(conn.entries[0]) @@ -35,7 +35,7 @@ def user_show(uid=None): @bp.route("/<int:uid>/update", methods=['POST']) @bp.route("/new", methods=['POST']) def user_update(uid=False): - conn = service_conn() + conn = get_conn() if uid: conn.search(current_app.config["LDAP_BASE_USER"], '(&(objectclass=person)(uidNumber={}))'.format((escape_filter_chars(uid)))) assert len(conn.entries) == 1 @@ -62,7 +62,7 @@ def user_update(uid=False): @csrf_protect @bp.route("/<int:uid>/del") def user_delete(uid): - conn = service_conn() + conn = get_conn() conn.search(current_app.config["LDAP_BASE_USER"], '(&(objectclass=person)(uidNumber={}))'.format((escape_filter_chars(uid)))) assert len(conn.entries) == 1 if conn.delete(conn.entries[0].entry_dn):