DALnet / bahamut

The Bahamut IRC Daemon
http://www.dal.net/?page=Bahamut
Other
58 stars 42 forks source link

Tilde (~) shows when DO_IDENT is undefined #55

Closed akalsnes closed 4 years ago

akalsnes commented 6 years ago

I am migrating from 2.0.3 to the latest master branch code and noticed that even though I have "#undef DO_IDENTD" set in include/config.h, it still shows the tidle (~) character upon welcome and in WHOIS.

The "d" flag is (correctly) missing from VERSION:

In 2.0.3, undefining DO_IDENTD removed the tilde. Is there an easy way to get this behavior back?

kobishmueli commented 5 years ago

@eaescob @rscs @crigler: what do you think?

crigler commented 5 years ago

It doesn't look like anything changed this behavior since 2.0.3.

eaescob commented 4 years ago

Is this still an issue?

akalsnes commented 4 years ago

I have not built a new version of bahamut since my original post, but if nothing was changed (according to these replies), then I believe that it is still an issue. I will try the latest available version this weekend and get back to everyone. Thank you!

rscs commented 4 years ago

Hi, @akalsnes. It makes sense in my mind that if you disable identd checking, all users should always have a ~ username ... because their identd was not verified. Think of the scenario of a network with one server using identd and one server not using identd. You'd probably want to distinguish which users from a provider have identd or not.

Just to clarify the intention of the original request ...

akalsnes commented 4 years ago

This is purely an aesthetics/vanity issue for me. It is completely up to all of you how this behavior should work or was intended to work.

My original post was just stating that when using #undef DO_IDENTD with 2.0.3, no tildes were shown at all, whether the client was configured to use identd or not, and then after using the latest build (at that time it was 2.0.7), the behavior had changed so that every "user" was prefixed with a tilde.

My plan is to review this again this weekend and see if I can replicate the behavior in 2.0.3, 2.0.7, and whatever the latest release is. Thanks!

rscs commented 4 years ago

We were discussing this online and there's one other thing to consider: could you have had any .conf or hostname changes during the upgrade?

One way of forcing the tilde to be hidden is if you setup an allow block with just a host (host *;or host *.example.com;).

See the following from reference.conf:

# If the matching mask used ident ("ident@host" instead of "host"), and no
# ident response was received from the client, it appears on IRC with its
# username prefixed with '~'.  If the matching mask used only the "host"
# form, the client's username is not prefixed.  If a valid ident response
# was received, it is always used (without prefix), regardless of the mask
# form.
akalsnes commented 4 years ago

You are absolutely correct. I was unable to reproduce this in 2.0.3 using the default configuration. When I modified the allow block from "@" to "*" it did not show the tilde character. I apologize for sending you all down a rabbit hole, but your time is greatly appreciated. Thank you for continuing to support this software.

rscs commented 4 years ago

All good! Glad we were able to figure it out!