forked from pool/atheme
atheme-7.2.7
OBS-URL: https://build.opensuse.org/package/show/server:irc/atheme?expand=0&rev=70
This commit is contained in:
parent
80632b6c80
commit
325e9e4cfb
@ -1,27 +0,0 @@
|
||||
From 87580d767868360d2fed503980129504da84b63e Mon Sep 17 00:00:00 2001
|
||||
From: Hans-Christian Esperer <hc@hcesperer.org>
|
||||
Date: Sat, 9 Jan 2016 19:58:58 +0100
|
||||
Subject: [PATCH] Do not copy more bytes than were allocated
|
||||
|
||||
---
|
||||
modules/transport/xmlrpc/xmlrpclib.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/transport/xmlrpc/xmlrpclib.c b/modules/transport/xmlrpc/xmlrpclib.c
|
||||
index b67d215..5fcde9e 100644
|
||||
--- a/modules/transport/xmlrpc/xmlrpclib.c
|
||||
+++ b/modules/transport/xmlrpc/xmlrpclib.c
|
||||
@@ -777,8 +777,9 @@ void xmlrpc_char_encode(char *outbuffer, const char *s1)
|
||||
s->append_char(s, c);
|
||||
}
|
||||
}
|
||||
+ s->append_char(s, 0);
|
||||
|
||||
- memcpy(outbuffer, s->str, XMLRPC_BUFSIZE);
|
||||
+ strncpy(outbuffer, s->str, XMLRPC_BUFSIZE);
|
||||
}
|
||||
|
||||
static void xmlrpc_append_char_encode(mowgli_string_t *s, const char *s1)
|
||||
--
|
||||
2.6.6
|
||||
|
@ -1,108 +0,0 @@
|
||||
From c597156adc60a45b5f827793cd420945f47bc03b Mon Sep 17 00:00:00 2001
|
||||
From: Max Teufel <max@teufelsnetz.com>
|
||||
Date: Sun, 6 Mar 2016 10:27:40 +0100
|
||||
Subject: [PATCH] chanserv/flags: make Anope FLAGS compatibility an option
|
||||
|
||||
Previously, ChanServ FLAGS behavior could be modified by registering or
|
||||
dropping the keyword nicks "LIST", "CLEAR", and "MODIFY".
|
||||
Now, a configuration option is available that when turned on (default),
|
||||
disables registration of these keyword nicks and enables this
|
||||
compatibility feature. When turned off, registration of these keyword
|
||||
nicks is possible, and compatibility to Anope's FLAGS command is
|
||||
disabled.
|
||||
|
||||
Fixes atheme/atheme#397
|
||||
---
|
||||
modules/chanserv/flags.c | 37 ++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 34 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/modules/chanserv/flags.c b/modules/chanserv/flags.c
|
||||
index 289345d..72d8fcf 100644
|
||||
--- a/modules/chanserv/flags.c
|
||||
+++ b/modules/chanserv/flags.c
|
||||
@@ -17,18 +17,35 @@ DECLARE_MODULE_V1
|
||||
);
|
||||
|
||||
static void cs_cmd_flags(sourceinfo_t *si, int parc, char *parv[]);
|
||||
+static void check_registration_keywords(hook_user_register_check_t *hdata);
|
||||
|
||||
command_t cs_flags = { "FLAGS", N_("Manipulates specific permissions on a channel."),
|
||||
AC_NONE, 3, cs_cmd_flags, { .path = "cservice/flags" } };
|
||||
|
||||
+static bool anope_flags_compat = true;
|
||||
+
|
||||
void _modinit(module_t *m)
|
||||
{
|
||||
service_named_bind_command("chanserv", &cs_flags);
|
||||
+
|
||||
+ add_bool_conf_item("ANOPE_FLAGS_COMPAT", &chansvs.me->conf_table, 0, &anope_flags_compat, true);
|
||||
+
|
||||
+ hook_add_event("nick_can_register");
|
||||
+ hook_add_nick_can_register(check_registration_keywords);
|
||||
+
|
||||
+ hook_add_event("user_can_register");
|
||||
+ hook_add_user_can_register(check_registration_keywords);
|
||||
}
|
||||
|
||||
void _moddeinit(module_unload_intent_t intent)
|
||||
{
|
||||
service_named_unbind_command("chanserv", &cs_flags);
|
||||
+
|
||||
+ hook_del_nick_can_register(check_registration_keywords);
|
||||
+
|
||||
+ hook_del_user_can_register(check_registration_keywords);
|
||||
+
|
||||
+ del_conf_item("ANOPE_FLAGS_COMPAT", &chansvs.me->conf_table);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
@@ -150,6 +167,20 @@ static void do_list(sourceinfo_t *si, mychan_t *mc, unsigned int flags)
|
||||
logcommand(si, CMDLOG_GET, "FLAGS: \2%s\2", mc->name);
|
||||
}
|
||||
|
||||
+static void check_registration_keywords(hook_user_register_check_t *hdata)
|
||||
+{
|
||||
+ if (hdata->approved || !anope_flags_compat)
|
||||
+ {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if (!strcasecmp(hdata->account, "LIST") || !strcasecmp(hdata->account, "CLEAR") || !strcasecmp(hdata->account, "MODIFY"))
|
||||
+ {
|
||||
+ command_fail(hdata->si, fault_badparams, "The nick \2%s\2 is reserved and cannot be registered.", hdata->account);
|
||||
+ hdata->approved = 1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/* FLAGS <channel> [user] [flags] */
|
||||
static void cs_cmd_flags(sourceinfo_t *si, int parc, char *parv[])
|
||||
{
|
||||
@@ -218,14 +249,14 @@ static void cs_cmd_flags(sourceinfo_t *si, int parc, char *parv[])
|
||||
*
|
||||
* --nenolod
|
||||
*/
|
||||
- else if (!strcasecmp(target, "LIST") && myentity_find_ext(target) == NULL)
|
||||
+ else if (anope_flags_compat && !strcasecmp(target, "LIST") && myentity_find_ext(target) == NULL)
|
||||
{
|
||||
do_list(si, mc, 0);
|
||||
free(target);
|
||||
|
||||
return;
|
||||
}
|
||||
- else if (!strcasecmp(target, "CLEAR") && myentity_find_ext(target) == NULL)
|
||||
+ else if (anope_flags_compat && !strcasecmp(target, "CLEAR") && myentity_find_ext(target) == NULL)
|
||||
{
|
||||
free(target);
|
||||
|
||||
@@ -251,7 +282,7 @@ static void cs_cmd_flags(sourceinfo_t *si, int parc, char *parv[])
|
||||
command_success_nodata(si, _("Cleared flags in \2%s\2."), mc->name);
|
||||
return;
|
||||
}
|
||||
- else if (!strcasecmp(target, "MODIFY") && myentity_find_ext(target) == NULL)
|
||||
+ else if (anope_flags_compat && !strcasecmp(target, "MODIFY") && myentity_find_ext(target) == NULL)
|
||||
{
|
||||
free(target);
|
||||
|
||||
--
|
||||
2.6.6
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:432c6212c974f3ba6b4d8f14de795c61be7f57dfc7c84ee98255163269455fd4
|
||||
size 1402358
|
3
atheme-7.2.7.tar.bz2
Normal file
3
atheme-7.2.7.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:64159a5aef905f0a15f35c7dd2bf1b140d918290488e9b6762fd85fd1bfafd94
|
||||
size 1181086
|
@ -8,29 +8,29 @@ __DATE__ is not desired; causes unnecessary rebuilds.
|
||||
modules/operserv/uptime.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: atheme-services-7.2.1/libathemecore/ptasks.c
|
||||
Index: atheme-7.2.7/libathemecore/ptasks.c
|
||||
===================================================================
|
||||
--- 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();
|
||||
--- atheme-7.2.7.orig/libathemecore/ptasks.c
|
||||
+++ atheme-7.2.7/libathemecore/ptasks.c
|
||||
@@ -49,7 +49,7 @@ int get_version_string(char *buf, size_t
|
||||
PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id);
|
||||
#else
|
||||
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");
|
||||
+ PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id, "");
|
||||
#endif
|
||||
}
|
||||
|
||||
void handle_version(user_t *u)
|
||||
Index: atheme-services-7.2.1/modules/operserv/uptime.c
|
||||
Index: atheme-7.2.7/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");
|
||||
|
||||
--- atheme-7.2.7.orig/modules/operserv/uptime.c
|
||||
+++ atheme-7.2.7/modules/operserv/uptime.c
|
||||
@@ -36,7 +36,7 @@ static void os_cmd_uptime(sourceinfo_t *
|
||||
#ifdef REPRODUCIBLE_BUILDS
|
||||
command_success_nodata(si, "%s [%s]", PACKAGE_STRING, revision);
|
||||
#else
|
||||
- command_success_nodata(si, "%s [%s] Build Date: %s", PACKAGE_STRING, revision, __DATE__);
|
||||
+ command_success_nodata(si, "%s [%s] Build Date: irrelevant", PACKAGE_STRING, revision);
|
||||
+ command_success_nodata(si, "%s [%s] Build Date: %s", PACKAGE_STRING, revision, "");
|
||||
#endif
|
||||
command_success_nodata(si, _("Services have been up for %s"), timediff(CURRTIME - me.start));
|
||||
command_success_nodata(si, _("Current PID: %d"), getpid());
|
||||
command_success_nodata(si, _("Registered accounts: %d"), cnt.myuser);
|
||||
|
@ -1,3 +1,26 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Nov 20 21:31:34 UTC 2016 - jengelh@inai.de
|
||||
|
||||
- Update to new upstream release 7.2.7
|
||||
* 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.
|
||||
* 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.
|
||||
- +e added to chanserv{} templates and founder_flags
|
||||
- Remove 0001-Do-not-copy-more-bytes-than-were-allocated.patch
|
||||
and 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
|
||||
(applied upstream)
|
||||
- Abort installation if user/group cannot be created
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 3 10:43:10 UTC 2016 - jengelh@inai.de
|
||||
|
||||
|
54
atheme.spec
54
atheme.spec
@ -18,21 +18,18 @@
|
||||
|
||||
Name: atheme
|
||||
%define lname libathemecore1
|
||||
Version: 7.2.6
|
||||
Version: 7.2.7
|
||||
Release: 0
|
||||
Url: http://atheme.net/
|
||||
Summary: A portable, secure set of open source, modular IRC services
|
||||
Summary: Extensible IRC services
|
||||
License: MIT
|
||||
Group: Productivity/Networking/IRC
|
||||
|
||||
#Git-Clone: git://github.com/atheme/atheme
|
||||
Source: https://github.com/atheme/atheme/archive/%name-%version.tar.gz
|
||||
Source: https://github.com/atheme/atheme/releases/download/v%version/%name-%version.tar.bz2
|
||||
Source9: example.conf
|
||||
Patch1: atheme-lockmodes.diff
|
||||
Patch2: atheme-nodate.diff
|
||||
Patch3: atheme-serno.diff
|
||||
Patch4: 0001-Do-not-copy-more-bytes-than-were-allocated.patch
|
||||
Patch5: 0001-chanserv-flags-make-Anope-FLAGS-compatibility-an-opt.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: cracklib-devel
|
||||
BuildRequires: fdupes
|
||||
@ -46,23 +43,20 @@ BuildRequires: pkgconfig(libqrencode)
|
||||
%define atheme_home /var/lib/atheme
|
||||
%define atheme_log /var/log/atheme
|
||||
%define atheme_run /run/atheme
|
||||
Requires(pre): pwdutils
|
||||
Requires(pre): shadow
|
||||
|
||||
%description
|
||||
Atheme is a portable, secure set of open source, modular IRC services
|
||||
released under the BSD license, designed to run on many IRCds.
|
||||
|
||||
Unlike alternative packages, Atheme's core is minimalistic, providing
|
||||
only core functionality. Atheme is a complete services set, excluding
|
||||
features designed for oper abuse.
|
||||
Atheme is a set of modular IRC services (NickServ, ChanServ, etc.)
|
||||
designed to link with more than 20 kinds of IRCds.
|
||||
Atheme offers both an C API and a Perl interface.
|
||||
|
||||
%package -n %lname
|
||||
Summary: The Atheme IRC Services core library
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n %lname
|
||||
Atheme is a portable, secure set of open source, modular IRC services
|
||||
released under the BSD license, designed to run on many IRCds.
|
||||
Atheme is a set of modular IRC services (NickServ, ChanServ, etc.)
|
||||
designed to link with many kinds of IRCds.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for the Atheme IRC Services core
|
||||
@ -70,15 +64,15 @@ Group: Development/Libraries/C and C++
|
||||
Requires: %lname = %version
|
||||
|
||||
%description devel
|
||||
Atheme is a portable, secure set of open source, modular IRC services
|
||||
released under the BSD license, designed to run on many IRCds.
|
||||
Atheme is a set of modular IRC services (NickServ, ChanServ, etc.)
|
||||
designed to link with many kinds of IRCds.
|
||||
|
||||
This package contains the development headers for the library found
|
||||
in %lname.
|
||||
|
||||
%prep
|
||||
%setup -qn %name-%name-%version
|
||||
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -p1
|
||||
%setup -q
|
||||
%patch -P 1 -P 2 -P 3 -p1
|
||||
# nudge atheme in the direction of using the system-provided libmowgli
|
||||
rm -Rf libmowgli-2
|
||||
# ignore contrib modules
|
||||
@ -90,13 +84,13 @@ touch libmowgli-2/Makefile modules/contrib/Makefile
|
||||
export RUNDIR="/run"
|
||||
%endif
|
||||
%configure \
|
||||
--sysconfdir="%_sysconfdir/%name" \
|
||||
--bindir="%_sbindir" \
|
||||
--docdir="%_docdir/%name" \
|
||||
--enable-fhs-paths \
|
||||
--enable-warnings \
|
||||
--enable-large-net \
|
||||
--with-pcre
|
||||
--sysconfdir="%_sysconfdir/%name" \
|
||||
--bindir="%_sbindir" \
|
||||
--docdir="%_docdir/%name" \
|
||||
--enable-fhs-paths \
|
||||
--enable-warnings \
|
||||
--enable-large-net \
|
||||
--with-pcre
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
@ -104,14 +98,14 @@ make %{?_smp_mflags}
|
||||
%if 0%{?suse_version} >= 1210
|
||||
export RUNDIR="/run"
|
||||
%endif
|
||||
b="%buildroot";
|
||||
b="%buildroot"
|
||||
%make_install DOCDIR="%_docdir/%name"
|
||||
|
||||
# additional documentation
|
||||
mkdir -p "$b/%_docdir/%name"
|
||||
install -m 0644 contrib/*.php contrib/*.pl TODO "$b/%_docdir/%name"
|
||||
|
||||
mkdir -p "$b/%_unitdir" "$b/%_libexecdir/tmpfiles.d";
|
||||
mkdir -p "$b/%_unitdir" "$b/%_libexecdir/tmpfiles.d"
|
||||
ln -s service "$b/%_sbindir/rcatheme"
|
||||
cat >"$b/%_unitdir/atheme.service" <<-EOF
|
||||
[Unit]
|
||||
@ -134,11 +128,11 @@ install -pm0644 "%{S:9}" "$b/%_sysconfdir/%name/atheme.conf"
|
||||
|
||||
%pre
|
||||
/usr/bin/getent group atheme >/dev/null 2>/dev/null || \
|
||||
/usr/sbin/groupadd -r atheme >/dev/null || :
|
||||
/usr/sbin/groupadd -r atheme
|
||||
/usr/bin/getent passwd atheme >/dev/null 2>/dev/null || \
|
||||
/usr/sbin/useradd -r -g atheme -s /bin/false \
|
||||
-c "Atheme IRC Services daemon" -d "%atheme_home" \
|
||||
atheme >/dev/null || :
|
||||
atheme
|
||||
%service_add_pre atheme.service
|
||||
|
||||
%post
|
||||
|
Loading…
x
Reference in New Issue
Block a user