From 69ffcc39c63f4a9a192082da71eea6b06a1e75d7 Mon Sep 17 00:00:00 2001 From: Yawning Angel Date: Mon, 1 Jun 2015 16:15:35 +0000 Subject: Delay transport initialization till after logging has been setup. --- ChangeLog | 2 ++ obfs4proxy/obfs4proxy.go | 4 ++++ transports/transports.go | 11 +++++------ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 15de989..774be88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,6 @@ Changes in version 0.0.6 - UNRELEASED: + - Delay transport factory initialization till after logging has been + initialized. Changes in version 0.0.5 - 2015-04-15: - Go vet/fmt fixes, and misc. code cleanups. Patches by mvdan. diff --git a/obfs4proxy/obfs4proxy.go b/obfs4proxy/obfs4proxy.go index 5f7f171..a817583 100644 --- a/obfs4proxy/obfs4proxy.go +++ b/obfs4proxy/obfs4proxy.go @@ -347,6 +347,10 @@ func main() { if err = log.Init(*enableLogging, path.Join(stateDir, obfs4proxyLogFile), *unsafeLogging); err != nil { golog.Fatalf("[ERROR]: %s - failed to initialize logging", execName) } + if err = transports.Init(); err != nil { + log.Errorf("%s - failed to initialize transports: %s", execName, err) + os.Exit(-1) + } log.Noticef("%s - launched", getVersion()) diff --git a/transports/transports.go b/transports/transports.go index ba4e099..e35673b 100644 --- a/transports/transports.go +++ b/transports/transports.go @@ -41,7 +41,7 @@ import ( ) var transportMapLock sync.Mutex -var transportMap map[string]base.Transport +var transportMap map[string]base.Transport = make(map[string]base.Transport) // Register registers a transport protocol. func Register(transport base.Transport) error { @@ -81,13 +81,12 @@ func Get(name string) base.Transport { return t } -func init() { - // Initialize the transport list. - transportMap = make(map[string]base.Transport) - - // Register all the currently supported transports. +// Init initializes all of the integrated transports. +func Init() error { Register(new(obfs2.Transport)) Register(new(obfs3.Transport)) Register(new(obfs4.Transport)) Register(new(scramblesuit.Transport)) + + return nil } -- cgit v1.2.3