Selaa lähdekoodia

provide a simplified default configuration

Ralf S. Engelschall 20 vuotta sitten
vanhempi
commit
71ee03ed66
4 muutettua tiedostoa jossa 341 lisäystä ja 9 poistoa
  1. 191 0
      ratbox/ratbox-server.conf
  2. 127 0
      ratbox/ratbox-services.conf
  3. 22 9
      ratbox/ratbox.spec
  4. 1 0
      ratbox/rc.ratbox

+ 191 - 0
ratbox/ratbox-server.conf

@@ -0,0 +1,191 @@
+##
+##  server.conf -- Ratbox IRC Server Configuration
+##  (see @l_prefix@/share/ratbox/server.conf.sample for more)
+##
+
+serverinfo {
+    name                       = "irc.example.com";
+    use_ts6                    = yes;
+    sid                        = "42X";
+    description                = "Example IRC Services";
+    network_name               = "ExNet";
+    network_desc               = "Example IRC Network";
+    hub                        = no;
+};
+
+admin {
+    name                       = "irc-admin";
+    description                = "Example IRC Server Administrator";
+    email                      = "<irc-admin@example.com>";
+};
+
+class "users" {
+    number_per_ident           = 2;
+    number_per_ip              = 4;
+    number_per_ip_global       = 8;
+    max_number                 = 100;
+    sendq                      = 100 kbytes;
+};
+
+class "opers" {
+    number_per_ident           = 2;
+    number_per_ip              = 4;
+    number_per_ip_global       = 8;
+    max_number                 = 10;
+    sendq                      = 100 kbytes;
+};
+
+class "server" {
+    ping_time                  = 5 minutes;
+    connectfreq                = 5 minutes;
+    max_number                 = 1;
+    sendq                      = 2 megabytes;
+    sendq_eob                  = 500 kbytes;
+};
+
+listen {
+    host                       = "127.0.0.1";
+    port                       = 6667;
+};
+
+auth {
+    user                       = "foo@*";
+    password                   = "bar";
+    spoof                      = "foo@example.com";
+    flags                      = no_tilde;
+    class                      = "opers";
+};
+
+auth {
+    user                       = "*@*";
+    flags                      = no_tilde;
+    class                      = "users";
+};
+
+operator "god" {
+    user                       = "*@127.0.0.1";
+    password                   = "bar";
+    flags                      = global_kill, remote, kline, unkline, gline,
+                                 die, rehash, admin, xline, operwall;
+};
+
+connect "irc-services.example.com" {
+    host                       = "127.0.0.1";
+    send_password              = "services-secret";
+    accept_password            = "services-secret";
+    port                       = 6666;
+    class                      = "server";
+    hub_mask                   = "*";
+};  
+
+cluster {
+    name                       = "*";
+    type                       = all;
+};
+
+resv {
+    reason                     = "There are no services on this network";
+    nick                       = "userserv";
+    nick                       = "chanserv";
+    nick                       = "operserv";
+    nick                       = "jupeserv";
+    nick                       = "operbot";
+    nick                       = "alis";
+    nick                       = "global";
+    channel                    = "#services";
+};
+
+channel {
+    use_invex                  = yes;
+    use_except                 = yes;
+    use_knock                  = yes;
+    invite_ops_only            = yes;
+    knock_delay                = 5 minutes;
+    knock_delay_channel        = 1 minute;
+    max_chans_per_user         = 15;
+    quiet_on_ban               = yes;
+    max_bans                   = 25;
+    default_split_user_count   = 0;
+    default_split_server_count = 0;
+    default_split_delay        = 15 seconds;
+    no_create_on_split         = no;
+    no_join_on_split           = no;
+    no_oper_resvs              = no;
+    burst_topicwho             = yes;
+};
+
+serverhide {
+    flatten_links              = no;
+    links_delay                = 5 minutes;
+    hidden                     = no;
+    disable_hidden             = no;
+};
+
+general {
+    hide_error_messages        = no;
+    default_invisible          = no;
+    default_operstring         = "is IRC Service Operator";
+    default_adminstring        = "is IRC Server Administrator";
+    disable_fake_channels      = yes;
+    tkline_expire_notices      = no;
+    default_floodcount         = 10;
+    failed_oper_notice         = yes;
+    dots_in_ident              = 2;
+    dot_in_ip6_addr            = no;
+    min_nonwildcard            = 4;
+    min_nonwildcard_simple     = 3;
+    max_accept                 = 20;
+    anti_nick_flood            = yes;
+    max_nick_time              = 20 seconds;
+    max_nick_changes           = 5;
+    anti_spam_exit_message_time = 5 minutes;
+    ts_warn_delta              = 30 seconds;
+    ts_max_delta               = 5 minutes;
+    client_exit                = yes;
+    kline_delay                = 0 seconds;
+    kline_with_reason          = yes;
+    kline_reason               = "Connection closed";
+    non_redundant_klines       = yes;
+    warn_no_nline              = yes;
+    stats_e_disabled           = no;
+    stats_c_oper_only          = no;
+    stats_h_oper_only          = no;
+    stats_y_oper_only          = no;
+    stats_o_oper_only          = yes;
+    stats_P_oper_only          = no;
+    stats_i_oper_only          = masked;
+    stats_k_oper_only          = masked;
+    map_oper_only              = no;
+    operspy_admin_only         = no;
+    caller_id_wait             = 1 minute;
+    pace_wait_simple           = 1 second;
+    pace_wait                  = 10 seconds;
+    short_motd                 = no;
+    ping_cookie                = no;
+    connect_timeout            = 30 seconds;
+    disable_auth               = no;
+    no_oper_flood              = yes;
+    glines                     = yes;
+    gline_time                 = 1 day;
+    gline_min_cidr             = 16;
+    idletime                   = 0;
+    max_targets                = 4;
+    client_flood               = 20;
+    use_whois_actually         = yes;
+    oper_only_umodes           = bots, cconn, debug, full, skill, nchange, 
+                                 rej, spy, external, operwall, locops, unauth;
+    oper_umodes                = locops, servnotice, operwall, wallop;
+    servlink_path              = "@l_prefix@/bin/ratbox-servlink";
+    compression_level          = 6;
+    burst_away                 = yes;
+    reject_ban_time            = 1 minute;
+    reject_after_count         = 3;
+    reject_duration            = 5 minutes;
+};
+
+modules {
+    path                       = "@l_prefix@/libexec/ratbox";
+    path                       = "@l_prefix@/libexec/ratbox/autoload";
+    #module                    = "some_module.so";
+};
+

