From 5aa2dc8085d65c8cfcc46a02ee74ddb9d9032e62 Mon Sep 17 00:00:00 2001
From: Luke Shumaker <lukeshu@sbcglobal.net>
Date: Sun, 18 Dec 2016 03:59:10 -0500
Subject: Rename packages to make goimports happy. BREAKING CHANGE.

---
 systemd/disable_nss_module.go |  63 ----------------
 systemd/nslcd_systemd.go      | 164 ------------------------------------------
 2 files changed, 227 deletions(-)
 delete mode 100644 systemd/disable_nss_module.go
 delete mode 100644 systemd/nslcd_systemd.go

(limited to 'systemd')

diff --git a/systemd/disable_nss_module.go b/systemd/disable_nss_module.go
deleted file mode 100644
index 9a8b388..0000000
--- a/systemd/disable_nss_module.go
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright (C) 2006 West Consulting
-// Copyright (C) 2006-2015 Arthur de Jong
-// Copyright (C) 2015-2016 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 (
-	"fmt"
-
-	"lukeshu.com/git/go/libgnulinux.git/dl"
-	sd "lukeshu.com/git/go/libsystemd.git/sd_daemon"
-)
-
-//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 {
-		sd.Log.Warning(fmt.Sprintf("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)
-		sd.Log.Debug(fmt.Sprintf("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 {
-		sd.Log.Warning(fmt.Sprintf("NSS module %s version missing: %v", nss_module_soname, err))
-	}
-	c_enable_flag, err := handle.Sym(nss_module_sym_enablelookups)
-	if err != nil {
-		sd.Log.Warning(fmt.Sprintf("Unable to disable NSS ldap module for nslcd process: %v", err))
-		return
-	}
-	g_enable_flag := (*C.int)(c_enable_flag)
-	*g_enable_flag = 0
-}
diff --git a/systemd/nslcd_systemd.go b/systemd/nslcd_systemd.go
deleted file mode 100644
index c5c8c65..0000000
--- a/systemd/nslcd_systemd.go
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright (C) 2015-2016 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 does the legwork for implementing a systemd
-// socket-activated nslcd server.
-//
-// You just need to implement the Backend interface, then pass it to
-// Main, which will return the exit code for the process.  Everything
-// but the backend is taken care of for you!
-//
-// 	package main
-//
-// 	import "nslcd/systemd"
-//
-// 	func main() {
-// 		backend := ...
-// 		os.Exit(int(nslcd_systemd.Main(backend)))
-// 	}
-package nslcd_systemd
-
-import (
-	"fmt"
-	"net"
-	"os"
-	"os/signal"
-	"sync"
-	"syscall"
-
-	"lukeshu.com/git/go/libnslcd.git/proto/server"
-	sd "lukeshu.com/git/go/libsystemd.git/sd_daemon"
-	"lukeshu.com/git/go/libsystemd.git/sd_daemon/lsb"
-)
-
-type Backend interface {
-	nslcd_server.Backend
-	Init() error
-	Reload() error
-	Close()
-}
-
-func get_socket() (socket net.Listener, err error) {
-	socket = nil
-	err = nil
-	fds := sd.ListenFds(true)
-	if fds == nil {
-		err = fmt.Errorf("Failed to aquire sockets from systemd")
-		return
-	}
-	if len(fds) != 1 {
-		err = fmt.Errorf("Wrong number of sockets from systemd: expected %d but got %d", 1, len(fds))
-		return
-	}
-	socket, err = net.FileListener(fds[0])
-	fds[0].Close()
-	return
-}
-
-func getpeercred(conn *net.UnixConn) (cred syscall.Ucred, err error) {
-	file, err := conn.File()
-	if err != nil {
-		return
-	}
-	defer file.Close()
-	_cred, err := syscall.GetsockoptUcred(int(file.Fd()), syscall.SOL_SOCKET, syscall.SO_PEERCRED)
-	cred = *_cred
-	return
-}
-
-func handler(conn *net.UnixConn, backend nslcd_server.Backend) {
-	defer conn.Close()
-	cred, err := getpeercred(conn)
-	if err != nil {
-		sd.Log.Debug("Connection from unknown client")
-	} else {
-		sd.Log.Debug(fmt.Sprintf("Connection from pid=%v uid=%v gid=%v",
-			cred.Pid, cred.Uid, cred.Gid))
-	}
-	err = nslcd_server.HandleRequest(backend, conn, conn, cred)
-	if err != nil {
-		sd.Log.Notice(fmt.Sprintf("Error while handling request: %v", err))
-	}
-}
-
-func Main(backend Backend) uint8 {
-	var err error = nil
-
-	sigs := make(chan os.Signal)
-	signal.Notify(sigs, syscall.SIGTERM, syscall.SIGHUP)
-
-	disable_nss_module()
-
-	err = backend.Init()
-	if err != nil {
-		sd.Log.Err(fmt.Sprintf("Could not initialize backend: %v", err))
-		sd.Notify(0, false, "STOPPING=1", nil)
-		return lsb.EXIT_FAILURE
-	}
-	defer backend.Close()
-
-	socket, err := get_socket()
-	if err != nil {
-		sd.Log.Err(fmt.Sprintf("%v", err))
-		sd.Notify(0, false, "STOPPING=1", nil)
-		return lsb.EXIT_NOTRUNNING
-	}
-	defer socket.Close()
-	sock := make(chan *net.UnixConn)
-	go func() {
-		defer lsb.Recover()
-		for {
-			conn, err := socket.Accept()
-			if err != nil {
-				sd.Log.Notice(fmt.Sprintf("%v", err))
-			}
-			if conn != nil {
-				sock <- conn.(*net.UnixConn)
-			}
-		}
-	}()
-
-	var wg sync.WaitGroup
-	defer wg.Wait()
-	defer sd.Notify(0, false, "STOPPING=1", nil)
-	sd.Notify(0, false, "READY=1", nil)
-	for {
-		select {
-		case sig := <-sigs:
-			switch sig {
-			case syscall.SIGTERM:
-				sd.Log.Notice("Received SIGTERM, shutting down")
-				return lsb.EXIT_SUCCESS
-			case syscall.SIGHUP:
-				sd.Notify(0, false, "RELOADING=1", nil)
-				err := backend.Reload()
-				if err != nil {
-					sd.Log.Notice(fmt.Sprintf("Could not reload backend: %s", err.Error()))
-					return lsb.EXIT_NOTRUNNING
-				}
-				sd.Notify(0, false, "READY=1", nil)
-			}
-		case conn := <-sock:
-			wg.Add(1)
-			go func() {
-				defer lsb.Recover()
-				defer wg.Done()
-				handler(conn, backend)
-			}()
-		}
-	}
-}
-- 
cgit v1.2.3-2-g168b