View Issue Details

IDProjectCategoryView StatusLast Update
0006151unrealircdpublic2022-07-02 16:37
Reporterarmyn Assigned To 
PrioritynormalSeverityminorReproducibilitysometimes
Status newResolutionopen 
Product Version6.0.4 
Summary0006151: An issue related to set:whois-details
DescriptionSometimes I encounter a random problem with the whois

Sometimes I do a whois on 2 users or sometimes the same user and the whois response is not the same:

-> irc.serveurIRC.com WHOIS Shayou
<- :irc.serveurIRC.com 307 G33k Shayou :is identified for this nick
<- :irc.serveurIRC.com 319 G33k Shayou :#15-25ans
<- :irc.serveurIRC.com 312 G33k Shayou irc.serveurIRC.com :Tchat serveurIRC
<- :irc.serveurIRC.com 671 G33k Shayou :is using a Secure Connection
<- :irc.serveurIRC.com 320 G33k Shayou :est connecté via WEBIRC
<- :irc.serveurIRC.com 330 G33k Shayou Shayou :is logged in as
<- :irc.serveurIRC.com 317 G33k Shayou 37 1656696678 :seconds idle, signon time
<- :irc.serveurIRC.com 318 G33k Shayou :End of /WHOIS list.

-> irc.serveurIRC.com WHOIS Loulou_Heureuse_
<- :irc.serveurIRC.com 307 G33k Loulou_Heureuse_ :is identified for this nick
<- :irc.serveurIRC.com 319 G33k Loulou_Heureuse_ :#15-25ans
<- :irc.serveurIRC.com 312 G33k Loulou_Heureuse_ irc.serveurIRC.com :Tchat serveurIRC
<- :irc.serveurIRC.com 671 G33k Loulou_Heureuse_ :is using a Secure Connection
<- :irc.serveurIRC.com 320 G33k Loulou_Heureuse_ :est connecté via WEBIRC
<- :irc.serveurIRC.com 330 G33k Loulou_Heureuse_ Loulou_Heureuse_ :is logged in as
<- :irc.serveurIRC.com 318 G33k Loulou_Heureuse_ :End of /WHOIS list.

The idle sometimes it is displayed and sometimes it is not displayed

I have only one IRC server (only one unrealircd, no link)


Here is my whois config:

        whois-details {
                basic { everyone none; self full; oper full; }
                modes { everyone none; self full; oper full; }
                realhost { everyone none; self full; oper full; }
                registered-nick { everyone full; }
                channels { everyone limited; self full; oper full; }
                server { everyone full; }
                away { everyone full; }
                oper { everyone limited; self full; oper full; }
                secure { everyone limited; self full; oper full; }
                bot { everyone full; }
                services { everyone full; }
                reputation { everyone none; self none; oper full; }
                geo { everyone none; self none; oper full; }
                certfp { everyone full; }
                shunned { everyone none; self none; oper full; }
                account { everyone full; }
                swhois { everyone full; }
                idle { everyone limited; self full; oper full; }
                webirc { everyone full; };
                websocket { everyone none; self full; oper full; }
        }


I tested by being a normal user only (not OPER) connected to the same channel as the two users

Where could the problem come from?
TagsNo tags attached.
3rd party modules

Activities

Valware

2022-07-01 21:03

reporter   ~0022586

hey armyn =]

the problem comes from differences in locality. what I mean is, the server which contains the server is the only server keeping track of the users idle time. you can find out the idle time of any user on the network by specifying their nick twice for an 'extended' whois, which directly queries the server they're on and will show you their idle time.

/whois <nick> <nick>

syzop

2022-07-01 21:11

administrator   ~0022587

From what I can see you should always see the idle time (indeed, if you have 1 single server).

You didn't change this right? https://www.unrealircd.org/docs/Set_block#set::hide-idle-time
It is possible to make this a usermode and then the user can set +I (capital i) to hide the idle time. But i doubt that happened... better to check though ;)

armyn

2022-07-01 21:30

reporter   ~0022588

