summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/sysklogd/files/sysklogd-1.5-syslog-func-collision.patch')
-rw-r--r--app-admin/sysklogd/files/sysklogd-1.5-syslog-func-collision.patch103
1 files changed, 103 insertions, 0 deletions
diff --git a/app-admin/sysklogd/files/sysklogd-1.5-syslog-func-collision.patch b/app-admin/sysklogd/files/sysklogd-1.5-syslog-func-collision.patch
new file mode 100644
index 000000000000..76912a265565
--- /dev/null
+++ b/app-admin/sysklogd/files/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;