- Timestamp:
- 06/04/07 21:17:16 (5 years ago)
- Location:
- trunk/ithildin/modules/ircd
- Files:
-
- 6 edited
-
etc/acl.conf (modified) (1 diff)
-
etc/commands.conf (modified) (1 diff)
-
etc/ircd.conf (modified) (1 diff)
-
etc/motd (modified) (1 diff)
-
etc/smotd (modified) (1 diff)
-
protocols/rfc1459.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ithildin/modules/ircd/etc/acl.conf
r745 r807 1 // $Id$ 2 3 /* 4 ** acl section 5 ** this section defines access control rules for the server. access is 6 ** controlled by host masks. Hostmasks may have several forms: they may be 7 ** in CIDR form (ip/bits), standard pattern form, or 'host' pattern form 8 ** (see doc/hostmatch.txt). ACLs are handled in a first matched fashion, 9 ** and should be added in the order of most specific to least specific in 10 ** the conf file. Alternatively, you may give your ACLs rule numbers and 11 ** order them that way. Some examples are provided below. 12 ** 13 ** ACLs come in three stages: 14 ** stage one (where former Z:lines and throttles were placed) is evaluated 15 ** as soon as a socket connection is made. stage one checks are only valid 16 ** against IP address, and no username is available. stage one checks occur 17 ** before any resources are really allocated to the connection. 18 ** 19 ** stage two (not available in previous daemons) is evaluated directly after 20 ** dns and ident checks have been performed on the connection, but before it 21 ** is known whether the connection wishes to register as a client or server. 22 ** these can be useful to block abusive connections from users in a variable 23 ** IP range trying to register as servers. it can also be used as a 24 ** draconian means of forcing EVERY connection to have ident. 25 ** 26 ** stage three (I:lines, K:lines, etc) is evaluated when a client attempts 27 ** to register on the server. it only effects *clients* (unlike the other 28 ** two stages), and has several more options. some examples are listed 29 ** below. 30 */ 31 32 /* 33 ** These two specify the default rule numbers for ACLs. The first is the 34 ** default for 'runtime' ACLs (that is, ACLs added from commands the server 35 ** handles). The second is the default for 'configured' ACLs (the ACLs in 36 ** this file). They are commented out, but have their default values below. 37 ** Also, when ACLs are added rule numbers *do not* automatically increment. 38 ** Valid rules are 0-65535. 39 */ 40 //default-acl-rule 1000; 41 //default-acl-conf-rule 2000; 42 43 // deny all connections from localhost 44 acl { 45 stage 1; // be sure to check right away 46 host "127.0.0.0/8"; 47 access deny; 48 reason "please do not connect from localhost"; 49 }; 50 51 // deny connections from the '0::/16' IPv6 prefix (this tends to cause a lot 52 // of protocol problems on IRC 53 acl { 54 stage 1; 55 host "0::/16"; 56 access deny; 57 reason "please do not connect from the 0:: prefix"; 58 }; 59 60 // and of course, all other stage one connections are allowed. 61 62 // allow users of an internal network to always connect. do this by placing 63 // this ACL at a high rule position (rule 100 here). 64 acl 100 { 65 // if no stage is specified, stage 3 is assumed 66 host "*@192.168.42.*"; 67 access allow; // this overrides all other types 68 class ereet; // the class specification is optional, but 69 // recommended. put them in a special class 70 }; 71 72 // deny connections from users who aren't running identd 73 acl { 74 host "~*@*"; 75 access deny; 76 reason "please enable the auth/ident (rfc1413) service on your computer"; 77 }; 78 79 // now make sure to allow all other connections through. remember to keep 80 // broad ACLs such as this at the bottom of the file! 81 acl { 82 host "*"; 83 access allow; 84 class clients; 85 }; 86 -
trunk/ithildin/modules/ircd/etc/commands.conf
r745 r807 1 // $Id$ 2 3 /* The 'commands' section. This section determines which commands will be 4 * loaded by the server at startup, or when rehashed. Some commands may be 5 * loaded automatically by other modules (such as protocol modules or 6 * addons). All the available commands are listed here. Those which are 7 * depend-loaded elsewhere are commented out. In addition, any extra 8 * settings provided by command modules are listed with the module. */ 9 commands { 10 command acl; // allows operators to view and modify Access 11 // Control List entries in the server. Also serves 12 // as a replacement for old [un][kz]line commands. 13 // (requires addons/acl) 14 15 command admin; // provides information about server administrators. 16 17 //command akill; // provides server commands to set/unset 18 // network-wide bans of various types. (requires 19 // addons/acl, required by protocols/bahamut14) 20 21 command away; // allows clients to set away messages. 22 // creates the 'away-length' privilege which 23 // specifies the maximum length of away messages. 24 25 //command capab; // the CAPAB command, (required by 26 // various protocols) 27 28 command chatops; // allows operators to use the rather silly 29 // 'chatops' command to gab with each other. feel 30 // free to disable this. ;) 31 32 command connect; // allows operators to request that servers connect 33 // to each other. 34 // creates the 'connect' privilege which may be set 35 // to either 'local' (default) or 'remote'. this 36 // controls whether the operator can request remote 37 // connects. 38 39 command die /* { // allows operators to kill the server 40 password "some-md5-pass"; // if you want a password, uncomment this 41 // section 42 } */; 43 44 //command dns; // a command which uses the dns module and behaves much 45 // like the 'dig' command distributed with ISC bind 46 47 //command error; // allows servers to pass error messages back and 48 // forth (required by ircd) 49 50 command flags; // allows users to set various levels of messages 51 // they wish to receive. 52 53 command globops; // allows operators to communicate globally with 54 // other operators in a relatively secure fashion 55 56 //command gnotice; // used by servers to pass messages to opers on 57 // other servers (required by 58 // various protocols) 59 60 //command helper; // used to give 'helper' status to other users. 61 // operator-only (requires usermodes/helper) 62 63 //command helpops; // used to send 'helpops' messages to other helpers. 64 // (requires usermodes/helper) 65 66 command info; // sends information about the server to a user 67 68 command invite; // allows users to invite others into channels 69 // creates the +i channel mode to mark a channel 70 // 'invite only' 71 72 command ison; // allows users to see who is on (used for notify) 73 74 //command join; // allows users to join channels (required by 75 // ircd) 76 77 //command kick; // allows channel operators to kick other users 78 // (requited by ircd) 79 80 //command kill; // allows operators to remove users from the network 81 // (required by ircd). 82 // creates the 'kill' privilege which may be either 83 // 'local' or 'global' and controls whether local 84 // server operators can kill users on other servers 85 // (global) or only on this server (local) 86 87 command links; // allows users to see what servers are on the 88 // network 89 90 command list; // allows users to retrieve a list of channels 91 92 command locops; // allows operators to communicate with other 93 // operators on their server. 94 95 command lusers; // displays statistics about the current server. 96 97 //command mode; // allows users to change either usermodes or 98 // channel modes (required by ircd) 99 100 command module; // allows operators to examine and manipulate 101 // modules loaded by the server 102 103 command motd; // allows users to see the Message of the Day. The 104 // default MOTD files are in <confpath>/ircd/motd 105 // and <confpath>/ircd/smotd (for the regular and 106 // short versions, respectively) 107 108 command names; // allows users to retrieve a channel names list 109 110 //command nick; // allows users to register themselves with the 111 // server, and change their nicknames (required by 112 // ircd) 113 114 command notice; // allows users to send notices to other users or 115 // channels (also adds privmsg) 116 117 command oper; // allows users to grant themselves operator status 118 // on the server. 119 120 //command part; // allows users to depart a channel (required by 121 // ircd) 122 123 //command pass; // allows users to specify a pre-registration 124 // password (required by protocol.rfc1459) 125 126 //command ping; // allows users and servers to ensure links are up 127 //command pong; // (required by ircd) 128 129 //command quit; // allows users to sign off the server (required by 130 // ircd) 131 132 command rehash; // allows operators to reload the server's 133 // configuration files. 134 // creates the 'rehash' privilege which may be 135 // either 'local' or 'remote' and works in the same 136 // manner as the 'connect' privilege. 137 138 //command samode; // allows 'services admins' to change channel modes 139 // (requires usermodes/servicesadmin) 140 141 //command server; // allows servers to register on the network 142 // (requied by ircd) 143 144 command services; // adds various services related commands (CHANSERV, 145 // NICKSERV, et al). 146 147 command silence; // implements a limited server-side ignore for users 148 149 //command sjoin; // used by other servers to distribute information 150 // about users joining channels. (required by 151 // various protocols, requires commands/mode) 152 153 //command sqline; // allows servers to set quarantines on 154 // nicknames/channels (requires addons/quarantine, 155 // required by protocols/bahamut14) 156 157 //command squit; // allows operators to remove servers from the 158 // network (required by addons/core) 159 // creates the 'squit' privilege which may be either 160 // 'local' or 'remote' and works in the same manner 161 // as the 'connect' privilege. 162 163 command stats; // A wrapper for the STATS command. Converts common 164 // requests into their approximate XINFO versions 165 // (requires commands/xinfo) 166 167 //command svinfo; // TS server negotiation command. provides TS of 168 // linking servers. (required by various server 169 // protocols) 170 171 //command svskill; // special 'services' commands which are required 172 //command svsmode; // by protocol.bahamut14 173 //command svsnick; 174 175 command time; // allows users to get the current local time from 176 // servers on the network. 177 178 command topic; // creates channel topics and allows users to modify 179 // them and distribute them over the network. 180 // creates the +t channel mode which specifies 181 // whether all users or only chanops can set topics 182 183 command trace; // allows users to 'trace' server data paths. 184 185 //command user; // allows users to register on the server (required 186 // by protocol.rfc1459) 187 188 command userhost; // allows users to request short-form information 189 // about the status of other clients 190 191 command version; // allows users to request information about the 192 // version of servers on the network. 193 194 command wallops; // allows operators to send messages to users who 195 // wish to receive them. 196 197 command watch; // adds 'server-side notify' support. 198 199 command who; // allows users to get short-form information 200 // about several clients at once using a system 201 // of queries. 202 // creates the 'who-reply-limit' privilege which 203 // specifies the maximum number of replies a user 204 // may receive from the command before no more 205 // will be sent. 206 // creates the 'who-see-invisible' privilege which 207 // specifies whether or not the user can see 208 // invisible users who are not in channels with them 209 210 command whois; // allows users to request long-form information 211 // about other users. 212 213 command whowas; // allows users to see information about other users 214 // who have signed off recently. 215 216 command xinfo; // allows users to request extended information 217 // about various aspects of the server and their 218 // client status. 219 }; 220 -
trunk/ithildin/modules/ircd/etc/ircd.conf
r745 r807 1 // $Id$ 2 3 /* 4 ** 'global' section: 5 ** this section defines the 'global' settings of the IRC server, each one is 6 ** described as it is laid out. 7 */ 8 9 global { 10 name "your.server.name.here"; 11 network "your-network-here"; 12 //address 192.168.42.1; // the ip of the server 13 ports 6660-6669,7000,7325; // the port(s) it runs on 14 info "your info here"; // the gecos information 15 /* 16 ** admin sub-section, 17 ** each line designates additional administrative information. Only 18 ** one line is required. 19 */ 20 admin { 21 "your"; 22 "info"; 23 "here"; 24 }; 25 }; 26 27 /* 28 ** protocols section 29 ** this simply defines a list of protocols you will support, you must 30 ** also add modules for these protocols in your module configuration 31 ** file. Note that the ircd will load rfc1459 for you. 32 */ 33 protocols { 34 bahamut14; // the server<->server protocol for bahamut 1.4.34+ servers 35 }; 36 37 /* 38 ** supported commands to load. you may want to chuck this section in 39 ** another file, it can get pretty long. however, a lot of commands are 40 ** loaded by modules that need them. 41 */ 42 $INCLUDE ircd/commands.conf; 43 44 /* 45 ** addons to load. stuff like ACLs and other friends (spamguarders and the 46 ** like) are addons 47 */ 48 addon acl; 49 // acl section included from acl.conf 50 $INCLUDE ircd/acl.conf; 51 52 addon core; // core support for some channel modes and commands 53 54 /* 55 ** message sets 56 ** these are message groupings which allow you to reformat a lot of the text 57 ** sent to a client. You can $INCLUDE another file to fill in the data, 58 ** and you need not add a new message for every type! I recommend creating 59 ** the first (default) set from nothing (thereby using all defaults) 60 */ 61 message-set default {}; 62 63 /* 64 ** privilege sets 65 ** these are sets of privileges granted to users. they work in a manner very 66 ** similar to the message set system. Additionally, you can 'include' one 67 ** privilege set in another (settings are overriden from a top-down 68 ** perspective) by simply doing "include <name-of-privilege-set>;'. It is 69 ** recommended that you create the first (default) set using all the defaults, 70 ** and then create your own per-class definitions. 71 */ 72 privilege-set default {}; 73 74 /* 75 ** class section 76 ** defines connection classes for users, required fields are 77 ** name, ping, max, and sendq (all of them 78 */ 79 80 // you should put the default class at the top of the file. 81 class default { 82 ping 180; 83 max 600; 84 sendq 102400; 85 }; 86 87 class server { 88 ping 300; 89 max 0; 90 sendq 10485760; // big send queue for servers 91 }; 92 93 class clients { 94 ping 180; // ping timeout frequency 95 max 2000; // maximum connections belonging to this class 96 sendq 51200; // maximum sendq items for this class. 97 flood 60; // set a lowish value, if you see too many innocents flooding 98 // off try raising this to 80-100 99 }; 100 101 class operator { 102 ping 300; // give them more time 103 max 0; // there is no soft limit on users in this class 104 sendq 1048576; // enormous sendqs. 105 flood 0; // no flooding off for them. 106 107 //hostmask "some.host.name"; 108 // the 'hostmask' addon allows you to mask users' hostnames if they 109 // connect in this class. it is not loaded by default. 110 }; 111 112 /* 113 ** operator stuff below 114 */ 115 116 privilege-set oper { 117 maxchannels 0; // no limit 118 see-hidden-channels yes; 119 who-see-invisible yes; 120 who-reply-limit 0; 121 kill global; 122 connect remote; 123 squit remote; 124 operator yes; // this is an operator privilege set 125 }; 126 127 operator you { 128 host "ident@some.host"; // hostnames work 129 host "127.0.0.1/8"; // so do CIDR masks 130 131 pass "md5-password"; 132 class "operator"; 133 privilege-set oper; 134 }; 135 136 /* 137 ** server stuff below 138 */ 139 server your.uplink.here { 140 address "192.168.42.254"; 141 port 4000; 142 interval 3m; // try and connect every three minutes 143 protocol bahamut14; 144 theirpass "their-plaintext-password"; 145 ourpass "our-plaintext-password"; 146 hub *; // lets them hub anything. 147 class server; // be sure to set a server class! 148 }; 149 -
trunk/ithildin/modules/ircd/etc/motd
r745 r807 1 This is the regular MOTD file. It looks like this because 2 its owner (maybe you) has not taken time to edit it. How 3 very unprofessional of you. Tsk. -
trunk/ithildin/modules/ircd/etc/smotd
r745 r807 1 This is the short MOTD. The owner (maybe you) hasn't bothered 2 to edit the default, so this is what you get. Hah. -
trunk/ithildin/modules/ircd/protocols/rfc1459.c
r806 r807 14 14 MODULE_REGISTER("$Rev$"); 15 15 const char *mdepends[] = MDEPENDS; 16 const char *msoftdepends[] = { 17 "ircd.command.pass", "ircd.command.user", 18 NULL 19 }; 16 20 17 21 /* parser for packets */
Note: See TracChangeset
for help on using the changeset viewer.
