IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#saltr
/2023/11/25
T3s|4 lols dr|z3d - told our absent favorite 'novice' on -chat; RN: as predicted, your date of forced re-Conkification destiny has arrived on + :D
dr|z3d rare NPE spotted in InboundMessageDistributor, eyedeekay, zzz.. (only seen it once). proposed fix follows:
dr|z3d public InboundMessageDistributor(RouterContext ctx, Hash client) {
dr|z3d _context = ctx;
dr|z3d _client = client;
dr|z3d _log = ctx.logManager().getLog(InboundMessageDistributor.class);
dr|z3d _receiver = new GarlicMessageReceiver(ctx, this, client);
dr|z3d // all createRateStat in TunnelDispatcher
dr|z3d if (_client != null) {
dr|z3d TunnelPoolSettings clienttps = _context.tunnelManager().getInboundSettings(_client);
dr|z3d String nickname = clienttps != null ? clienttps.getDestinationNickname() : "UNKNOWN";
dr|z3d if (_log.shouldLog(Log.DEBUG)) {
dr|z3d _log.debug("Initializing client " + nickname +
dr|z3d " [ " + _client.toBase32().substring(0,12) + "..." + "] " +
dr|z3d "\n* InboundMessageDistributor with tunnel pool settings: " + clienttps);
dr|z3d _clientNickname = clienttps != null ? clienttps.getDestinationNickname() : "UNKNOWN";
dr|z3d _msgIDBloomXor = clienttps != null ? clienttps.getMsgIdBloomXor()
dr|z3d : RandomSource.getInstance().nextLong(I2NPMessage.MAX_ID_VALUE);
dr|z3d } else {
dr|z3d _clientNickname = "NULL/Expl";
dr|z3d _msgIDBloomXor = RandomSource.getInstance().nextLong(I2NPMessage.MAX_ID_VALUE);
dr|z3d if (_log.shouldLog(Log.DEBUG))
dr|z3d _log.debug("Initializing NULL or Exploratory InboundMessageDistributor...");
zzz please verify the code is identical in canon
dr|z3d it won't be identical, logging will be slightly different, but I'll check. the issue arose with _clientNickname after the first clause iirc.
zzz please enter ticket if you can verify
zzz eyedeekay has other IMD issues I just discovered
dr|z3d yup, appears that in the same location, the code is identical: _clientNickname = clienttps.getDestinationNickname();
zzz put the stack trace in the ticket please
dr|z3d don't think I have it anymore
dr|z3d (line 56)
zzz then at least put in the line number
zzz and the proposed fix as a diff vs. canon
zzz while IMD was recently reverted back to 2.3.0, and almost all my review is focused on the diff vs. 2.3.0, I've discovered a major issue with the 2.2.1 -> 2.3.0 changes
zzz in IMD
dr|z3d major issue, easy remedy, or something worse?
zzz see #475
dr|z3d if I was trying to be amusing, I'd ask you if you think I'm fat. :)
dr|z3d Not seeing the drops you're witnessing on the router I'm currently looking at, at least not in the current logs.
dr|z3d plenty of these, though, not sure why they're categorized as WARN: OutboundEndpoint I2NP Message from [TunnelId 272397814] to Router [XXXXXX] ➜ Count: 161 / 358
zzz I think 475 is an issue on long-lived connections like for snark where you're doing ratchet acks, but just a guess right now
dr|z3d so it turns out the WIP mitigation for dns bypass via fbi.com is probably the same place in the code where dodgy urls can be blocked.
dr|z3d not the best solution, but I'm thinking as an interim fix providing it with a list of urls we don't want to serve and just blocking them.
zzz this is all much better implemented and maintained externally
zzz you could write a simple helper pipe in a shell script
zzz you're not going to see urls for https anyway
zzz just stick a simple transparent proxy between i2p and your current external proxy and do whatever filtering you want there
dr|z3d different context, I'm talking about the .i2p exploit scanners.
zzz that's the proposal to enhance access filter to pass the url to it
zzz access filter may also be the solution for throttling keepalive requests
dr|z3d re the first, I thought we decided access filters wasn't the place to handle url requests. throttling, otoh, sure.
dr|z3d either way, filtering could do with some love.
dr|z3d I mean, it's useful, but it's also a bit of a nuisance to set up and configure right now.
zzz it doesn't now but it could.
dr|z3d ok, if you think it can be modified to scan urls, great.
zzz in theory but it would be complex enough it would need a formal proposal to enhance the filter file spec
dr|z3d I'd probably want to approach it from the UI angle first, see what we can do in the tunnel manager to make things a bit less cumbersome.
dr|z3d if you're removing things in html that were otherwise hidden via css, zzz, make sure you remove all the css-hidden elements.
dr|z3d that is, assuming you want visual parity.