View Issue Details

IDProjectCategoryView StatusLast Update
0006579unrealpublic2026-01-23 08:28
Reporterzw32h Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Fixed in Version6.2.3 
Summary0006579: usermodes/privdeaf
DescriptionIt seems logical that usermodes/privdeaf should ignore TAGMSG otherwise users receive the "User does not accept private messages" notice multiple times before they've even sent the message that should trigger it.
3rd party modules

Activities

syzop

2025-09-23 17:34

administrator   ~0023514

Yeah I think I agree there :)

zw32h

2025-12-17 17:21

reporter   ~0023583

Patch attached.

syzop

2026-01-23 08:16

administrator   ~0023598

Last edited: 2026-01-23 08:27

Hmm, your patch makes it so TAGMSGs are delivered even if user is +D. I thought you meant to silently reject TAGMSG if +D.

Ah yeah, you probably did that because you could deny in HOOK_DENY without setting an errmsg.

syzop

2026-01-23 08:28

administrator   ~0023599

Done now, thanks for the suggestion! Also applied to +R. And this fixes semi-silently iterating through users to see who is +R/+D as well.

https://github.com/unrealircd/unrealircd/commit/2dd23d13b7a88dc66e0865f076ee8c22449a7aa7
commit 2dd23d13b7a88dc66e0865f076ee8c22449a7aa7 (HEAD -> unreal60_dev, origin/unreal60_dev, origin/HEAD)
Author: Bram Matthys <[email protected]>
Date: Fri Jan 23 08:19:31 2026 +0100

    Silently drop TAGMSG to users who refuse PRIVMSG/NOTICE also (umode +D, +R),
    since the message/notice would not make it through either.
    This also means someone can no longer iterate through users to see who
    is +D/+R by sending a "silent" TAGMSG. (Silent in the sense that the
    end-user usually would not have noticed)
    
    Suggested in https://bugs.unrealircd.org/view.php?id=6579 by zw32h (I think)
    
    This also means HOOKTYPE_CAN_SEND_TO_USER now allows you to NOT to
    set errmsg, to silently drop a message. Previously we would crash
    deliberately on such a situation to enforce that all modules would
    set a proper errmsg.

Issue History

Date Modified Username Field Change
2025-09-23 13:39 zw32h New Issue
2025-09-23 17:34 syzop Assigned To => syzop
2025-09-23 17:34 syzop Status new => acknowledged
2025-09-23 17:34 syzop Note Added: 0023514
2025-12-17 17:21 zw32h Note Added: 0023583
2025-12-17 17:21 zw32h File Added: privdeaf-ignore-tagmsg.patch
2026-01-23 08:16 syzop Note Added: 0023598
2026-01-23 08:27 syzop Note Edited: 0023598
2026-01-23 08:28 syzop Status acknowledged => resolved
2026-01-23 08:28 syzop Resolution open => fixed
2026-01-23 08:28 syzop Fixed in Version => 6.2.3
2026-01-23 08:28 syzop Note Added: 0023599