View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004117 | unreal | ircd | public | 2012-07-13 03:57 | 2013-05-23 05:53 |
Reporter | KindOne | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Product Version | 3.2.9 | ||||
Fixed in Version | 3.4-alpha1 | ||||
Summary | 0004117: Channel mode - Prevent channel destruction when channel is emptied. | ||||
Description | Currently when everyone leaves a channel, it is destroyed. This causes the ban list/invite list/channel creation date to also be destroyed. I am suggesting creating a new cmode that is only settable by /oper's to prevent the channel from being destroyed when it's emptied. This would also make the channel show up in /list with 0 users (pending the channel has the cmode and is not +s). The only time this would fail is if *ALL* the servers on the network go offline. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
3rd party modules | |||||
child of | 0004188 | closed | Unreal 3.4 alpha1 blockers |
|
+1 |
|
+1 |
|
I will try to get this done this week. Going to use +P for it, since it's open and matches the mode on all the other ircds. |
|
Patch to implement. It's pretty trivial (yay first unreal patch!) |
|
falconkirtaran, this patch will not work because it breaks on systems with 32-bit longs. look into e.g. extcmode and adding hooks for whether or not the channel should be destroyed. then we could put it in a module. |
|
Here it is with just extcmode. It would of course be possible to add a hook, but unless there are other plausible reasons to not destroy a channel (services could just set +P if it wants this), the function pointer array might be more trouble than it's worth. |
|
Syzop: input? |
|
The idea with Unreal3.4 is that we move more and more modes into modules. That is, including all the things the mode does. Add hooks where necessary. So especially if you code something new, it would be appreciated if you make it a separate module straight away :) And if you have time, feel free to look into modularizing more channel modes. Right now a lot is in the core and this makes UnrealIRCd inflexible at that point, which is a shame as a lot can be modularized easily. And the other half or so just requires more hooks / more effort. EDIT: In case it wasn't clear why, say someone doesn't want to have that +P, he can choose not to load that module. |
|
http://hg.unrealircd.org/hg/unreal/rev/6a1cc53d377e |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-07-13 03:57 | KindOne | New Issue | |
2012-07-14 22:21 | katsklaw | Note Added: 0017049 | |
2012-07-22 08:08 | Cronus | Note Added: 0017050 | |
2012-07-23 07:54 |
|
Note Added: 0017051 | |
2013-05-11 20:46 | falconkirtaran | Note Added: 0017545 | |
2013-05-11 20:46 | falconkirtaran | File Added: 4117_mode_P.diff | |
2013-05-11 20:56 | falconkirtaran | File Added: 4117_mode_P_with_help.diff | |
2013-05-12 07:20 |
|
Note Added: 0017547 | |
2013-05-14 05:43 | falconkirtaran | Note Added: 0017559 | |
2013-05-14 05:44 | falconkirtaran | File Added: 4117_mode_P_with_extmode.diff | |
2013-05-14 06:11 |
|
Note Added: 0017560 | |
2013-05-16 21:23 | syzop | Note Added: 0017580 | |
2013-05-16 21:24 | syzop | Note Edited: 0017580 | |
2013-05-20 02:47 |
|
Relationship added | child of 0004188 |
2013-05-20 21:54 |
|
Note Added: 0017643 | |
2013-05-20 21:54 |
|
Status | new => resolved |
2013-05-20 21:54 |
|
Fixed in Version | => 3.4-alpha1 |
2013-05-20 21:54 |
|
Resolution | open => fixed |
2013-05-20 21:54 |
|
Assigned To | => nenolod |