Compare commits

...

4 Commits

1 changed files with 67 additions and 7 deletions

View File

@ -25,13 +25,9 @@ include "operclass.default.conf";
## Remote inclusion
Recall the line you got sent in the e-mail referred to as the _"remote include"_? Well,
now place that line here:
```
/* Remote configuration base */
include "<remote inclusion url>";
```
This section _used to_ be applicable but we no longer do remote inclusion anumore
and prefer having the server administrators have their configuration files all
based locally.
## Server information
@ -62,6 +58,50 @@ admin
}
```
## Classes
We need to define some classes which are effectively names used to refer to a bunch
of settings pertaining to connection management in terms of queueing. We shall define
these for:
1. `clients`
* Affects ordinary clients
2. `opers`
* Affects those logged in as oper
3. `servers`
* Affects communication for server-to-server (S2S) links
These are defined in order below:
```
/* Client class */
class clients
{
pingfreq 90;
maxclients 1000;
sendq 200k;
recvq 8000;
};
/* Oper class */
class opers
{
pingfreq 90;
maxclients 50;
sendq 1M;
recvq 8000;
};
/* Server class */
class servers
{
pingfreq 60;
connfreq 30;
maxclients 100;
sendq 20M;
};
```
## Operator information
Since this is _your_ server you will be able to configure an operator account that
@ -117,6 +157,26 @@ listen
}
```
Lastly we need to create an `allow {}` block. With listeners setup a socket
is bound which will accept connections at a network transport protocol level
however once connected we can decide whether to let someone proceed with
sending us IRC commands, allow blocks control this. We want to let any
user in from any IP (hence the `*@*`), we want it to apply rules from the
`clients` class defined earlier and only allow a maximum of a `100` connections
from the same IP:
```
/*
* Allow blocks
*/
allow
{
ip *@*;
class clients;
maxperip 100;
}
```
### Servers
The servers need to be able to link to each other and they do so over TLS,