orignal
but it contains caps, s and i only
orignal
but endpoiunt comes with message
zzz
right. I do that. If that fails, then I send 65
orignal
so they right behaviour to let 5 go through
orignal
even if Alice doesn't expect incoming connections because unpublised
zzz
sure. otherwise firewalled routers couldn't do peer test at all
orignal
agree
orignal
will fix that part
zzz
:)
zzz
just make sure the caps has 4 or 6 or 46 if there's no host
orignal
yes, it's always there
zzz
I also found a SSU 1 bug where I wasn't putting MTU in firewalled/hidden addresses sometimes
orignal
almost forgot about mtu
orignal
need to implement it
orignal
checked my code I'm fine with unpublished address
orignal
I just set missing endpoint
orignal
but 70 is another story
orignal
lol. I send address in 6 and 7
RN
send all the addresses! LOL
RN
just kidding
orignal
how do we use address block in msg 6?
zzz
right now I ignore it
orignal
maybe we shouldn't send it at all
orignal
in my opinion it's another risk
orignal
an advesary can initiate a peer test to you
orignal
then send worng address in 6 and confuse you and let you believe you are behind a symmetric NAT
orignal
unlike other messages 6 is unsolicited
zzz
sure but charlie could also be an adversary for alice
zzz
if charlie does trust alice, it's a "free" peer test for charlie
orignal
but Alice is in peer testing stage
orignal
while Charlie is not
zzz
yup
orignal
Alice initaates peer test, even if Charlie send crap in 7 Alice will detect symmetric NAT and try somebody else
zzz
I wonder why I said it's required in 6...
zzz
doesn't hurt anything though
orignal
and I menationed only 7 )
orignal
if I'm an advesary I can easily bring whole network to "Symmetric NAT" state
orignal
if address block is handled in 6
zzz
hmm
orignal
<R4SAS> 18:07:16@781/debug - SSU2: PeerTest msg=4 code=69
orignal
where code 69 comes from and why>?
zzz
public static final int TEST_REJECT_CHARLIE_BANNED = 69;
orignal
yes I know what it means
orignal
but why his router was banned?
orignal
i2pd never sends 69
zzz
there's 10 or 20 different reasons why we could ban somebody.
zzz
if my router sent the 69, I can look
orignal
but what your code does?
zzz
if the router is banned, it sends a 69 :)
zzz
that's the whole reason we're sending hashes in the requests. so charlie can decide whether he wants to talk to alice or not
zzz
that's literally why we designed it this way
orignal
that's our question what's wrong with his router
zzz
did my router send the 69?
orignal
we don't know who was Charlie
orignal
69 came from Bob
orignal
good question
orignal
I should print Charlie's hash in case of error
orignal
since Bob sends Charlie's hash
zzz
is he BpAT?
orignal
gpUB is I remember
zzz
here's one where I sent a 69. BpAT is alice; gpUB is bob
orignal
and what was the reason for 69 in this case?
zzz
07-06 20:49:39.703 DEBUG [ handler 1/1] .transport.udp.PeerTestManager: Got peer test msg: 2 status: 0 hash: [Hash: BpATV4o2-r6~pbHjtleL5Qgo7Wn-5f1N6oGROvxyiEg=] nonce: 1505935422 time: Jul 6, 2022, 8:49 PM ip/port: [2001:470:1f12:e56:0:0:0:2]:24768 from [2001:470:1f13:e56:bee:0:0:1]:17981 gpUBQf OB2 recvAge: 11s sendAge: 11s sendAttemptAge: 12s sendACKAge: 2013ms lifetime: 10m RTT: 17 RTO: 1000 MTU: 1280 LMTU: 1500
zzz
cwin: 92560 acwin: 92560 SST: 524288 FRTX? false consecFail: 0 msgs rcvd: 45 msgs sent: 79 pkts rcvd OK/Dup: 125/0 pkts sent OK/Dup: 79/0 IBM: 0 OBQ: 0 OBL: 0 theyRelayToUsAs: 165483802 state: null
zzz
07-06 20:49:39.703 DEBUG [ handler 1/1] .transport.udp.PeerTestManager: Send msg 3 response 69 nonce 1505935422 to [2001:470:1f13:e56:bee:0:0:1]:17981 gpUBQf OB2 recvAge: 11s sendAge: 11s sendAttemptAge: 12s sendACKAge: 0ms lifetime: 10m RTT: 17 RTO: 1000 MTU: 1280 LMTU: 1500 cwin: 92560 acwin: 92560 SST: 524288 FRTX? false consecFail: 0 msgs rcvd: 45 msgs sent: 79 pkts rcvd OK/Dup: 125/0 pkts sent OK/Dup: 79/0 IBM: 0
zzz
OBQ: 0 OBL: 0 theyRelayToUsAs: 165483802
zzz
I don't know. it appears it was temporary
zzz
I see a lot of errors with BpAT - retransmissions, bad conn ids, ...
orignal
strange
zzz
I don't think you've fixed all your ack problems yet. All my failures where I never get an ack back after 4 retransmissions are from i2pd
zzz
BpAT, kyY2, ImQC, 2RRY, CDFn, bAU~, xZ9n, ...
zzz
we have to focus on the basics. sending messages and sending acks. peer test and relay can wait
orignal
let me check
orignal
do you have an example of Ack with missing messages