Page 1 of 1

Client class sorting

Posted: Sun Jun 05, 2005 10:03 pm
by DJ747
I am having issues with the class and allow blocks. I have setup an extra class and an extra allow block. The class is for opers so that they are pinged less and have different sendq and recvq limits and more hosts per ip than normal users. I have made an allow block for me so that it puts me in the opers class if I specify a password (if not I'll just be classified as a client). The classess appear to be working fine but the allow block isn't putting me where I should be. I put in the correct password, it puts me in the clients class, if I put in no password or an incorrect password, it puts me in the clients class. But if I remove the allow block that puts people in the clients class then it works great, but then no normal users can connect. Here are my classes and allow blocks (in order of the config):

Code: Select all

class           opers
{
        pingfreq 600;
        maxclients 50;
        sendq 200000;
        recvq 16000;
};
class           clients
{
        pingfreq 120;
        maxclients 500;
        sendq 100000;
        recvq 8000;
};

class           servers
{
        pingfreq 400;
        maxclients 10;
        sendq 1000000;
        connfreq 120;
};

Code: Select all

allow {
        ip              *@<myip>;
        hostname        NOTHING;
        class           opers;
        password        "<my md5 password that i will remove>" { md5; };
        maxperip        10;
        options {
                nopasscont;
        };
};
allow {
        ip             *@*;
        hostname       *@*;
        class           clients;
        maxperip 3;
};

Posted: Sun Jun 05, 2005 10:05 pm
by Stealth
The first allow block should be last...

Posted: Sun Jun 05, 2005 10:09 pm
by Stealth
Also, you might want to set oper::class to the opers class, so you don't need to have an allow block for all of your opers :D

(oper::class will change that opers class to the one specified IIRC)

Posted: Sun Jun 05, 2005 10:10 pm
by DJ747
I believe this server notice should explain it:

Code: Select all

[16:10:18] -irc.<mynet>.com- *** Notice -- Client connecting on port 6667: DJ` (dj747@<myip>) [clients]

Posted: Sun Jun 05, 2005 10:18 pm
by DJ747
also speaking of my o:line here is my o:line

Code: Select all

oper DJ747 {
        class           opers;
        from { userhost *@<myip>; };
        password "<pass>" { md5;} ;
        flags NDRvXHWZtz;
        snomask cfFkejvGnNqsSo;
};
Here are some server notices:

Code: Select all

[16:16:06] -irc.<mynet>.com- *** Notice -- Client connecting on port 6667: DJ` (dj747@<myip>) [clients] 
[16:16:10] -irc.<mynet.com- DJ` ([email protected]) [DJ747] is now a network administrator (N)
Funny how when it comes to o:lines classes don't matter...

Posted: Sun Jun 05, 2005 11:03 pm
by Stealth
Because once you oper, Unreal changes your class...

Use /trace <yournick>, and you will see that it does.

Posted: Mon Jun 06, 2005 4:12 am
by DJ747
well that sucks, I thought you needed to be in oper::class for your o:line to work, now it just sortof seems pointless. Is there any way so that a user must be in a class or something in order to oper (like a double protection for opers)

Posted: Tue Jun 07, 2005 3:14 am
by Stealth
Not that I know of...

Posted: Thu Jun 09, 2005 8:54 am
by TigerKatziTatzi
about ur oper class.
a seperate class for opers (or any other additional user class ) is only usefull if u need other class settings, like recvq and sendq.

Posted: Thu Jun 09, 2005 7:46 pm
by Stealth
TigerKatziTatzi wrote:about ur oper class.
a seperate class for opers (or any other additional user class ) is only usefull if u need other class settings, like recvq and sendq.
Yes, that is what he os trying to accomplish. He thought opers needed to connect in the oper::class class to be able to oper for that user. He did not understand that once opered, your class is changed to the class specified in oper::class.

The docs should be more clear on this.

Posted: Thu Jun 09, 2005 11:02 pm
by w00t
I'll also mention that by increasing the ping time, you're more likely to see opers get "Software caused connection abort" errors as the socket will more than likely get closed if no data is sent through it in a long time - one of the reasons pings exist ;).