At one IRC channel we were discussing the real name and "Got ZNC?" is a little weird. I think that something like "ZNC %VERSION%" (Supybot does this too) would be good default (if expandstrings are allowed there). There was opposition as this would make znc more exposed for targeted vulnerabilities, but it might also make users upgrade faster if that happened.
There was also another advatance of changing the default real name to anything of tracking old ZNC versions.
And of course, users can still set it as whatever they wish.
At one IRC channel we were discussing the real name and "Got ZNC?" is a little weird. I think that something like "ZNC %VERSION%" (Supybot does this too) would be good default (if expandstrings are allowed there). There was opposition as this would make znc more exposed for targeted vulnerabilities, but it might also make users upgrade faster if that happened.
There was also another advatance of changing the default real name to anything of tracking old ZNC versions.
And of course, users can still set it as whatever they wish.
<!-- github-sync-id:54675042 -->
There was also another advatance of changing the default real name to anything of tracking old ZNC versions.
What do you mean?
> There was also another advatance of changing the default real name to anything of tracking old ZNC versions.
What do you mean?
<!-- github-comment-id:70387574 -->
If someone has "Got ZNC?" in their realname you can conclude they are using ZNC <= 1.5, and if someone has "ZNC 1.6" in their name you can conclude they are using znc 1.6 (And let's assume 1.8 is out, may need to upgrade to 1.8 to resolve an issue)
It's not the most reliable way to get a znc version, but may be an easy shortcut for people who are lazy to configure their realname.
If someone has "Got ZNC?" in their realname you can conclude they are using ZNC <= 1.5, and if someone has "ZNC 1.6" in their name you can conclude they are using znc 1.6 (And let's assume 1.8 is out, may need to upgrade to 1.8 to resolve an issue)
It's not the most reliable way to get a znc version, but may be an easy shortcut for people who are lazy to configure their realname.
<!-- github-comment-id:70388138 -->
I'd rather by default we don't expose the version to every user on IRC. Such change would make it easier for people to identify ZNC users, and which specific version they are running. A simple WHO #channel would expose all users with ZNC and which version. This makes it really easy to pinpoint vulnerable users to attack (http://www.cvedetails.com/vulnerability-list/vendor_id-9558/ZNC.html).
I'd rather by default we don't expose the version to every user on IRC. Such change would make it easier for people to identify ZNC users, and which specific version they are running. A simple `WHO #channel` would expose all users with ZNC and which version. This makes it really easy to pinpoint vulnerable users to attack (http://www.cvedetails.com/vulnerability-list/vendor_id-9558/ZNC.html).
<!-- github-comment-id:70388509 -->
This was my primary concern as well, but two strong counterarguments raised were:
it ensures people will stick to the latest versions of znc
it is really easy to change your realname.
Which does make it more manageable if you think of it that way. And the current default string ("Got ZNC?") also exposes the use of ZNC (and possibly means you are using old versions which are more exploitable and less secure, like <1.0), this one just also lists the version.
It'd also be possible to make it default be ZNC %VERSION%, and let znc administrators change the default realname (kinda redundant, admittedly.)
That all said, I'm in favor of the issue, despite the small risk it comes with.
This was my primary concern as well, but two strong counterarguments raised were:
1) it ensures people will stick to the latest versions of znc
2) it is really easy to change your realname.
Which does make it more manageable if you think of it that way. And the current default string ("Got ZNC?") also exposes the use of ZNC (and possibly means you are using old versions which are more exploitable and less secure, like <1.0), this one just also lists the version.
It'd also be possible to make it default be ZNC %VERSION%, and let znc administrators change the default realname (kinda redundant, admittedly.)
That all said, I'm in favor of the issue, despite the small risk it comes with.
<!-- github-comment-id:70389501 -->
It's already possible to get the version, to some extent. E.g. web page with login prompt can be slightly different between versions. But it's better not to show the version to everyone by default.
However, I agree that "Got ZNC?" is a weird default.
@Zarthus
that is 0.206+deb2, right?
it's really easy. But somehow lots of people don't do it, and have "Got ZNC?"
It's already possible to get the version, to some extent. E.g. web page with login prompt can be slightly different between versions. But it's better not to show the version to everyone by default.
However, I agree that "Got ZNC?" is a weird default.
@Zarthus
1) that is 0.206+deb2, right?
2) it's really easy. But somehow lots of people don't do it, and have "Got ZNC?"
<!-- github-comment-id:70390748 -->
The ratio seems to be roughly 1:100 users on irc. 42/794 (5.2%) in #znc (freenode) at the moment (which is a heavily focused znc channel), 22/1335 in #freenode (freenode) and 1/221 in a general chatting channel.
If not including the version, you could always do %accountname%|%primarynick% using ZNC, %primarynick% (exposes accountname / not everyone may like having their name in it) or ZNC. I'm not really sure what else would really fit there as a nice default.
1. Mostly, yes. But not everyone.
2. The ratio seems to be roughly 1:100 users on irc. 42/794 (5.2%) in #znc (freenode) at the moment (which is a heavily focused znc channel), 22/1335 in #freenode (freenode) and 1/221 in a general chatting channel.
If not including the version, you could always do `%accountname%|%primarynick% using ZNC`, `%primarynick%` (exposes accountname / not everyone may like having their name in it) or `ZNC`. I'm not really sure what else would really fit there as a nice default.
<!-- github-comment-id:70393765 -->
It's completely outside anything that's been suggested before, but I've seen clients do it: Why not make the realname "…"?
It's completely outside anything that's been suggested before, but I've seen clients do it: Why not make the realname "…"?
<!-- github-comment-id:70393961 -->
I'd rather by default we don't expose the version to every user on IRC. Such change would make it easier for people to identify ZNC users, and which specific version they are running.
If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
It's completely outside anything that's been suggested before, but I've seen clients do it: Why not make the realname "…"?
That doesn't look so nice ralname. How about just "ZNC user"? Or "I am too lazy to edit this field" :P?
> I'd rather by default we don't expose the version to every user on IRC. Such change would make it easier for people to identify ZNC users, and which specific version they are running.
If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
> It's completely outside anything that's been suggested before, but I've seen clients do it: Why not make the realname "…"?
That doesn't look so nice ralname. How about just "ZNC user"? Or "I am too lazy to edit this field" :P?
<!-- github-comment-id:70398593 -->
If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
Good finding.
> If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
Good finding.
<!-- github-comment-id:70400128 -->
Changing that has the same issue, now when you CTCP VERSION ZNC user who has old version, the version number is returned.
Security through obscurity is not security to me. It also appears that HexChat even gives kernel version.
2015-01-18 10:20:24+0200 < md_5> -md_5- VERSION HexChat 2.10.0 / Linux 3.16.0-29-generic [x86_64/1.10GHz/SMP]
2015-01-18 10:20:30+0200 < md_5> heh
2015-01-18 10:20:41+0200 < md_5> that even provides my kernel version
2015-01-18 10:20:45+0200 < md_5> maybe znc should do that too
Changing that has the same issue, now when you CTCP VERSION ZNC user who has old version, the version number is returned.
Security through obscurity is not security to me. It also appears that HexChat even gives kernel version.
```
2015-01-18 10:20:24+0200 < md_5> -md_5- VERSION HexChat 2.10.0 / Linux 3.16.0-29-generic [x86_64/1.10GHz/SMP]
2015-01-18 10:20:30+0200 < md_5> heh
2015-01-18 10:20:41+0200 < md_5> that even provides my kernel version
2015-01-18 10:20:45+0200 < md_5> maybe znc should do that too
```
<!-- github-comment-id:70400226 -->
We can't change the old versions, obviously. But for new versions, it's not so clear which future vulnerabilities it has.
If user wishes so, they can set a custom reply to VERSION, which contains %version%.
Why what HexChat is doing, is right?
Yes, it's obscurity, but most users are not going to magically upgrade anyway until Debian upgrades them.
We can't change the old versions, obviously. But for new versions, it's not so clear which future vulnerabilities it has.
If user wishes so, they can set a custom reply to VERSION, which contains %version%.
Why what HexChat is doing, is right?
Yes, it's obscurity, but most users are not going to magically upgrade anyway until Debian upgrades them.
<!-- github-comment-id:70400554 -->
Yes, it's obscurity, but most users are not going to magically upgrade anyway until Debian upgrades them.
Debian might get more interested in upgrading them if there are security issues that are actively exploited...
> Yes, it's obscurity, but most users are not going to magically upgrade anyway until Debian upgrades them.
Debian might get more interested in upgrading them if there are security issues that are actively exploited...
<!-- github-comment-id:70400743 -->
Debian might get more interested in upgrading them if there are security issues that are actively exploited...
@Mikaela Debian won't upgrade the version due to security issues, instead they will backport the patch to their "stable" version of ZNC.
> Debian might get more interested in upgrading them if there are security issues that are actively exploited...
@Mikaela Debian won't upgrade the version due to security issues, instead they will backport the patch to their "stable" version of ZNC.
<!-- github-comment-id:70402750 -->
It's already possible to get the version, to some extent. E.g. web page with login prompt can be slightly different between versions.
If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
That's correct, but that's querying each client individually (or figuring out their IP and port etc). It's a lot more work than simply querying WHO on a large channel (such as freenode) and getting a complete list of users along with their ZNC versions in one single go.
> WHO #ubuntu
:wilhelm.freenode.net 352 kylef #ubuntu ... Some name
:wilhelm.freenode.net 352 kylef #ubuntu ... ZNC 1.6
:wilhelm.freenode.net 352 kylef #ubuntu ... ZNC 1.7
:wilhelm.freenode.net 352 kylef #ubuntu ... Some name
:wilhelm.freenode.net 352 kylef #ubuntu ... ZNC 1.5
> It's already possible to get the version, to some extent. E.g. web page with login prompt can be slightly different between versions.
>
> If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
That's correct, but that's querying each client individually (or figuring out their IP and port etc). It's a lot more work than simply querying WHO on a large channel (such as freenode) and getting a complete list of users along with their ZNC versions in one single go.
```
> WHO #ubuntu
:wilhelm.freenode.net 352 kylef #ubuntu ... Some name
:wilhelm.freenode.net 352 kylef #ubuntu ... ZNC 1.6
:wilhelm.freenode.net 352 kylef #ubuntu ... ZNC 1.7
:wilhelm.freenode.net 352 kylef #ubuntu ... Some name
:wilhelm.freenode.net 352 kylef #ubuntu ... ZNC 1.5
```
<!-- github-comment-id:70402820 -->
@Mikaela Debian won't upgrade the version due to security issues, instead they will backport the patch to their "stable" version of ZNC.
This also probably works to fix the issue temporarily.
@kylef or just send CTCP VERSION to the whole channel in a single go
This is prevented by +C, but freenode has a bug with statusmsgs, so you can /CTCP +#channel version to version every voiced user (assuming that you are voiced). You can see supported statusmsgs in /version.
If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
To add more to this: the WHO #ubuntu probably also works here as simple_away and awaytnick are popular modules, see who has similar away status than their default, version the user and now you know people who are away and run ZNC older than recent 1.5.
> @Mikaela Debian won't upgrade the version due to security issues, instead they will backport the patch to their "stable" version of ZNC.
This also probably works to fix the issue temporarily.
> @kylef or just send CTCP VERSION to the whole channel in a single go
This is prevented by +C, but freenode has a bug with statusmsgs, so you can `/CTCP +#channel version` to version every voiced user (assuming that you are voiced). You can see supported statusmsgs in `/version`.
> If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
To add more to this: the `WHO #ubuntu` probably also works here as simple_away and awaytnick are popular modules, see who has similar away status than their default, version the user and now you know people who are away and run ZNC older than recent 1.5.
<!-- github-comment-id:70403742 -->
This also probably works to fix the issue temporarily.
No, it doesn't. When it's too hard to backport the patch, they don't backport it.
> This also probably works to fix the issue temporarily.
No, it doesn't. When it's too hard to backport the patch, they don't backport it.
<!-- github-comment-id:70403795 -->
No, it doesn't. When it's too hard to backport the patch, they don't backport it.
which will possibly increase amount of complaints to Debian?
> No, it doesn't. When it's too hard to backport the patch, they don't backport it.
which will possibly increase amount of complaints to Debian?
<!-- github-comment-id:70403949 -->
Sorry to interrupt the discussion, but I think it doesn't make sense to leave the version out of the CTCP VERSION reply. It's named VERSION because it is supposed to inform the person doing the CTCP of the client version and not just the client name.
Sorry to interrupt the discussion, but I think it doesn't make sense to leave the version out of the CTCP VERSION reply. It's named _VERSION_ because it is supposed to inform the person doing the CTCP of the client version and not just the client name.
<!-- github-comment-id:70404011 -->
😦 how about ZNC %version%? Isn't it acceptable now that the default CTCP version reply appends "via ZNC 1.6.1"? If someone has a problem with it, it's changeable.
:frowning: how about ZNC %version%? Isn't it acceptable now that the default CTCP version reply appends "via ZNC 1.6.1"? If someone has a problem with it, it's changeable.
<!-- github-comment-id:138973956 -->
it is, realnames can contain pretty much every character to my awareness, they just can't be empty, and will silently truncate past a certain amount of characters (I think 50 on chary?)
it is, realnames can contain pretty much every character to my awareness, they just can't be empty, and will silently truncate past a certain amount of characters (I think 50 on chary?)
<!-- github-comment-id:138976248 -->
@Mikaela CTCP version reply shows either "ZNC" or "ZNC 1.6.1" depending on another setting. So no, unconditionally exposing version in real name is not acceptable.
"ZNC user" would be fine though, at least it's not as weird as "Got ZNC?"
@Mikaela CTCP version reply shows either "ZNC" or "ZNC 1.6.1" depending on another setting. So no, unconditionally exposing version in real name is not acceptable.
"ZNC user" would be fine though, at least it's not as weird as "Got ZNC?"
<!-- github-comment-id:141694766 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
At one IRC channel we were discussing the real name and "Got ZNC?" is a little weird. I think that something like "ZNC %VERSION%" (Supybot does this too) would be good default (if expandstrings are allowed there). There was opposition as this would make znc more exposed for targeted vulnerabilities, but it might also make users upgrade faster if that happened.
There was also another advatance of changing the default real name to anything of tracking old ZNC versions.
And of course, users can still set it as whatever they wish.
What do you mean?
If someone has "Got ZNC?" in their realname you can conclude they are using ZNC <= 1.5, and if someone has "ZNC 1.6" in their name you can conclude they are using znc 1.6 (And let's assume 1.8 is out, may need to upgrade to 1.8 to resolve an issue)
It's not the most reliable way to get a znc version, but may be an easy shortcut for people who are lazy to configure their realname.
I'd rather by default we don't expose the version to every user on IRC. Such change would make it easier for people to identify ZNC users, and which specific version they are running. A simple
WHO #channelwould expose all users with ZNC and which version. This makes it really easy to pinpoint vulnerable users to attack (http://www.cvedetails.com/vulnerability-list/vendor_id-9558/ZNC.html).This was my primary concern as well, but two strong counterarguments raised were:
Which does make it more manageable if you think of it that way. And the current default string ("Got ZNC?") also exposes the use of ZNC (and possibly means you are using old versions which are more exploitable and less secure, like <1.0), this one just also lists the version.
It'd also be possible to make it default be ZNC %VERSION%, and let znc administrators change the default realname (kinda redundant, admittedly.)
That all said, I'm in favor of the issue, despite the small risk it comes with.
It's already possible to get the version, to some extent. E.g. web page with login prompt can be slightly different between versions. But it's better not to show the version to everyone by default.
However, I agree that "Got ZNC?" is a weird default.
@Zarthus
If not including the version, you could always do
%accountname%|%primarynick% using ZNC,%primarynick%(exposes accountname / not everyone may like having their name in it) orZNC. I'm not really sure what else would really fit there as a nice default.It's completely outside anything that's been suggested before, but I've seen clients do it: Why not make the realname "…"?
If the user is detached from ZNC, doesn't ZNC reply to CTCP version with the version number anyway?
That doesn't look so nice ralname. How about just "ZNC user"? Or "I am too lazy to edit this field" :P?
@dgw Because we still want to advertise ZNC itself (without exposing version)?
Good finding.
Changing that has the same issue, now when you CTCP VERSION ZNC user who has old version, the version number is returned.
Security through obscurity is not security to me. It also appears that HexChat even gives kernel version.
We can't change the old versions, obviously. But for new versions, it's not so clear which future vulnerabilities it has.
If user wishes so, they can set a custom reply to VERSION, which contains %version%.
Why what HexChat is doing, is right?
Yes, it's obscurity, but most users are not going to magically upgrade anyway until Debian upgrades them.
Debian might get more interested in upgrading them if there are security issues that are actively exploited...
@Mikaela Debian won't upgrade the version due to security issues, instead they will backport the patch to their "stable" version of ZNC.
That's correct, but that's querying each client individually (or figuring out their IP and port etc). It's a lot more work than simply querying WHO on a large channel (such as freenode) and getting a complete list of users along with their ZNC versions in one single go.
@kylef or just send CTCP VERSION to the whole channel in a single go
This also probably works to fix the issue temporarily.
This is prevented by +C, but freenode has a bug with statusmsgs, so you can
/CTCP +#channel versionto version every voiced user (assuming that you are voiced). You can see supported statusmsgs in/version.To add more to this: the
WHO #ubuntuprobably also works here as simple_away and awaytnick are popular modules, see who has similar away status than their default, version the user and now you know people who are away and run ZNC older than recent 1.5.No, it doesn't. When it's too hard to backport the patch, they don't backport it.
which will possibly increase amount of complaints to Debian?
Sorry to interrupt the discussion, but I think it doesn't make sense to leave the version out of the CTCP VERSION reply. It's named VERSION because it is supposed to inform the person doing the CTCP of the client version and not just the client name.
@dgw
Then you will be mistaken as a mIRC user. I think mIRC uses that realname.
Does mistaking as user of X matter?
No, who cares? Realname doesn't/shouldn't imply any particular client, which is kind of the point of this issue.
Can real name be empty and use expandstrngs? If yes, I propose "%empty%" (https://github.com/znc/znc/pull/1049).
😦 how about ZNC %version%? Isn't it acceptable now that the default CTCP version reply appends "via ZNC 1.6.1"? If someone has a problem with it, it's changeable.
it is, realnames can contain pretty much every character to my awareness, they just can't be empty, and will silently truncate past a certain amount of characters (I think 50 on chary?)
@Mikaela CTCP version reply shows either "ZNC" or "ZNC 1.6.1" depending on another setting. So no, unconditionally exposing version in real name is not acceptable.
"ZNC user" would be fine though, at least it's not as weird as "Got ZNC?"
Done, but changed to "ZNC User".