Ah yes indeed, the whois of the user with the idle which is displayed here are its modes:
+iprwxz

and the one with the idle that doesn't show up:
+ipwxzI

It's strange that the "+I" is added and sometimes it is removed randomly
Could it come from where?

armyn

2022-07-01 21:31

reporter   ~0022589

I don't use "hide-idle-time"

armyn

2022-07-01 21:41

reporter   ~0022590

I just tested this:

1) I connect to IRC with the nickname Mozart (he does not have usermode +I) - On connection he automatically receives the mode +R added by a bot with /os umode Mozart +R)
2) Then with G33k I do a whois on Mozart and the idle is not visible (it's ok)
3) Then with Mozart type /mode Mozart -R
4) With G33k do a whois on Mozart, there I see his idle

Do you also have this problem?

armyn

2022-07-01 21:45

reporter   ~0022591

Oh oops on my previous post I wrote this: (it doesn't have usermode +I) please ignore this sentence, I did have mode +I
On the other hand, when I remove the +R, it also removes the +I, isn't that a bug?

Valware

2022-07-01 23:42

reporter   ~0022592

hey armyn,

here's what I think has happened:

1) the user connected
2) some bot used a special command to set +I on the user
3) the user in question does NOT oper
4) the user changes their modes

when a user changes their modes (at least with usermode 'I' it would seem), the server does a quick check and removes the 'I' mode because the user in question is not oper, and hide-idle is an oper usermode.
let me know =]

armyn

2022-07-02 10:26

reporter   ~0022593

Try this:

1) You log in with a nickname and you set your usermode to +R (and also +I) - You must be a normal user (not OPER).
2) Another user does a whois on you, he doesn't see the idle
3) You remove the +R (with /mode you -R) and you will see that the one removes the -R and the -I both at the same time, is this normal? In addition, another user who will do a whois for you will see the idle this time when he should not

syzop

2022-07-02 11:21

administrator   ~0022594

So you are saying a normal user can set themselves +I (uppercase i) ?
That should not be possible in the default configuration, eg set { hide-idle-time { policy oper-usermode; } }

A normal user should only be able to set +I if you have set { hide-idle-time { policy usermode; } }

I cannot reproduce the problem with it being set to policy oper-usermode... if i do "MODE NICK +I" simply nothing happens.

armyn

2022-07-02 12:05

reporter   ~0022595

It's the +R, because the +I is defined by default when entering it on IRC, once -R the +I is also removed
Why the +I is removed as soon as the -R is put?

syzop

2022-07-02 15:59

administrator   ~0022596

Last edited: 2022-07-02 15:59

The same will happen with any other oper mode, really, it is removed when someone issues a MODE and is not (or no longer) an oper.
If you want normal users to be able to be +I then set { hide-idle-time { policy usermode; } }
See https://www.unrealircd.org/docs/Set_block#set::hide-idle-time on the different options.

armyn

2022-07-02 16:37

reporter   ~0022597

Ah ok I put this:

set { hide-idle-time { policy usermode; } }

it always hides the idle, that's good, that's what I wanted to do

The description on the wiki is not very UX because I don't understand the first time

Issue History

Date Modified Username Field Change
2022-07-01 20:54 armyn New Issue
2022-07-01 21:03 Valware Note Added: 0022586
2022-07-01 21:11 syzop Note Added: 0022587
2022-07-01 21:30 armyn Note Added: 0022588
2022-07-01 21:31 armyn Note Added: 0022589
2022-07-01 21:41 armyn Note Added: 0022590
2022-07-01 21:45 armyn Note Added: 0022591
2022-07-01 23:42 Valware Note Added: 0022592
2022-07-02 10:26 armyn Note Added: 0022593
2022-07-02 11:21 syzop Note Added: 0022594
2022-07-02 12:05 armyn Note Added: 0022595
2022-07-02 15:59 syzop Note Added: 0022596
2022-07-02 15:59 syzop Note Edited: 0022596
2022-07-02 16:37 armyn Note Added: 0022597