diff --git a/main.go b/main.go index 1cbe94b..4922e33 100644 --- a/main.go +++ b/main.go @@ -35,10 +35,6 @@ var ( serverName string ) -func init() { - -} - //Main -- main entry point func main() { flag.Parse() @@ -56,10 +52,10 @@ func main() { wssHostName = viper.Get("rvpn.wssdomain").(string) adminHostName = viper.Get("rvpn.admindomain").(string) argGenericBinding = viper.GetInt("rvpn.genericlistener") - deadtime := viper.Get("rvpn.deadtime") - idle = deadtime.(map[string]interface{})["idle"].(int) - dwell = deadtime.(map[string]interface{})["dwell"].(int) - cancelcheck = deadtime.(map[string]interface{})["cancelcheck"].(int) + deadtime := viper.Get("rvpn.deadtime").(map[string]interface{}) + idle = deadtime["idle"].(int) + dwell = deadtime["dwell"].(int) + cancelcheck = deadtime["cancelcheck"].(int) lbDefaultMethod = viper.Get("rvpn.loadbalancing.defaultmethod").(string) serverName = viper.Get("rvpn.serverName").(string) diff --git a/rvpn/genericlistener/conn_wedge.go b/rvpn/genericlistener/conn_wedge.go index 6a61bf4..8cd7d8f 100644 --- a/rvpn/genericlistener/conn_wedge.go +++ b/rvpn/genericlistener/conn_wedge.go @@ -55,13 +55,12 @@ func (w *WedgeConn) Buffered() int { //PeekAll -- // - get all the chars available // - pass then back -func (w *WedgeConn) PeekAll() (buf []byte, err error) { - - _, err = w.Peek(1) - if err != nil { +func (w *WedgeConn) PeekAll() ([]byte, error) { + // We first peek with 1 so that if there is no buffered data the reader will + // fill the buffer before we read how much data is buffered. + if _, err := w.Peek(1); err != nil { return nil, err } - buf, err = w.Peek(w.Buffered()) - return + return w.Peek(w.Buffered()) }