@@ -190,7 +190,6 @@ func New(ops Options) (c *Client, err error) {
190
190
// setup basic info
191
191
c .Options = ops
192
192
Debug (c .Options .Debug )
193
- log .Debugf ("options: %+v" , c .Options )
194
193
195
194
if len (c .Options .SharedSecret ) < 6 {
196
195
err = fmt .Errorf ("code is too short" )
@@ -712,9 +711,7 @@ func (c *Client) Send(filesInfo []FileInfo, emptyFoldersToTransfer []FileInfo, t
712
711
log .Debugf ("[%+v] had error: %s" , conn , errConn .Error ())
713
712
}
714
713
err = json .Unmarshal (data , & dataMessage )
715
- if err != nil {
716
- log .Debugf ("dataMessage error unmarshalling: %v" , err )
717
- } else {
714
+ if err == nil {
718
715
log .Debugf ("dataMessage: %s" , dataMessage )
719
716
}
720
717
// if kB not null, then use it to decrypt
@@ -934,62 +931,68 @@ func (c *Client) Receive() (err error) {
934
931
if c .Options .TestFlag || (! usingLocal && ! c .Options .DisableLocal && ! isIPset ) {
935
932
// ask the sender for their local ips and port
936
933
// 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 )
970
934
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 )
989
935
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
+
993
996
if len (ips ) > 1 {
994
997
port := ips [0 ]
995
998
ips = ips [1 :]
@@ -1085,6 +1088,7 @@ func (c *Client) transfer() (err error) {
1085
1088
}
1086
1089
done , err = c .processMessage (data )
1087
1090
if err != nil {
1091
+ log .Debugf ("data: %s" , data )
1088
1092
log .Debugf ("got error processing: %v" , err )
1089
1093
break
1090
1094
}
0 commit comments