View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000738 | unreal | ircd | public | 2003-02-18 23:39 | 2003-11-20 19:46 |
| Reporter | Scytale | Assigned To | syzop | ||
| Priority | normal | Severity | feature | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 3.2-beta14 | ||||
| Summary | 0000738: Put users on different class if they supply a password. | ||||
| Description | I recently tried to create a new connection class called "vips", which has - in contrast to the "clients" one - a password. My goal was to create "privileged" accounts who have the possibility to connect more clones. I had to find out that either the new class was ignored completely (if it was put BEFORE the "clients" class into the config file) or that nobody not having the password could connect (if it was put AFTER it) anymore. | ||||
| Steps To Reproduce | Try adding the stuff in "additional information" into your config. | ||||
| Additional Information | class clients { maxclients 50; pingfreq 120; sendq 10000; }; class vips { maxclients 100; pingfreq 90; sendq 10000; }; allow { class clients; hostname *; ip *; maxperip 3; }; allow { class vips; hostname *; ip *; maxperip 20; password "somepw"; }; | ||||
| 3rd party modules | |||||
|
|
Unreal finds an allow block which is matching for the client and puts into the given class. It stops after the first match, and doesn't check for passwords while searching. This is why there is no way for do things like that. Ideas? |
|
|
allow::options::ssl and allow::options::nopasscont added. *paste from docs* ssl - only match if this client is connected via SSL nopasscont - continue matching if no password was given (so you can put clients in special classes if they supply a password). in your example it will work with: -- allow { class clients; hostname *; ip *; maxperip 3; }; allow { class vips; hostname *; ip *; maxperip 20; password "somepw"; options { nopasscont; }; }; -- |