2 Commits

Author SHA1 Message Date
Timmy Welch
c570b14537 Setup logging after opening socket so files aren't rotated early 2026-01-14 15:56:48 -08:00
Timmy Welch
58016c6889 Fix output on startup and TERM signal 2026-01-10 14:06:19 -08:00

View File

@@ -125,15 +125,15 @@ func ExpandPath(path string) string {
}
func main2(cli cfg, c *config.SSHrimp) {
err := setupLoging(cli)
if err != nil {
log.Warnf("Error setting up logging: %v", err)
}
listener := openSocket(ExpandPath(c.Agent.Socket))
if listener == nil {
log.Errorln("Failed to open socket")
return
}
err := setupLoging(cli)
if err != nil {
log.Warnf("Error setting up logging: %v", err)
}
err = launchAgent(c, listener)
if err != nil {
log.Panic("Failed to launch agent", err)
@@ -156,6 +156,9 @@ func main() {
flag.Parse()
sshCommand := flag.Args()
if cli.Verbose {
logger.SetLevel(logrus.DebugLevel)
}
cfgFile := ExpandPath(cli.Config)
cfgFile, err = filepath.Abs(cfgFile)
@@ -175,7 +178,7 @@ func main() {
logger.Println("Launching agent")
main2(cli, c)
} else {
logger.Println("Attempting to start daemon")
logger.Debug("Attempting to start daemon")
var nullFile *os.File
nullFile, err = os.Open(os.DevNull)
if err != nil {
@@ -200,6 +203,7 @@ func main() {
panic(err)
}
nullFile.Close()
logger.Debugf("Agent started in the background check %s for logs", getLogDir())
}
if len(sshCommand) > 1 && filepath.Base(sshCommand[0]) == "ssh" {
syscall.Exec(sshCommand[0], sshCommand, os.Environ())
@@ -358,8 +362,9 @@ func launchAgent(c *config.SSHrimp, listener net.Listener) error {
osSignals := make(chan os.Signal, 10)
signal.Notify(osSignals, sigExit...)
go func() {
<-osSignals
listener.Close()
sig := <-osSignals
log.Infof("Recieved signal %v: closing", sig)
os.Exit(0)
}()
log.Traceln("Starting main loop")