From 87cdb8ac180c0c4fb1024e223d8f9f01bd6031fcb5fee63b38bee49753101756 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Thu, 9 Oct 2014 14:34:42 +0000 Subject: [PATCH] Config file update OBS-URL: https://build.opensuse.org/package/show/server:irc/atheme?expand=0&rev=59 --- atheme-lockmodes.diff | 2 +- atheme-tmpfiles.conf | 1 - atheme.changes | 6 ++ atheme.service | 10 -- atheme.spec | 49 +++++---- example.conf | 226 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 262 insertions(+), 32 deletions(-) delete mode 100644 atheme-tmpfiles.conf delete mode 100644 atheme.service create mode 100644 example.conf 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-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..4097d62 100644 --- a/atheme.changes +++ b/atheme.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +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..2004893 100644 --- a/atheme.spec +++ b/atheme.spec @@ -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,7 +77,7 @@ in %lname. %prep %setup -qn %name-services-%version -%patch -P 1 -P 2 -P 3 -p1 +%patch -P 1 -P 3 -p1 # use system libmowgli rm -Rf libmowgli-2 @@ -109,12 +107,24 @@ 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" +mv "$b/%_sysconfdir/%name"/*.example "$b/%_docdir/%name/" +install -pm0644 "%{S:9}" "$b/%_sysconfdir/%name/atheme.conf" 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. @@ -142,26 +152,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 +178,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" {};