packages: syslog-ng/syslog-ng.spec, syslog-ng/cap_syslog-vserver-workaround...

arekm arekm at pld-linux.org
Sat Sep 10 19:28:20 CEST 2011


Author: arekm                        Date: Sat Sep 10 17:28:20 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 3; some earlier vserver patches used the same capability number as CAP_SYSLOG uses now. syslog-ng was thus thinking it had CAP_SYSLOG while in reality it got CAP_some_vserver capability. Try to workaround this by checking kernel version.

---- Files affected:
packages/syslog-ng:
   syslog-ng.spec (1.215 -> 1.216) , cap_syslog-vserver-workaround.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/syslog-ng/syslog-ng.spec
diff -u packages/syslog-ng/syslog-ng.spec:1.215 packages/syslog-ng/syslog-ng.spec:1.216
--- packages/syslog-ng/syslog-ng.spec:1.215	Sun Aug 14 02:59:20 2011
+++ packages/syslog-ng/syslog-ng.spec	Sat Sep 10 19:28:15 2011
@@ -23,7 +23,7 @@
 Summary(pt_BR.UTF-8):	Daemon de log nova geração
 Name:		syslog-ng
 Version:	3.2.4
-Release:	3
+Release:	4
 License:	GPL v2
 Group:		Daemons
 Source0:	http://www.balabit.com/downloads/files/syslog-ng/sources/%{version}/source/%{name}_%{version}.tar.gz
@@ -37,6 +37,7 @@
 Source6:	%{name}.upstart
 Patch0:		%{name}-datadir.patch
 Patch1:		cap_syslog.patch
+Patch2:		cap_syslog-vserver-workaround.patch
 URL:		http://www.balabit.com/products/syslog_ng/
 BuildRequires:	autoconf >= 2.53
 BuildRequires:	automake
@@ -140,6 +141,7 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 cp -a %{SOURCE4} doc
 cp -a %{SOURCE5} contrib/syslog-ng.conf.simple
 
@@ -316,6 +318,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.216  2011/09/10 17:28:15  arekm
+- rel 3; some earlier vserver patches used the same capability number as CAP_SYSLOG uses now. syslog-ng was thus thinking it had CAP_SYSLOG while in reality it got CAP_some_vserver capability. Try to workaround this by checking kernel version.
+
 Revision 1.215  2011/08/14 00:59:20  glen
 -  upstart: replace SERVICE_syslog=y in upstart job defs for older jobs or if left out services will not be started
 

================================================================
Index: packages/syslog-ng/cap_syslog-vserver-workaround.patch
diff -u /dev/null packages/syslog-ng/cap_syslog-vserver-workaround.patch:1.1
--- /dev/null	Sat Sep 10 19:28:20 2011
+++ packages/syslog-ng/cap_syslog-vserver-workaround.patch	Sat Sep 10 19:28:15 2011
@@ -0,0 +1,52 @@
+diff -ur syslog-ng-3.2.4.org/lib/gprocess.c syslog-ng-3.2.4/lib/gprocess.c
+--- syslog-ng-3.2.4.org/lib/gprocess.c	2011-09-10 19:11:42.848926449 +0200
++++ syslog-ng-3.2.4/lib/gprocess.c	2011-09-10 19:21:08.665586449 +0200
+@@ -305,10 +305,23 @@
+   return;
+ }
+ 
++#define LINUX_VERSION(x,y,z)    (0x10000*(x) + 0x100*(y) + z)
++
++static int
++get_kernel_version(void) {
++	static struct utsname uts;
++	int x = 0, y = 0, z = 0;
++	if ((uname(&uts) == -1) || (sscanf(uts.release, "%u.%u.%u", &x, &y, &z) < 2)) {
++		msg_error("Unable to retrieve kernel version.", NULL);
++		return -1;
++	}
++	return LINUX_VERSION(x, y, z);
++}
++
+ gboolean
+ g_process_check_cap_syslog(void)
+ {
+-  int ret;
++  int ret, kver;
+ 
+   if (have_capsyslog)
+     return TRUE;
+@@ -320,6 +333,10 @@
+   if (ret == -1)
+     return FALSE;
+ 
++  kver = get_kernel_version();
++  if (kver > 0 && kver < LINUX_VERSION(2,6,38))
++    return FALSE;
++
+   have_capsyslog = TRUE;
+   return TRUE;
+ }
+Tylko w syslog-ng-3.2.4/lib: gprocess.c~
+diff -ur syslog-ng-3.2.4.org/lib/gprocess.h syslog-ng-3.2.4/lib/gprocess.h
+--- syslog-ng-3.2.4.org/lib/gprocess.h	2011-09-10 19:11:42.848926449 +0200
++++ syslog-ng-3.2.4/lib/gprocess.h	2011-09-10 19:15:44.334619870 +0200
+@@ -28,6 +28,7 @@
+ #include "syslog-ng.h"
+ 
+ #include <sys/types.h>
++#include <sys/utsname.h>
+ 
+ #if ENABLE_LINUX_CAPS
+ #  include <sys/capability.h>
+Tylko w syslog-ng-3.2.4/lib: gprocess.h~
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/syslog-ng/syslog-ng.spec?r1=1.215&r2=1.216&f=u



More information about the pld-cvs-commit mailing list