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 +-
|
modules/operserv/uptime.c | 2 +-
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
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-7.2.7.orig/libathemecore/ptasks.c
|
||||||
+++ atheme-services-7.2.1/libathemecore/ptasks.c
|
+++ atheme-7.2.7/libathemecore/ptasks.c
|
||||||
@@ -45,7 +45,7 @@ int get_version_string(char *buf, size_t
|
@@ -49,7 +49,7 @@ int get_version_string(char *buf, size_t
|
||||||
{
|
PACKAGE_STRING, me.name, revision, get_conf_opts(), ircd->ircdname, ci->id);
|
||||||
const crypt_impl_t *ci = crypt_get_default_provider();
|
#else
|
||||||
return snprintf(buf, bufsize, "%s. %s %s :%s [%s] [enc:%s] Build Date: %s",
|
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, __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-7.2.7/modules/operserv/uptime.c
|
||||||
Index: atheme-services-7.2.1/modules/operserv/uptime.c
|
|
||||||
===================================================================
|
===================================================================
|
||||||
--- atheme-services-7.2.1.orig/modules/operserv/uptime.c
|
--- atheme-7.2.7.orig/modules/operserv/uptime.c
|
||||||
+++ atheme-services-7.2.1/modules/operserv/uptime.c
|
+++ atheme-7.2.7/modules/operserv/uptime.c
|
||||||
@@ -33,7 +33,7 @@ static void os_cmd_uptime(sourceinfo_t *
|
@@ -36,7 +36,7 @@ static void os_cmd_uptime(sourceinfo_t *
|
||||||
{
|
#ifdef REPRODUCIBLE_BUILDS
|
||||||
logcommand(si, CMDLOG_GET, "UPTIME");
|
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: %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, _("Services have been up for %s"), timediff(CURRTIME - me.start));
|
||||||
command_success_nodata(si, _("Current PID: %d"), getpid());
|
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
|
Tue May 3 10:43:10 UTC 2016 - jengelh@inai.de
|
||||||
|
|
||||||
|
54
atheme.spec
54
atheme.spec
@ -18,21 +18,18 @@
|
|||||||
|
|
||||||
Name: atheme
|
Name: atheme
|
||||||
%define lname libathemecore1
|
%define lname libathemecore1
|
||||||
Version: 7.2.6
|
Version: 7.2.7
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://atheme.net/
|
Url: http://atheme.net/
|
||||||
Summary: A portable, secure set of open source, modular IRC services
|
Summary: Extensible IRC services
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Productivity/Networking/IRC
|
Group: Productivity/Networking/IRC
|
||||||
|
|
||||||
#Git-Clone: git://github.com/atheme/atheme
|
Source: https://github.com/atheme/atheme/releases/download/v%version/%name-%version.tar.bz2
|
||||||
Source: https://github.com/atheme/atheme/archive/%name-%version.tar.gz
|
|
||||||
Source9: example.conf
|
Source9: example.conf
|
||||||
Patch1: atheme-lockmodes.diff
|
Patch1: atheme-lockmodes.diff
|
||||||
Patch2: atheme-nodate.diff
|
Patch2: atheme-nodate.diff
|
||||||
Patch3: atheme-serno.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
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildRequires: cracklib-devel
|
BuildRequires: cracklib-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -46,23 +43,20 @@ BuildRequires: pkgconfig(libqrencode)
|
|||||||
%define atheme_home /var/lib/atheme
|
%define atheme_home /var/lib/atheme
|
||||||
%define atheme_log /var/log/atheme
|
%define atheme_log /var/log/atheme
|
||||||
%define atheme_run /run/atheme
|
%define atheme_run /run/atheme
|
||||||
Requires(pre): pwdutils
|
Requires(pre): shadow
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Atheme is a portable, secure set of open source, modular IRC services
|
Atheme is a set of modular IRC services (NickServ, ChanServ, etc.)
|
||||||
released under the BSD license, designed to run on many IRCds.
|
designed to link with more than 20 kinds of IRCds.
|
||||||
|
Atheme offers both an C API and a Perl interface.
|
||||||
Unlike alternative packages, Atheme's core is minimalistic, providing
|
|
||||||
only core functionality. Atheme is a complete services set, excluding
|
|
||||||
features designed for oper abuse.
|
|
||||||
|
|
||||||
%package -n %lname
|
%package -n %lname
|
||||||
Summary: The Atheme IRC Services core library
|
Summary: The Atheme IRC Services core library
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
|
||||||
%description -n %lname
|
%description -n %lname
|
||||||
Atheme is a portable, secure set of open source, modular IRC services
|
Atheme is a set of modular IRC services (NickServ, ChanServ, etc.)
|
||||||
released under the BSD license, designed to run on many IRCds.
|
designed to link with many kinds of IRCds.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for the Atheme IRC Services core
|
Summary: Development files for the Atheme IRC Services core
|
||||||
@ -70,15 +64,15 @@ Group: Development/Libraries/C and C++
|
|||||||
Requires: %lname = %version
|
Requires: %lname = %version
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Atheme is a portable, secure set of open source, modular IRC services
|
Atheme is a set of modular IRC services (NickServ, ChanServ, etc.)
|
||||||
released under the BSD license, designed to run on many IRCds.
|
designed to link with many kinds of IRCds.
|
||||||
|
|
||||||
This package contains the development headers for the library found
|
This package contains the development headers for the library found
|
||||||
in %lname.
|
in %lname.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -qn %name-%name-%version
|
%setup -q
|
||||||
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -p1
|
%patch -P 1 -P 2 -P 3 -p1
|
||||||
# nudge atheme in the direction of using the system-provided libmowgli
|
# nudge atheme in the direction of using the system-provided libmowgli
|
||||||
rm -Rf libmowgli-2
|
rm -Rf libmowgli-2
|
||||||
# ignore contrib modules
|
# ignore contrib modules
|
||||||
@ -90,13 +84,13 @@ touch libmowgli-2/Makefile modules/contrib/Makefile
|
|||||||
export RUNDIR="/run"
|
export RUNDIR="/run"
|
||||||
%endif
|
%endif
|
||||||
%configure \
|
%configure \
|
||||||
--sysconfdir="%_sysconfdir/%name" \
|
--sysconfdir="%_sysconfdir/%name" \
|
||||||
--bindir="%_sbindir" \
|
--bindir="%_sbindir" \
|
||||||
--docdir="%_docdir/%name" \
|
--docdir="%_docdir/%name" \
|
||||||
--enable-fhs-paths \
|
--enable-fhs-paths \
|
||||||
--enable-warnings \
|
--enable-warnings \
|
||||||
--enable-large-net \
|
--enable-large-net \
|
||||||
--with-pcre
|
--with-pcre
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
@ -104,14 +98,14 @@ make %{?_smp_mflags}
|
|||||||
%if 0%{?suse_version} >= 1210
|
%if 0%{?suse_version} >= 1210
|
||||||
export RUNDIR="/run"
|
export RUNDIR="/run"
|
||||||
%endif
|
%endif
|
||||||
b="%buildroot";
|
b="%buildroot"
|
||||||
%make_install DOCDIR="%_docdir/%name"
|
%make_install DOCDIR="%_docdir/%name"
|
||||||
|
|
||||||
# additional documentation
|
# additional documentation
|
||||||
mkdir -p "$b/%_docdir/%name"
|
mkdir -p "$b/%_docdir/%name"
|
||||||
install -m 0644 contrib/*.php contrib/*.pl TODO "$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"
|
ln -s service "$b/%_sbindir/rcatheme"
|
||||||
cat >"$b/%_unitdir/atheme.service" <<-EOF
|
cat >"$b/%_unitdir/atheme.service" <<-EOF
|
||||||
[Unit]
|
[Unit]
|
||||||
@ -134,11 +128,11 @@ install -pm0644 "%{S:9}" "$b/%_sysconfdir/%name/atheme.conf"
|
|||||||
|
|
||||||
%pre
|
%pre
|
||||||
/usr/bin/getent group atheme >/dev/null 2>/dev/null || \
|
/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/bin/getent passwd atheme >/dev/null 2>/dev/null || \
|
||||||
/usr/sbin/useradd -r -g atheme -s /bin/false \
|
/usr/sbin/useradd -r -g atheme -s /bin/false \
|
||||||
-c "Atheme IRC Services daemon" -d "%atheme_home" \
|
-c "Atheme IRC Services daemon" -d "%atheme_home" \
|
||||||
atheme >/dev/null || :
|
atheme
|
||||||
%service_add_pre atheme.service
|
%service_add_pre atheme.service
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
Loading…
x
Reference in New Issue
Block a user