diff --git a/atheme-config.diff b/atheme-config.diff deleted file mode 100644 index 6284b7b..0000000 --- a/atheme-config.diff +++ /dev/null @@ -1,281 +0,0 @@ -Give Atheme a good default config that harmonizes with the -ircd-seven package, such that installing ircd7 and atheme, -and then starting both gives a directly usable Services. - -Signed-off-by: Jan Engelhardt ---- - dist/atheme.conf.example | 72 +++++++++++++++++++---------------------------- - 1 file changed, 30 insertions(+), 42 deletions(-) - -Index: atheme-services-7.1.0/dist/atheme.conf.example -=================================================================== ---- atheme-services-7.1.0.orig/dist/atheme.conf.example -+++ atheme-services-7.1.0/dist/atheme.conf.example -@@ -67,7 +67,7 @@ - * If your IRCd vendor has supplied a module file, build it and load it here - * instead of one above. - */ --#loadmodule "modules/protocol/charybdis"; -+loadmodule "modules/protocol/charybdis"; - - /* Protocol mixins. - * -@@ -749,7 +749,7 @@ loadmodule "modules/groupserv/set_url"; - * - * HTTP Server modules/misc/httpd - */ --loadmodule "modules/misc/httpd"; -+#loadmodule "modules/misc/httpd"; - - /* XMLRPC server module. - * -@@ -798,7 +798,7 @@ serverinfo { - * unique on the IRC network and contain at least one dot, but does - * not have to be equal to any DNS name. - */ -- name = "services.int"; -+ name = "services.localhost."; - - /* desc - * The ``server comment'' we send to the IRC network. -@@ -820,24 +820,24 @@ serverinfo { - /* (*)netname - * The name of your network. - */ -- netname = "misconfigured network"; -+ netname = "unconfigured network"; - - /* (*)hidehostsuffix - * P10 +x host hiding gives .. - * If using +x on asuka/bircd/undernet, this must agree - * with F:HIDDEN_HOST. - */ -- hidehostsuffix = "users.misconfigured"; -+ hidehostsuffix = "users.unconfigured"; - - /* (*)adminname - * The name of the person running this service. - */ -- adminname = "misconfigured admin"; -+ adminname = "unconfigured admin"; - - /* (*)adminemail - * The email address of the person running this service. - */ -- adminemail = "misconfigured@admin.tld"; -+ adminemail = "unconfigured@admin.tld"; - - /* (*)registeremail - * The email address that messages should be originated from. -@@ -936,12 +936,12 @@ serverinfo { - * To link Atheme over ssl, please connect Atheme to a local ircd and have that - * connect to your network over SSL. - */ --uplink "irc.example.net" { -+uplink "localhost." { - // The server name of the ircd you're linking to goes above. - - // host - // The hostname to connect to. -- host = "127.0.0.1"; -+ host = "localhost"; - - // vhost - // The source IP to connect from, used on machines with multiple interfaces. -@@ -960,18 +960,6 @@ uplink "irc.example.net" { - port = 6667; - }; - --/* this is an example for using an IPv6 address as an uplink */ --uplink "irc6.example.net" { -- host = "::1"; -- -- // password -- // If you want to have same send_password and accept_password, you -- // can specify both using 'password' instead of individually. -- password = "linkage"; -- -- port = 6667; --}; -- - /* Services configuration. - * - * Each of these blocks can contain a nick, user, host, real and aliases. -@@ -1016,7 +1004,7 @@ nickserv { - /* (*)host - * The hostname we want NickServ to have. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The realname (gecos) information we want NickServ to have. -@@ -1113,7 +1101,7 @@ chanserv { - /* (*)host - * The hostname we want the client to have. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The GECOS of the client. -@@ -1142,7 +1130,7 @@ chanserv { - * use a lot of CPU up, and will only work if you have - * join_chans (in general) enabled as well. - */ -- fantasy; -+ #fantasy; - - /* (*) hide_xop - * Hide the XOP templates from sight. This is useful if you -@@ -1315,7 +1303,7 @@ global { - /* (*)host - * The hostname used for this client. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The GECOS (real name) of the client. -@@ -1344,7 +1332,7 @@ infoserv { - /* (*)host - * The hostname used for this client, - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The GECOS (real name) of the client. -@@ -1380,7 +1368,7 @@ operserv { - /* (*)host - * The hostname used for this client. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The GECOS (real name) of the client. -@@ -1421,7 +1409,7 @@ saslserv { - /* (*)host - * The hostname we want SaslServ to have. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The realname (gecos) information we want SaslServ to have. -@@ -1450,7 +1438,7 @@ memoserv { - /* (*)host - * The hostname we want MemoServ to have. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The realname (gecos) information we want MemoServ to have. -@@ -1495,7 +1483,7 @@ gameserv { - /* (*)host - * The hostname used for this client. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The GECOS (real name) of the client. -@@ -1535,7 +1523,7 @@ rpgserv { - /* (*)host - * The hostname used for this client. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The GECOS (real name) of the client. -@@ -1610,7 +1598,7 @@ groupserv { - /* (*)host - * The hostname we want GroupServ to have. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The realname (gecos) information we want GroupServ to have. -@@ -1675,7 +1663,7 @@ hostserv { - /* (*)host - * The hostname used for this client. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The GECOS (real name) of the client. -@@ -1724,7 +1712,7 @@ helpserv { - /* (*)host - * The hostname we want HelpServ to have. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The realname (gecos) information we want HelpServ to have. -@@ -1778,7 +1766,7 @@ alis { - /* (*)host - * The hostname we want ALIS to have. - */ -- host = "services.int"; -+ host = "services.localhost."; - - /* (*)real - * The realname (gecos) information we want ALIS to have. -@@ -1798,18 +1786,18 @@ httpd { - * The host that the HTTP server will listen on. - * Use 0.0.0.0 if you want to listen on all available hosts. - */ -- host = "0.0.0.0"; -+ #host = "0.0.0.0"; - - /* host (ipv6) - * If you want, you can have Atheme listen on an IPv6 host too. - * Use :: if you want to listen on all available IPv6 hosts. - */ -- #host = "::"; -+ host = "::"; - - /* www_root - * The directory that contains the files that should be served by the httpd. - */ -- www_root = "/var/www"; -+ www_root = "/usr/lib/atheme/www"; - - /* port - * The port that the HTTP server will listen on. -@@ -1870,17 +1858,17 @@ ldap { - * This block logs all account and channel registrations and drops, - * and account and channel setting changes to var/account.log. - */ --logfile "var/account.log" { register; set; }; -+logfile "/var/log/ateme/account.log" { register; set; }; - - /* - * This block logs all command use to var/commands.log. - */ --logfile "var/commands.log" { commands; }; -+logfile "/var/log/atheme/commands.log" { commands; }; - - /* - * This block logs all security auditing information. - */ --logfile "var/audit.log" { denycmd; }; -+logfile "/var/log/atheme/audit.log" { denycmd; }; - - /* - * You can log to IRC channels, and even split it by category, too. -@@ -1963,7 +1951,7 @@ general { - * network channels by keeping them open, and to preserve the - * topic and +beI lists. - */ -- leave_chans; -+ #leave_chans; - - /* secure - * Do you want to require the use of /msg @? diff --git a/atheme-lockmodes.diff b/atheme-lockmodes.diff index 56263da..8e86552 100644 --- a/atheme-lockmodes.diff +++ b/atheme-lockmodes.diff @@ -1,7 +1,7 @@ Add +k and +l channel modes to the default locks, so empty channels' protection is properly restored across Services reboots. -Signed-off-By: Jan Engelhardt +Signed-off-By: Jan Engelhardt --- modules/chanserv/register.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/atheme-nodate.diff b/atheme-nodate.diff index f978f4d..07b7273 100644 --- a/atheme-nodate.diff +++ b/atheme-nodate.diff @@ -4,41 +4,27 @@ Date: 2012-10-28 01:35:57.295975255 +0200 __DATE__ is not desired; causes unnecessary rebuilds. --- - libathemecore/ctcp-common.c | 2 +- - libathemecore/ptasks.c | 2 +- - modules/operserv/uptime.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) + libathemecore/ptasks.c | 2 +- + modules/operserv/uptime.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -Index: atheme-services-7.1.0/libathemecore/ctcp-common.c +Index: atheme-services-7.2.1/libathemecore/ptasks.c =================================================================== ---- atheme-services-7.1.0.orig/libathemecore/ctcp-common.c -+++ atheme-services-7.1.0/libathemecore/ctcp-common.c -@@ -44,7 +44,7 @@ static void ctcp_version_handler(sourcei - - notice(si->service->nick, si->su->nick, - "\001VERSION %s. %s %s %s [%s] [enc:%s] Build Date: %s\001", -- PACKAGE_STRING, revision, me.name, get_conf_opts(), ircd->ircdname, ci->id, __DATE__); -+ PACKAGE_STRING, revision, me.name, get_conf_opts(), ircd->ircdname, ci->id, "suse"); +--- atheme-services-7.2.1.orig/libathemecore/ptasks.c ++++ atheme-services-7.2.1/libathemecore/ptasks.c +@@ -45,7 +45,7 @@ int get_version_string(char *buf, size_t + { + const crypt_impl_t *ci = crypt_get_default_provider(); + return snprintf(buf, bufsize, "%s. %s %s :%s [%s] [enc:%s] Build Date: %s", +- PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, __DATE__); ++ PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, "suse"); } - static void ctcp_clientinfo_handler(sourceinfo_t *si, char *cmd, char *args) -Index: atheme-services-7.1.0/libathemecore/ptasks.c + void handle_version(user_t *u) +Index: atheme-services-7.2.1/modules/operserv/uptime.c =================================================================== ---- atheme-services-7.1.0.orig/libathemecore/ptasks.c -+++ atheme-services-7.1.0/libathemecore/ptasks.c -@@ -51,7 +51,7 @@ void handle_version(user_t *u) - return; - - numeric_sts(me.me, 351, u, "%s. %s %s :%s [%s] [enc:%s] Build Date: %s", -- PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, __DATE__); -+ PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, "suse"); - } - - void handle_admin(user_t *u) -Index: atheme-services-7.1.0/modules/operserv/uptime.c -=================================================================== ---- atheme-services-7.1.0.orig/modules/operserv/uptime.c -+++ atheme-services-7.1.0/modules/operserv/uptime.c +--- atheme-services-7.2.1.orig/modules/operserv/uptime.c ++++ atheme-services-7.2.1/modules/operserv/uptime.c @@ -33,7 +33,7 @@ static void os_cmd_uptime(sourceinfo_t * { logcommand(si, CMDLOG_GET, "UPTIME"); diff --git a/atheme-services-7.1.0.tar.bz2 b/atheme-services-7.1.0.tar.bz2 deleted file mode 100644 index 9ade2e7..0000000 --- a/atheme-services-7.1.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a4290dc41bdd825ee39c2094ba2c0633e75bed344d66f57b6fe9e7ec035fccd2 -size 1201309 diff --git a/atheme-services-7.2.1.tar.bz2 b/atheme-services-7.2.1.tar.bz2 new file mode 100644 index 0000000..fe427da --- /dev/null +++ b/atheme-services-7.2.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10e58c5f2f75fe37148ab3a299b33b37f38d1ea876f4668d9d3350a29328b87b +size 1205454 diff --git a/atheme-tmpfiles.conf b/atheme-tmpfiles.conf deleted file mode 100644 index 2ce4711..0000000 --- a/atheme-tmpfiles.conf +++ /dev/null @@ -1 +0,0 @@ -d /run/atheme 0750 atheme atheme - diff --git a/atheme.changes b/atheme.changes index 272358c..d272be6 100644 --- a/atheme.changes +++ b/atheme.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Thu Dec 4 08:34:52 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 7.2.1 +* NickServ: +* Make `VHOST` set cloak assigner and timestamp the same way HostServ does +* Make `INFO` call the `user_info_noexist` hook for queries that don't match an account +* Make `REGAIN` log you in if successful. +* Allow implementing custom filters for `LIST` +* nickserv/multimark: new module which allows multiple MARK entries per nickname. +* ChanServ: +* Add a `$server:` exttarget accepting server masks +* Add `PUBACL` flag which allows the channel access to be public. +* Don't allow `DEOP` or `KICK` of a services bot. +* Don't try to expand extbans in various commands. +* Allow users with +O or +V flags to op/voice themselves, since they can regain op/voice + by cycling the channel anyway. +* chanserv/clear_akicks: new module providing a `CLEAR AKICKS` command. + +------------------------------------------------------------------- +Thu Oct 9 14:26:52 UTC 2014 - jengelh@inai.de + +- Remove atheme-config.diff and provide a fresh minimal config + instead. Update the config to match charybdis's. + ------------------------------------------------------------------- Sun Jul 20 10:30:48 UTC 2014 - jengelh@inai.de diff --git a/atheme.service b/atheme.service deleted file mode 100644 index 346c7cc..0000000 --- a/atheme.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Atheme IRC Services - -[Service] -ExecStart=/usr/sbin/atheme-services -n -User=atheme -Group=atheme - -[Install] -WantedBy=multi-user.target diff --git a/atheme.spec b/atheme.spec index 215617d..d740207 100644 --- a/atheme.spec +++ b/atheme.spec @@ -18,7 +18,7 @@ Name: atheme %define lname libathemecore1 -Version: 7.1.0 +Version: 7.2.1 Release: 0 Url: http://atheme.net/ Summary: A portable, secure set of open source, modular IRC services @@ -27,17 +27,15 @@ Group: Productivity/Networking/IRC #Git-Clone: git://github.com/atheme/atheme Source: http://atheme.net/downloads/atheme-services-%version.tar.bz2 -Source2: atheme.service -Source3: atheme-tmpfiles.conf +Source9: example.conf Patch1: atheme-lockmodes.diff -Patch2: atheme-config.diff Patch3: atheme-nodate.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: cracklib-devel BuildRequires: fdupes BuildRequires: libopenssl-devel BuildRequires: openldap2-devel -BuildRequires: pkgconfig +BuildRequires: pkg-config BuildRequires: systemd-rpm-macros # configure.ac checks for jansson, but it is not yet used in source code #BuildRequires: pkgconfig(jansson) >= 2.4 @@ -46,7 +44,7 @@ BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(libqrencode) %define atheme_home /var/lib/atheme %define atheme_log /var/log/atheme -%define atheme_run /var/run/atheme +%define atheme_run /run/atheme Requires(pre): pwdutils %description @@ -79,9 +77,11 @@ in %lname. %prep %setup -qn %name-services-%version -%patch -P 1 -P 2 -P 3 -p1 -# use system libmowgli +%patch -P 1 -P 3 -p1 +# use system libmowgli; ignore contrib modules rm -Rf libmowgli-2 +mkdir -p libmowgli-2 modules/contrib +touch libmowgli-2/Makefile modules/contrib/Makefile %build %if 0%{?suse_version} >= 1210 @@ -109,17 +109,25 @@ make install DESTDIR="%buildroot" DOCDIR="%_docdir/%name"; # additional documentation mkdir -p "$b/%_docdir/%name" install -m 0644 contrib/*.php contrib/*.pl TODO "$b/%_docdir/%name" -#mv -v "$b/%_sysconfdir/%name/atheme.chk.sample" "$b/%_docdir/%name" mkdir -p "$b/%_unitdir" "$b/%_libexecdir/tmpfiles.d"; -install -pm0644 "%{S:2}" "$b/%_unitdir/"; -install -pm0644 "%{S:3}" "$b/%_libexecdir/tmpfiles.d/atheme.conf"; ln -s service "$b/%_sbindir/rcatheme" +cat >"$b/%_unitdir/atheme.service" <<-EOF + [Unit] + Description=Atheme IRC Services + [Service] + ExecStart=/usr/sbin/atheme-services -n + User=atheme + Group=atheme + [Install] + WantedBy=multi-user.target +EOF +cat >"$b/%_prefix/lib/tmpfiles.d/atheme.conf" <<-EOF + d /run/atheme 0755 atheme atheme - +EOF -# config files -# TODO: check if we should change any defaults and patch it. -cp -v "$b/%_sysconfdir/%name"/atheme.conf{.example,} -cp -v "$b/%_sysconfdir/%name"/atheme.motd{.example,} +mv "$b/%_sysconfdir/%name"/*example "$b/%_docdir/%name/" +install -pm0644 "%{S:9}" "$b/%_sysconfdir/%name/atheme.conf" %find_lang %name %fdupes %buildroot/%_prefix @@ -142,26 +150,25 @@ systemd-tmpfiles --create atheme.conf || : %postun %service_del_postun atheme.service -%post -n %lname -p /sbin/ldconfig +%post -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig %files -f %name.lang %defattr(-,root,root) -%_sbindir/ecdsakeygen -%dir %attr(750,root,atheme) %_sysconfdir/%name +%dir %attr(750,root,atheme) %_sysconfdir/%name/ %config(noreplace) %attr(640,root,atheme) %_sysconfdir/%name/atheme.conf -%config(noreplace) %attr(640,root,atheme) %_sysconfdir/%name/atheme.motd -%_sysconfdir/%name/*example -%_sbindir/dbverify +%config(noreplace) %attr(644,root,atheme) %_sysconfdir/%name/atheme.motd %_sbindir/atheme-services +%_sbindir/dbverify +%_sbindir/ecdsakeygen %_sbindir/rcatheme -%_libdir/%name -%_datadir/%name -%doc %_docdir/%name +%_libdir/%name/ +%_datadir/%name/ +%_docdir/%name/ %dir %attr(750,atheme,atheme) %atheme_home %dir %attr(750,atheme,atheme) %atheme_log %_unitdir/*.service -%_libexecdir/tmpfiles.d +%_libexecdir/tmpfiles.d/ %files -n %lname %defattr(-,root,root) @@ -169,7 +176,7 @@ systemd-tmpfiles --create atheme.conf || : %files devel %defattr(-,root,root) -%_includedir/atheme +%_includedir/atheme/ %_libdir/libathemecore.so %_libdir/pkgconfig/atheme-services.pc diff --git a/example.conf b/example.conf new file mode 100644 index 0000000..238daae --- /dev/null +++ b/example.conf @@ -0,0 +1,226 @@ +loadmodule "modules/protocol/charybdis"; +loadmodule "modules/backend/opensex"; +loadmodule "modules/crypto/posix"; + +loadmodule "modules/nickserv/main"; +#loadmodule "modules/nickserv/access"; +loadmodule "modules/nickserv/badmail"; +#loadmodule "modules/nickserv/cert"; +#loadmodule "modules/nickserv/cracklib"; +loadmodule "modules/nickserv/drop"; +#loadmodule "modules/nickserv/enforce"; +loadmodule "modules/nickserv/ghost"; +loadmodule "modules/nickserv/group"; +loadmodule "modules/nickserv/help"; +loadmodule "modules/nickserv/hold"; +loadmodule "modules/nickserv/identify"; +loadmodule "modules/nickserv/info"; +#loadmodule "modules/nickserv/info_lastquit"; +loadmodule "modules/nickserv/list"; +loadmodule "modules/nickserv/listmail"; +#loadmodule "modules/nickserv/listownmail"; +#loadmodule "modules/nickserv/login"; +loadmodule "modules/nickserv/logout"; +loadmodule "modules/nickserv/mark"; +loadmodule "modules/nickserv/freeze"; +loadmodule "modules/nickserv/listchans"; +loadmodule "modules/nickserv/listgroups"; +loadmodule "modules/nickserv/register"; +loadmodule "modules/nickserv/regnolimit"; +loadmodule "modules/nickserv/resetpass"; +loadmodule "modules/nickserv/restrict"; +loadmodule "modules/nickserv/return"; +loadmodule "modules/nickserv/setpass"; +#loadmodule "modules/nickserv/sendpass"; +loadmodule "modules/nickserv/sendpass_user"; +loadmodule "modules/nickserv/set_core"; +loadmodule "modules/nickserv/set_accountname"; +loadmodule "modules/nickserv/set_email"; +loadmodule "modules/nickserv/set_emailmemos"; +#loadmodule "modules/nickserv/set_enforcetime"; +loadmodule "modules/nickserv/set_hidemail"; +loadmodule "modules/nickserv/set_language"; +loadmodule "modules/nickserv/set_nevergroup"; +loadmodule "modules/nickserv/set_neverop"; +loadmodule "modules/nickserv/set_nogreet"; +loadmodule "modules/nickserv/set_nomemo"; +loadmodule "modules/nickserv/set_noop"; +loadmodule "modules/nickserv/set_password"; +#loadmodule "modules/nickserv/set_privmsg"; +#loadmodule "modules/nickserv/set_private"; +loadmodule "modules/nickserv/set_property"; +loadmodule "modules/nickserv/set_quietchg"; +loadmodule "modules/nickserv/status"; +loadmodule "modules/nickserv/taxonomy"; +loadmodule "modules/nickserv/vacation"; +loadmodule "modules/nickserv/verify"; +loadmodule "modules/nickserv/vhost"; + +loadmodule "modules/chanserv/main"; +loadmodule "modules/chanserv/access"; +loadmodule "modules/chanserv/akick"; +loadmodule "modules/chanserv/ban"; +#loadmodule "modules/chanserv/unban_self"; +loadmodule "modules/chanserv/clone"; +loadmodule "modules/chanserv/close"; +loadmodule "modules/chanserv/clear"; +loadmodule "modules/chanserv/clear_bans"; +loadmodule "modules/chanserv/clear_flags"; +loadmodule "modules/chanserv/clear_users"; +loadmodule "modules/chanserv/count"; +loadmodule "modules/chanserv/drop"; +#loadmodule "modules/chanserv/fflags"; +loadmodule "modules/chanserv/flags"; +loadmodule "modules/chanserv/ftransfer"; +loadmodule "modules/chanserv/getkey"; +#loadmodule "modules/chanserv/halfop"; +loadmodule "modules/chanserv/help"; +loadmodule "modules/chanserv/hold"; +loadmodule "modules/chanserv/info"; +loadmodule "modules/chanserv/invite"; +loadmodule "modules/chanserv/kick"; +loadmodule "modules/chanserv/list"; +loadmodule "modules/chanserv/mark"; +#loadmodule "modules/chanserv/moderate"; +loadmodule "modules/chanserv/op"; +#loadmodule "modules/chanserv/owner"; +#loadmodule "modules/chanserv/protect"; +#loadmodule "modules/chanserv/quiet"; +loadmodule "modules/chanserv/recover"; +loadmodule "modules/chanserv/register"; +loadmodule "modules/chanserv/set_core"; +loadmodule "modules/chanserv/set_email"; +loadmodule "modules/chanserv/set_entrymsg"; +loadmodule "modules/chanserv/set_fantasy"; +loadmodule "modules/chanserv/set_founder"; +#loadmodule "modules/chanserv/set_gameserv"; +loadmodule "modules/chanserv/set_guard"; +loadmodule "modules/chanserv/set_keeptopic"; +#loadmodule "modules/chanserv/set_limitflags"; +loadmodule "modules/chanserv/set_mlock"; +loadmodule "modules/chanserv/set_prefix"; +#loadmodule "modules/chanserv/set_private"; +loadmodule "modules/chanserv/set_property"; +loadmodule "modules/chanserv/set_restricted"; +loadmodule "modules/chanserv/set_secure"; +loadmodule "modules/chanserv/set_topiclock"; +loadmodule "modules/chanserv/set_url"; +loadmodule "modules/chanserv/set_verbose"; +loadmodule "modules/chanserv/status"; +loadmodule "modules/chanserv/sync"; +#loadmodule "modules/chanserv/successor_acl"; +loadmodule "modules/chanserv/taxonomy"; +loadmodule "modules/chanserv/template"; +loadmodule "modules/chanserv/topic"; +loadmodule "modules/chanserv/voice"; +loadmodule "modules/chanserv/why"; +#loadmodule "modules/chanserv/xop"; +loadmodule "modules/chanserv/antiflood"; + +loadmodule "modules/memoserv/main"; +loadmodule "modules/memoserv/help"; +loadmodule "modules/memoserv/send"; +loadmodule "modules/memoserv/sendops"; +loadmodule "modules/memoserv/sendgroup"; +loadmodule "modules/memoserv/list"; +loadmodule "modules/memoserv/read"; +loadmodule "modules/memoserv/forward"; +loadmodule "modules/memoserv/delete"; +loadmodule "modules/memoserv/ignore"; + +loadmodule "modules/global/main"; + +loadmodule "modules/infoserv/main"; + +loadmodule "modules/saslserv/main"; +loadmodule "modules/saslserv/plain"; +loadmodule "modules/saslserv/authcookie"; +#loadmodule "modules/saslserv/external"; +#loadmodule "modules/saslserv/dh-blowfish"; /* requires SSL (DEPRECATED) */ +#loadmodule "modules/saslserv/dh-aes"; /* requires SSL */ +#loadmodule "modules/saslserv/ecdsa-nist256p-challenge"; /* requires SSL */ + +serverinfo { + name = "services.localhost"; + desc = "Atheme IRC Services"; + netname = "local IRC network"; + adminname = "root"; + adminemail = "root@localhost"; + numeric = "00A"; + recontime = 10; + loglevel = { error; info; admin; network; wallops; }; + maxlogins = 5; + maxusers = 5; + mdlimit = 30; + auth = none; + casemapping = rfc1459; +}; +uplink "charybdis.localhost" { + host = "0::1"; + send_password = "eyjafjallajokullservices"; + receive_password = "eyjafjallajokullcharybdis"; + port = 6667; +}; +global { + nick = "Global"; + real = "Network Announcements"; +}; +nickserv { + spam; + nick = "NickServ"; + host = "services.localhost"; + aliases { + "ID" = "IDENTIFY"; + "MYACCESS" = "LISTCHANS"; + }; + maxnicks = 5; + expire = 30; +}; +chanserv { + nick = "ChanServ"; + host = "services.localhost"; + maxchans = 30; + templates { + vop = "+AV"; + hop = "+AHhitrv"; + aop = "+AOhiortv"; + sop = "+AOafhiorstv"; + founder = "+AFORafhiorstv"; + }; + expire = 30; + maxchanacs = 0; + maxfounders = 4; + antiflood_enforce_method = quiet; +}; +infoserv { + nick = "InfoServ"; + host = "services.localhost"; + real = "Information Service"; + logoninfo_count = 3; +}; +saslserv { + nick = "SaslServ"; + host = "services.localhost"; + real = "SASL Authentication Agent"; +}; +memoserv { + nick = "MemoServ"; + host = "services.localhost"; + real = "Memo Services"; + maxmemos = 30; +}; +logfile "/var/log/atheme/account.log" { register; set; }; +logfile "/var/log/atheme/commands.log" { commands; }; +logfile "/var/log/atheme/audit.log" { denycmd; }; +logfile "#services" { error; info; admin; request; register; denycmd; }; +logfile "!snotices" { error; info; request; denycmd; }; +general { + join_chans; + uflags = { hidemail; }; + cflags = { verbose; guard; }; + flood_msgs = 7; + flood_time = 10; + commit_interval = 5; + uplink_sendq_limit = 1048576; +}; +operclass "user" {};