From 9bec0ad14e571579a2eb9639b5a5d91890a9fcb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emmanuel=20BENO=C3=8ET?= Date: Tue, 9 Feb 2021 19:03:53 +0100 Subject: [PATCH] Changed order of LDAP-related functions It makes more sense to have the function that establishes the connection before the rest. --- main.go | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/main.go b/main.go index 2982043..faf6e95 100644 --- a/main.go +++ b/main.go @@ -210,30 +210,6 @@ func usernameFromMember(member string) string { return member[eqPos+1 : commaPos] } -// Read the list of members from a LDAP group -func getGroupMembers(group string, conn *ldap.Conn, fields []string) (members []string) { - req := ldap.NewSearchRequest(group, ldap.ScopeBaseObject, ldap.NeverDerefAliases, 1, 0, false, "(objectClass=*)", fields, nil) - res, err := conn.Search(req) - if err != nil { - log.Fatalf("LDAP search for %s: %v", group, err) - } - - for _, entry := range res.Entries { - for _, attr := range fields { - values := entry.GetAttributeValues(attr) - if len(values) == 0 { - continue - } - members = make([]string, len(values)) - for i, value := range values { - members[i] = usernameFromMember(value) - } - break - } - } - return -} - // Establish a connection to the LDAP server func getLdapConnection(cfg LdapConfig) (conn *ldap.Conn) { tlsConfig := &tls.Config{ @@ -272,6 +248,30 @@ func getLdapConnection(cfg LdapConfig) (conn *ldap.Conn) { return } +// Read the list of members from a LDAP group +func getGroupMembers(group string, conn *ldap.Conn, fields []string) (members []string) { + req := ldap.NewSearchRequest(group, ldap.ScopeBaseObject, ldap.NeverDerefAliases, 1, 0, false, "(objectClass=*)", fields, nil) + res, err := conn.Search(req) + if err != nil { + log.Fatalf("LDAP search for %s: %v", group, err) + } + + for _, entry := range res.Entries { + for _, attr := range fields { + values := entry.GetAttributeValues(attr) + if len(values) == 0 { + continue + } + members = make([]string, len(values)) + for i, value := range values { + members[i] = usernameFromMember(value) + } + break + } + } + return +} + // Read the list of group members from the LDAP server for all groups in the mapping section. func readLdapGroups(configuration Configuration) (groups GroupMembers) { conn := getLdapConnection(configuration.Ldap)