diff options
Diffstat (limited to 'src/nslcd/systemd/disable_nss_module.go')
-rw-r--r-- | src/nslcd/systemd/disable_nss_module.go | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/src/nslcd/systemd/disable_nss_module.go b/src/nslcd/systemd/disable_nss_module.go deleted file mode 100644 index 24d7f79..0000000 --- a/src/nslcd/systemd/disable_nss_module.go +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (C) 2015 Luke Shumaker <lukeshu@sbcglobal.net> -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -// 02110-1301 USA - -package nslcd_systemd - -import ( - "dl" - "sd_daemon/logger" -) - -//static char *strary(char **ary, unsigned int n) { return ary[n]; } -import "C" - -const ( - nss_module_soname = "libnss_ldap.so.2" - nss_module_sym_version = "_nss_ldap_version" - nss_module_sym_enablelookups = "_nss_ldap_enablelookups" -) - -func disable_nss_module() { - handle, err := dl.Open(nss_module_soname, dl.RTLD_LAZY|dl.RTLD_NODELETE) - if err == nil { - defer handle.Close() - } else { - logger.Warning("NSS module %s not loaded: %v", nss_module_soname, err) - return - } - - c_version_info, err := handle.Sym(nss_module_sym_version) - if err == nil { - g_version_info := (**C.char)(c_version_info) - logger.Debug("NSS module %s version %s %s", nss_module_soname, - C.GoString(C.strary(g_version_info, 0)), - C.GoString(C.strary(g_version_info, 1))) - } else { - logger.Warning("NSS module %s version missing: %v", nss_module_soname, err) - } - c_enable_flag, err := handle.Sym(nss_module_sym_enablelookups) - if err != nil { - logger.Warning("Unable to disable NSS ldap module for nslcd process: %v", err) - return - } - g_enable_flag := (*C.int)(c_enable_flag) - *g_enable_flag = 0 -} |