IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2025/02/03
@eyedeekay
&eche|on
&kytv
&zzz
+R4SAS
+RN
+RN_
+StormyCloud
+T3s|4
+dr|z3d
+hagen
+lbt
+orignal
+postman
+segfault
+weko
+wodencafe
Arch
DeltaOreo
FreefallHeavens_
Irc2PGuest17123
Irc2PGuest30976
Irc2PGuest52978
Irc2PGuest59134
Irc2PGuest99152
Nausicaa
Onn4l7h
Onn4|7h
Over1
Sisyphus
Sleepy
SoniEx2
T3s|4_
acetone_
aeiou
anon2
b3t4f4c3
bak83_
boonst
cumlord
dickless
eyedeekay_bnc
mareki2p_
not_bob_afk
poriori_
profetikla
qend-irc2p
r3med1tz
radakayot_
rapidash
schwarzchild-radius
shiver_
solidx66
thetia
u5657
uop23ip
w8rabbit
x74a6
orignal why 17?
zzz 6 new types, last used is 11
orignal do you have test vectors?
zzz no, haven't looked yet
orignal then how do you that your signaure is good?
zzz this is probably a 2 year project, gimme a break
dr|z3d orignal wants it yesterday.
orignal why? just want to make sure our implemntation are compatiable
orignal once I start implementing mine
orignal that's why test vectors matter
orignal for example
zzz I'm just pissing around, why would I bother with vectors before the proposal is reviewed? Or why can't you look for vectors?
orignal found one already
orignal from boringssl
orignal that's where I'm going to "steal" the code from
zzz so please review the proposal, before making requests
orignal what's the proposal #?
orignal by I don't understand what to review
orignal just few more signature types
zzz 169
zzz you have 6 weeks to read it before the review
orignal well I don't have these 6 weeks
zzz I was just doing a proof of concept, I'll stop wasting my time until the review is done and everyone's happy
eyedeekay Release day, deadline for translations is in 3 hours
eyedeekay At which point I will start building packages
zzz found a bug during review
zzz got a conditional backwards
zzz would you please review and check this in:
zzz --- a/router/java/src/net/i2p/router/networkdb/kademlia/ExpireLeasesJob.java
zzz +++ b/router/java/src/net/i2p/router/networkdb/kademlia/ExpireLeasesJob.java
zzz @@ -37,7 +37,7 @@ class ExpireLeasesJob extends JobImpl {
zzz private final static long RERUN_DELAY_MS = 1*60*1000;
zzz private static final int LIMIT_LEASES_FF = 1250;
zzz - private static final int LIMIT_LEASES_CLIENT = SystemVersion.isSlow() ? 750 : 300;
zzz + private static final int LIMIT_LEASES_CLIENT = SystemVersion.isSlow() ? 300 : 750;
zzz public ExpireLeasesJob(RouterContext ctx, KademliaNetworkDatabaseFacade facade) {
zzz super(ctx);
zzz ^^ eyedeekay
eyedeekay Ack thanks zzz will checkin in a few minutes
zzz irc2pGuest what;s your issue?
irc2pGuest There is a problem when a destination has padding that is repeating one-byte pattern
irc2pGuest (I was playing with I2CP when I discovered this)
irc2pGuest I generated a destination (with a padding of repeating 0x11) and sent it to I2CP
irc2pGuest And it disconnects after receiving CreateLeaseSet2
irc2pGuest 2p.data.i2cp.I2CPMessageReader: Unhandled error reading I2CP stream
irc2pGuest java.lang.ArrayStoreException: arraycopy: destination type java.lang.Integer is not an array
irc2pGuest at java.base/java.lang.System.arraycopy(Native Method)
irc2pGuest at net.i2p.data.KeysAndCert.getPadding(KeysAndCert.java:135)
irc2pGuest at net.i2p.data.Destination.create(Destination.java:78)
irc2pGuest [etc...]
zzz you're right
zzz shouldn't have compiled but it upconverts the int to Integer
zzz why the heck did that not get hit before
irc2pGuest Maybe nobody generates padding like that? It's recommended to use 32-byte repeating pattern.
zzz eyedeekay, I'm going to need a couple hours to investigate further
eyedeekay You got 'em, I'll wait for your findings
zzz its rare when the compiler doesn't save me from a mistake this stupid
zzz so _paddingBlocks is always <= 1 for everybody except OP
zzz irc2pGuest please give me the full stack trace
irc2pGuest CRIT [CP Reader 11] 2p.data.i2cp.I2CPMessageReader: Unhandled error reading I2CP stream
irc2pGuest java.lang.ArrayStoreException: arraycopy: destination type java.lang.Integer is not an array
irc2pGuest at java.base/java.lang.System.arraycopy(Native Method)
irc2pGuest at net.i2p.data.KeysAndCert.getPadding(KeysAndCert.java:135)
irc2pGuest at net.i2p.data.Destination.create(Destination.java:78)
irc2pGuest at net.i2p.data.LeaseSet2.readHeader(LeaseSet2.java:531)
irc2pGuest at net.i2p.data.LeaseSet2.readBytes(LeaseSet2.java:436)
irc2pGuest at net.i2p.data.i2cp.CreateLeaseSet2Message.doReadMessage(CreateLeaseSet2Message.java:105)
irc2pGuest at net.i2p.data.i2cp.I2CPMessageImpl.readMessage(I2CPMessageImpl.java:73)
irc2pGuest at net.i2p.data.i2cp.I2CPMessageHandler.readMessage(I2CPMessageHandler.java:56)
irc2pGuest at net.i2p.data.i2cp.I2CPMessageReader$I2CPMessageReaderRunner.run2(I2CPMessageReader.java:182)
irc2pGuest at net.i2p.data.i2cp.I2CPMessageReader$I2CPMessageReaderRunner.run(I2CPMessageReader.java:164)
irc2pGuest at java.base/java.lang.Thread.run(Thread.java:1583)
irc2pGuest at net.i2p.util.I2PThread.run(I2PThread.java:103)
zzz thx
zzz I assume you've tested the obvious fix?
irc2pGuest Sorry, I don't develop java
zzz Suggested fix: replace "_paddingBlocks" with "rv" in the aforemetioned line.
zzz you didn't try it?
irc2pGuest No, but i assume it would work
irc2pGuest (Nobody stumbled on this before me anyway, so it's not important)
zzz I assume so too, but I need to test it
zzz was this with a NULL cert or a KEY cert
irc2pGuest KEY (fake ElGamal key and an X25519 key)
zzz makes sense, there's no padding with a NULL cert
irc2pGuest Ed25519*
zzz got a link to your code because I'm having difficulty reproducing it
irc2pGuest I'll try to make something
zzz actually, do you have the destination in a standard privatekeyfile.dat format? that would be easier
irc2pGuest I can send the dump of the messages between router and client
zzz never mind I think I see what happened
zzz there's another bug that covered up this bug
irc2pGuest So I don't need to send anything, zzz?
zzz no, unless you have the dest and private keys in the standard privatekeyfile.dat format
irc2pGuest I don't think i have that, I'm doing my own thing not in java
zzz that's fine
zzz found a 3rd bug, fixed the 2nd and 3rd, and now have it reproduced
zzz so now let's fix the 1st bug and see if it all works
mesh zzz ftw
zzz irc2pGuest, is this the nick I should credit?
irc2pGuest Don't care
zzz eyedeekay, how we doing on time?
RN zzz, that nick is not registered... clearly they didn't want to pick an identity. ;)
irc2pGuest I'm disconnecting soon, so you can take away my voice
RN thanks for reporting the bug irc2pGuest
zzz ok. FYI the .dat format is supported by i2pd also, if you ever wanted to share destinations with other implementations that's how you do it
zzz yup, thanks, really ugly bugs hiding for a year
irc2pGuest No problem
eyedeekay zzz you get all the time you need, if you want to check in a patch or send me one to check in I can wait
zzz eyedeekay, I'm going to do it as a MR assigned to you to merge
zzz I'll have that up shortly
eyedeekay Ok sounds good, I'll be ready
zzz but I'd like a few more hours to let it soak/test on my routers before you cut the release, if that's ok
eyedeekay Yeah take your time, I will do it in the evening or tomorrow if that's necessary
dr|z3d suggestion: let's push the release back until this time tomorrow, then we're not putting pressure on eyedeekay or rushing things?
eyedeekay I don't mind to make the release in the evening but I will happily delay the release until tomorrow to give zzz time to get the patch ready
zzz I believe i2pd is still a few days away; they did a release last month
eyedeekay Ack, we'll see where we are after the review and test but I'm leaning tomorrow
zzz back shortly
dr|z3d should we coordinate the release with orignal?
dr|z3d orignal: what are you plans re release / timeframe?