summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-05-07 00:01:27 +0000
committerroot <root@rshg054.dnsready.net>2012-05-07 00:01:27 +0000
commit9d0c8979390868a2913fc8830a9f62a45174746b (patch)
tree33eda0748e0df77a2c70b81836fb1097b44c00c9 /extra
parentf37e773fe397778858ea8d51601554863c252536 (diff)
Mon May 7 00:01:27 UTC 2012
Diffstat (limited to 'extra')
-rw-r--r--extra/miro/PKGBUILD24
-rw-r--r--extra/sysklogd/PKGBUILD44
-rw-r--r--extra/sysklogd/sysklogd-1.4.1-caen-owl-klogd-drop-root.diff161
-rw-r--r--extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-bind.diff104
-rw-r--r--extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff117
-rw-r--r--extra/sysklogd/sysklogd-1.5-syslog-func-collision.patch103
6 files changed, 530 insertions, 23 deletions
diff --git a/extra/miro/PKGBUILD b/extra/miro/PKGBUILD
index ec7178126..e177e9d9a 100644
--- a/extra/miro/PKGBUILD
+++ b/extra/miro/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 148432 2012-01-31 20:05:46Z ronald $
+# $Id: PKGBUILD 158653 2012-05-05 12:58:13Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
pkgname=miro
-pkgver=4.0.6
+pkgver=5.0
pkgrel=1
pkgdesc="The free and open source internet TV platform"
arch=('i686' 'x86_64')
@@ -13,12 +13,12 @@ depends=('dbus-python' 'pyrex' 'pygtk' 'gstreamer0.10' 'python2-gconf'
'desktop-file-utils' 'gstreamer0.10' 'hicolor-icon-theme'
'gstreamer0.10-python' 'python-notify' 'libtorrent-rasterbar'
'gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'python-pycurl'
- 'gstreamer0.10-ffmpeg' 'ffmpeg' 'mutagen')
-makedepends=('pkg-config')
+ 'gstreamer0.10-ffmpeg' 'ffmpeg' 'mutagen' 'xdg-utils')
+makedepends=('pkg-config' 'boost')
install=miro.install
options=('!makeflags')
source=("http://ftp.osuosl.org/pub/pculture.org/${pkgname}/src/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('5c3d632d8cf30516b321f79b22d4468b61ff9e6c')
+sha1sums=('64350e658ac427378b84ff1356adce668ddbd521')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -29,4 +29,18 @@ build() {
# fix miro startup script so --debug works with python2
sed -i "s|which python|which python2|" "${pkgdir}/usr/bin/miro"
sed -i "s|./miro.real|/usr/bin/miro.real|" "${pkgdir}/usr/bin/miro"
+
+ # fix python scripts for python2
+ sed -i "s|/usr/bin/env python|/usr/bin/env python2|" ${pkgdir}/usr/share/miro/resources/searchengines/update-icons.py
+ for i in usr/share/miro/resources/testdata/echonest-replies/generate.py usr/share/miro/resources/searchengines/update-icons.py \
+ usr/share/miro/resources/testdata/7digital-replies/generate.py; do
+ sed -i "s|/usr/bin/python|/usr/bin/python2|" ${pkgdir}/${i}
+ done
+
+ # Fakeroot segfaults on these; remove
+ if [ ${arch} == "i686" ]; then
+ rm -f ${pkgdir}/usr/bin/codegen.Linux-x86_64 || true
+ else
+ rm -f ${pkgdir}/usr/bin/codegen.Linux-i686 || true
+ fi
}
diff --git a/extra/sysklogd/PKGBUILD b/extra/sysklogd/PKGBUILD
index 76a376889..21caaf687 100644
--- a/extra/sysklogd/PKGBUILD
+++ b/extra/sysklogd/PKGBUILD
@@ -1,44 +1,52 @@
-# $Id: PKGBUILD 122666 2011-05-05 23:43:52Z eric $
+# $Id: PKGBUILD 158662 2012-05-05 22:14:49Z eric $
# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgname=sysklogd
pkgver=1.5
-pkgrel=3
+pkgrel=4
pkgdesc="System and kernel log daemons"
arch=('i686' 'x86_64')
url="http://www.infodrom.org/projects/sysklogd/"
license=('GPL' 'BSD')
-depends=('glibc' 'logrotate')
+depends=('glibc' 'bash')
provides=('logger')
backup=('etc/syslog.conf' 'etc/logrotate.d/syslog')
-source=(http://www.infodrom.org/projects/sysklogd/download/${pkgname}-${pkgver}.tar.gz \
- sysklogd-debian.patch syslog.conf syslog.logrotate syslogd klogd LICENSE)
-md5sums=('e053094e8103165f98ddafe828f6ae4b'
- '1759e667ecf07ba23297f2c05b8dbe3f'
- 'b8bc568494359fa932b7a5e17c4ba4de'
- 'fb3fdb03959ff62ede00487c853bb950'
- '92531ee64cdc0ca978bbe9a81c269211'
- 'c2fe75c82c35371972b6ceda72d6a861'
- '7930f7ff5038e1318511624e348581cc')
+source=(http://www.infodrom.org/projects/sysklogd/download/${pkgname}-${pkgver}.tar.gz{,.asc} \
+ syslog.conf syslog.logrotate syslogd klogd LICENSE \
+ sysklogd-1.4.1-caen-owl-syslogd-bind.diff \
+ sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff \
+ sysklogd-1.4.1-caen-owl-klogd-drop-root.diff \
+ sysklogd-1.5-syslog-func-collision.patch)
sha1sums=('070cce745b023f2ce7ca7d9888af434d6d61c236'
- '7a7320b8e4e21d85cfc9a5aa478a8b013b8afe96'
+ '9599322fc176004d95b5111b05f665b5191dfe67'
'35b4cb76109a6ffe9269021a6bfb4f8da614a4eb'
'e67c0f78f13c94507d3f686b4e5b8340db4624fd'
'848beb23b9ca4de19c6022df03878dbe57e04c0a'
'f46088f761c033562a59bc13d4888b7343bc02fc'
- 'c416bcefd3d3d618139cc7912310caddf34c0c0b')
+ 'c416bcefd3d3d618139cc7912310caddf34c0c0b'
+ '849b2dcaf11060d583ccb3c48356a6971df45cf0'
+ '9701989490748b0c5a1727e0fc459179d0e350a8'
+ '76da0ecd9bca969e292a6ec58d7cd96e4c97e525'
+ '826e76a59834868658eb9f8d8f3aabd8bf748759')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p1 -i ../sysklogd-debian.patch
- sed -i "s/-O3/${CFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE/" Makefile
+# CAEN/OWL security patches
+ patch -p1 -i ../sysklogd-1.4.1-caen-owl-syslogd-bind.diff
+ patch -p1 -i ../sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff
+ patch -p1 -i ../sysklogd-1.4.1-caen-owl-klogd-drop-root.diff
+
+ patch -p1 -i ../sysklogd-1.5-syslog-func-collision.patch
+ sed -i -e "s/-O3/${CFLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE/" \
+ -e "s/LDFLAGS= -s/LDFLAGS= ${LDFLAGS}/" Makefile
+ sed -i 's/500 -s/755/' Makefile
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${pkgver}"
install -d "${pkgdir}/usr/sbin" "${pkgdir}"/usr/share/man/{man5,man8}
- make INSTALL=/bin/install prefix="${pkgdir}" install
+ make prefix="${pkgdir}" install
install -D -m644 ../syslog.conf "${pkgdir}/etc/syslog.conf"
install -D -m644 ../syslog.logrotate "${pkgdir}/etc/logrotate.d/syslog"
install -D -m755 ../syslogd "${pkgdir}/etc/rc.d/syslogd"
diff --git a/extra/sysklogd/sysklogd-1.4.1-caen-owl-klogd-drop-root.diff b/extra/sysklogd/sysklogd-1.4.1-caen-owl-klogd-drop-root.diff
new file mode 100644
index 000000000..e2597fe1a
--- /dev/null
+++ b/extra/sysklogd/sysklogd-1.4.1-caen-owl-klogd-drop-root.diff
@@ -0,0 +1,161 @@
+diff -Naur sysklogd-1.4.1-orig/klogd.8 sysklogd-1.4.1/klogd.8
+--- sysklogd-1.4.1-orig/klogd.8 2005-03-11 11:12:09.000000000 -0500
++++ sysklogd-1.4.1/klogd.8 2005-10-17 23:47:41.615009160 -0400
+@@ -18,6 +19,12 @@
+ .RB [ " \-f "
+ .I fname
+ ]
++.RB [ " \-u "
++.I username
++]
++.RB [ " \-j "
++.I chroot_dir
++]
+ .RB [ " \-iI " ]
+ .RB [ " \-n " ]
+ .RB [ " \-o " ]
+@@ -53,6 +60,20 @@
+ .BI "\-f " file
+ Log messages to the specified filename rather than to the syslog facility.
+ .TP
++.BI "\-u " username
++Tells klogd to become the specified user and drop root privileges before
++starting logging.
++.TP
++.BI "\-j " chroot_dir
++Tells klogd to
++.BR chroot (2)
++into this directory after initializing.
++This option is only valid if the \-u option is also used to run klogd
++without root privileges.
++Note that the use of this option will prevent \-i and \-I from working
++unless you set up the chroot directory in such a way that klogd can still
++read the kernel module symbols.
++.TP
+ .BI "\-i \-I"
+ Signal the currently executing klogd daemon. Both of these switches control
+ the loading/reloading of symbol information. The \-i switch signals the
+diff -Naur sysklogd-1.4.1-orig/klogd.c sysklogd-1.4.1/klogd.c
+--- sysklogd-1.4.1-orig/klogd.c 2004-04-29 09:29:03.000000000 -0400
++++ sysklogd-1.4.1/klogd.c 2005-10-17 23:46:05.200556847 -0400
+@@ -261,6 +261,8 @@
+ #include <stdarg.h>
+ #include <paths.h>
+ #include <stdlib.h>
++#include <pwd.h>
++#include <grp.h>
+ #include "klogd.h"
+ #include "ksyms.h"
+ #ifndef TESTING
+@@ -311,6 +313,9 @@
+ int debugging = 0;
+ int symbols_twice = 0;
+
++char *server_user = NULL;
++char *chroot_dir = NULL;
++int log_flags = 0;
+
+ /* Function prototypes. */
+ extern int ksyslog(int type, char *buf, int len);
+@@ -531,8 +536,9 @@
+ * First do a stat to determine whether or not the proc based
+ * file system is available to get kernel messages from.
+ */
+- if ( use_syscall ||
+- ((stat(_PATH_KLOG, &sb) < 0) && (errno == ENOENT)) )
++ if (!server_user &&
++ (use_syscall ||
++ ((stat(_PATH_KLOG, &sb) < 0) && (errno == ENOENT))))
+ {
+ /* Initialize kernel logging. */
+ ksyslog(1, NULL, 0);
+@@ -980,6 +986,27 @@
+ }
+
+
++static int drop_root(void)
++{
++ struct passwd *pw;
++
++ if (!(pw = getpwnam(server_user))) return -1;
++
++ if (!pw->pw_uid) return -1;
++
++ if (chroot_dir) {
++ if (chroot(chroot_dir)) return -1;
++ if (chdir("/")) return -1;
++ }
++
++ if (setgroups(0, NULL)) return -1;
++ if (setgid(pw->pw_gid)) return -1;
++ if (setuid(pw->pw_uid)) return -1;
++
++ return 0;
++}
++
++
+ int main(argc, argv)
+
+ int argc;
+@@ -997,7 +1024,7 @@
+ chdir ("/");
+ #endif
+ /* Parse the command-line. */
+- while ((ch = getopt(argc, argv, "c:df:iIk:nopsvx2")) != EOF)
++ while ((ch = getopt(argc, argv, "c:df:u:j:iIk:nopsvx2")) != EOF)
+ switch((char)ch)
+ {
+ case '2': /* Print lines with symbols twice. */
+@@ -1019,6 +1046,10 @@
+ case 'I':
+ SignalDaemon(SIGUSR2);
+ return(0);
++ case 'j': /* chroot 'j'ail */
++ chroot_dir = optarg;
++ log_flags |= LOG_NDELAY;
++ break;
+ case 'k': /* Kernel symbol file. */
+ symfile = optarg;
+ break;
+@@ -1034,6 +1065,9 @@
+ case 's': /* Use syscall interface. */
+ use_syscall = 1;
+ break;
++ case 'u': /* Run as this user */
++ server_user = optarg;
++ break;
+ case 'v':
+ printf("klogd %s.%s\n", VERSION, PATCHLEVEL);
+ exit (1);
+@@ -1042,6 +1076,10 @@
+ break;
+ }
+
++ if (chroot_dir && !server_user) {
++ fputs("'-j' is only valid with '-u'", stderr);
++ exit(1);
++ }
+
+ /* Set console logging level. */
+ if ( log_level != (char *) 0 )
+@@ -1139,7 +1177,7 @@
+ }
+ }
+ else
+- openlog("kernel", 0, LOG_KERN);
++ openlog("kernel", log_flags, LOG_KERN);
+
+
+ /* Handle one-shot logging. */
+@@ -1166,6 +1204,11 @@
+ InitMsyms();
+ }
+
++ if (server_user && drop_root()) {
++ syslog(LOG_ALERT, "klogd: failed to drop root");
++ Terminate();
++ }
++
+ /* The main loop. */
+ while (1)
+ {
diff --git a/extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-bind.diff b/extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-bind.diff
new file mode 100644
index 000000000..e79a67d0b
--- /dev/null
+++ b/extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-bind.diff
@@ -0,0 +1,104 @@
+diff -ur sysklogd-1.4.1.orig/sysklogd.8 sysklogd-1.4.1/sysklogd.8
+--- sysklogd-1.4.1.orig/sysklogd.8 Sun Mar 11 22:35:51 2001
++++ sysklogd-1.4.1/sysklogd.8 Mon Oct 8 07:20:31 2001
+@@ -15,6 +15,9 @@
+ .I config file
+ ]
+ .RB [ " \-h " ]
++.RB [ " \-i "
++.I IP address
++]
+ .RB [ " \-l "
+ .I hostlist
+ ]
+@@ -103,8 +106,15 @@
+ Specifying this switch on the command line will cause the log daemon to
+ forward any remote messages it receives to forwarding hosts which have been
+ defined.
+ This can cause syslog loops that fill up hard disks quite fast and
+ thus needs to be used with caution.
++.TP
++.BI "\-i " "IP address"
++If
++.B syslogd
++is configured to accept log input from a UDP port, specify an IP address
++to bind to, rather than the default of INADDR_ANY. The address must be in
++dotted quad notation, DNS host names are not allowed.
+ .TP
+ .BI "\-l " "hostlist"
+ Specify a hostname that should be logged only with its simple hostname
+diff -ur sysklogd-1.4.1.orig/syslogd.c sysklogd-1.4.1/syslogd.c
+--- sysklogd-1.4.1.orig/syslogd.c Sun Mar 11 22:40:10 2001
++++ sysklogd-1.4.1/syslogd.c Mon Oct 8 07:24:41 2001
+@@ -736,6 +736,8 @@
+ int NoHops = 1; /* Can we bounce syslog messages through an
+ intermediate host. */
+
++char *bind_addr = NULL; /* bind UDP port to this interface only */
++
+ extern int errno;
+
+ /* Function prototypes. */
+@@ -829,7 +831,7 @@
+ funix[i] = -1;
+ }
+
+- while ((ch = getopt(argc, argv, "a:dhf:l:m:np:rs:v")) != EOF)
++ while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:v")) != EOF)
+ switch((char)ch) {
+ case 'a':
+ if (nfunix < MAXFUNIX)
+@@ -846,9 +848,17 @@
+ case 'h':
+ NoHops = 0;
+ break;
++ case 'i':
++ if (bind_addr) {
++ fprintf(stderr, "Only one -i argument allowed, "
++ "the first one is taken.\n");
++ break;
++ }
++ bind_addr = optarg;
++ break;
+ case 'l':
+ if (LocalHosts) {
+- fprintf (stderr, "Only one -l argument allowed," \
++ fprintf(stderr, "Only one -l argument allowed, "
+ "the first one is taken.\n");
+ break;
+ }
+@@ -1175,7 +1185,7 @@
+ int usage()
+ {
+ fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
+- " [-s domainlist] [-f conffile]\n");
++ " [-s domainlist] [-f conffile] [-i IP address]\n");
+ exit(1);
+ }
+
+@@ -1217,15 +1227,22 @@
+ int fd, on = 1;
+ struct sockaddr_in sin;
+
++ memset(&sin, 0, sizeof(sin));
++ sin.sin_family = AF_INET;
++ sin.sin_port = LogPort;
++ if (bind_addr) {
++ if (!inet_aton(bind_addr, &sin.sin_addr)) {
++ logerror("syslog: not a valid IP address to bind to.");
++ return -1;
++ }
++ }
++
+ fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (fd < 0) {
+ logerror("syslog: Unknown protocol, suspending inet service.");
+ return fd;
+ }
+
+- memset(&sin, 0, sizeof(sin));
+- sin.sin_family = AF_INET;
+- sin.sin_port = LogPort;
+ if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, \
+ (char *) &on, sizeof(on)) < 0 ) {
+ logerror("setsockopt(REUSEADDR), suspending inet");
diff --git a/extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff b/extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff
new file mode 100644
index 000000000..b5813c1d2
--- /dev/null
+++ b/extra/sysklogd/sysklogd-1.4.1-caen-owl-syslogd-drop-root.diff
@@ -0,0 +1,117 @@
+diff -ur sysklogd-1.4.1-caen-owl-syslogd-bind/sysklogd.8 sysklogd-1.4.1/sysklogd.8
+--- sysklogd-1.4.1-caen-owl-syslogd-bind/sysklogd.8 Mon Oct 8 07:26:27 2001
++++ sysklogd-1.4.1/sysklogd.8 Mon Oct 8 07:30:31 2001
+@@ -32,6 +32,9 @@
+ .RB [ " \-s "
+ .I domainlist
+ ]
++.RB [ " \-u"
++.IB username
++]
+ .RB [ " \-v " ]
+ .LP
+ .SH DESCRIPTION
+@@ -159,6 +162,19 @@
+ is specified and the host logging resolves to satu.infodrom.north.de
+ no domain would be cut, you will have to specify two domains like:
+ .BR "\-s north.de:infodrom.north.de" .
++.TP
++.BI "\-u " "username"
++This causes the
++.B syslogd
++daemon to become the named user before starting up logging.
++
++Note that when this option is in use,
++.B syslogd
++will open all log files as root when the daemon is first started;
++however, after a
++.B SIGHUP
++the files will be reopened as the non-privileged user. You should
++take this into account when deciding the ownership of the log files.
+ .TP
+ .B "\-v"
+ Print version and exit.
+diff -ur sysklogd-1.4.1-caen-owl-syslogd-bind/syslogd.c sysklogd-1.4.1/syslogd.c
+--- sysklogd-1.4.1-caen-owl-syslogd-bind/syslogd.c Mon Oct 8 07:26:27 2001
++++ sysklogd-1.4.1/syslogd.c Mon Oct 8 07:40:35 2001
+@@ -491,6 +491,10 @@
+ #include <arpa/nameser.h>
+ #include <arpa/inet.h>
+ #include <resolv.h>
++
++#include <pwd.h>
++#include <grp.h>
++
+ #ifndef TESTING
+ #include "pidfile.h"
+ #endif
+@@ -737,6 +741,7 @@
+ intermediate host. */
+
+ char *bind_addr = NULL; /* bind UDP port to this interface only */
++char *server_user = NULL; /* user name to run server as */
+
+ extern int errno;
+
+@@ -778,6 +783,21 @@
+ static int create_inet_socket();
+ #endif
+
++static int drop_root(void)
++{
++ struct passwd *pw;
++
++ if (!(pw = getpwnam(server_user))) return -1;
++
++ if (!pw->pw_uid) return -1;
++
++ if (initgroups(server_user, pw->pw_gid)) return -1;
++ if (setgid(pw->pw_gid)) return -1;
++ if (setuid(pw->pw_uid)) return -1;
++
++ return 0;
++}
++
+ int main(argc, argv)
+ int argc;
+ char **argv;
+@@ -831,7 +851,7 @@
+ funix[i] = -1;
+ }
+
+- while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:v")) != EOF)
++ while ((ch = getopt(argc, argv, "a:dhf:i:l:m:np:rs:u:v")) != EOF)
+ switch((char)ch) {
+ case 'a':
+ if (nfunix < MAXFUNIX)
+@@ -884,6 +904,9 @@
+ }
+ StripDomains = crunch_list(optarg);
+ break;
++ case 'u':
++ server_user = optarg;
++ break;
+ case 'v':
+ printf("syslogd %s.%s\n", VERSION, PATCHLEVEL);
+ exit (0);
+@@ -1031,6 +1054,11 @@
+ kill (ppid, SIGTERM);
+ #endif
+
++ if (server_user && drop_root()) {
++ dprintf("syslogd: failed to drop root\n");
++ exit(1);
++ }
++
+ /* Main loop begins here. */
+ for (;;) {
+ int nfds;
+@@ -1185,7 +1213,7 @@
+ int usage()
+ {
+ fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
+- " [-s domainlist] [-f conffile] [-i IP address]\n");
++ " [-s domainlist] [-f conffile] [-i IP address] [-u username]\n");
+ exit(1);
+ }
+
diff --git a/extra/sysklogd/sysklogd-1.5-syslog-func-collision.patch b/extra/sysklogd/sysklogd-1.5-syslog-func-collision.patch
new file mode 100644
index 000000000..76912a265
--- /dev/null
+++ b/extra/sysklogd/sysklogd-1.5-syslog-func-collision.patch
@@ -0,0 +1,103 @@
+http://bugs.gentoo.org/342601
+
+rename local "syslog" and "vsyslog" functions to avoid conflicts with glibc's
+
+patch by Dmitriy Matrosov
+
+--- sysklogd-1.5/klogd.c
++++ sysklogd-1.5/klogd.c
+@@ -258,7 +262,6 @@
+ #if !defined(__GLIBC__)
+ #include <linux/time.h>
+ #endif /* __GLIBC__ */
+-#include <stdarg.h>
+ #include <paths.h>
+ #include <stdlib.h>
+ #include <pwd.h>
+@@ -637,7 +640,7 @@
+ }
+ argl += 3;
+ }
+- syslog(priority, fmt, argl);
++ syslog_own(priority, fmt, argl);
+ va_end(ap);
+ #ifdef TESTING
+ putchar('\n');
+@@ -646,7 +649,7 @@
+ }
+
+ va_start(ap, fmt);
+- vsyslog(priority, fmt, ap);
++ vsyslog_own(priority, fmt, ap);
+ va_end(ap);
+ #ifdef TESTING
+ printf ("\n");
+@@ -1205,7 +1208,7 @@
+ }
+
+ if (server_user && drop_root()) {
+- syslog(LOG_ALERT, "klogd: failed to drop root");
++ syslog_own(LOG_ALERT, "klogd: failed to drop root");
+ Terminate();
+ }
+
+--- sysklogd-1.5/klogd.h
++++ sysklogd-1.5/klogd.h
+@@ -24,6 +24,7 @@
+ #include <stdio.h>
+ #include <syslog.h>
+ #include <string.h>
++#include <stdarg.h>
+
+
+ /* Function prototypes. */
+@@ -38,3 +43,5 @@
+ extern char * ExpandKadds(char *, char *);
+ extern void SetParanoiaLevel(int);
+ extern void Syslog(int priority, char *fmt, ...);
++extern void syslog_own(int, const char *, ...);
++extern void vsyslog_own(int, const char *, va_list);
+--- sysklogd-1.5/ksym_mod.c
++++ sysklogd-1.5/ksym_mod.c
+@@ -95,7 +98,6 @@
+ #if !defined(__GLIBC__)
+ #include <linux/time.h>
+ #endif /* __GLIBC__ */
+-#include <stdarg.h>
+ #include <paths.h>
+ #include <linux/version.h>
+
+--- sysklogd-1.5/syslog.c
++++ sysklogd-1.5/syslog.c
+@@ -75,6 +79,10 @@
+
+ #define _PATH_LOGNAME "/dev/log"
+
++
++void syslog_own(int, const char *, ...);
++void vsyslog_own(int, const char *, va_list);
++
+ static int LogFile = -1; /* fd for log */
+ static int connected; /* have done connect */
+ static int LogStat = 0; /* status bits, set by openlog() */
+@@ -82,17 +90,17 @@
+ static int LogFacility = LOG_USER; /* default facility code */
+
+ void
+-syslog(int pri, const char *fmt, ...)
++syslog_own(int pri, const char *fmt, ...)
+ {
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsyslog(pri, fmt, ap);
++ vsyslog_own(pri, fmt, ap);
+ va_end(ap);
+ }
+
+ void
+-vsyslog(pri, fmt, ap)
++vsyslog_own(pri, fmt, ap)
+ int pri;
+ const char *fmt;
+ va_list ap;