@@ -75,7 +75,7 @@ type HopServer struct {
75
75
76
76
func NewServer (cfg HopServerConfig ) error {
77
77
var err error
78
- logger .Debug ("%v" , cfg )
78
+ logger .Debug (cfg )
79
79
80
80
cipher , err = newHopCipher ([]byte (cfg .Key ))
81
81
if err != nil {
@@ -188,12 +188,14 @@ func (srv *HopServer) listenAndServe(addr string, port string, idx int) {
188
188
port = addr + ":" + port
189
189
udpAddr , err := net .ResolveUDPAddr ("udp" , port )
190
190
if err != nil {
191
- logger .Error ("Invalid port: %s " , port )
191
+ logger .Error ("Invalid port:" , port )
192
192
return
193
193
}
194
194
udpConn , err := net .ListenUDP ("udp" , udpAddr )
195
195
if err != nil {
196
- logger .Error ("Failed to listen udp port %s: %s" , port , err .Error ())
196
+ logger .Error (
197
+ fmt .Sprintf ("Failed to listen udp port %s: %s" , port , err .Error ()),
198
+ )
197
199
return
198
200
}
199
201
@@ -261,7 +263,9 @@ func (srv *HopServer) forwardFrames() {
261
263
if hpeer , found := srv .peers [mkey ]; found {
262
264
srv .bufferToClient (hpeer , pack )
263
265
} else {
264
- logger .Warning ("client peer with key %d not found" , mkey )
266
+ logger .Warning (
267
+ fmt .Sprintf ("client peer with key %d not found" , mkey ),
268
+ )
265
269
}
266
270
267
271
case packet := <- srv .fromNet :
@@ -274,17 +278,23 @@ func (srv *HopServer) forwardFrames() {
274
278
func (srv * HopServer ) handlePacket (packet * udpPacket ) {
275
279
defer func () {
276
280
if err := recover (); err != nil {
277
- logger .Error ("handleFunction failed: %v, packet addr:%v" , err , packet .addr )
281
+ logger .Error (
282
+ fmt .Sprintf ("handleFunction failed: %v, packet addr:%v" , err , packet .addr ),
283
+ )
278
284
}
279
285
}()
280
286
281
287
hPack , err := unpackHopPacket (packet .data )
282
288
if err == nil {
283
- logger .Debug ("New UDP Packet [%v] from : %v" , hPack .Flag , packet .addr )
289
+ logger .Debug (
290
+ fmt .Sprintf ("New UDP Packet [%v] from : %v" , hPack .Flag , packet .addr ),
291
+ )
284
292
if handle_func , ok := srv .pktHandle [hPack .Flag ]; ok {
285
293
handle_func (packet , hPack )
286
294
} else {
287
- logger .Error ("Unkown flag: %x" , hPack .Flag )
295
+ logger .Error (
296
+ fmt .Sprintf ("Unkown flag: %x" , hPack .Flag ),
297
+ )
288
298
}
289
299
} else {
290
300
logger .Error (err .Error ())
@@ -298,7 +308,7 @@ func (srv *HopServer) toClient(peer *HopPeer, flag byte, payload []byte, noise b
298
308
hp .payload = payload
299
309
300
310
if addr , idx , ok := peer .addr (); ok {
301
- logger .Debug ("peer: %v " , addr )
311
+ logger .Debug ("peer:" , addr )
302
312
upacket := & udpPacket {addr , hp .Pack (), idx }
303
313
srv .toNet [idx ] <- upacket
304
314
} else {
@@ -337,7 +347,9 @@ func (srv *HopServer) bufferToClient(peer *HopPeer, buf []byte) {
337
347
338
348
func (srv * HopServer ) handleKnock (u * udpPacket , hp * HopPacket ) {
339
349
sid := uint64 (binary .BigEndian .Uint32 (hp .payload [:4 ]))
340
- logger .Debug ("port knock from client %v, sid: %d" , u .addr , sid )
350
+ logger .Debug (
351
+ fmt .Sprintf ("port knock from client %v, sid: %d" , u .addr , sid ),
352
+ )
341
353
sid = (sid << 32 ) & uint64 (0xFFFFFFFF00000000 )
342
354
343
355
hpeer , ok := srv .peers [sid ]
@@ -369,7 +381,9 @@ func (srv *HopServer) handleHeartbeatAck(u *udpPacket, hp *HopPacket) {
369
381
func (srv * HopServer ) handleHandshake (u * udpPacket , hp * HopPacket ) {
370
382
sid := uint64 (binary .BigEndian .Uint32 (hp .payload [:4 ]))
371
383
sid = (sid << 32 ) & uint64 (0xFFFFFFFF00000000 )
372
- logger .Debug ("handshake from client %v, sid: %d" , u .addr , sid )
384
+ logger .Debug (
385
+ fmt .Sprintf ("handshake from client %v, sid: %d" , u .addr , sid ),
386
+ )
373
387
374
388
hpeer , ok := srv .peers [sid ]
375
389
if ! ok {
@@ -393,7 +407,9 @@ func (srv *HopServer) handleHandshake(u *udpPacket, hp *HopPacket) {
393
407
buf .WriteByte (byte (mask ))
394
408
key := ip4_uint64 (hpeer .ip )
395
409
396
- logger .Debug ("assign address %s, route key %d" , cltIP , key )
410
+ logger .Debug (
411
+ fmt .Sprintf ("assign address %s, route key %d" , cltIP , key ),
412
+ )
397
413
srv .peers [key ] = hpeer
398
414
atomic .StoreInt32 (& hpeer .state , HOP_STAT_HANDSHAKE )
399
415
srv .toClient (hpeer , HOP_FLG_HSH | HOP_FLG_ACK , buf .Bytes (), true )
@@ -431,11 +447,13 @@ func (srv *HopServer) handleHandshakeAck(u *udpPacket, hp *HopPacket) {
431
447
return
432
448
}
433
449
logger .Debug ("Client Handshake Done" )
434
- logger .Info ("Client %d Connected" , sid )
450
+ logger .Info (
451
+ fmt .Sprintf ("Client %d Connected" , sid ),
452
+ )
435
453
if ok = atomic .CompareAndSwapInt32 (& hpeer .state , HOP_STAT_HANDSHAKE , HOP_STAT_WORKING ); ok {
436
454
hpeer .hsDone <- struct {}{}
437
455
} else {
438
- logger .Warning ("Invalid peer state: %v " , hpeer .ip )
456
+ logger .Warning ("Invalid peer state:" , hpeer .ip )
439
457
srv .kickOutPeer (sid )
440
458
}
441
459
}
@@ -455,7 +473,9 @@ func (srv *HopServer) handleDataPacket(u *udpPacket, hp *HopPacket) {
455
473
func (srv * HopServer ) handleFinish (u * udpPacket , hp * HopPacket ) {
456
474
sid := uint64 (binary .BigEndian .Uint32 (hp .payload [:4 ]))
457
475
sid = (sid << 32 ) & uint64 (0xFFFFFFFF00000000 )
458
- logger .Info ("releasing client %v, sid: %d" , u .addr , sid )
476
+ logger .Info (
477
+ fmt .Sprintf ("releasing client %v, sid: %d" , u .addr , sid ),
478
+ )
459
479
460
480
srv .deletePeer (sid )
461
481
}
@@ -528,7 +548,9 @@ func (srv *HopServer) peerTimeoutWatcher() {
528
548
if sid < 0x01 << 32 {
529
549
continue
530
550
}
531
- logger .Debug ("IP: %v, sid: %v" , hpeer .ip , sid )
551
+ logger .Debug (
552
+ fmt .Sprintf ("IP: %v, sid: %v" , hpeer .ip , sid ),
553
+ )
532
554
srv .toClient (hpeer , HOP_FLG_PSH , []byte {}, false )
533
555
}
534
556
// count := 0
@@ -537,14 +559,18 @@ func (srv *HopServer) peerTimeoutWatcher() {
537
559
if sid < 0x01 << 32 {
538
560
continue
539
561
}
540
- logger .Debug ("watch: %v" , hpeer .lastSeenTime )
562
+ logger .Debug (
563
+ fmt .Sprintf ("watch: %v" , hpeer .lastSeenTime ),
564
+ )
541
565
// if sid>>32 > 0 {
542
566
// count++
543
567
// }
544
568
conntime := time .Since (hpeer .lastSeenTime )
545
569
// logger.Debug("watch:%v %v", conntime.Seconds(), timeout.Seconds())
546
570
if conntime > timeout {
547
- logger .Info ("peer %v timeout" , hpeer .ip )
571
+ logger .Info (
572
+ fmt .Sprintf ("peer %v timeout" , hpeer .ip ),
573
+ )
548
574
go srv .kickOutPeer (sid )
549
575
}
550
576
}
0 commit comments