+ 127 - 0
ratbox/ratbox-services.conf

@@ -0,0 +1,127 @@
+##
+##  services.conf -- Ratbox IRC Services Configuration
+##  (see @l_prefix@/share/ratbox/services.conf.sample for more)
+##
+
+serverinfo {
+    name                       = "irc-services.example.com";
+    description                = "Example IRC Network Services";
+    vhost                      = "127.0.0.1";
+    dcc_vhost                  = "127.0.0.1";
+    dcc_low_port               = 3000;
+    dcc_high_port              = 5000;
+    reconnect_time             = 5 minutes;
+    ping_time                  = 5 minutes;
+    ratbox                     = yes;
+    client_flood_max           = 20;
+    client_flood_max_ignore    = 30;
+    client_flood_ignore_time   = 5 minutes;
+    client_flood_time          = 1 minute;
+};
+
+admin {
+    name                       = "irc-services-admin";
+    description                = "Example IRC Services Administrator";
+    email                      = "<admin@irc-services.example.com>";
+};
+
+connect "irc.example.com" {
+    vhost                      = "127.0.0.1";
+    host                       = "127.0.0.1";
+    port                       = 6667;
+    password                   = "services-secret";
+    autoconn                   = yes;
+};
+
+operator "foo" {
+    user                       = "*@127.0.0.1";
+    user                       = "*@127.0.0.1", "irc.example.com";
+    password                   = "bar";
+    encrypted                  = no;
+    flags                      = admin, dcc, route;
+};
+
+service "global" {
+    nick                       = "GLOBAL";
+    username                   = "global";
+    host                       = "irc-services.example.com";
+    realname                   = "Global Network Message Service";
+    flags                      = opered, msg_self, stealth;
+    loglevel                   = 1;
+};
+
+service "alis" {
+    nick                       = "ALIS";
+    username                   = "alis";
+    host                       = "irc-services.example.com";
+    realname                   = "Advanced List Service";
+    flags                      = msg_self;
+    loglevel                   = 1;
+    max_matches                = 60;
+};
+
+service "userserv" {
+    nick                       = "USERSERV";
+    username                   = "userserv";
+    host                       = "irc-services.example.com";
+    realname                   = "User Registration Service";
+    flags                      = opered, msg_self;
+    loglevel                   = 5;
+    disable_register           = no;
+    register_url               = "http://irc.example.com/register.html";
+    register_time              = 1 minute;
+    register_amount            = 10;
+    register_email             = no;
+    allow_set_email            = yes;
+    expire_time                = 4 weeks;
+    allow_set_password         = yes;
+    max_logins                 = 2;
+};
+
+service "chanserv" {
+    nick                       = "CHANSERV";
+    username                   = "chanserv";
+    host                       = "irc-services.example.com";
+    realname                   = "Channel Registration Service";
+    flags                      = opered, msg_self;
+    loglevel                   = 6;
+    disable_register           = no;
+    register_time              = 1 minute;
+    register_amount            = 5;
+    expire_time                = 4 weeks;
+    expireban_frequency        = 15 minutes;
+    enforcetopic_frequency     = 1 hour;
+    max_bans                   = 50;
+};
+
+service "operserv" {
+    nick                       = "OPERSERV";
+    username                   = "operserv";
+    host                       = "irc-services.example.com";
+    realname                   = "Operator Service";
+    flags                      = disabled, opered, msg_self, stealth;
+    loglevel                   = 1;
+};
+
+service "operbot" {
+    nick                       = "OPERBOT";
+    username                   = "operbot";
+    host                       = "irc-services.example.com";
+    realname                   = "Operator OP/Invite Service";
+    flags                      = disabled, opered, msg_self, stealth;
+    loglevel                   = 1;
+};
+
+service "jupeserv" {
+    nick                       = "JUPESERV";
+    username                   = "jupeserv";
+    host                       = "irc-services.example.com";
+    realname                   = "Server Jupe service";
+    flags                      = disabled, opered, msg_self, stealth;
+    loglevel                   = 3;
+    oper_score                 = 3;
+    jupe_score                 = 15;
+    unjupe_score               = 15;
+    pending_time               = 30 minutes;
+};
+

