IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#ls2
/2022/07/16
orignal tXc6 and kyY2. same IP?
zzz yes, same IP
orignal I thought maybe my bug
zzz failures last 19 hours:
zzz 22 sQ8dVd
zzz 16 ImQCa~
zzz 14 ~GIB3b
zzz 6 gpUBQf
zzz 3 -Ym2vN
zzz 1 tXc6dH
zzz 1 NeDf74
zzz 1 kyY2Tx
zzz 1 iNmqNX
zzz 1 CEFnjX
zzz 1 cdoFbN
zzz 1 BpATV4
zzz 1 bAU~6X
zzz 1 2RRYXk
orignal I have see error 68 on cdoF
orignal stange thing is that ImQC works fine for me
orignal I don't see any failures with it
zzz I'm still testing with fragmented RI, max size fragment, in session confirmed. Are you?
orignal the same
orignal 2RRY should send freagmented SessionConfirmed
zzz please verify what size the first fragment is
zzz when sending to ImQC
orignal should be max payload size -48
orignal payload size is MTU - 40 -8 for ipv6
orignal -32 for header and tag for payload aead
orignal 48 is size of part1
zzz v4 or v6 or both are working?
orignal ipv4 is rare
zzz and you're using the ImQC advertised MTU of 1480 for v6
orignal but seen it at xZ9n
zzz so you're sending 1480 byte first fragment? please confirm
orignal I use minimal MTU between my anr peer
orignal let me check
zzz just tell me what size you're sending
orignal I adjust MTU after receinv SessionCreated or session confirmed
zzz because I'm sending 1472 and it doesn't work
orignal size is 1400 - 48
zzz 1352?
orignal but I decrement it by random value from 0 to 16
zzz He's advertising 1480. I'm sending 1472 and it doesn't work
zzz HE address
orignal 1472 is what?
orignal fragment size?
zzz the size of the packet containing the first session confirmed fragment
orignal as I said maybe he has old build
orignal that can't recieve a packet of 1472
orignal I have fixed it two days ago
zzz can't be more than a day or two. he's advertising SSU2 MTU
orignal but I have commited later
orignal let me show
zzz I saw it
zzz so let's find the guy running ImQC and talk to him
orignal what country is it?
orignal Russia?
orignal also ygg address
orignal maybe HidUser0 ?
HidUser0 After i2pd segmentation fault i am not using SSU2
orignal fixed already
HidUser0 got it
orignal -Akx: 81.7.18.46 => [1260:1064]
orignal to xZ9n
orignal conencted fine
zzz you want to investigate the 2RRY failure?
orignal what's with it?
orignal it was only one or you see more?
zzz 1 in last 19 hours, see chart above ^^^
orignal I will check the log
orignal have to go for now
zzz 2:42:53 AM today our time
R4SAS updated my routers
orignal thanks will check
orignal SSU2: Unexpected message type 99 instead 2
orignal SSU2: Unexpected message type 185 from [2a02:180:2:92:92:92:11:15]:16799
orignal same old story
orignal seems you didn't receive my ack and try SessionConfirmed again
zzz same old question then, did you get my 4 data messages and ack them?
zzz you should have gotten _10_ packets after the session confirmed: 3 retransmitted session confirmed (2 pkts each) and 4 data packets (orignal + 3 retransmitted)
zzz how many did you see, and what sizes?
orignal I got first sessionconfirmed then sent ack
zzz you should see 10 packets after that in the next 10 seconds. actually 11, including the termination
orignal no I didn't see anything else
zzz ^^ you listed two above.
zzz you have the sizes?
orignal sorry, 4 more from you
orignal I will start printing sizes
orignal 6 totatlly
orignal let me investigate
orignal defiently it's wrong state
orignal and keys
orignal looks like I didn't receive SessionConfirmed from you
orignal when you start sending data do you wait for ack from me?
zzz no, spec says you immediately send data after session confirmed
zzz if we waited that would be another RTT
zzz again, I sent two session confirmed packets, then 10 more: 6 session confirmed retx, one data, 3 data retx
orignal so, can I assume that
orignal <orignal> SSU2: Unexpected message type 99 instead 2
orignal is a data message?
orignal let me forumate differently
orignal is it possible to receive data message instead session confirmed?
orignal e.g. I expect session confirmed it was lost on the way
orignal and I receive data
zzz of course.
orignal I do it differently in i2pd
orignal I don't send data until I receive ack for sessionconfrimed
orignal and keep resending sessionconfirmed
zzz packets may be lost or reordered
zzz I'm retransmitting 3 things at once:
zzz session confirmed fragment 1
zzz session confirmed fragment 2
zzz data packet
orignal I defintly receive data while expect sessionconfirmed
zzz that's not what the spec says, and it's inefficient because you're wasting a RTT waiting for the ack
zzz can you handle session confirmed fragments in either order?
orignal no sure
zzz not sure?
orignal if I receive second fragment I wait for first
orignal but what is with RTT?>
orignal you lose it during hanshake only
zzz if you wait for ack of sess confirmed before sending data, that's an extra RTT of delay
zzz we specifically designed SSU2 to NOT have that extra RTT
zzz it's very important to minimize session setup time
orignal fine I will change it
orignal it's clear now what's the problem
zzz not clear to me )) please explain
orignal I recognize wrong message and try to terminate a session immediately
orignal assuming (wrongly) that I'm supposed to receive SessionCreated only in this state
orignal *SessionConfirmed
zzz ok so one fragment of session confirmed is lost or reordered, you get data message, can't decrypt, and terminate the whole thing?
orignal when I receceive somthing that is not SessionConfirmed I assume that the session is malfuctioning
zzz ok that makes sense
orignal it a fragment is lost it's a problem
orignal I will wait for it's restransmission
orignal that problem is Data
orignal and what I'm supposed to do with that data packets? drop them?
orignal since I don't know they are data packet
orignal because I don't have keys yet
zzz what the spec says (and what I do), is if you haven't received session confirmed yet, and you get an undecryptable packet, queue it
zzz once you get session confirmed, try to decrypt everything in the queue
orignal will try to implement it this way
orignal later
orignal let me just drop them first
zzz spec says it's optional, but I think it's working for me
orignal it's fine but let me fix it first
zzz yup
zzz <orignal> if I receive second fragment I wait for first
zzz but are you saving the second fragment?
orignal no ))
orignal not implemneted yet
zzz you should do that too :)
orignal I know
orignal can't do everything at the time ))
zzz in general, don't fail a session at any point based on an unexpected message type, just throw out the packet, to prevent packet injection attacks
orignal good point
orignal but it's about session confirmed only
orignal btw, tell me how to make long RI?
orignal just add some long param?
orignal want to try it
zzz spec section "Session Confirmed Fragmentation"
zzz oh, you mean for testing?
zzz look at ~Akx, you will see :)
zzz oh, you mean for testing?
zzz look at ~Akx, you will see :)
orignal will do
orignal want to publish fragmented SessionConfirgme
orignal commited
orignal should handle SessionConfirmed properly
orignal zzz, Orion said that ImQC is his
orignal another funny thing I limit param by 255 characters ))
orignal hence I can't add so long param
zzz they are less than 255
zzz they can't be more, because of the Mapping encoding length is 1 byte
orignal x is long
orignal I see x, y, z
zzz x is about 180 chards
zzz it's impossible to be > 255
orignal yes I see now