1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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;
|