View Issue Details

IDProjectCategoryView StatusLast Update
0005055unrealmodule apipublic2018-09-06 21:12
ReporterGottem Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Platformx86_64OSDebianOS Version7 (wheezy)
Product Version4.0.17 
Summary0005055: Deny part from PRE_LOCAL_PART hook
DescriptionIt seems that if you return NULL from a PRE_LOCAL_PART hook, the user is still allowed to part. It's a bit counter-intuitive because it shares its name with PRE_LOCAL_JOIN, which does let you block the join.

I checked m_part and it seems returning NULL only causes the comment/reason to be set to nothing.
TagsNo tags attached.
3rd party modulesN/A

Activities

syzop

2018-06-21 08:04

administrator   ~0020174

Last edited: 2018-06-21 08:04

There was a similar request once many many years ago. In general it's not so useful to deny the part... for example in mIRC you just close the window and mIRC will send a PART. You can deny the PART in the IRCd but it won't have any effect on the GUI of the client (the channel window is already closed). It would be better to re-join the user so the GUI forces a (new) channel window open again.

Other than that, there's no technical limitation on the server side to get this added, but now you understand the lack of priority :D

syzop

2018-06-21 08:05

administrator   ~0020175

Also, if changing, should consider if it's worth breaking the API. I don't know how many modules hook part... intuitively I would say: not many, but you may know best :)

Gottem

2018-07-19 13:40

developer   ~0020220

I have 2 modules which hook HOOKTYPE_LOCAL_PART (not even PRE_LOCAL). One is chansno which simply sends a message and the other is joinmute which uses it to cleanup some memory related to the parting user. Both may need some adjustments but it would be minor.

Then again, I don't quite remember who asked me for a module that denies parting and what other features it should have. :D So I suppose you can close it for now, if it comes up again I think I'll just roll with forcing a rejoin from a LOCAL_PART hook. =]

Issue History

Date Modified Username Field Change
2018-01-11 19:35 Gottem New Issue
2018-06-21 08:04 syzop Note Added: 0020174
2018-06-21 08:04 syzop Note Edited: 0020174
2018-06-21 08:05 syzop Note Added: 0020175
2018-07-19 13:40 Gottem Note Added: 0020220
2018-09-06 21:12 syzop Assigned To => syzop
2018-09-06 21:12 syzop Status new => closed
2018-09-06 21:12 syzop Resolution open => no change required