incorporate patches from Dragos Ruiu as a FLAVOR which allow a SILC
operator to give themselves operator status on any channel.
This commit is contained in:
parent
fd8261605f
commit
cb167113da
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.7 2003/07/30 00:26:26 brad Exp $
|
||||
# $OpenBSD: Makefile,v 1.8 2003/08/19 03:52:27 jolan Exp $
|
||||
|
||||
.if ${MACHINE_ARCH} == "powerpc"
|
||||
BROKEN= "config file parser bug on ${MACHINE_ARCH}"
|
||||
@ -31,13 +31,24 @@ MASTER_SITES= http://ftp.silcnet.org/server/sources/ \
|
||||
MODULES= iconv
|
||||
|
||||
# XXX workaround gcc bugs on sparc64
|
||||
.if ${MACHINE_ARCH:Msparc64}
|
||||
.if ${MACHINE_ARCH} == "sparc64"
|
||||
PATCH_LIST= gcc-* patch-*
|
||||
.endif
|
||||
|
||||
CONFIGURE_STYLE= autoconf
|
||||
AUTOCONF_VERSION= 2.54
|
||||
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC} ${WRKSRC}/lib/silcmath/mpi
|
||||
FLAVORS= operops
|
||||
FLAVOR?=
|
||||
|
||||
.if ${FLAVOR:L:Moperops}
|
||||
.if ${MACHINE_ARCH} == "sparc64"
|
||||
PATCH_LIST= gcc-* operops-* patch-*
|
||||
.else
|
||||
PATCH_LIST= operops-* patch-*
|
||||
.endif
|
||||
.endif
|
||||
|
||||
CONFIGURE_STYLE=autoconf
|
||||
AUTOCONF_VERSION=2.54
|
||||
MODGNU_CONFIG_GUESS_DIRS=${WRKSRC} ${WRKSRC}/lib/silcmath/mpi
|
||||
CONFIGURE_ARGS= \
|
||||
--enable-ipv6 \
|
||||
--without-irssi \
|
||||
|
34
net/silc-server/patches/operops-patch-silcd_command_c
Normal file
34
net/silc-server/patches/operops-patch-silcd_command_c
Normal file
@ -0,0 +1,34 @@
|
||||
$OpenBSD: operops-patch-silcd_command_c,v 1.1 2003/08/19 03:52:27 jolan Exp $
|
||||
--- silcd/command.c.orig 2003-03-17 11:01:53.000000000 -0600
|
||||
+++ silcd/command.c 2003-08-18 17:45:58.000000000 -0500
|
||||
@@ -3154,6 +3154,8 @@ SILC_SERVER_CMD_FUNC(cumode)
|
||||
}
|
||||
|
||||
if (target_client != client &&
|
||||
+ !(client->mode & SILC_UMODE_SERVER_OPERATOR) &&
|
||||
+ !(client->mode & SILC_UMODE_ROUTER_OPERATOR) &&
|
||||
!(sender_mask & SILC_CHANNEL_UMODE_CHANFO) &&
|
||||
!(sender_mask & SILC_CHANNEL_UMODE_CHANOP)) {
|
||||
silc_server_command_send_status_reply(cmd, SILC_COMMAND_CUMODE,
|
||||
@@ -3261,7 +3263,9 @@ SILC_SERVER_CMD_FUNC(cumode)
|
||||
/* Promote to operator */
|
||||
if (!(chl->mode & SILC_CHANNEL_UMODE_CHANOP)) {
|
||||
if (!(sender_mask & SILC_CHANNEL_UMODE_CHANOP) &&
|
||||
- !(sender_mask & SILC_CHANNEL_UMODE_CHANFO)) {
|
||||
+ !(sender_mask & SILC_CHANNEL_UMODE_CHANFO) &&
|
||||
+ !(client->mode & SILC_UMODE_SERVER_OPERATOR) &&
|
||||
+ !(client->mode & SILC_UMODE_ROUTER_OPERATOR)) {
|
||||
silc_server_command_send_status_reply(cmd, SILC_COMMAND_CUMODE,
|
||||
SILC_STATUS_ERR_NO_CHANNEL_PRIV,
|
||||
0);
|
||||
@@ -3274,7 +3278,9 @@ SILC_SERVER_CMD_FUNC(cumode)
|
||||
} else {
|
||||
if (chl->mode & SILC_CHANNEL_UMODE_CHANOP) {
|
||||
if (!(sender_mask & SILC_CHANNEL_UMODE_CHANOP) &&
|
||||
- !(sender_mask & SILC_CHANNEL_UMODE_CHANFO)) {
|
||||
+ !(sender_mask & SILC_CHANNEL_UMODE_CHANFO) &&
|
||||
+ !(client->mode & SILC_UMODE_SERVER_OPERATOR) &&
|
||||
+ !(client->mode & SILC_UMODE_ROUTER_OPERATOR)) {
|
||||
silc_server_command_send_status_reply(cmd, SILC_COMMAND_CUMODE,
|
||||
SILC_STATUS_ERR_NO_CHANNEL_PRIV,
|
||||
0);
|
31
net/silc-server/patches/operops-patch-silcd_silcd_c
Normal file
31
net/silc-server/patches/operops-patch-silcd_silcd_c
Normal file
@ -0,0 +1,31 @@
|
||||
$OpenBSD: operops-patch-silcd_silcd_c,v 1.1 2003/08/19 03:52:27 jolan Exp $
|
||||
--- silcd/silcd.c.orig 2003-08-18 17:47:02.000000000 -0500
|
||||
+++ silcd/silcd.c 2003-08-18 17:47:29.000000000 -0500
|
||||
@@ -255,6 +255,14 @@ SILC_TASK_CALLBACK(stop_server)
|
||||
silc_schedule_stop(silcd->schedule);
|
||||
}
|
||||
|
||||
+extern bool silc_debug;
|
||||
+SILC_TASK_CALLBACK(toggle_debug)
|
||||
+{
|
||||
+ if(silc_debug)
|
||||
+ silc_debug = FALSE;
|
||||
+ else silc_debug = TRUE;
|
||||
+}
|
||||
+
|
||||
/* Dump server statistics into a file into /tmp directory */
|
||||
|
||||
SILC_TASK_CALLBACK(dump_stats)
|
||||
@@ -728,10 +736,12 @@ int main(int argc, char **argv)
|
||||
sigaction(SIGTERM, &sa, NULL);
|
||||
sigaction(SIGINT, &sa, NULL);
|
||||
sigaction(SIGUSR1, &sa, NULL);
|
||||
+ sigaction(SIGUSR2, &sa, NULL);
|
||||
silc_schedule_signal_register(silcd->schedule, SIGHUP, got_hup, NULL);
|
||||
silc_schedule_signal_register(silcd->schedule, SIGTERM, stop_server, NULL);
|
||||
silc_schedule_signal_register(silcd->schedule, SIGINT, stop_server, NULL);
|
||||
silc_schedule_signal_register(silcd->schedule, SIGUSR1, dump_stats, NULL);
|
||||
+ silc_schedule_signal_register(silcd->schedule, SIGUSR2, toggle_debug, NULL);
|
||||
|
||||
if (!foreground) {
|
||||
/* Before running the server, fork to background. */
|
@ -1,6 +1,6 @@
|
||||
$OpenBSD: patch-configure_in,v 1.1 2003/05/04 04:02:53 brad Exp $
|
||||
--- configure.in.orig Mon Mar 17 11:44:33 2003
|
||||
+++ configure.in Fri Apr 11 16:18:53 2003
|
||||
$OpenBSD: patch-configure_in,v 1.2 2003/08/19 03:52:27 jolan Exp $
|
||||
--- configure.in.orig 2003-03-17 11:44:33.000000000 -0600
|
||||
+++ configure.in 2003-08-18 17:39:59.000000000 -0500
|
||||
@@ -40,7 +40,6 @@ AM_INIT_AUTOMAKE(silc-server, 0.9.13)
|
||||
AC_PREREQ(2.52)
|
||||
AC_CONFIG_HEADERS(includes/silcdefs.h)
|
||||
@ -9,11 +9,10 @@ $OpenBSD: patch-configure_in,v 1.1 2003/05/04 04:02:53 brad Exp $
|
||||
AC_PROG_CC
|
||||
AC_C_INLINE
|
||||
AC_C_CONST
|
||||
@@ -339,33 +338,6 @@ AC_DEFUN(SILC_ADD_CFLAGS,
|
||||
$2])
|
||||
@@ -340,33 +339,6 @@ AC_DEFUN(SILC_ADD_CFLAGS,
|
||||
unset tmp_CFLAGS
|
||||
])
|
||||
-
|
||||
|
||||
-if test "$GCC"; then
|
||||
- # GCC specific options
|
||||
- if test "x$summary_debug" = "xyes"; then
|
||||
@ -40,6 +39,7 @@ $OpenBSD: patch-configure_in,v 1.1 2003/05/04 04:02:53 brad Exp $
|
||||
- fi
|
||||
-fi
|
||||
-
|
||||
|
||||
-
|
||||
##
|
||||
## Installation
|
||||
##
|
||||
|
@ -24,4 +24,8 @@ encrypted in the SILC network. Each connection has their own session keys,
|
||||
all channels have channel specific keys, and all private messages can be
|
||||
secured with private message specific keys.
|
||||
|
||||
WWW: ${HOMEPAGE}
|
||||
FLAVORs:
|
||||
|
||||
operops - Patches in the ability for a SILC operator to give
|
||||
themselves operator status on any channel. Please
|
||||
note that SILC explicitly prohibits this.
|
||||
|
Loading…
Reference in New Issue
Block a user