@@ -190,7 +190,6 @@ func New(ops Options) (c *Client, err error) {
190190 // setup basic info
191191 c .Options = ops
192192 Debug (c .Options .Debug )
193- log .Debugf ("options: %+v" , c .Options )
194193
195194 if len (c .Options .SharedSecret ) < 6 {
196195 err = fmt .Errorf ("code is too short" )
@@ -712,9 +711,7 @@ func (c *Client) Send(filesInfo []FileInfo, emptyFoldersToTransfer []FileInfo, t
712711 log .Debugf ("[%+v] had error: %s" , conn , errConn .Error ())
713712 }
714713 err = json .Unmarshal (data , & dataMessage )
715- if err != nil {
716- log .Debugf ("dataMessage error unmarshalling: %v" , err )
717- } else {
714+ if err == nil {
718715 log .Debugf ("dataMessage: %s" , dataMessage )
719716 }
720717 // if kB not null, then use it to decrypt
@@ -934,62 +931,68 @@ func (c *Client) Receive() (err error) {
934931 if c .Options .TestFlag || (! usingLocal && ! c .Options .DisableLocal && ! isIPset ) {
935932 // ask the sender for their local ips and port
936933 // and try to connect to them
937- var A * pake.Pake
938- var data []byte
939- A , err = pake .InitCurve ([]byte (c .Options .SharedSecret [5 :]), 0 , c .Options .Curve )
940- if err != nil {
941- return err
942- }
943- dataMessage := SimpleMessage {
944- Bytes : A .Bytes (),
945- Kind : "pake1" ,
946- }
947- data , _ = json .Marshal (dataMessage )
948- if err = c .conn [0 ].Send (data ); err != nil {
949- log .Errorf ("dataMessage send error: %v" , err )
950- return
951- }
952- data , err = c .conn [0 ].Receive ()
953- if err != nil {
954- return
955- }
956- err = json .Unmarshal (data , & dataMessage )
957- if err != nil || dataMessage .Kind != "pake2" {
958- return fmt .Errorf ("dataMessage %s pake failed" , ipRequest )
959- }
960- err = A .Update (dataMessage .Bytes )
961- if err != nil {
962- return
963- }
964- var kA []byte
965- kA , err = A .SessionKey ()
966- if err != nil {
967- return
968- }
969- log .Debugf ("dataMessage kA: %x" , kA )
970934
971- // secure ipRequest
972- data , err = crypt .Encrypt ([]byte (ipRequest ), kA )
973- if err != nil {
974- return
975- }
976- log .Debug ("sending ips?" )
977- if err = c .conn [0 ].Send (data ); err != nil {
978- log .Errorf ("ips send error: %v" , err )
979- }
980- data , err = c .conn [0 ].Receive ()
981- if err != nil {
982- return
983- }
984- data , err = crypt .Decrypt (data , kA )
985- if err != nil {
986- return
987- }
988- log .Debugf ("ips data: %s" , data )
989935 var ips []string
990- if err = json .Unmarshal (data , & ips ); err != nil {
991- log .Debugf ("ips unmarshal error: %v" , err )
992- }
936+ err = func () (err error ) {
937+ var A * pake.Pake
938+ var data []byte
939+ A , err = pake .InitCurve ([]byte (c .Options .SharedSecret [5 :]), 0 , c .Options .Curve )
940+ if err != nil {
941+ return err
942+ }
943+ dataMessage := SimpleMessage {
944+ Bytes : A .Bytes (),
945+ Kind : "pake1" ,
946+ }
947+ data , _ = json .Marshal (dataMessage )
948+ if err = c .conn [0 ].Send (data ); err != nil {
949+ log .Errorf ("dataMessage send error: %v" , err )
950+ return
951+ }
952+ data , err = c .conn [0 ].Receive ()
953+ if err != nil {
954+ return
955+ }
956+ err = json .Unmarshal (data , & dataMessage )
957+ if err != nil || dataMessage .Kind != "pake2" {
958+ log .Debugf ("data: %s" , data )
959+ return fmt .Errorf ("dataMessage %s pake failed" , ipRequest )
960+ }
961+ err = A .Update (dataMessage .Bytes )
962+ if err != nil {
963+ return
964+ }
965+ var kA []byte
966+ kA , err = A .SessionKey ()
967+ if err != nil {
968+ return
969+ }
970+ log .Debugf ("dataMessage kA: %x" , kA )
971+
972+ // secure ipRequest
973+ data , err = crypt .Encrypt ([]byte (ipRequest ), kA )
974+ if err != nil {
975+ return
976+ }
977+ log .Debug ("sending ips?" )
978+ if err = c .conn [0 ].Send (data ); err != nil {
979+ log .Errorf ("ips send error: %v" , err )
980+ }
981+ data , err = c .conn [0 ].Receive ()
982+ if err != nil {
983+ return
984+ }
985+ data , err = crypt .Decrypt (data , kA )
986+ if err != nil {
987+ return
988+ }
989+ log .Debugf ("ips data: %s" , data )
990+ if err = json .Unmarshal (data , & ips ); err != nil {
991+ log .Debugf ("ips unmarshal error: %v" , err )
992+ }
993+ return
994+ }()
995+
993996 if len (ips ) > 1 {
994997 port := ips [0 ]
995998 ips = ips [1 :]
@@ -1085,6 +1088,7 @@ func (c *Client) transfer() (err error) {
10851088 }
10861089 done , err = c .processMessage (data )
10871090 if err != nil {
1091+ log .Debugf ("data: %s" , data )
10881092 log .Debugf ("got error processing: %v" , err )
10891093 break
10901094 }
0 commit comments