oidentd: simultaneous connections and unpredictable ident lookups get ident replies mixed up

Bug #717029 reported by thommey on 2010-08-28
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Gunnar Beutner

Bug Description

The 'global { reply "ident" }' directive in ~/.oidentd.conf is not accurate enough to prevent simultaneous connections (or unpredictable ident lookups) from mixing up their idents. Oidentd does support range directives allowing for holding multiple possible replies with their precise connection data to be in ~/.oidentd.conf if one does not use the 'global' directive. Always writing all existing connections with their corresponding replies to oidentd.conf would prevent that issue from happening.

man oidentd.conf

Gunnar Beutner (gunnarbeutner) wrote :

1.3 should already be much more careful when it comes to ident lookups. By making sure that there are no partially connected IRC sessions (for which ident lookups might be pending) we shouldn't get any wrong idents.

As for external apps.. how would listing all connections help here?

Scenario A:
a) sbnc connects a user, writes all connections in its .oidentd.conf
b) eggdrop connects (doesn't update the oidentd file), gets no ident at all

Scenario B:

a) sbnc connects a user, writes all connections in its .oidentd.conf
b) eggdrop connects (updates the oidentd file), gets the right ident

Scenario C:

a) both sbnc and eggdrop update the ident file at the same time, eggdrop 'wins'
b) sbnc user has an incorrect ident response

Scenario D:
a) sbnc connects user A, updates oidentd file
b) sbnc connects another user (B), in 1.2 user A might get an incorrect ident if they're not fully connected yet - in 1.3 their irc connection would be killed

I don't see any improvement at all. Am I missing any scenarios here?

Blindly overwriting ~/.oidentd.conf with "global { reply "foo" }" is obviously uncoorperative. It deletes whatever the user wants as default or any other application wants.

Of course changing sBNC only doesn't fix that, because the others still overwrite it. They all would need to append to it (maybe wiping out their own connections, automatically identifiable by comments or other means). Someone has to start changing the behaviour, and not overwriting a users default is reason enough to do so actually.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers