Skip to content

Commit 518877f

Browse files
committed
ipn/yegor: m detailed err and logs on Update
1 parent 6e5e695 commit 518877f

File tree

1 file changed

+26
-19
lines changed

1 file changed

+26
-19
lines changed

intra/ipn/rpn/yegor.go

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1423,34 +1423,41 @@ func genWgConfs(h *http.Client, existingCreds *WsWgCreds, sess *WsSession, serve
14231423

14241424
tokst := "sess-" + tokenState(bearer)
14251425

1426+
runkey := 0
14261427
keyed := 0
14271428
keyagain:
14281429
useExistingCreds := existingCreds != nil && keyed == 0
1430+
runkey += 1
14291431

14301432
var priv x.WgKey
14311433
if !useExistingCreds {
14321434
var err error
14331435
priv, err = x.NewWgPrivateKey()
14341436
if err != nil {
1435-
return nil, nil, log.EE("ws: wgconfs: gen key err: %v", err)
1437+
return nil, nil, log.EE("ws: wgconfs: gen key #%d err: %v", runkey, err)
14361438
}
14371439
} else {
14381440
var err error
14391441
// use the existing key, which is already registered
14401442
priv, err = x.NewWgPrivateKeyOf(existingCreds.PrivateKey)
14411443
if err != nil {
1442-
return nil, nil, log.EE("ws: wgconfs: existing key err: %v", err)
1444+
return nil, nil, log.EE("ws: wgconfs: existing key #%d err: %v", runkey, err)
14431445
}
14441446
}
14451447
pub := priv.Mult()
14461448
pubkeybase64 := pub.Base64()
14471449

1448-
log.I("ws: wgconfs: gen creds: pubkey: %s, existing key? %t", trunc8(pubkeybase64), useExistingCreds)
1450+
log.I("ws: wgconfs: gen creds: pubkey: %s, existing key #%d? %t", trunc8(pubkeybase64), runkey, useExistingCreds)
14491451

14501452
force := "0" // reset to 0, if force init is not needed
14511453

1454+
runinit := 0
14521455
initagain:
14531456
keyNeedsInit := !useExistingCreds || force == "1"
1457+
runinit += 1
1458+
1459+
details := fmt.Sprintf("pub: %s, keyed#%d? %t; usingExisting#%d? %t; forceinit? %t",
1460+
trunc8(pubkeybase64), runkey, keyNeedsInit, runinit, useExistingCreds, force == "1")
14541461

14551462
var creds *WsWgCreds
14561463
if keyNeedsInit {
@@ -1465,20 +1472,20 @@ initagain:
14651472
u := baseurl(test, cid, ent.Did).JoinPath(wswginitpath)
14661473
initreq, err := http.NewRequest("POST", u.String(), strings.NewReader(initdata.Encode()))
14671474
if err != nil {
1468-
return nil, nil, log.EE("ws: wgconfs: req err: %v", err)
1475+
return nil, nil, log.EE("ws: wgconfs: %s req err: %v", details, err)
14691476
}
14701477
initreq.Header.Set("Content-Type", "application/x-www-form-urlencoded")
14711478
authHeader(initreq, bearer)
14721479
didHeader(initreq, ent.DidToken)
14731480

14741481
if settings.Debug {
1475-
log.V("ws: wgconfs: init req: %s; tok %s; force %s", u.String(), tokst, force)
1482+
log.V("ws: wgconfs: %s init req: %s; tok %s; force %s", details, u.String(), tokst, force)
14761483
}
14771484

14781485
initres, err := h.Do(initreq)
14791486

14801487
if err != nil || initres == nil {
1481-
return nil, nil, log.EE("ws: wgconfs: res err (nil? %t / tok? %s): %v", initres == nil, tokst, err)
1488+
return nil, nil, log.EE("ws: wgconfs: %s res err (nil? %t / tok? %s): %v", details, initres == nil, tokst, err)
14821489
}
14831490
updateDidTokenIfNeeded(ent, initres)
14841491

@@ -1487,12 +1494,12 @@ initagain:
14871494
core.Close(initres.Body)
14881495
if wserr != nil && wserr.Code == ekeylimit {
14891496
if force != "1" {
1490-
log.I("ws: wgconfs: redo init with force for %s; err: %v", trunc8(pubkeybase64), err)
1497+
log.I("ws: wgconfs: redo init with force %s; err: %v", details, err)
14911498
force = "1"
14921499
goto initagain
14931500
}
14941501
}
1495-
log.E("ws: wgconfs: init %s, force? %t, err: %v", trunc8(pubkeybase64), force == "1", err)
1502+
log.E("ws: wgconfs: init %s; err: %v", details, err)
14961503
return nil, nil, err
14971504
}
14981505

@@ -1507,7 +1514,7 @@ initagain:
15071514
d := wgCreds.Data
15081515
creds = &d.Config
15091516
if d.Success != 1 {
1510-
return nil, nil, log.EE("ws: wgconfs: success != 1; debug: %v", d.Debug)
1517+
return nil, nil, log.EE("ws: wgconfs: %s success != 1; debug: %v", details, d.Debug)
15111518
}
15121519
if len(d.Config.PrivateKey) <= 0 { // private key is generated locally (by the client)
15131520
d.Config.PrivateKey = priv.Base64()
@@ -1522,10 +1529,10 @@ initagain:
15221529
}
15231530

15241531
if creds == nil || len(creds.PublicKey) <= 0 || len(creds.PrivateKey) <= 0 {
1525-
return nil, nil, log.EE("ws: wgconfs: missing pub/priv creds for %s, useExisting? %t", trunc8(pubkeybase64), useExistingCreds)
1532+
return nil, nil, log.EE("ws: wgconfs: missing pub/priv creds %s", details)
15261533
}
15271534

1528-
log.I("ws: wgconfs: got creds for %s, usingExisting? %t", trunc8(pubkeybase64), useExistingCreds)
1535+
log.I("ws: wgconfs: got creds;" + details)
15291536

15301537
someEndpoint := fixedValidWsEndpoint(test)
15311538
// github.com/Windscribe/Android-App/blob/746d505dc69/base/src/main/java/com/windscribe/vpn/backend/utils/WindVpnController.kt#L159
@@ -1546,19 +1553,19 @@ initagain:
15461553
u := baseurl(test, cid, ent.Did).JoinPath(wswgconnectpath)
15471554
creq, err := http.NewRequest("POST", u.String(), strings.NewReader(cdata.Encode()))
15481555
if err != nil {
1549-
return nil, nil, log.EE("ws: wgconfs: connect req err: %v", err)
1556+
return nil, nil, log.EE("ws: wgconfs: %s connect req err: %v", details, err)
15501557
}
15511558
creq.Header.Set("Content-Type", "application/x-www-form-urlencoded")
15521559
authHeader(creq, sess.SessionToken)
15531560
didHeader(creq, ent.DidToken)
15541561

15551562
if settings.Debug {
1556-
log.V("ws: wgconfs: connect req: %s tok %s", u.String(), tokst)
1563+
log.V("ws: wgconfs: %s connect req: %s tok %s", details, u.String(), tokst)
15571564
}
15581565

15591566
cres, err := h.Do(creq)
15601567
if err != nil || cres == nil {
1561-
return nil, nil, log.EE("ws: wgconfs: connect res err (nil? %t / tok? %s): %v", cres == nil, tokst, err)
1568+
return nil, nil, log.EE("ws: wgconfs: %s connect res err (nil? %t / tok? %s): %v", details, cres == nil, tokst, err)
15621569
}
15631570
updateDidTokenIfNeeded(ent, cres)
15641571
if cres.StatusCode != http.StatusOK {
@@ -1577,26 +1584,26 @@ initagain:
15771584
_, err = wsRes(cres, &wgConnect, "wgconfs")
15781585
defer core.Close(cres.Body)
15791586
if err != nil {
1580-
return nil, nil, log.EE("ws: wgconfs: connect res err: %v", err)
1587+
return nil, nil, log.EE("ws: wgconfs: %s connect res err: %v", details, err)
15811588
}
15821589

15831590
if wgConnect.Data.Success != 1 {
1584-
return nil, nil, log.EE("ws: wgconfs: connect success != 1; debug: %v", wgConnect.Data.Debug)
1591+
return nil, nil, log.EE("ws: wgconfs: %s connect success != 1; debug: %v", details, wgConnect.Data.Debug)
15851592
}
15861593

15871594
if len(wgConnect.Data.Config.Address) <= 0 || len(wgConnect.Data.Config.DNS) <= 0 {
1588-
return nil, nil, log.EE("ws: wgconfs: connect missing config; debug: %v", wgConnect.Data.Debug)
1595+
return nil, nil, log.EE("ws: wgconfs: %s connect missing config; debug: %v", details, wgConnect.Data.Debug)
15891596
}
15901597

15911598
// TODO: if wgconnect.Data.Config.Address has not changed and useExistingCreds is true,
15921599
// then we do not have to generate regional configs again (unless location hash has changed).
15931600
regconfs, err := convertToRegionalWgConfs(creds, &wgConnect.Data, servers, test)
15941601

15951602
if err != nil || len(regconfs) <= 0 {
1596-
return nil, nil, log.EE("ws: wgconfs: (test? %t) no regions found for %s; %v", test, trunc8(pubkeybase64), err)
1603+
return nil, nil, log.EE("ws: wgconfs: (test? %t) no regions found %s; %v", test, details, err)
15971604
}
15981605

1599-
log.I("ws: wgconfs: (test? %t / tok? %s) found %d regions for %s", test, tokst, len(regconfs), trunc8(pubkeybase64))
1606+
log.I("ws: wgconfs: (test? %t / tok? %s) found %d regions %s", test, tokst, len(regconfs), details)
16001607
return creds, regconfs, nil
16011608
}
16021609

0 commit comments

Comments
 (0)