View Issue Details

IDProjectCategoryView StatusLast Update
0000738unrealircdpublic2003-11-20 19:46
ReporterScytale Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Product Version3.2-beta14 
Summary0000738: Put users on different class if they supply a password.
DescriptionI 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 ReproduceTry adding the stuff in "additional information" into your config.
Additional Informationclass 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

Activities

AngryWolf

2003-02-19 05:45

reporter   ~0001631

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?

syzop

2003-04-11 18:28

administrator   ~0002268

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;
};
};
--

Issue History

Date Modified Username Field Change
2003-04-11 18:28 syzop Status new => resolved
2003-04-11 18:28 syzop Resolution open => fixed
2003-04-11 18:28 syzop Assigned To => syzop
2003-04-11 18:28 syzop Note Added: 0002268
2003-11-20 19:46 syzop Status resolved => closed