View Issue Details

IDProjectCategoryView StatusLast Update
0005118unrealircdpublic2019-12-28 09:43
Reportersyzop Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityN/A
Status resolvedResolutionfixed 
Product Version4.2.0 
Fixed in Version4.2.0 
Summary0005118: tell ircd NOT to load a module
DescriptionIt might be useful to put in the conf a statement that tells UnrealIRCd NOT to load a module (and it shouldn't matter where this is put, if ANY config file contains ANY blacklisting of the mod, it will not be loaded).

In Linux (and presumably elsewhere) this is called blacklisting and the syntax is:
blacklist driver-name

Obviously, in our case "blacklist" has a different meaning. It is already used by the DNSBL blacklist module. So another name should be used. Something with a similar strong meaning. For example, "unload" is not strong enough and would raise questions whether the order would matter (which shouldn't). The term "blacklist" is clear with regards to that.. it clearly means never ever load this. So.. hmm.. something like that.

Downsides of this feature would be questions like "I added loadmodule but it does not load the module??". But I think the pro's outweight the con's.. especially since this probably won't be used much by beginners.
TagsNo tags attached.
3rd party modules

Activities

syzop

2018-07-14 17:29

administrator   ~0020214

Possible useful synonyms for "blacklist" (and 2nd order synonyms):

exclude, prohibit, refuse, reject, snub, withhold, boycott, purge

blacklist-module exclude-module prohibit-module refuse-module reject-module snub-module withhold-module boycott-module

I think the refuse, reject and prohibit would imply us having to print out an error when an attempt is made to load it anyway. So not good.

blacklist-module and exclude-module sound good to me. I guess it will be just blacklist-module to keep in line with other programs :D

PeGaSuS

2018-07-16 14:30

reporter   ~0020218

What about something like:

deny loadmodule {
     "third/modulename";
     "modulename";
};

As we use 'loadmodule "modulename";' I think this makes sense also :D

Cheers!

syzop

2018-09-02 11:04

administrator   ~0020241

Last edited: 2018-09-02 11:05

Before I close this, just to explain why I didn't choose deny loadmodule:
There's something to say in favor of this, since it is indeed 'loadmodule' to load modules so a 'deny loadmodule' sounds nice.
On the other hand I didn't choose this because I think the 'deny' part would be confusing. It would (in my view) imply that we will throw an error if an attempt is made to load such a module.
So I went for blacklist-module instead. The hyphen is a bit non-standard, but ah well..

syzop

2018-09-02 11:05

administrator   ~0020242

Added in 4.0.19. https://github.com/unrealircd/unrealircd/commit/d86d4c7c71aa35cc28703d12f07e112cb28c67c0

Current release notes read:
* New option to disable a module: blacklist-module "modulename";
  This will cause any 'loadmodule' lines for that module to be ignored.
  This is especially useful if you only want to disable a few modules
  that are (normally) automatically loaded by conf/modules.default.conf.
  https://www.unrealircd.org/docs/Blacklist-module_directive

Issue History

Date Modified Username Field Change
2018-07-14 17:22 syzop New Issue
2018-07-14 17:29 syzop Note Added: 0020214
2018-07-14 17:29 syzop Status new => acknowledged
2018-07-14 17:30 syzop Sticky Issue No => Yes
2018-07-16 14:30 PeGaSuS Note Added: 0020218
2018-09-02 11:04 syzop Note Added: 0020241
2018-09-02 11:05 syzop Assigned To => syzop
2018-09-02 11:05 syzop Status acknowledged => resolved
2018-09-02 11:05 syzop Resolution open => fixed
2018-09-02 11:05 syzop Fixed in Version => 4.2.0
2018-09-02 11:05 syzop Note Added: 0020242
2018-09-02 11:05 syzop Note Edited: 0020241
2019-12-28 09:43 syzop Sticky Issue Yes => No