From 028e88e6287337eec805e772d90bd817cf4f48f5 Mon Sep 17 00:00:00 2001 From: brl Date: Tue, 15 Dec 2015 03:43:56 +0000 Subject: [PATCH] Use system bus --- dbus.go | 21 ++------------------- main.go | 7 +------ 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/dbus.go b/dbus.go index 2a5ae77..d583fe2 100644 --- a/dbus.go +++ b/dbus.go @@ -3,10 +3,7 @@ package main import ( "errors" "fmt" - "os" - "runtime" "strings" - "syscall" "github.com/godbus/dbus" "github.com/godbus/dbus/introspect" @@ -31,26 +28,12 @@ type dbusServer struct { prompter *prompter } -func dbusConnect() (*dbus.Conn, error) { - // https://github.com/golang/go/issues/1435 - runtime.LockOSThread() - syscall.Setresuid(-1, 1000, 0) - - conn, err := dbus.SessionBus() +func newDbusServer() (*dbusServer, error) { + conn, err := dbus.SystemBus() if err != nil { return nil, err } - syscall.Setresuid(0, 0, -1) - runtime.UnlockOSThread() - - if os.Geteuid() != 0 || os.Getuid() != 0 { - log.Warning("Not root as expected") - os.Exit(0) - } - return conn, nil -} -func newDbusServer(conn *dbus.Conn) (*dbusServer, error) { reply, err := conn.RequestName(busName, dbus.NameFlagDoNotQueue) if err != nil { return nil, err diff --git a/main.go b/main.go index 331870c..53e9099 100644 --- a/main.go +++ b/main.go @@ -64,12 +64,7 @@ func main() { setupIPTables() - dbus, err := dbusConnect() - if err != nil { - log.Error(err.Error()) - os.Exit(1) - } - ds, err := newDbusServer(dbus) + ds, err := newDbusServer() if err != nil { log.Error(err.Error()) os.Exit(1)