+ 22 - 9
ratbox/ratbox.spec

@@ -37,12 +37,14 @@ Class:        EVAL
 Group:        Network
 License:      GPL
 Version:      %{V_server}
-Release:      20050412
+Release:      20050413
 
 #   list of sources
 Source0:      ftp://ftp.ircd-ratbox.org/pub/ircd-ratbox/ircd-ratbox-%{V_server}.tgz
 Source1:      ftp://ftp.ircd-ratbox.org/pub/ircd-ratbox/ratbox-services/ratbox-services-%{V_services}.tgz
 Source2:      rc.ratbox
+Source3:      ratbox-server.conf
+Source4:      ratbox-services.conf
 Patch0:       ftp://ftp.ircd-ratbox.org/pub/ircd-ratbox/ircd-ratbox-%{V_server}+unxr.diff
 Patch1:       ratbox.patch
 
@@ -146,15 +148,10 @@ AutoReqProv:  no
               $RPM_BUILD_ROOT%{l_prefix}/bin/ratbox-$bin
       done
       rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/example.efnet.conf
-      mv $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/example.conf \
-         $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/server.conf
       mv $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/ircd.motd \
          $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/server.motd
       mv $RPM_BUILD_ROOT%{l_prefix}/man/man8/ircd.8 \
          $RPM_BUILD_ROOT%{l_prefix}/man/man8/ratbox-ircd.8
-      %{l_shtool} subst \
-         -e 's;/usr/local/ircd/modules;%{l_prefix}/libexec/ratbox;g' \
-         $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/server.conf
     ) || exit $?
 
     #   install IRC services
@@ -162,10 +159,8 @@ AutoReqProv:  no
       %{l_make} %{l_mflags} install PREFIX=$RPM_BUILD_ROOT%{l_prefix}/share/ratbox/services
       mv  $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/services/ratbox-services \
           $RPM_BUILD_ROOT%{l_prefix}/bin/ratbox-services
-      mv  $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/services/example.conf \
-          $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/services.conf
       rmdir $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/services/logs
-      find $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/services -type d -print | xargs chmod 775
+      find $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/services -type d -print | xargs chmod 755
     ) || exit $?
 
     #   post-adjust installation
@@ -175,6 +170,24 @@ AutoReqProv:  no
     chmod 755 $RPM_BUILD_ROOT%{l_prefix}/bin/*
     chmod 644 $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/*
 
+    #   install default configuration
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/etc
+    mv  $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/example.conf \
+        $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/etc/server.conf.sample
+    mv  $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/services/example.conf \
+        $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/etc/services.conf.sample
+    chmod 644 $RPM_BUILD_ROOT%{l_prefix}/share/ratbox/etc/*
+    %{l_shtool} install -c -m 644 %{l_value -s -a} \
+        %{SOURCE ratbox-server.conf} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/server.conf
+    %{l_shtool} install -c -m 644 %{l_value -s -a} \
+        %{SOURCE ratbox-services.conf} \
+        $RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/services.conf
+    ( echo "Welcome to the Example IRC service"
+      echo "running on server irc.example.com."
+    ) >$RPM_BUILD_ROOT%{l_prefix}/etc/ratbox/server.motd
+
     #   install run-command script
     %{l_shtool} mkdir -f -p -m 755 \
         $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d

+ 1 - 0
ratbox/rc.ratbox

@@ -38,6 +38,7 @@
     rcService ratbox enable yes || exit 0
     rcService ratbox active yes && exit 0
     @l_prefix@/bin/ratbox-ircd ${ratbox_server_flags}
+    sleep 2
     @l_prefix@/bin/ratbox-services ${ratbox_services_flags}
 
 %stop -u @l_rusr@