IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2025/06/30
~dr|z3d
@RN
@RN_
@T3s|4
@eyedeekay
@postman
@zzz
%Liorar
%acetone
%cumlord
%snex
+FreefallHeavens
+Leopold
+Xeha
+ardu
+bak83
+hk
+mareki2p
+profetikla
+qend-irc2p
+r00tobo
+uop23ip
Arch
BubbRubb
Danny
DeltaOreo
FreeRider
HowardPlayzOfAdmin
Irc2PGuest44301
Irc2PGuest56179__
Irc2PGuest73758
Meow
Onn4l7h
Onn4|7h
T3s|4__
anontor
boonst
evasiveStillness
l337
not_bob_afk
not_human
pisslord
poriori_
r00tobo[2]
shiver_
simprelay
solidx66
thetia
u5657
weko_
zer0bitz
mareki2p Hi, I did some programming after some time, and I figured some (interesting?) router behavior (java, non-plus). When I create my new app that connects via I2CP, I can create a session. The router sends me (among request lease set) a SetDate message from time to time. Exactly 1x per 10minutes. I can also create new sub-session inside this single I2CP connection. So far so good. But then, the router will send me
mareki2p 2 SetDate messages every 10minutes. They arrive exactly at the same moment and they contain exactly the same server time. Even the SetDate is not intended to be per-session as it does not contain any session id. So, is this an oversight in server logic? Is it considered wasteful to send exactly the same message twice?
zzz sounds like a bug
dr|z3d some tweaks to the /tracker page.. I'll host the code on git.skank when I've finished. drop.i2p/paste/174186be89e54230b99129d6b4ffc8a2
dr|z3d tracker urls also lose the href, retaining the same styling, but are now click to select all. doesn't make sense having hrefs there.
orignal when should I send SetDate through I2CP?
mareki2p i2pd does not send SetDate I2CP messages just willy-nilly, it sends it upon request from client, when it asks via GetDate message, usually only at I2CP connection startup, Java router sends them whenever they want, without being asked for them, it is exactly (up to 10ms) 1x per 10minutes, it is mentioned somewhere in the docs
mareki2p 0.9.20 Additional SetDate messages may be sent to the client at any time
mareki2p Additional SetDate messages will not be sent to clients in the same JVM.
orignal i2pd doesn't send at all
orignal that's why I'm asking
mareki2p Yes, i2pd does send SetDate message, single message, at the start of I2CP communication. It does not send the server version field in that message, but it does send it.
orignal I mean periodially nit during handshake
zzz oooh you don't return your version? that's bad, it means we can't use host lookup
zzz can you fix that please orignal ?
mareki2p Do clients require that string? Do they act upon it? First time I read the docs few months ago I was a lot confused, because I was expecting separate I2CP version number from Java Router version number. So I decided to ignore that field and handle unrecognized messages when they happen.
zzz it's the API version
zzz it's not required but if it's not present we have to assume 0.8.6 or older, which is 14 years ago, no new features since then
orignal please tell me what I need to fix
mareki2p Maybe I will hit some problems with it in the future. For now I decided to re-write my software from scratch. And I have no ide how or if I even implement streaming. It is still in super very early stage.
mareki2p i2pd does not need to fix anything as nothing is broken with it
dr|z3d if i2pd doesn't send api version, that needs fixing, as zzz just indicated.
mareki2p Oh, sorry I was still thinking about the date message, I'm very tired, sorry.
mareki2p *about the periodical date messsage
zzz or maybe you don't support host lookup...
zzz orignal, go thru the version chart at the top, see what version you support, then include that version in the setdate message
zzz as specified
orignal version of what?
zzz stand by
mareki2p Also the docs say that the RequestVariableLeaseSetMessage is only for clients since 0.9.7, but i2pd does not care about any version numbers and uses that message.
zzz mareki2p, are you sure he doesnt send it? I see it in his code
mareki2p i2pd does send SetDate message, but with empty versio string
zzz mareki2p, orignal, I2CP.cpp line 633
zzz mareki2p, are you sending a version?
orignal yes, I see one
orignal so I send it back
mareki2p No, I'm sending empty string.
zzz orignal, don't echo client version. Send your API version
zzz so you both have a bug. mareki2p don't send empty string. orignal send your version, don't echo client version
orignal so I receive GetDate and send it back
zzz yes but send your API version 0.9.xx
orignal how and when should I send unsolicited?
zzz you don't need to send unsolicited. We do because we have internal clock adjustment. I don't think you do?
zzz repost
zzz so you both have a bug. mareki2p don't send empty string. orignal send your version, don't echo client version
orignal so API version is like 0.9.66 ?
zzz correct
orignal will fix
orignal thanks
zzz in "string" format, length + string
orignal e.g. pascal string
orignal you are old ennough to remeber pascal ))
mareki2p I have not heard that name for very long time.
zzz ofc. took it in school, probably still have a book around somewhere
orignal Pascal was a proamming langiage
mareki2p I remember I added mousewheel support for some grid view window control in Delphi7. This was my first paid job/internship during shool.
zzz we used to do like 6 languages in one semester. Lisp, SNOBOL, Forth, ...
zzz anyway, re: dup setdate messages to subsessions, thanks for the report, I have it fixed, just need to test before checking in
orignal you know Pascal was popular in ex-USSR until mid of 90s
orignal because lack of hardware
orignal 286 was good for Pascal and not for C++ ))
zzz look at mareki2p finding two bugs in one day, one on each router, not playing favorites, good job ))
mareki2p I heard stories from some company that when they transitioned their software from Pascal to C and later to C++ that it started crashing much more. Skill issue on the engineers I guess.
mareki2p Thank you. (-: it makes me happier.
mareki2p I have more quiestions zzz, when reading the docs, it mentions the sub-sessions in single I2CP connections. But, there is limitation that the other sessions need to use the same encryption keys as the master sessions and that it is detectable that two destinations are related in this way. Why is that? I guess left-over from the past. So if I want to create uber-anonymous bittorrent client over I2CP and I want t
mareki2p o have unique destination per torrent, then I can not use sub-sessions, but I need to establish new I2CP connection to the router. Correct?
zzz correct
zzz because subsessions use same tunnels, so must be same encryption
mareki2p Any plans to improve this?
zzz you want multiple tunnels, use multiple I2CP connections
orignal zzz, look right now?
orignal *loks
orignal *looks
orignal sorry one more mistake
zzz sure, even fixed the spelling in the comment ))
zzz but I'll leave it to mareki2p to test it...
mareki2p That +1 and +8 should not be magic numbers. They should be named constants. Something like message_type_len=1 message_size_len=4 message_header_len=message_type_len+message_size_len set_date_date_len=4 set_date_string_size_len=1 and so on.
orignal let me try with snark
orignal it's obsious in this context
orignal what is 8 and what is
mareki2p I saw +8 and I was thinking ... the date is 32bit not 64bit, right?
zzz 8 bytes
orignal it's just memory reservation for reposnse
orignal timestamp is 8 bytes - 64 bits
mareki2p Oh, I was thinking 1 byte for message type, 4 bytes for message lenght, 4 bytes for timestamp, 1 byte for string length.
snowflakes Я АНОНИМНЫЙ ПИДОРАС
snowflakes НАРОМАН ТО ЕСТЬ
snowflakes hello guys whats happened there
snowflakes i kidding if true
snowflakes My appologize for my joke
zzz fixing bugs, what's up with you?
snowflakes Maybe write some documentation about i2cp with examples of code?
zzz sounds like fun!
snowflakes why fun
snowflakes I love kotlin but
snowflakes fun lol
snowflakes i dont use i2cp even I use i2p more than 8 years
snowflakes oh not, i used that like when used snark for torrents
snowflakes so all that I used
snowflakes its for torrenting
snowflakes zzz, I’ve been having some trouble with real-life issues and some health/diagnosis stuff lately. But I won’t bring it here, since I know this channel is for more useful and technical things. Still, thank you for asking
mareki2p OK, tested i2pd. It reports back version 0.9.66 even if I send it something different, such as 0.9.65.
zzz snowflakes, best wishes for things getting better ))
mareki2p I also vaguely remember that i2pd does not care about authentication in the I2CP protocol. But I do not have the enerty today to test it out.
orignal working with snark
orignal zzz, plaz has mental disorder again ))
orignal mareki2p what king of authentication are you talking about?
orignal I didn't know it even exist