openSUSE Commits
Threads by month
- ----- 2024 -----
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2011
- 1 participants
- 1130 discussions
Hello community,
here is the log from the commit of package xournal for openSUSE:Factory
checked in at Wed Aug 31 10:54:58 CEST 2011.
--------
--- xournal/xournal.changes 2010-05-14 12:42:03.000000000 +0200
+++ /mounts/work_src_done/STABLE/xournal/xournal.changes 2011-08-30 12:33:00.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Aug 30 10:32:15 UTC 2011 - pgajdos(a)suse.com
+
+- build with --no-copy-dt-needed-entries
+ * no-copy-dt-needed-entries.patch
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
xournal-no-copy-dt-needed-entries.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xournal.spec ++++++
--- /var/tmp/diff_new_pack.4QQOIz/_old 2011-08-31 10:54:02.000000000 +0200
+++ /var/tmp/diff_new_pack.4QQOIz/_new 2011-08-31 10:54:02.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package xournal (Version 0.4.5)
+# spec file for package xournal
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
Name: xournal
Url: http://math.mit.edu/~auroux/software/xournal/
Version: 0.4.5
-Release: 1
+Release: 7
Summary: An application for notetaking, sketching, and keeping a journal using a stylus
License: GPLv2+
Group: Productivity/Office/Other
@@ -28,6 +28,8 @@
Source1: %{name}.desktop
Source2: %{name}.png
Patch0: %{name}-unistd-decl.diff
+#feel free to improve it and please upstream it
+Patch1: %{name}-no-copy-dt-needed-entries.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gtk2-devel
BuildRequires: libgnomecanvas-devel
@@ -47,6 +49,7 @@
%prep
%setup
%patch0
+%patch1 -p1
%build
autoreconf -fi
++++++ xournal-no-copy-dt-needed-entries.patch ++++++
Index: xournal-0.4.5/src/Makefile.am
===================================================================
--- xournal-0.4.5.orig/src/Makefile.am
+++ xournal-0.4.5/src/Makefile.am
@@ -20,5 +20,5 @@ xournal_SOURCES = \
xo-callbacks.c xo-callbacks.h \
xo-shapes.c xo-shapes.h
-xournal_LDADD = ttsubset/libttsubset.a @PACKAGE_LIBS@ $(INTLLIBS)
+xournal_LDADD = ttsubset/libttsubset.a @PACKAGE_LIBS@ $(INTLLIBS) -lX11 -lz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xlockmore for openSUSE:Factory
checked in at Wed Aug 31 10:53:55 CEST 2011.
--------
--- xlockmore/xlockmore.changes 2010-12-14 12:28:35.000000000 +0100
+++ /mounts/work_src_done/STABLE/xlockmore/xlockmore.changes 2011-08-30 15:57:43.000000000 +0200
@@ -1,0 +2,17 @@
+Tue Aug 30 12:49:59 UTC 2011 - pgajdos(a)suse.com
+
+- build with --no-copy-dt-needed-entries
+ * no-copy-dt-needed-entries.patch
+- updated to 5.34:
+ * DPMS changed from 30 sec to 5 sec. Define -DMIN_DPMS=3 at compile-time
+ if you would like to change it to be sooner.
+ * life mode fix for hexagons, life forms would not map certain screen sizes
+ * life mode: Added new neighbor 9 ship, added asym ships for neighbor 12
+ S356/B46, and added some new oscillators including a neighbor 6 p16.
+ Now (mostly) use generated file from java app and life2d.xml.
+ * life3d mode: Added new some new oscillators including a neighbor 12 p10
+ S456/B3. Also new puffers and gliders found. Now use generated file
+ from java app and life3d.xml.
+ * loop mode: made new small loops less frequent
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
xlockmore-5.32.tar.bz2
New:
----
xlockmore-5.34.tar.bz2
xlockmore-no-copy-dt-needed-entries.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xlockmore.spec ++++++
--- /var/tmp/diff_new_pack.NUZeBy/_old 2011-08-31 10:53:36.000000000 +0200
+++ /var/tmp/diff_new_pack.NUZeBy/_new 2011-08-31 10:53:36.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package xlockmore (Version 5.32)
+# spec file for package xlockmore
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -25,7 +25,7 @@
Provides: xlock
Obsoletes: xlock
AutoReqProv: on
-Version: 5.32
+Version: 5.34
Release: 1
Summary: Screen Saver and Locker for the X Window System
Url: http://www.tux.org/~bagleyd/xlockmore.html
@@ -38,6 +38,8 @@
Patch3: xlockmore-ttf_dir.patch
# end of X.org related patches
Patch7: xlockmore-strict-aliasing.patch
+# feel free to improve it and please upstream it
+Patch8: xlockmore-no-copy-dt-needed-entries.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -62,6 +64,7 @@
%patch1
%patch3
%patch7
+%patch8 -p1
%build
%{?suse_update_config:%{suse_update_config -f}}
++++++ xlockmore-5.32.tar.bz2 -> xlockmore-5.34.tar.bz2 ++++++
++++ 47649 lines of diff (skipped)
++++++ xlockmore-no-copy-dt-needed-entries.patch ++++++
Index: xlockmore-5.34/configure.in
===================================================================
--- xlockmore-5.34.orig/configure.in
+++ xlockmore-5.34/configure.in
@@ -367,6 +367,9 @@ main ()
rm -f conf.gtktest
])
+dnl audio file for --no-copy-dt-needed-entries
+XLOCKLIBS="-laudiofile"
+
dnl X Window System files.
AC_PATH_XTRA
if test "$no_x" = yes; then
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2 for openSUSE:Factory
checked in at Wed Aug 31 10:53:26 CEST 2011.
--------
--- yast2/yast2.changes 2011-08-29 13:06:06.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2/yast2.changes 2011-08-31 09:53:12.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Aug 31 07:40:54 UTC 2011 - lslezak(a)suse.cz
+
+- fixed trusting a GPG key (wrong id check) (bnc#713068)
+- added String::FindMountPoint() function (moved from yast2-wagon
+ to share it with other modules)
+- 2.21.13
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-2.21.12.tar.bz2
New:
----
yast2-2.21.13.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.CDbqlM/_old 2011-08-31 10:53:04.000000000 +0200
+++ /var/tmp/diff_new_pack.CDbqlM/_new 2011-08-31 10:53:04.000000000 +0200
@@ -19,11 +19,11 @@
Name: yast2
-Version: 2.21.12
+Version: 2.21.13
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-2.21.12.tar.bz2
+Source0: yast2-2.21.13.tar.bz2
Prefix: /usr
@@ -130,7 +130,7 @@
installation with YaST2.
%prep
-%setup -n yast2-2.21.12
+%setup -n yast2-2.21.13
%build
%{prefix}/bin/y2tool y2autoconf
++++++ yast2-2.21.12.tar.bz2 -> yast2-2.21.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/VERSION new/yast2-2.21.13/VERSION
--- old/yast2-2.21.12/VERSION 2011-08-29 13:03:19.000000000 +0200
+++ new/yast2-2.21.13/VERSION 2011-08-31 09:51:32.000000000 +0200
@@ -1 +1 @@
-2.21.12
+2.21.13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/configure new/yast2-2.21.13/configure
--- old/yast2-2.21.12/configure 2011-08-29 13:03:52.000000000 +0200
+++ new/yast2-2.21.13/configure 2011-08-31 09:52:06.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for yast2 2.21.12.
+# Generated by GNU Autoconf 2.68 for yast2 2.21.13.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -559,8 +559,8 @@
# Identity of this package.
PACKAGE_NAME='yast2'
PACKAGE_TARNAME='yast2'
-PACKAGE_VERSION='2.21.12'
-PACKAGE_STRING='yast2 2.21.12'
+PACKAGE_VERSION='2.21.13'
+PACKAGE_STRING='yast2 2.21.13'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
PACKAGE_URL=''
@@ -1232,7 +1232,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2 2.21.12 to adapt to many kinds of systems.
+\`configure' configures yast2 2.21.13 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1303,7 +1303,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2 2.21.12:";;
+ short | recursive ) echo "Configuration of yast2 2.21.13:";;
esac
cat <<\_ACEOF
@@ -1383,7 +1383,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2 configure 2.21.12
+yast2 configure 2.21.13
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1400,7 +1400,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2 $as_me 2.21.12, which was
+It was created by yast2 $as_me 2.21.13, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2330,7 +2330,7 @@
# Define the identity of the package.
PACKAGE='yast2'
- VERSION='2.21.12'
+ VERSION='2.21.13'
cat >>confdefs.h <<_ACEOF
@@ -2452,7 +2452,7 @@
-VERSION="2.21.12"
+VERSION="2.21.13"
RPMNAME="yast2"
MAINTAINER="Jiri Srain <jsrain(a)suse.cz>"
@@ -3498,7 +3498,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2 $as_me 2.21.12, which was
+This file was extended by yast2 $as_me 2.21.13, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3551,7 +3551,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-yast2 config.status 2.21.12
+yast2 config.status 2.21.13
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/configure.in new/yast2-2.21.13/configure.in
--- old/yast2-2.21.12/configure.in 2011-08-29 13:03:50.000000000 +0200
+++ new/yast2-2.21.13/configure.in 2011-08-31 09:52:04.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.18.11 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2, 2.21.12, http://bugs.opensuse.org/, yast2)
+AC_INIT(yast2, 2.21.13, http://bugs.opensuse.org/, yast2)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.21.12"
+VERSION="2.21.13"
RPMNAME="yast2"
MAINTAINER="Jiri Srain <jsrain(a)suse.cz>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/library/modules/Version.ycp new/yast2-2.21.13/library/modules/Version.ycp
--- old/yast2-2.21.12/library/modules/Version.ycp 2011-08-29 13:03:57.000000000 +0200
+++ new/yast2-2.21.13/library/modules/Version.ycp 2011-08-31 09:52:10.000000000 +0200
@@ -20,7 +20,7 @@
/**
* Version of the yast2 package
*/
-global string yast2 = "2.21.12";
+global string yast2 = "2.21.13";
/* EOF */
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/library/packages/src/SignatureCheckDialogs.ycp new/yast2-2.21.13/library/packages/src/SignatureCheckDialogs.ycp
--- old/yast2-2.21.12/library/packages/src/SignatureCheckDialogs.ycp 2011-08-16 11:02:38.000000000 +0200
+++ new/yast2-2.21.13/library/packages/src/SignatureCheckDialogs.ycp 2011-08-30 16:42:21.000000000 +0200
@@ -942,7 +942,7 @@
UI::CloseDialog();
- return ret == `import;
+ return ret == `trust;
}
boolean RunSimpleErrorPopup(string heading, string description_text,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/library/types/src/String.ycp new/yast2-2.21.13/library/types/src/String.ycp
--- old/yast2-2.21.12/library/types/src/String.ycp 2011-07-01 14:48:59.000000000 +0200
+++ new/yast2-2.21.13/library/types/src/String.ycp 2011-08-31 09:51:52.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: String manipulation routines
* Authors: Michal Svec <msvec(a)suse.cz>
*
- * $Id: String.ycp 64618 2011-06-28 13:57:30Z lslezak $
+ * $Id: String.ycp 65459 2011-08-31 07:51:51Z lslezak $
*/
{
@@ -1330,5 +1330,29 @@
return search(str, test) == 0;
}
+/*
+* Find a mount point for given directory/file path. Returns "/" if no mount point matches
+* @param dir requested path , e.g. "/usr/share"
+* @param dirs list of mount points, e.g. [ "/", "/usr", "/boot" ]
+* @return string a mount point from the input list or "/" if not found
+*/
+global string FindMountPoint(string dir, list<string> dirs)
+{
+ while (dir != nil && dir != "" && !contains(dirs, dir))
+ {
+ // strip the last path component and try it again
+ list<string> comps = splitstring(dir, "/");
+ comps = remove(comps, size(comps) - 1);
+ dir = mergestring(comps, "/");
+ }
+
+ if (dir == nil || dir == "")
+ {
+ dir = "/";
+ }
+
+ return dir;
+}
+
/* EOF */
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/library/types/testsuite/tests/FindMountPoint.out new/yast2-2.21.13/library/types/testsuite/tests/FindMountPoint.out
--- old/yast2-2.21.12/library/types/testsuite/tests/FindMountPoint.out 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-2.21.13/library/types/testsuite/tests/FindMountPoint.out 2011-06-20 14:56:54.000000000 +0200
@@ -0,0 +1,14 @@
+Dump Test nil
+Return /
+Return /
+Return /
+Dump Test empty string
+Return /
+Return /
+Return /
+Dump Test valid values
+Return /
+Return /usr
+Return /usr
+Return /usr
+Return /usr/share
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-2.21.12/library/types/testsuite/tests/FindMountPoint.ycp new/yast2-2.21.13/library/types/testsuite/tests/FindMountPoint.ycp
--- old/yast2-2.21.12/library/types/testsuite/tests/FindMountPoint.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-2.21.13/library/types/testsuite/tests/FindMountPoint.ycp 2011-08-31 09:59:33.000000000 +0200
@@ -0,0 +1,24 @@
+{
+
+include "testsuite.ycp";
+
+import "String";
+
+//import "Wagon";
+DUMP("Test nil");
+TEST(``(String::FindMountPoint(nil, nil)), [], nil);
+TEST(``(String::FindMountPoint(nil, [])), [], nil);
+TEST(``(String::FindMountPoint(nil, ["/boot", "/"])), [], nil);
+
+DUMP("Test empty string");
+TEST(``(String::FindMountPoint("", nil)), [], nil);
+TEST(``(String::FindMountPoint("", [])), [], nil);
+TEST(``(String::FindMountPoint("", ["/boot", "/"])), [], nil);
+
+DUMP("Test valid values");
+TEST(``(String::FindMountPoint("/", ["/boot", "/", "/usr"])), [], nil);
+TEST(``(String::FindMountPoint("/usr", ["/boot", "/", "/usr"])), [], nil);
+TEST(``(String::FindMountPoint("/usr/", ["/boot", "/", "/usr"])), [], nil);
+TEST(``(String::FindMountPoint("/usr/share/locale", ["/boot", "/", "/usr"])), [], nil);
+TEST(``(String::FindMountPoint("/usr/share/locale", ["/boot", "/", "/usr", "/usr/share"])), [], nil);
+}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libvorbis for openSUSE:Factory
checked in at Wed Aug 31 10:52:41 CEST 2011.
--------
--- libvorbis/libvorbis.changes 2011-05-05 22:56:30.000000000 +0200
+++ /mounts/work_src_done/STABLE/libvorbis/libvorbis.changes 2011-08-29 21:02:09.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 29 19:00:55 UTC 2011 - crrodriguez(a)opensuse.org
+
+- Fix build with no-add-needed
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
vorbis-fix-linking.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvorbis.spec ++++++
--- /var/tmp/diff_new_pack.5wk5q5/_old 2011-08-31 10:52:22.000000000 +0200
+++ /var/tmp/diff_new_pack.5wk5q5/_new 2011-08-31 10:52:22.000000000 +0200
@@ -19,7 +19,7 @@
Name: libvorbis
Version: 1.3.2
-Release: 8
+Release: 10
#to_be_filled_by_service
License: BSD3c(or similar)
Summary: The Vorbis General Audio Compression Codec
@@ -38,6 +38,7 @@
# 'Patch5: libvorbis-%%{version}-aotuv-b5.7.diff'
# PATCH-FIX-UPSTREAM libvorbis-pkgconfig.patch https://trac.xiph.org/ticket/1759 reddwarf(a)opensuse.org -- Use Requires/Libs.private to avoid overlinking
Patch10: libvorbis-pkgconfig.patch
+Patch11: vorbis-fix-linking.patch
BuildRequires: libogg-devel
BuildRequires: fdupes pkgconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -139,9 +140,11 @@
if [ "%{_lib}" == "lib64" ]; then
%patch1
fi
+%patch11
%build
-%configure --disable-static
+autoreconf -fiv
+%configure --disable-examples --disable-static
make %{?_smp_mflags}
%install
++++++ vorbis-fix-linking.patch ++++++
--- test/Makefile.am.orig
+++ test/Makefile.am
@@ -10,7 +10,7 @@ check: $(check_PROGRAMS)
./test$(EXEEXT)
test_SOURCES = util.c util.h write_read.c write_read.h test.c
-test_LDADD = ../lib/libvorbisenc.la ../lib/libvorbis.la @OGG_LIBS@
+test_LDADD = -lm ../lib/libvorbisenc.la ../lib/libvorbis.la @OGG_LIBS@
debug:
$(MAKE) all CFLAGS="@DEBUG@"
--- configure.ac.orig
+++ configure.ac
@@ -8,13 +8,12 @@ dnl ------------------------------------
AC_INIT([libvorbis],[1.3.2],[vorbis-dev(a)xiph.org])
AC_CONFIG_SRCDIR([lib/mdct.c])
-
+AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_TARGET([])
AM_INIT_AUTOMAKE($PACKAGE_NAME,$PACKAGE_VERSION)
AM_MAINTAINER_MODE
AM_CONFIG_HEADER([config.h])
-
dnl Add parameters for aclocal
AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
@@ -53,7 +52,9 @@ dnl ------------------------------------
dnl save $CFLAGS since AC_PROG_CC likes to insert "-g -O2"
dnl if $CFLAGS is blank
cflags_save="$CFLAGS"
-AC_PROG_CC
+AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
AC_PROG_CPP
CFLAGS="$cflags_save"
--- Makefile.am.orig
+++ Makefile.am
@@ -1,5 +1,6 @@
## Process this file with automake to produce Makefile.in
+ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = 1.7 foreign dist-zip dist-bzip2
SUBDIRS = m4 include vq lib test doc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libvdpau for openSUSE:Factory
checked in at Wed Aug 31 10:52:11 CEST 2011.
--------
--- libvdpau/libvdpau.changes 2011-08-29 14:52:31.000000000 +0200
+++ /mounts/work_src_done/STABLE/libvdpau/libvdpau.changes 2011-08-29 17:30:07.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 29 14:47:54 UTC 2011 - sndirsch(a)suse.com
+
+- fixes the build in a more correct way :-) Hopefully!
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
libvdpau-missing-lX11.diff
New:
----
vdpauinfo-missing-lX11.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvdpau.spec ++++++
--- /var/tmp/diff_new_pack.EDPFpl/_old 2011-08-31 10:51:44.000000000 +0200
+++ /var/tmp/diff_new_pack.EDPFpl/_new 2011-08-31 10:51:44.000000000 +0200
@@ -19,7 +19,7 @@
Name: libvdpau
Version: 0.4.1
-Release: 13
+Release: 15
License: MIT License (or similar)
Summary: VDPAU wrapper and trace libraries
Url: http://people.freedesktop.org/~aplattner
@@ -29,7 +29,7 @@
Source2: README
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
-Patch: libvdpau-missing-lX11.diff
+Patch: vdpauinfo-missing-lX11.diff
BuildRequires: gcc-c++ pkgconfig xorg-x11-devel
BuildRequires: doxygen graphviz texlive
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -80,7 +80,9 @@
%prep
%setup -q -b1
+pushd ../vdpauinfo-*
%patch -p0
+popd
%build
%configure
++++++ vdpauinfo-missing-lX11.diff ++++++
--- configure.ac.orig 2011-08-29 16:31:04.069536000 +0200
+++ configure.ac 2011-08-29 16:31:31.424105000 +0200
@@ -8,7 +8,7 @@
PKG_CHECK_MODULES(VDPAU, x11 [vdpau >= 0.2])
VDPAUINFO_CXXFLAGS="$VDPAUINFO_CXXFLAGS $VDPAU_CFLAGS"
-VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS"
+VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS -lX11"
AC_SUBST(VDPAUINFO_CXXFLAGS)
AC_SUBST(VDPAUINFO_LIBS)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libtheora for openSUSE:Factory
checked in at Wed Aug 31 10:51:35 CEST 2011.
--------
--- libtheora/libtheora.changes 2011-07-28 01:53:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/libtheora/libtheora.changes 2011-08-29 21:13:03.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Aug 29 19:11:23 UTC 2011 - crrodriguez(a)opensuse.org
+
+- remove examples that fail to build, also SDL and png
+ are only needed for those, so remove from buildrequires.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libtheora.spec ++++++
--- /var/tmp/diff_new_pack.I1SNTs/_old 2011-08-31 10:51:15.000000000 +0200
+++ /var/tmp/diff_new_pack.I1SNTs/_new 2011-08-31 10:51:15.000000000 +0200
@@ -19,13 +19,13 @@
Name: libtheora
-BuildRequires: SDL-devel gcc-c++ libogg-devel libpng-devel libvorbis-devel pkg-config python
+BuildRequires: gcc-c++ libogg-devel libvorbis-devel pkg-config python
Url: http://www.theora.org/
License: BSD3c(or similar)
Group: Productivity/Multimedia/Other
Summary: Free Video Codec
Version: 1.1.1
-Release: 12
+Release: 14
%define pkg_version %version
# bug437293
%ifarch ppc64
@@ -97,7 +97,7 @@
%build
ACLOCAL="aclocal -I m4" autoreconf -f -i
-%configure \
+%configure --disable-examples \
--disable-static \
--with-pic
%{__make} %{?jobs:-j%jobs} docdir=%{_docdir}/%{name}
@@ -105,21 +105,8 @@
%install
%makeinstall docdir=%{_docdir}/%{name}
%{__install} -d $RPM_BUILD_ROOT%{_bindir}
-# Use non-generic name here to prevent vague meaning:
-%{__install} examples/.libs/dump_video $RPM_BUILD_ROOT%{_bindir}/dump_video_theora
-%{__install} examples/.libs/encoder_example $RPM_BUILD_ROOT%{_bindir}/encoder_example_theora
-%{__install} examples/.libs/player_example $RPM_BUILD_ROOT%{_bindir}/player_example_theora
-# And provide symlinks to old names (<= openSUSE 10.2):
-%{__ln_s} dump_video_theora $RPM_BUILD_ROOT%{_bindir}/dump_video
-%{__ln_s} encoder_example_theora $RPM_BUILD_ROOT%{_bindir}/encoder_example
-%{__ln_s} player_example_theora $RPM_BUILD_ROOT%{_bindir}/player_example
# Install remaining parts of documentation.
%{__cp} -a AUTHORS CHANGES COPYING LICENSE README $RPM_BUILD_ROOT%{_docdir}/%{name}
-cd examples
-%{__make} clean
-%{__cp} -a . $RPM_BUILD_ROOT%{_docdir}/%{name}/examples
-cd $RPM_BUILD_ROOT%{_docdir}/%{name}/examples
-%{__rm} -rf .deps Makefile*
%check
%{__make} check
@@ -141,7 +128,6 @@
%defattr(-,root,root)
%doc %dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/*
-%{_bindir}/*
%{_includedir}/theora
%{_libdir}/*.so
%{_libdir}/pkgconfig/theoradec.pc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libreoffice-icon-themes for openSUSE:Factory
checked in at Wed Aug 31 10:51:05 CEST 2011.
--------
--- libreoffice-icon-themes/libreoffice-icon-themes.changes 2011-06-08 17:55:11.000000000 +0200
+++ /mounts/work_src_done/STABLE/libreoffice-icon-themes/libreoffice-icon-themes.changes 2011-08-24 16:34:53.000000000 +0200
@@ -1,0 +2,10 @@
+Wed Aug 24 13:45:45 UTC 2011 - pmladek(a)novell.com
+
+- updated to libreoffice-3.4.2.4 (SUSE 3.4.2-rc1)
+
+-------------------------------------------------------------------
+Wed Jul 27 15:10:40 UTC 2011 - pmladek(a)novell.com
+
+- updated to libreoffice-3.4.2.3 (3.4.2-rc3)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice-icon-themes.spec ++++++
--- /var/tmp/diff_new_pack.5Abhfr/_old 2011-08-31 10:50:12.000000000 +0200
+++ /var/tmp/diff_new_pack.5Abhfr/_new 2011-08-31 10:50:12.000000000 +0200
@@ -19,11 +19,11 @@
Name: libreoffice-icon-themes
-Version: 3.3.3.1
+Version: 3.4.2.4
Release: 1
-%define ooo_build_version 3.3.3.1
-%define ooo_piece_version 3.3.3.1
-%define ooo_basis_dir basis3.3
+%define ooo_build_version 3.4.2.4
+%define ooo_piece_version 3.4.2.4
+%define ooo_basis_dir basis3.4
%define ooo_home libreoffice
BuildRequires: libreoffice-icon-themes-prebuilt = %version
License: LGPLv3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libcap-ng for openSUSE:Factory
checked in at Wed Aug 31 10:49:59 CEST 2011.
--------
--- libcap-ng/libcap-ng-python.changes 2010-11-20 11:15:59.000000000 +0100
+++ /mounts/work_src_done/STABLE/libcap-ng/libcap-ng-python.changes 2011-08-31 03:52:56.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Aug 31 01:49:59 UTC 2011 - crrodriguez(a)opensuse.org
+
+- Update to version 0.6.6
+- Add CAP_SYSLOG and CAP_WAKE_ALARM (needed for newish kernels)
+
+-------------------------------------------------------------------
libcap-ng.changes: same change
calling whatdependson for head-i586
Old:
----
libcap-ng-0.6.5.tar.bz2
New:
----
libcap-ng-0.6.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcap-ng-python.spec ++++++
--- /var/tmp/diff_new_pack.cojzeT/_old 2011-08-31 10:49:41.000000000 +0200
+++ /var/tmp/diff_new_pack.cojzeT/_new 2011-08-31 10:49:41.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package libcap-ng-python (Version 0.6.5)
+# spec file for package libcap-ng-python
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
Summary: An alternate POSIX capabilities library
Name: libcap-ng-python
-Version: 0.6.5
+Version: 0.6.6
Release: 1
%define soname 0
%define rname libcap-ng
@@ -45,6 +45,7 @@
%package -n %{name}%{soname}
+
Summary: An alternate POSIX capabilities library
License: LGPLv2+
Group: System/Libraries
@@ -53,6 +54,7 @@
Libcap-ng is a library that makes using posix capabilities easier
%package devel
+
Summary: Header files for libcap-ng library
License: LGPLv2+
Group: Development/Libraries/C and C++
@@ -65,6 +67,7 @@
applications that need to use the libcap-ng library.
%package utils
+
Summary: Utilities for analysing and setting file capabilities
License: GPLv2+
Group: System/Base
libcap-ng.spec: same change
++++++ libcap-ng-0.6.5.tar.bz2 -> libcap-ng-0.6.6.tar.bz2 ++++++
++++ 8398 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/ChangeLog new/libcap-ng-0.6.6/ChangeLog
--- old/libcap-ng-0.6.5/ChangeLog 2010-11-03 18:31:59.000000000 +0100
+++ new/libcap-ng-0.6.6/ChangeLog 2011-06-24 22:29:55.000000000 +0200
@@ -1,3 +1,9 @@
+0.6.6
+- In netcap, make sure readlink is handled properly
+- Add CAP_SYSLOG
+- In netcap and pscap, ensure euid is initialized
+- Add CAP_WAKE_ALARM
+
0.6.5
- Fix self test build problem on clean system (Sterling X. Winter)
- Only open regular files in filecap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/bindings/python/capng.py new/libcap-ng-0.6.6/bindings/python/capng.py
--- old/libcap-ng-0.6.5/bindings/python/capng.py 2010-11-03 18:32:11.000000000 +0100
+++ new/libcap-ng-0.6.6/bindings/python/capng.py 2011-06-24 22:30:07.000000000 +0200
@@ -1,5 +1,5 @@
# This file was automatically generated by SWIG (http://www.swig.org).
-# Version 1.3.40
+# Version 2.0.1
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/configure.ac new/libcap-ng-0.6.6/configure.ac
--- old/libcap-ng-0.6.5/configure.ac 2010-11-03 18:31:59.000000000 +0100
+++ new/libcap-ng-0.6.6/configure.ac 2011-06-24 22:29:55.000000000 +0200
@@ -29,7 +29,7 @@
])
AC_REVISION($Revision: 1.3 $)dnl
-AC_INIT(libcap-ng,0.6.5)
+AC_INIT(libcap-ng,0.6.6)
AC_PREREQ(2.12)dnl
AM_CONFIG_HEADER(config.h)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/libcap-ng.spec new/libcap-ng-0.6.6/libcap-ng.spec
--- old/libcap-ng-0.6.5/libcap-ng.spec 2010-11-03 18:31:59.000000000 +0100
+++ new/libcap-ng-0.6.6/libcap-ng.spec 2011-06-24 22:29:55.000000000 +0200
@@ -2,7 +2,7 @@
Summary: An alternate posix capabilities library
Name: libcap-ng
-Version: 0.6.5
+Version: 0.6.6
Release: 1
License: LGPLv2+
Group: System Environment/Libraries
@@ -111,6 +111,6 @@
%attr(0644,root,root) %{_mandir}/man8/*
%changelog
-* Wed Nov 03 2010 Steve Grubb <sgrubb(a)redhat.com> 0.6.5-1
+* Fri Jun 24 2011 Steve Grubb <sgrubb(a)redhat.com> 0.6.6-1
- New upstream release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/src/captab.h new/libcap-ng-0.6.6/src/captab.h
--- old/libcap-ng-0.6.5/src/captab.h 2010-11-03 18:31:59.000000000 +0100
+++ new/libcap-ng-0.6.6/src/captab.h 2011-06-24 22:29:55.000000000 +0200
@@ -1,5 +1,5 @@
/* captab.h --
- * Copyright 2009 Red Hat Inc., Durham, North Carolina.
+ * Copyright 2009,2011 Red Hat Inc., Durham, North Carolina.
* All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
@@ -60,4 +60,10 @@
#ifdef CAP_MAC_ADMIN
_S(CAP_MAC_ADMIN, "mac_admin" )
#endif
+#ifdef CAP_SYSLOG
+_S(CAP_SYSLOG, "syslog" )
+#endif
+#ifdef CAP_WAKE_ALARM
+_S(CAP_WAKE_ALARM, "wake_alarm" )
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/src/test/thread_test.c new/libcap-ng-0.6.6/src/test/thread_test.c
--- old/libcap-ng-0.6.5/src/test/thread_test.c 2010-11-03 18:31:58.000000000 +0100
+++ new/libcap-ng-0.6.6/src/test/thread_test.c 2011-06-24 22:29:55.000000000 +0200
@@ -32,7 +32,7 @@
#endif
capng_get_caps_process();
if (capng_have_capabilities(CAPNG_SELECT_CAPS) != CAPNG_NONE) {
- printf("Detected capabilities when they should not be any\n");
+ printf("Detected capabilities when there should not be any\n");
exit(1);
}
capng_clear(CAPNG_SELECT_BOTH);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/utils/netcap.c new/libcap-ng-0.6.6/utils/netcap.c
--- old/libcap-ng-0.6.5/utils/netcap.c 2010-11-03 18:31:59.000000000 +0100
+++ new/libcap-ng-0.6.6/utils/netcap.c 2011-06-24 22:29:55.000000000 +0200
@@ -60,7 +60,7 @@
capng_results_t caps;
char buf[100];
char *tmp, cmd[16], state, *text, *bounds;
- int fd, len, euid;
+ int fd, len, euid = -1;
// Skip non-process dir entries
if(*ent->d_name<'0' || *ent->d_name>'9')
@@ -162,13 +162,15 @@
char line[256], ln[256], *s, *e;
unsigned long inode;
lnode node;
+ int len;
if (ent->d_name[0] == '.')
continue;
snprintf(ln, 256, "%s/%s", buf, ent->d_name);
- if (readlink(ln, line, 255) < 0)
+ if ((len = readlink(ln, line, sizeof(line)-1)) < 0)
continue;
-
+ line[len] = 0;
+
// Only look at the socket entries
if (memcmp(line, "socket:", 7) == 0) {
// Type 1 sockets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libcap-ng-0.6.5/utils/pscap.c new/libcap-ng-0.6.6/utils/pscap.c
--- old/libcap-ng-0.6.5/utils/pscap.c 2010-11-03 18:31:59.000000000 +0100
+++ new/libcap-ng-0.6.6/utils/pscap.c 2011-06-24 22:29:55.000000000 +0200
@@ -69,7 +69,7 @@
return 1;
}
while (( ent = readdir(d) )) {
- int pid, ppid, uid = -1, euid;
+ int pid, ppid, uid = -1, euid = -1;
char buf[100];
char *tmp, cmd[16], state, *name = NULL;
int fd, len;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package dhcpv6 for openSUSE:Factory
checked in at Wed Aug 31 10:49:23 CEST 2011.
--------
--- dhcpv6/dhcpv6.changes 2011-04-05 20:56:16.000000000 +0200
+++ /mounts/work_src_done/STABLE/dhcpv6/dhcpv6.changes 2011-08-29 21:49:52.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 29 19:48:18 UTC 2011 - mt(a)suse.com
+
+- Cleaned up (lock/subsys) in dhcp6s and dhcp6r scripts (bnc#714617)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dhcpv6.spec ++++++
--- /var/tmp/diff_new_pack.QjDP0C/_old 2011-08-31 10:48:08.000000000 +0200
+++ /var/tmp/diff_new_pack.QjDP0C/_new 2011-08-31 10:48:08.000000000 +0200
@@ -26,7 +26,7 @@
Group: Productivity/Networking/System
Summary: DHCP Client and Server for IPv6
Version: 1.0.22
-Release: 16
+Release: 18
Source0: %{name}-%{version}.tar.bz2
Patch1: %{name}-%{version}-destdir.patch
Patch2: %{name}-%{version}-cmd.patch
@@ -90,6 +90,10 @@
make clean
make %{?_smp_mflags}
+%check
+bash -n etc/init.d/dhcp6s.sh
+bash -n etc/init.d/dhcp6r.sh
+
%install
mkdir -p $RPM_BUILD_ROOT/usr/sbin
mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man{8,5}
@@ -114,6 +118,8 @@
%{stop_on_removal dhcp6s}
%postun
+%{restart_on_update dhcp6r}
+%{restart_on_update dhcp6s}
%{insserv_cleanup dhcp6r}
%{insserv_cleanup dhcp6s}
++++++ dhcpv6-1.0.22-destdir.patch ++++++
--- /var/tmp/diff_new_pack.QjDP0C/_old 2011-08-31 10:48:08.000000000 +0200
+++ /var/tmp/diff_new_pack.QjDP0C/_new 2011-08-31 10:48:08.000000000 +0200
@@ -1,7 +1,5 @@
-Index: dhcpv6-1.0.20/etc/init.d/dhcp6r.sh
-===================================================================
---- dhcpv6-1.0.20.orig/etc/init.d/dhcp6r.sh
-+++ dhcpv6-1.0.20/etc/init.d/dhcp6r.sh
+--- dhcpv6-1.0.22/etc/init.d/dhcp6r.sh
++++ dhcpv6-1.0.22/etc/init.d/dhcp6r.sh 2011/08/29 19:38:58
@@ -2,11 +2,10 @@
#
### BEGIN INIT INFO
@@ -18,7 +16,7 @@
# Short-Description: Start and stop the DHCPv6 relay agent
# Description: dhcp6r acts as a DHCPv6 relay agent forwarding DHCPv6 messages
# from clients to servers and vice versa.
-@@ -18,9 +17,11 @@
+@@ -18,45 +17,36 @@
# description: dhcp6r acts as a DHCPv6 relay agent forwarding DHCPv6 messages \
# from clients to servers and vice versa.
# processname: dhcp6r
@@ -32,15 +30,16 @@
RETVAL=0
-@@ -28,34 +29,25 @@ prog=dhcp6r
++conf=/etc/sysconfig/network/dhcp6r
+ prog=dhcp6r
dhcp6r=/usr/sbin/dhcp6r
- lockfile=/var/lock/subsys/dhcp6r
-
+-lockfile=/var/lock/subsys/dhcp6r
+-
-# Check that networking is up.
-# networking is not up, return 1 for generic error
-. /etc/sysconfig/network
-[ $NETWORKING = "no" ] && exit 1
--
+
start() {
# return 5 if program is not installed
- [ -x $dhcp6r ] || exit 5
@@ -52,27 +51,30 @@
+ [ -f /etc/sysconfig/network/dhcp6r ] || return 6
+ . /etc/sysconfig/network/dhcp6r
- echo -n $"Starting $prog: "
+- echo -n $"Starting $prog: "
- daemon $dhcp6r $DHCP6RARGS
++ echo -n $"Starting $prog "
+ startproc $dhcp6r $DHCP6RARGS
RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch $lockfile
+- [ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}
stop() {
- echo -n $"Shutting down $prog: "
+- echo -n $"Shutting down $prog: "
- killproc $prog -TERM
++ echo -n $"Shutting down $prog "
+ killproc $dhcp6r
RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && success || failure
- echo
- rm -f $lockfile
+- rm -f $lockfile
return $RETVAL
}
-@@ -64,33 +56,36 @@ stop() {
+
+@@ -64,33 +54,49 @@ stop() {
case "$1" in
start)
start
@@ -84,45 +86,63 @@
- RETVAL=$?
+ rc_status -v
;;
- restart|force-reload)
- [ -f $lockfile ] && stop
+- restart|force-reload)
+- [ -f $lockfile ] && stop
++ restart)
++ stop
start
- RETVAL=$?
-+ rc_status -v
- ;;
- try-restart|reload)
+- ;;
+- try-restart|reload)
- RETVAL=3
-+ rc_failed 3
-+ rc_status -v
++ rc_status
;;
- condrestart)
- if [ -f $lockfile ]; then
- stop && start
-+ rc_status -v
-+ else
-+ rc_status -s
+- condrestart)
+- if [ -f $lockfile ]; then
+- stop && start
++ try-restart|condrestart)
++ if test "$1" = "condrestart"; then
++ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
fi
++ $0 status
++ if test $? = 0; then
++ $0 restart
++ else
++ rc_reset
++ fi
++ rc_status
++ ;;
++ reload)
++ echo -n "Reload service $prog "
++ rc_failed 3
++ rc_status -v
++ ;;
++ force-reload)
++ $0 try-restart
++ rc_status
;;
status)
- status dhcp6r
- RETVAL=$?
-+ checkproc $dhcp6r
-+ rc_status -v
++ echo -n "Checking for service $prog "
++ checkproc $dhcp6r
++ rc_status -v
++ ;;
++ probe)
++ test "$conf" -nt "/var/run/dhcpv6/${prog}.pid" && echo restart
;;
*)
- echo $"Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status}"
+- echo $"Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status}"
- RETVAL=3
-+ rc_failed 3
++ echo $"Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status|probe}"
++ exit 1
;;
esac
-
-exit $RETVAL
+rc_exit
-\ No newline at end of file
-Index: dhcpv6-1.0.20/etc/init.d/dhcp6s.sh
-===================================================================
---- dhcpv6-1.0.20.orig/etc/init.d/dhcp6s.sh
-+++ dhcpv6-1.0.20/etc/init.d/dhcp6s.sh
+--- dhcpv6-1.0.22/etc/init.d/dhcp6s.sh
++++ dhcpv6-1.0.22/etc/init.d/dhcp6s.sh 2011/08/29 19:39:22
@@ -2,11 +2,10 @@
#
### BEGIN INIT INFO
@@ -139,7 +159,7 @@
# Short-Description: Start and stop the DHCPv6 server agent
# Description: dhcp6s provides IPv6 addresses and prefix assignment
# administrative policy and configuration information for
-@@ -25,9 +24,12 @@
+@@ -25,50 +24,42 @@
# addresses, or ntp server addresses.
# processname: dhcp6s
# config: /etc/dhcp6s.conf
@@ -154,15 +174,16 @@
RETVAL=0
-@@ -35,39 +37,30 @@ prog=dhcp6s
+ prog=dhcp6s
++conf=/etc/dhcp6s.conf
dhcp6s=/usr/sbin/dhcp6s
- lockfile=/var/lock/subsys/dhcp6s
-
+-lockfile=/var/lock/subsys/dhcp6s
+-
-# Check that networking is up.
-# networking is not up, return 1 for generic error
-. /etc/sysconfig/network
-[ $NETWORKING = "no" ] && exit 1
--
+
start() {
# return 5 if program is not installed
- [ -x $dhcp6s ] || exit 5
@@ -172,7 +193,7 @@
- [ -f /etc/dhcp6s.conf ] || exit 6
- [ -f /etc/sysconfig/dhcp6s ] || exit 6
- . /etc/sysconfig/dhcp6s
-+ [ -f /etc/dhcp6s.conf ] || return 6
++ [ -f "$conf" ] || return 6
+ [ -f /etc/sysconfig/network/dhcp6s ] || return 6
+ . /etc/sysconfig/network/dhcp6s
@@ -180,27 +201,30 @@
logger -s -t "$prog" -p "daemon.info" "Warning: $prog listening on ALL interfaces"
fi
- echo -n $"Starting $prog: "
+- echo -n $"Starting $prog: "
- daemon $dhcp6s -c /etc/dhcp6s.conf $DHCP6SARGS $DHCP6SIF
-+ startproc $dhcp6s -c /etc/dhcp6s.conf $DHCP6SARGS $DHCP6SIF
++ echo -n $"Starting $prog "
++ startproc $dhcp6s -c "$conf" $DHCP6SARGS $DHCP6SIF
RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && touch $lockfile
+- [ $RETVAL -eq 0 ] && touch $lockfile
return $RETVAL
}
stop() {
- echo -n $"Shutting down $prog: "
+- echo -n $"Shutting down $prog: "
- killproc $prog -TERM
++ echo -n $"Shutting down $prog "
+ killproc $dhcp6s
RETVAL=$?
- echo
- [ $RETVAL -eq 0 ] && success || failure
- echo
- rm -f $lockfile
+- rm -f $lockfile
return $RETVAL
}
-@@ -76,33 +69,37 @@ stop() {
+
+@@ -76,33 +67,50 @@ stop() {
case "$1" in
start)
start
@@ -212,57 +236,74 @@
- RETVAL=$?
+ rc_status -v
;;
- restart|force-reload)
- [ -f $lockfile ] && stop
+- restart|force-reload)
+- [ -f $lockfile ] && stop
++ restart)
++ stop
start
- RETVAL=$?
-+ rc_status -v
++ rc_status
;;
- try-restart|reload)
+- try-restart|reload)
- RETVAL=3
-+ rc_failed 3
-+ rc_status -v
- ;;
- condrestart)
- if [ -f $lockfile ]; then
- stop && start
-+ rc_status -v
+- ;;
+- condrestart)
+- if [ -f $lockfile ]; then
+- stop && start
++ try-restart|condrestart)
++ if test "$1" = "condrestart"; then
++ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
++ fi
++ $0 status
++ if test $? = 0; then
++ $0 restart
+ else
-+ rc_status -s
++ rc_reset
fi
++ rc_status
++ ;;
++ reload)
++ echo -n "Reload service $prog "
++ rc_failed 3
++ rc_status -v
++ ;;
++ force-reload)
++ $0 try-restart
++ rc_status
;;
status)
- status $prog
- RETVAL=$?
++ echo -n "Checking for service $prog "
+ checkproc $dhcp6s
+ rc_status -v
++ ;;
++ probe)
++ test "$conf" -nt "/var/run/dhcpv6/${prog}.pid" && echo restart
;;
*)
- echo $"Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status}"
+- echo $"Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status}"
- RETVAL=3
-+ rc_failed 3
++ echo $"Usage: $0 {start|stop|restart|try-restart|reload|force-reload|status|probe}"
++ exit 1
;;
esac
-exit $RETVAL
+rc_exit
-Index: dhcpv6-1.0.20/Makefile.am
-===================================================================
---- dhcpv6-1.0.20.orig/Makefile.am
-+++ dhcpv6-1.0.20/Makefile.am
-@@ -14,7 +14,7 @@ MAINTAINERCLEANFILES = Makefile.in confi
- depcomp install-sh ltmain.sh missing ABOUT-NLS \
- INSTALL aclocal.m4 configure ylwrap $(DIST_ARCHIVES)
+--- dhcpv6-1.0.22/etc/init.d/Makefile.am
++++ dhcpv6-1.0.22/etc/init.d/Makefile.am 2011/08/29 19:21:22
+@@ -7,7 +7,7 @@ MAINTAINERCLEANFILES = Makefile.in
--CLEANFILES = *~ ChangeLog libdhcp6client.pc
-+CLEANFILES = *~ libdhcp6client.pc
+ EXTRA_DIST = dhcp6r.sh dhcp6s.sh
- MOSTLYCLEANDIRS = m4
+-rc_d_dir = $(DESTDIR)$(sysconfdir)/rc.d/init.d
++rc_d_dir = $(DESTDIR)$(sysconfdir)/init.d
-Index: dhcpv6-1.0.20/etc/sysconfig/Makefile.am
-===================================================================
---- dhcpv6-1.0.20.orig/etc/sysconfig/Makefile.am
-+++ dhcpv6-1.0.20/etc/sysconfig/Makefile.am
+ install-data-local:
+ $(MKDIR_P) $(rc_d_dir)
+--- dhcpv6-1.0.22/etc/sysconfig/Makefile.am
++++ dhcpv6-1.0.22/etc/sysconfig/Makefile.am 2011/08/29 19:21:22
@@ -8,6 +8,6 @@ MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = dhcp6s.sysconfig dhcp6r.sysconfig
@@ -273,16 +314,14 @@
+ $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig/network
+ $(install_sh_DATA) dhcp6s.sysconfig $(DESTDIR)$(sysconfdir)/sysconfig/network/dhcp6s
+ $(install_sh_DATA) dhcp6r.sysconfig $(DESTDIR)$(sysconfdir)/sysconfig/network/dhcp6r
-Index: dhcpv6-1.0.20/etc/init.d/Makefile.am
-===================================================================
---- dhcpv6-1.0.20.orig/etc/init.d/Makefile.am
-+++ dhcpv6-1.0.20/etc/init.d/Makefile.am
-@@ -7,7 +7,7 @@ MAINTAINERCLEANFILES = Makefile.in
+--- dhcpv6-1.0.22/Makefile.am
++++ dhcpv6-1.0.22/Makefile.am 2011/08/29 19:21:22
+@@ -14,7 +14,7 @@ MAINTAINERCLEANFILES = Makefile.in confi
+ depcomp install-sh ltmain.sh missing ABOUT-NLS \
+ INSTALL aclocal.m4 configure ylwrap $(DIST_ARCHIVES)
- EXTRA_DIST = dhcp6r.sh dhcp6s.sh
+-CLEANFILES = *~ ChangeLog libdhcp6client.pc
++CLEANFILES = *~ libdhcp6client.pc
--rc_d_dir = $(DESTDIR)$(sysconfdir)/rc.d/init.d
-+rc_d_dir = $(DESTDIR)$(sysconfdir)/init.d
+ MOSTLYCLEANDIRS = m4
- install-data-local:
- $(MKDIR_P) $(rc_d_dir)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package dhcp for openSUSE:Factory
checked in at Wed Aug 31 10:47:54 CEST 2011.
--------
--- dhcp/dhcp.changes 2011-05-12 10:43:04.000000000 +0200
+++ /mounts/work_src_done/STABLE/dhcp/dhcp.changes 2011-08-29 17:37:52.000000000 +0200
@@ -1,0 +2,47 @@
+Mon Aug 29 15:15:44 UTC 2011 - mt(a)suse.de
+
+- Updated to ISC dhcp-4.2.2 release, providing two security fixes
+ (CVE-2011-2748,CVE-2011-2749,[ISC-Bugs #24960],bnc#712653), that
+ allowed remote attackers to cause a denial of service (a daemon
+ exit) via crafted BOOTP packets. Further also DNS update fix to
+ detect overlapping pools or misconfigured fixed-address entries,
+ that caused a server crash during DNS update and other fixes.
+ For a complete list, please see the RELNOTES file provided in
+ the package and also available online at http://www.isc.org/.
+- Merged/adopted dhclient option-checks, send-hostname-rml, ldap
+ patch, xen-checksum, close-on-exec patches and removed obsolete
+ in6_pktinfo-prototype and relay-no-ip-on-interface patches.
+- Moved server pid files into chroot directory even chroot is
+ not used and create a link in /var/run, so it can write one
+ when started as user without chroot and avoid stop problems
+ when the chroot sysconfig setting changed (bnc#712438).
+- Disabled log-info level messages in dhclient(6) quiet mode to
+ avoid excessive logging of non-critical messages (bnc#711420).
+- Fixed dhclient-script to not remove alias IP when it didn't
+ changed to not wipe out iptables connmark when renewing the
+ lease (bnc#700771). Thanks to James Carter for the patch.
+- Fixed DDNS-howto.txt reference in the config file; it has been
+ moved to the dhcp-doc package (bnc#697279).
+- Removed GPL licensed files (bind-*/contrib/dbus) from bind.tgz
+ to ensure, they're not used to build non-GPL dhcp (bnc#714004).
+- Changed to apply strict-aliasing/RELRO for >= 12.x only
+
+-------------------------------------------------------------------
+Wed Jul 20 18:53:07 UTC 2011 - crrodriguez(a)opensuse.org
+
+- Correct previous change.
+
+-------------------------------------------------------------------
+Wed Jul 20 04:45:40 UTC 2011 - crrodriguez(a)opensuse.org
+
+- THis is a long running network daemon, link with
+ full RELRO security enhancements.
+- remove -fno-strict-aliasing from CFLAGS, no longer needed.
+
+-------------------------------------------------------------------
+Tue May 17 03:58:24 UTC 2011 - crrodriguez(a)opensuse.org
+
+- Import redhat's patch to open all needed FDs with O_CLOEXEC
+ so they dont leak.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
dhcp-4.1.1-P1-relay-no-ip-on-interface.diff
dhcp-4.1.1-in6_pktinfo-prototype.diff
dhcp-4.1.1-man-includes.diff
dhcp-4.2.0-xen-checksum.patch
dhcp-4.2.1-P1-dhclient-option-checks.bnc675052.diff
dhcp-4.2.1-P1-ldap-patch-mt01.diff.bz2
dhcp-4.2.1-P1.tar.bz2
dhcp-4.2.1-dhclient-send-hostname-rml.diff
New:
----
dhcp-4.2.2-close-on-exec.diff
dhcp-4.2.2-dhclient-option-checks.bnc675052.diff
dhcp-4.2.2-dhclient-send-hostname-rml.diff
dhcp-4.2.2-ldap-patch-mt01.diff.bz2
dhcp-4.2.2-man-includes.diff
dhcp-4.2.2-quiet-dhclient.bnc711420.diff
dhcp-4.2.2-xen-checksum.diff
dhcp-4.2.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dhcp.spec ++++++
--- /var/tmp/diff_new_pack.57d6Rw/_old 2011-08-31 10:47:04.000000000 +0200
+++ /var/tmp/diff_new_pack.57d6Rw/_new 2011-08-31 10:47:04.000000000 +0200
@@ -17,7 +17,7 @@
# norootforbuild
-%define isc_version 4.2.1-P1
+%define isc_version 4.2.2
%define susefw2dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
%define omc_prefix /usr/share/omc
%define omc_svcdir %{omc_prefix}/svcinfo.d
@@ -39,8 +39,8 @@
License: BSD3c(or similar)
Group: Productivity/Networking/Boot/Servers
AutoReqProv: on
-Version: 4.2.1.P1
-Release: 5
+Version: 4.2.2
+Release: 1
Summary: Common Files Used by ISC DHCP Software
Url: http://www.isc.org/software/dhcp
Source0: dhcp-%{isc_version}.tar.bz2
@@ -75,18 +75,18 @@
# paranoia patch is included now, but not the
# additional patch by thomas(a)suse.de not ...
Patch11: dhcp-4.1.1-paranoia.diff
-Patch12: dhcp-4.1.1-man-includes.diff
+Patch12: dhcp-4.2.2-man-includes.diff
Patch13: dhcp-4.1.1-tmpfile.diff
-Patch14: dhcp-4.1.1-in6_pktinfo-prototype.diff
Patch15: contrib-lease-path.diff
Patch20: dhcp-4.1.1-dhclient-exec-filedes.diff
-Patch21: dhcp-4.2.1-dhclient-send-hostname-rml.diff
-## patch lives here: http://www.suse.de/~mt/git/dhcp-ldap.git/
-Patch30: dhcp-4.2.1-P1-ldap-patch-mt01.diff.bz2
+Patch21: dhcp-4.2.2-dhclient-send-hostname-rml.diff
+## patch repo lives here: http://www.suse.de/~mt/git/dhcp-ldap.git/
+Patch30: dhcp-4.2.2-ldap-patch-mt01.diff.bz2
Patch40: dhcp-4.1.1-P1-lpf-bind-msg-fix.diff
-Patch41: dhcp-4.1.1-P1-relay-no-ip-on-interface.diff
-Patch44: dhcp-4.2.0-xen-checksum.patch
-Patch45: dhcp-4.2.1-P1-dhclient-option-checks.bnc675052.diff
+Patch44: dhcp-4.2.2-xen-checksum.diff
+Patch45: dhcp-4.2.2-dhclient-option-checks.bnc675052.diff
+Patch46: dhcp-4.2.2-close-on-exec.diff
+Patch47: dhcp-4.2.2-quiet-dhclient.bnc711420.diff
##
PreReq: /bin/touch /sbin/chkconfig sysconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -216,7 +216,6 @@
%patch11 -p1
%patch12 -p1
%patch13 -p1
-%patch14 -p1
%patch15 -p0
%patch20 -p1
%patch21 -p1
@@ -224,15 +223,26 @@
%patch30 -p1
%endif
%patch40 -p1
-%patch41 -p1
%patch44 -p1
%patch45 -p1
+%patch46 -p1
+%patch47 -p1
##
find . -type f -name \*.cat\* -exec rm -f {} \;
dos2unix contrib/ms2isc/*
%build
-CFLAGS="$RPM_OPT_FLAGS -W -Wall -fno-strict-aliasing -Wno-unused"
+# Remove GPL licensed files to make sure,
+# they're not used to build (bnc#714004).
+pushd bind
+gunzip -c bind.tar.gz | tar xf -
+rm -rf bind-*/contrib/dbus
+popd
+%if %suse_version >= 1210
+CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -W -Wall -Wno-unused"
+%else
+CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -W -Wall -fno-strict-aliasing -Wno-unused"
+%endif
%ifarch ppc ppc64 s390x
# bugs 134590, 171532
CFLAGS="$CFLAGS -fsigned-char"
@@ -242,7 +252,11 @@
%else
CFLAGS="$CFLAGS -fpie"
%endif
+%if %suse_version >= 1210
+LDFLAGS="-Wl,-z,relro,-z,now -pie"
+%else
LDFLAGS="-pie"
+%endif
FFLAGS="$CFLAGS"
CXXFLAGS="$CFLAGS"
export RPM_OPT_FLAGS LDFLAGS
++++++ dhclient-script ++++++
--- /var/tmp/diff_new_pack.57d6Rw/_old 2011-08-31 10:47:04.000000000 +0200
+++ /var/tmp/diff_new_pack.57d6Rw/_new 2011-08-31 10:47:04.000000000 +0200
@@ -400,8 +400,8 @@
BOUND|RENEW|REBIND|REBOOT)
####################################################################
- if [ x$old_ip_address != x -a x$alias_ip_address != x ] && \
- [ x$alias_ip_address != x$old_ip_address ] ;
+ if [ x$alias_ip_address != x -a x$alias_ip_address != x$old_ip_address -a \
+ x$new_ip_address != x$old_ip_address ] ;
then
# Possible new alias. Remove old alias.
/sbin/ip addr del $alias_ip_address/$alias_subnet_mask dev $interface
@@ -426,7 +426,8 @@
set_ipv4_routes
fi
- if [ x$new_ip_address != x$alias_ip_address -a x$alias_ip_address != x ];
+ if [ x$new_ip_address != x$alias_ip_address -a x$alias_ip_address != x \
+ -a x$new_ip_address != x$old_ip_address ];
then
/sbin/ip addr add $alias_ip_address/$alias_subnet_mask \
dev $interface
++++++ dhcp-4.2.2-close-on-exec.diff ++++++
diff --git a/client/clparse.c b/client/clparse.c
index 9de4ce2..ca24ba6 100644
--- a/client/clparse.c
+++ b/client/clparse.c
@@ -220,7 +220,7 @@ int read_client_conf_file (const char *name, struct interface_info *ip,
int token;
isc_result_t status;
- if ((file = open (name, O_RDONLY)) < 0)
+ if ((file = open (name, O_RDONLY | O_CLOEXEC)) < 0)
return uerr2isc (errno);
cfile = NULL;
@@ -257,7 +257,7 @@ void read_client_leases ()
/* Open the lease file. If we can't open it, just return -
we can safely trust the server to remember our state. */
- if ((file = open (path_dhclient_db, O_RDONLY)) < 0)
+ if ((file = open (path_dhclient_db, O_RDONLY | O_CLOEXEC)) < 0)
return;
cfile = NULL;
diff --git a/client/dhclient.c b/client/dhclient.c
index 82c26bb..a1cab01 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -131,11 +131,11 @@ main(int argc, char **argv) {
/* Make sure that file descriptors 0 (stdin), 1, (stdout), and
2 (stderr) are open. To do this, we assume that when we
open a file the lowest available file descriptor is used. */
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 0)
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 1)
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 2)
log_perror = 0; /* No sense logging to /dev/null. */
else if (fd != -1)
@@ -423,7 +423,7 @@ main(int argc, char **argv) {
int e;
oldpid = 0;
- if ((pidfd = fopen(path_dhclient_pid, "r")) != NULL) {
+ if ((pidfd = fopen(path_dhclient_pid, "re")) != NULL) {
e = fscanf(pidfd, "%ld\n", &temp);
oldpid = (pid_t)temp;
@@ -2689,7 +2689,7 @@ void rewrite_client_leases ()
if (leaseFile != NULL)
fclose (leaseFile);
- leaseFile = fopen (path_dhclient_db, "w");
+ leaseFile = fopen (path_dhclient_db, "we");
if (leaseFile == NULL) {
log_error ("can't create %s: %m", path_dhclient_db);
return;
@@ -2799,7 +2799,7 @@ write_duid(struct data_string *duid)
return DHCP_R_INVALIDARG;
if (leaseFile == NULL) { /* XXX? */
- leaseFile = fopen(path_dhclient_db, "w");
+ leaseFile = fopen(path_dhclient_db, "we");
if (leaseFile == NULL) {
log_error("can't create %s: %m", path_dhclient_db);
return ISC_R_IOERROR;
@@ -2847,7 +2847,7 @@ write_client6_lease(struct client_state *client, struct dhc6_lease *lease,
return DHCP_R_INVALIDARG;
if (leaseFile == NULL) { /* XXX? */
- leaseFile = fopen(path_dhclient_db, "w");
+ leaseFile = fopen(path_dhclient_db, "we");
if (leaseFile == NULL) {
log_error("can't create %s: %m", path_dhclient_db);
return ISC_R_IOERROR;
@@ -2979,7 +2979,7 @@ int write_client_lease (client, lease, rewrite, makesure)
return 1;
if (leaseFile == NULL) { /* XXX */
- leaseFile = fopen (path_dhclient_db, "w");
+ leaseFile = fopen (path_dhclient_db, "we");
if (leaseFile == NULL) {
log_error ("can't create %s: %m", path_dhclient_db);
return 0;
@@ -3472,9 +3472,9 @@ void go_daemon ()
close(2);
/* Reopen them on /dev/null. */
- open("/dev/null", O_RDWR);
- open("/dev/null", O_RDWR);
- open("/dev/null", O_RDWR);
+ open("/dev/null", O_RDWR | O_CLOEXEC);
+ open("/dev/null", O_RDWR | O_CLOEXEC);
+ open("/dev/null", O_RDWR | O_CLOEXEC);
write_client_pid_file ();
diff --git a/common/bpf.c b/common/bpf.c
index 8bd5727..7b8f1d4 100644
--- a/common/bpf.c
+++ b/common/bpf.c
@@ -94,7 +94,7 @@ int if_register_bpf (info)
for (b = 0; 1; b++) {
/* %Audit% 31 bytes max. %2004.06.17,Safe% */
sprintf(filename, BPF_FORMAT, b);
- sock = open (filename, O_RDWR, 0);
+ sock = open (filename, O_RDWR | O_CLOEXEC, 0);
if (sock < 0) {
if (errno == EBUSY) {
continue;
diff --git a/common/discover.c b/common/discover.c
index 1d84219..93a278e 100644
--- a/common/discover.c
+++ b/common/discover.c
@@ -421,7 +421,7 @@ begin_iface_scan(struct iface_conf_list *ifaces) {
int len;
int i;
- ifaces->fp = fopen("/proc/net/dev", "r");
+ ifaces->fp = fopen("/proc/net/dev", "re");
if (ifaces->fp == NULL) {
log_error("Error opening '/proc/net/dev' to list interfaces");
return 0;
@@ -456,7 +456,7 @@ begin_iface_scan(struct iface_conf_list *ifaces) {
#ifdef DHCPv6
if (local_family == AF_INET6) {
- ifaces->fp6 = fopen("/proc/net/if_inet6", "r");
+ ifaces->fp6 = fopen("/proc/net/if_inet6", "re");
if (ifaces->fp6 == NULL) {
log_error("Error opening '/proc/net/if_inet6' to "
"list IPv6 interfaces; %m");
diff --git a/common/dlpi.c b/common/dlpi.c
index b9eb1d3..c044ec6 100644
--- a/common/dlpi.c
+++ b/common/dlpi.c
@@ -806,7 +806,7 @@ dlpiopen(const char *ifname) {
}
*dp = '\0';
- return open (devname, O_RDWR, 0);
+ return open (devname, O_RDWR | O_CLOEXEC, 0);
}
/*
diff --git a/common/nit.c b/common/nit.c
index 0da9c36..896cbb6 100644
--- a/common/nit.c
+++ b/common/nit.c
@@ -81,7 +81,7 @@ int if_register_nit (info)
struct strioctl sio;
/* Open a NIT device */
- sock = open ("/dev/nit", O_RDWR);
+ sock = open ("/dev/nit", O_RDWR | O_CLOEXEC);
if (sock < 0)
log_fatal ("Can't open NIT device for %s: %m", info -> name);
diff --git a/common/resolv.c b/common/resolv.c
index b29d4cf..d946ccc 100644
--- a/common/resolv.c
+++ b/common/resolv.c
@@ -49,7 +49,7 @@ void read_resolv_conf (parse_time)
struct domain_search_list *dp, *dl, *nd;
isc_result_t status;
- if ((file = open (path_resolv_conf, O_RDONLY)) < 0) {
+ if ((file = open (path_resolv_conf, O_RDONLY | O_CLOEXEC)) < 0) {
log_error ("Can't open %s: %m", path_resolv_conf);
return;
}
diff --git a/common/upf.c b/common/upf.c
index fff3949..4f9318e 100644
--- a/common/upf.c
+++ b/common/upf.c
@@ -77,7 +77,7 @@ int if_register_upf (info)
/* %Audit% Cannot exceed 36 bytes. %2004.06.17,Safe% */
sprintf(filename, "/dev/pf/pfilt%d", b);
- sock = open (filename, O_RDWR, 0);
+ sock = open (filename, O_RDWR | O_CLOEXEC, 0);
if (sock < 0) {
if (errno == EBUSY) {
continue;
diff --git a/dst/dst_api.c b/dst/dst_api.c
index 8925c66..fa4eb5f 100644
--- a/dst/dst_api.c
+++ b/dst/dst_api.c
@@ -437,7 +437,7 @@ dst_s_write_private_key(const DST_KEY *key)
PRIVATE_KEY, PATH_MAX);
/* Do not overwrite an existing file */
- if ((fp = dst_s_fopen(file, "w", 0600)) != NULL) {
+ if ((fp = dst_s_fopen(file, "we", 0600)) != NULL) {
int nn;
if ((nn = fwrite(encoded_block, 1, len, fp)) != len) {
EREPORT(("dst_write_private_key(): Write failure on %s %d != %d errno=%d\n",
@@ -494,7 +494,7 @@ dst_s_read_public_key(const char *in_name, const unsigned in_id, int in_alg)
* flags, proto, alg stored as decimal (or hex numbers FIXME).
* (FIXME: handle parentheses for line continuation.)
*/
- if ((fp = dst_s_fopen(name, "r", 0)) == NULL) {
+ if ((fp = dst_s_fopen(name, "re", 0)) == NULL) {
EREPORT(("dst_read_public_key(): Public Key not found %s\n",
name));
return (NULL);
@@ -620,7 +620,7 @@ dst_s_write_public_key(const DST_KEY *key)
return (0);
}
/* create public key file */
- if ((fp = dst_s_fopen(filename, "w+", 0644)) == NULL) {
+ if ((fp = dst_s_fopen(filename, "w+e", 0644)) == NULL) {
EREPORT(("DST_write_public_key: open of file:%s failed (errno=%d)\n",
filename, errno));
return (0);
@@ -854,7 +854,7 @@ dst_s_read_private_key_file(char *name, DST_KEY *pk_key, unsigned in_id,
return (0);
}
/* first check if we can find the key file */
- if ((fp = dst_s_fopen(filename, "r", 0)) == NULL) {
+ if ((fp = dst_s_fopen(filename, "re", 0)) == NULL) {
EREPORT(("dst_s_read_private_key_file: Could not open file %s in directory %s\n",
filename, dst_path[0] ? dst_path :
(char *) getcwd(NULL, PATH_MAX - 1)));
diff --git a/dst/prandom.c b/dst/prandom.c
index 4de3fe4..fbbe07c 100644
--- a/dst/prandom.c
+++ b/dst/prandom.c
@@ -269,7 +269,7 @@ get_dev_random(u_char *output, unsigned size)
s = stat("/dev/random", &st);
if (s == 0 && S_ISCHR(st.st_mode)) {
- if ((fd = open("/dev/random", O_RDONLY | O_NONBLOCK)) != -1) {
+ if ((fd = open("/dev/random", O_RDONLY | O_NONBLOCK | O_CLOEXEC)) != -1) {
if ((n = read(fd, output, size)) < 0)
n = 0;
close(fd);
@@ -480,7 +480,7 @@ digest_file(dst_work *work)
work->file_digest = dst_free_key(work->file_digest);
return (0);
}
- if ((fp = fopen(name, "r")) == NULL)
+ if ((fp = fopen(name, "re")) == NULL)
return (0);
for (no = 0; (i = fread(buf, sizeof(*buf), sizeof(buf), fp)) > 0;
no += i)
diff --git a/omapip/trace.c b/omapip/trace.c
index 9fd3fb5..9c4e11e 100644
--- a/omapip/trace.c
+++ b/omapip/trace.c
@@ -141,10 +141,10 @@ isc_result_t trace_begin (const char *filename,
return DHCP_R_INVALIDARG;
}
- traceoutfile = open (filename, O_CREAT | O_WRONLY | O_EXCL, 0600);
+ traceoutfile = open (filename, O_CREAT | O_WRONLY | O_EXCL | O_CLOEXEC, 0600);
if (traceoutfile < 0 && errno == EEXIST) {
log_error ("WARNING: Overwriting trace file \"%s\"", filename);
- traceoutfile = open (filename, O_WRONLY | O_EXCL | O_TRUNC,
+ traceoutfile = open (filename, O_WRONLY | O_EXCL | O_TRUNC | O_CLOEXEC,
0600);
}
@@ -431,7 +431,7 @@ void trace_file_replay (const char *filename)
isc_result_t result;
int len;
- traceinfile = fopen (filename, "r");
+ traceinfile = fopen (filename, "re");
if (!traceinfile) {
log_error("Can't open tracefile %s: %m", filename);
return;
diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
index f21f16f..d2aa90e 100644
--- a/relay/dhcrelay.c
+++ b/relay/dhcrelay.c
@@ -183,11 +183,11 @@ main(int argc, char **argv) {
/* Make sure that file descriptors 0(stdin), 1,(stdout), and
2(stderr) are open. To do this, we assume that when we
open a file the lowest available file descriptor is used. */
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 0)
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 1)
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 2)
log_perror = 0; /* No sense logging to /dev/null. */
else if (fd != -1)
@@ -540,13 +540,14 @@ main(int argc, char **argv) {
if (no_pid_file == ISC_FALSE) {
pfdesc = open(path_dhcrelay_pid,
- O_CREAT | O_TRUNC | O_WRONLY, 0644);
+ O_CREAT | O_TRUNC | O_WRONLY |
+ O_CLOEXEC, 0644);
if (pfdesc < 0) {
log_error("Can't create %s: %m",
path_dhcrelay_pid);
} else {
- pf = fdopen(pfdesc, "w");
+ pf = fdopen(pfdesc, "we");
if (!pf)
log_error("Can't fdopen %s: %m",
path_dhcrelay_pid);
diff --git a/server/confpars.c b/server/confpars.c
index c0742d4..62568e9 100644
--- a/server/confpars.c
+++ b/server/confpars.c
@@ -116,7 +116,7 @@ isc_result_t read_conf_file (const char *filename, struct group *group,
}
#endif
- if ((file = open (filename, O_RDONLY)) < 0) {
+ if ((file = open (filename, O_RDONLY | O_CLOEXEC)) < 0) {
if (leasep) {
log_error ("Can't open lease database %s: %m --",
path_dhcpd_db);
diff --git a/server/db.c b/server/db.c
index dc75321..be5db26 100644
--- a/server/db.c
+++ b/server/db.c
@@ -1035,7 +1035,7 @@ void db_startup (testp)
}
#endif
if (!testp) {
- db_file = fopen (path_dhcpd_db, "a");
+ db_file = fopen (path_dhcpd_db, "ae");
if (!db_file)
log_fatal ("Can't open %s for append.", path_dhcpd_db);
expire_all_pools ();
@@ -1074,7 +1074,7 @@ int new_lease_file ()
db_validity = lease_file_is_corrupt;
snprintf (newfname, sizeof(newfname), "%s.XXXXXX", path_dhcpd_db);
- db_fd = mkstemp (newfname);
+ db_fd = mkostemp (newfname, O_CLOEXEC);
if (db_fd < 0) {
log_error ("Can't create new lease file: %m");
return 0;
@@ -1083,7 +1083,7 @@ int new_lease_file ()
log_error ("Can't fchmod new lease file: %m");
goto fail;
}
- if ((new_db_file = fdopen(db_fd, "w")) == NULL) {
+ if ((new_db_file = fdopen(db_fd, "we")) == NULL) {
log_error("Can't fdopen new lease file: %m");
close(db_fd);
goto fdfail;
diff --git a/server/dhcpd.c b/server/dhcpd.c
index 27e04e4..9233d26 100644
--- a/server/dhcpd.c
+++ b/server/dhcpd.c
@@ -274,11 +274,11 @@ main(int argc, char **argv) {
/* Make sure that file descriptors 0 (stdin), 1, (stdout), and
2 (stderr) are open. To do this, we assume that when we
open a file the lowest available file descriptor is used. */
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 0)
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 1)
- fd = open("/dev/null", O_RDWR);
+ fd = open("/dev/null", O_RDWR | O_CLOEXEC);
if (fd == 2)
log_perror = 0; /* No sense logging to /dev/null. */
else if (fd != -1)
@@ -809,7 +809,7 @@ main(int argc, char **argv) {
*/
if (no_pid_file == ISC_FALSE) {
/*Read previous pid file. */
- if ((i = open (path_dhcpd_pid, O_RDONLY)) >= 0) {
+ if ((i = open (path_dhcpd_pid, O_RDONLY | O_CLOEXEC)) >= 0) {
status = read(i, pbuf, (sizeof pbuf) - 1);
close (i);
if (status > 0) {
@@ -828,7 +828,7 @@ main(int argc, char **argv) {
}
/* Write new pid file. */
- i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC, 0644);
+ i = open(path_dhcpd_pid, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
if (i >= 0) {
sprintf(pbuf, "%d\n", (int) getpid());
IGNORE_RET (write(i, pbuf, strlen(pbuf)));
@@ -856,9 +856,9 @@ main(int argc, char **argv) {
close(2);
/* Reopen them on /dev/null. */
- open("/dev/null", O_RDWR);
- open("/dev/null", O_RDWR);
- open("/dev/null", O_RDWR);
+ open("/dev/null", O_RDWR | O_CLOEXEC);
+ open("/dev/null", O_RDWR | O_CLOEXEC);
+ open("/dev/null", O_RDWR | O_CLOEXEC);
log_perror = 0; /* No sense logging to /dev/null. */
IGNORE_RET (chdir("/"));
diff --git a/server/ldap.c b/server/ldap.c
index 68acbbb..77efe26 100644
--- a/server/ldap.c
+++ b/server/ldap.c
@@ -1098,7 +1098,7 @@ ldap_start (void)
if (ldap_debug_file != NULL && ldap_debug_fd == -1)
{
- if ((ldap_debug_fd = open (ldap_debug_file, O_CREAT | O_TRUNC | O_WRONLY,
+ if ((ldap_debug_fd = open (ldap_debug_file, O_CREAT | O_TRUNC | O_WRONLY | O_CLOEXEC,
S_IRUSR | S_IWUSR)) < 0)
log_error ("Error opening debug LDAP log file %s: %s", ldap_debug_file,
strerror (errno));
--
1.7.3.4
++++++ dhcp-4.2.1-P1-dhclient-option-checks.bnc675052.diff -> dhcp-4.2.2-dhclient-option-checks.bnc675052.diff ++++++
--- dhcp/dhcp-4.2.1-P1-dhclient-option-checks.bnc675052.diff 2011-04-27 16:22:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/dhcp/dhcp-4.2.2-dhclient-option-checks.bnc675052.diff 2011-08-29 17:37:14.000000000 +0200
@@ -1,25 +1,8 @@
-From 7c0b7ae289a0f25853bd4bb660f3dd34b5c1ce88 Mon Sep 17 00:00:00 2001
-From: Marius Tomaschewski <mt(a)suse.de>
-Date: Wed, 27 Apr 2011 13:56:47 +0200
-Subject: [PATCH] dhclient string option checks
-
-Merged dhclient pretty escape and string option checks.
-Use relaxed domain-name option check causing a regression, when the
-server is misusing it to provide a domain list and does not provide
-it via the domain-search option; pretty escape semicolon as well
-(bnc#675052, CVE-2011-0997).
-
-Signed-off-by: Marius Tomaschewski <mt(a)suse.de>
----
- client/dhclient.c | 8 ++++----
- common/options.c | 2 +-
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
diff --git a/client/dhclient.c b/client/dhclient.c
-index 970b935..93db494 100644
+index 9fd7ccc..82c26bb 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
-@@ -3142,7 +3142,7 @@ void script_write_params (client, prefix, lease)
+@@ -3251,7 +3251,7 @@ void script_write_params (client, prefix, lease)
} else {
log_error("suspect value in %s "
"option - discarded",
@@ -28,7 +11,7 @@
}
}
-@@ -3155,7 +3155,7 @@ void script_write_params (client, prefix, lease)
+@@ -3264,7 +3264,7 @@ void script_write_params (client, prefix, lease)
} else {
log_error("suspect value in %s "
"option - discarded",
@@ -37,7 +20,7 @@
}
}
-@@ -4077,7 +4077,7 @@ static int check_domain_name(const char *ptr, size_t len, int dots)
+@@ -4193,7 +4193,7 @@ static int check_domain_name(const char *ptr, size_t len, int dots)
const char *p;
/* not empty or complete length not over 255 characters */
@@ -46,21 +29,8 @@
return(-1);
/* consists of [[:alnum:]-]+ labels separated by [.] */
-@@ -4140,11 +4140,11 @@ static int check_option_values(struct universe *universe,
- if ((universe == NULL) || (universe == &dhcp_universe)) {
- switch(opt) {
- case DHO_HOST_NAME:
-- case DHO_DOMAIN_NAME:
- case DHO_NIS_DOMAIN:
- case DHO_NETBIOS_SCOPE:
- return check_domain_name(ptr, len, 0);
- break;
-+ case DHO_DOMAIN_NAME: /* accept a list for compatibiliy */
- case DHO_DOMAIN_SEARCH:
- return check_domain_name_list(ptr, len, 0);
- break;
diff --git a/common/options.c b/common/options.c
-index c26f88c..8b4be65 100644
+index 80fd8db..6b95f3b 100644
--- a/common/options.c
+++ b/common/options.c
@@ -3916,7 +3916,7 @@ pretty_escape(char **dst, char *dend, const unsigned char **src,
++++++ dhcp-4.2.1-dhclient-send-hostname-rml.diff -> dhcp-4.2.2-dhclient-send-hostname-rml.diff ++++++
--- dhcp/dhcp-4.2.1-dhclient-send-hostname-rml.diff 2011-03-30 17:57:23.000000000 +0200
+++ /mounts/work_src_done/STABLE/dhcp/dhcp-4.2.2-dhclient-send-hostname-rml.diff 2011-08-29 17:37:14.000000000 +0200
@@ -1,34 +1,34 @@
diff --git a/client/dhclient.8 b/client/dhclient.8
-index 7a3c154..e284210 100644
+index 6306b08..1394c38 100644
--- a/client/dhclient.8
+++ b/client/dhclient.8
-@@ -64,6 +64,10 @@ dhclient - Dynamic Host Configuration Protocol Client
- .I port
+@@ -60,6 +60,10 @@ dhclient - Dynamic Host Configuration Protocol Client
+ .I LL|LLT
]
[
+.B -H
+.I hostname
+]
+[
- .B -d
+ .B -p
+ .I port
]
- [
-@@ -305,6 +309,10 @@ If a different port is specified on which the client should listen and
- transmit, the client will also use a different destination port -
- one less than the specified port.
+@@ -299,6 +303,10 @@ PID file. When shutdown via this method
+ .B dhclient-script(8)
+ will be executed with the specific reason for calling the script set.
.TP
+.BI \-H \ hostname
+This flag may be used to specify a client hostname that should be sent to
+the DHCP server. Note, that this option is a SUSE/Novell extension.
+.TP
- .BI \-s \ server
- Specify the server IP address or fully qualified domain name to use as
- a destination for DHCP protocol messages before
+ .BI \-p \ port
+ The UDP port number on which the DHCP client should listen and transmit.
+ If unspecified,
diff --git a/client/dhclient.c b/client/dhclient.c
-index dc19e8b..bd02cc9 100644
+index 9b53f07..9fd7ccc 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
-@@ -110,6 +110,7 @@ main(int argc, char **argv) {
+@@ -119,6 +119,7 @@ main(int argc, char **argv) {
int no_dhclient_db = 0;
int no_dhclient_pid = 0;
int no_dhclient_script = 0;
@@ -36,24 +36,30 @@
#ifdef DHCPv6
int local_family_set = 0;
#endif /* DHCPv6 */
-@@ -220,6 +221,16 @@ main(int argc, char **argv) {
+@@ -231,6 +232,22 @@ main(int argc, char **argv) {
if (++i == argc)
usage();
mockup_relay = argv[i];
+ } else if (!strcmp (argv[i], "-H")) {
++ size_t len;
+ if (++i == argc || !argv[i] || *(argv[i]) == '\0')
+ usage ();
-+ if (strlen (argv[i]) > HOST_NAME_MAX) {
++ len = strlen (argv[i]);
++ if (len > HOST_NAME_MAX) {
+ log_error("-H option host-name string \"%s\" is too long:"
+ "maximum length is %d characters",
+ argv[i], HOST_NAME_MAX);
+ exit(1);
++ } else if(check_domain_name(argv[i], len, 0) != 0) {
++ log_error("suspect host-name in -H \"%s\"",
++ argv[i]);
++ exit(1);
+ }
+ dhclient_hostname = argv [i];
} else if (!strcmp(argv[i], "-nw")) {
nowait = 1;
} else if (!strcmp(argv[i], "-n")) {
-@@ -468,6 +479,32 @@ main(int argc, char **argv) {
+@@ -484,6 +501,35 @@ main(int argc, char **argv) {
/* Parse the dhclient.conf file. */
read_client_conf();
@@ -63,10 +69,12 @@
+ char buf[HOST_NAME_MAX + 40];
+ int len;
+
-+ snprintf (buf, sizeof(buf), "send host-name \"%s\";", dhclient_hostname);
++ snprintf (buf, sizeof(buf), "send host-name \"%s\";",
++ dhclient_hostname);
+ len = strlen(buf);
+
-+ status = new_parse (&cfile, -1, buf, len, "host-name option", 0);
++ status = new_parse (&cfile, -1, buf, len,
++ "host-name option", 0);
+ if (status != ISC_R_SUCCESS)
+ log_fatal ("Cannot parse send host-name statement!");
+
@@ -78,7 +86,8 @@
+ if (token == END_OF_FILE)
+ break;
+
-+ parse_client_statement (cfile, NULL, &top_level_config);
++ parse_client_statement (cfile, NULL,
++ &top_level_config);
+ }
+ end_parse (&cfile);
+ }
@@ -86,19 +95,15 @@
/* Parse the lease database. */
read_client_leases();
-@@ -676,12 +713,12 @@ static void usage()
+@@ -708,9 +754,9 @@ static void usage()
- log_error("Usage: dhclient %s %s",
+ log_fatal("Usage: dhclient "
#ifdef DHCPv6
-- "[-4|-6] [-SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]",
-+ "[-4|-6] [-SNTP1dvrx] [-nw] [-H <hostname>] [-p <port>] [-D LL|LLT]",
+- "[-4|-6] [-SNTP1dvrx] [-nw] [-p <port>] [-D LL|LLT]\n"
++ "[-4|-6] [-SNTP1dvrx] [-nw] [-H <hostname>] [-p <port>] [-D LL|LLT]\n"
#else /* DHCPv6 */
-- "[-1dvrx] [-nw] [-p <port>]",
-+ "[-1dvrx] [-nw] [-H <hostname>] [-p <port>]",
+- "[-1dvrx] [-nw] [-p <port>]\n"
++ "[-1dvrx] [-nw] [-H <hostname>] [-p <port>]\n"
#endif /* DHCPv6 */
- "[-s server]");
-- log_error(" [-cf config-file] [-lf lease-file]%s",
-+ log_error(" [-cf config-file] [-lf lease-file] %s",
- "[-pf pid-file] [-e VAR=val]");
- log_fatal(" [-sf script-file] [interface]");
- }
+ " [-s server-addr] [-cf config-file] "
+ "[-lf lease-file]\n"
++++++ dhcp-4.2.1-P1-ldap-patch-mt01.diff.bz2 -> dhcp-4.2.2-ldap-patch-mt01.diff.bz2 ++++++
Files dhcp/dhcp-4.2.1-P1-ldap-patch-mt01.diff.bz2 and /mounts/work_src_done/STABLE/dhcp/dhcp-4.2.2-ldap-patch-mt01.diff.bz2 differ
++++++ dhcp-4.1.1-man-includes.diff -> dhcp-4.2.2-man-includes.diff ++++++
--- dhcp/dhcp-4.1.1-man-includes.diff 2010-05-07 16:12:26.000000000 +0200
+++ /mounts/work_src_done/STABLE/dhcp/dhcp-4.2.2-man-includes.diff 2011-08-29 17:37:15.000000000 +0200
@@ -1,26 +1,28 @@
diff --git a/dhcpctl/dhcpctl.3 b/dhcpctl/dhcpctl.3
-index 2e1cb8a..ee44755 100644
+index 9aa1851..7497612 100644
--- a/dhcpctl/dhcpctl.3
+++ b/dhcpctl/dhcpctl.3
-@@ -425,7 +425,7 @@ that most error checking has been ommitted for brevity.
- #include <stdio.h>
+@@ -430,8 +430,8 @@ that most error checking has been ommitted for brevity.
#include <netinet/in.h>
+ #include <arpa/inet.h>
--#include <isc/result.h>
-+#include <isc-dhcp/result.h>
- #include <dhcpctl/dhcpctl.h>
+-#include "omapip/result.h"
+-#include "dhcpctl.h"
++#include <omapip/result.h>
++#include <dhcpctl/dhcpctl.h>
int main (int argc, char **argv) {
+ dhcpctl_data_string ipaddrstring = NULL;
diff --git a/omapip/omapi.3 b/omapip/omapi.3
-index 4673549..8e2503f 100644
+index 4868d7c..23389b0 100644
--- a/omapip/omapi.3
+++ b/omapip/omapi.3
-@@ -87,7 +87,7 @@ the lease ends.
+@@ -88,7 +88,7 @@ the lease ends.
#include <stdio.h>
#include <netinet/in.h>
- #include <isc/result.h>
-+ #include <isc-dhcp/result.h>
++ #include <omapip/result.h>
#include <dhcpctl/dhcpctl.h>
int main (int argc, char **argv) {
++++++ dhcp-4.2.2-quiet-dhclient.bnc711420.diff ++++++
diff --git a/client/dhclient.c b/client/dhclient.c
index a1cab01..ff5ede5 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -444,6 +444,9 @@ main(int argc, char **argv) {
} else {
log_perror = 0;
quiet_interface_discovery = 1;
+#if !defined(DEBUG)
+ setlogmask(LOG_UPTO(LOG_NOTICE));
+#endif
}
/* If we're given a relay agent address to insert, for testing
--
1.7.3.4
++++++ dhcp-4.2.2-xen-checksum.diff ++++++
diff --git a/common/bpf.c b/common/bpf.c
index b0ef657..8bd5727 100644
--- a/common/bpf.c
+++ b/common/bpf.c
@@ -485,7 +485,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
offset = decode_udp_ip_header (interface,
interface -> rbuf,
interface -> rbuf_offset,
- from, hdr.bh_caplen, &paylen);
+ from, hdr.bh_caplen, &paylen, 0);
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0) {
diff --git a/common/dlpi.c b/common/dlpi.c
index 8f2c73d..b9eb1d3 100644
--- a/common/dlpi.c
+++ b/common/dlpi.c
@@ -693,7 +693,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
length -= offset;
#endif
offset = decode_udp_ip_header (interface, dbuf, bufix,
- from, length, &paylen);
+ from, length, &paylen, 0);
/*
* If the IP or UDP checksum was bad, skip the packet...
diff --git a/common/lpf.c b/common/lpf.c
index 16eecc9..4bdb0f1 100644
--- a/common/lpf.c
+++ b/common/lpf.c
@@ -29,19 +29,33 @@
#include "dhcpd.h"
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
#include <sys/ioctl.h>
+#include <sys/socket.h>
#include <sys/uio.h>
#include <errno.h>
#include <asm/types.h>
#include <linux/filter.h>
#include <linux/if_ether.h>
+#include <linux/if_packet.h>
#include <netinet/in_systm.h>
-#include <net/if_packet.h>
#include "includes/netinet/ip.h"
#include "includes/netinet/udp.h"
#include "includes/netinet/if_ether.h"
#include <net/if.h>
+#ifndef PACKET_AUXDATA
+#define PACKET_AUXDATA 8
+
+struct tpacket_auxdata
+{
+ __u32 tp_status;
+ __u32 tp_len;
+ __u32 tp_snaplen;
+ __u16 tp_mac;
+ __u16 tp_net;
+};
+#endif
+
/* Reinitializes the specified interface after an address change. This
is not required for packet-filter APIs. */
@@ -67,10 +81,14 @@ int if_register_lpf (info)
struct interface_info *info;
{
int sock;
- struct sockaddr sa;
+ union {
+ struct sockaddr_ll ll;
+ struct sockaddr common;
+ } sa;
+ struct ifreq ifr;
/* Make an LPF socket. */
- if ((sock = socket(PF_PACKET, SOCK_PACKET,
+ if ((sock = socket(PF_PACKET, SOCK_RAW,
htons((short)ETH_P_ALL))) < 0) {
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
@@ -85,11 +103,16 @@ int if_register_lpf (info)
log_fatal ("Open a socket for LPF: %m");
}
+ memset (&ifr, 0, sizeof ifr);
+ strncpy (ifr.ifr_name, (const char *)info -> ifp, sizeof ifr.ifr_name);
+ if (ioctl (sock, SIOCGIFINDEX, &ifr))
+ log_fatal ("Failed to get interface index: %m");
+
/* Bind to the interface name */
memset (&sa, 0, sizeof sa);
- sa.sa_family = AF_PACKET;
- strncpy (sa.sa_data, (const char *)info -> ifp, sizeof sa.sa_data);
- if (bind (sock, &sa, sizeof sa)) {
+ sa.ll.sll_family = AF_PACKET;
+ sa.ll.sll_ifindex = ifr.ifr_ifindex;
+ if (bind (sock, &sa.common, sizeof sa)) {
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
errno == EAFNOSUPPORT || errno == EINVAL) {
@@ -171,9 +194,18 @@ static void lpf_gen_filter_setup (struct interface_info *);
void if_register_receive (info)
struct interface_info *info;
{
+ int val;
+
/* Open a LPF device and hang it on this interface... */
info -> rfdesc = if_register_lpf (info);
+ val = 1;
+ if (setsockopt (info -> rfdesc, SOL_PACKET, PACKET_AUXDATA, &val,
+ sizeof val) < 0) {
+ if (errno != ENOPROTOOPT)
+ log_fatal ("Failed to set auxiliary packet data: %m");
+ }
+
#if defined (HAVE_TR_SUPPORT)
if (info -> hw_address.hbuf [0] == HTYPE_IEEE802)
lpf_tr_filter_setup (info);
@@ -295,7 +327,6 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
double hh [16];
double ih [1536 / sizeof (double)];
unsigned char *buf = (unsigned char *)ih;
- struct sockaddr_pkt sa;
int result;
int fudge;
@@ -316,17 +347,7 @@ ssize_t send_packet (interface, packet, raw, len, from, to, hto)
(unsigned char *)raw, len);
memcpy (buf + ibufp, raw, len);
- /* For some reason, SOCK_PACKET sockets can't be connected,
- so we have to do a sentdo every time. */
- memset (&sa, 0, sizeof sa);
- sa.spkt_family = AF_PACKET;
- strncpy ((char *)sa.spkt_device,
- (const char *)interface -> ifp, sizeof sa.spkt_device);
- sa.spkt_protocol = htons(ETH_P_IP);
-
- result = sendto (interface -> wfdesc,
- buf + fudge, ibufp + len - fudge, 0,
- (const struct sockaddr *)&sa, sizeof sa);
+ result = write (interface -> wfdesc, buf + fudge, ibufp + len - fudge);
if (result < 0)
log_error ("send_packet: %m");
return result;
@@ -343,14 +364,35 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
{
int length = 0;
int offset = 0;
+ int nocsum = 0;
unsigned char ibuf [1536];
unsigned bufix = 0;
unsigned paylen;
-
- length = read (interface -> rfdesc, ibuf, sizeof ibuf);
+ unsigned char cmsgbuf[CMSG_LEN(sizeof(struct tpacket_auxdata))];
+ struct iovec iov = {
+ .iov_base = ibuf,
+ .iov_len = sizeof ibuf,
+ };
+ struct msghdr msg = {
+ .msg_iov = &iov,
+ .msg_iovlen = 1,
+ .msg_control = cmsgbuf,
+ .msg_controllen = sizeof(cmsgbuf),
+ };
+ struct cmsghdr *cmsg;
+
+ length = recvmsg (interface -> rfdesc, &msg, 0);
if (length <= 0)
return length;
+ for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
+ if (cmsg->cmsg_level == SOL_PACKET &&
+ cmsg->cmsg_type == PACKET_AUXDATA) {
+ struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg);
+ nocsum = aux->tp_status & TP_STATUS_CSUMNOTREADY;
+ }
+ }
+
bufix = 0;
/* Decode the physical header... */
offset = decode_hw_header (interface, ibuf, bufix, hfrom);
@@ -367,7 +409,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
/* Decode the IP and UDP headers... */
offset = decode_udp_ip_header (interface, ibuf, bufix, from,
- (unsigned)length, &paylen);
+ (unsigned)length, &paylen, nocsum);
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0)
diff --git a/common/nit.c b/common/nit.c
index 3822206..0da9c36 100644
--- a/common/nit.c
+++ b/common/nit.c
@@ -369,7 +369,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
/* Decode the IP and UDP headers... */
offset = decode_udp_ip_header (interface, ibuf, bufix,
- from, length, &paylen);
+ from, length, &paylen, 0);
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0)
diff --git a/common/packet.c b/common/packet.c
index 42bca69..fd2d975 100644
--- a/common/packet.c
+++ b/common/packet.c
@@ -211,7 +211,7 @@ ssize_t
decode_udp_ip_header(struct interface_info *interface,
unsigned char *buf, unsigned bufix,
struct sockaddr_in *from, unsigned buflen,
- unsigned *rbuflen)
+ unsigned *rbuflen, int nocsum)
{
unsigned char *data;
struct ip ip;
@@ -322,7 +322,7 @@ decode_udp_ip_header(struct interface_info *interface,
8, IPPROTO_UDP + ulen))));
udp_packets_seen++;
- if (usum && usum != sum) {
+ if (!nocsum && usum && usum != sum) {
udp_packets_bad_checksum++;
if (udp_packets_seen > 4 &&
(udp_packets_seen / udp_packets_bad_checksum) < 2) {
diff --git a/common/upf.c b/common/upf.c
index feb82a2..fff3949 100644
--- a/common/upf.c
+++ b/common/upf.c
@@ -320,7 +320,7 @@ ssize_t receive_packet (interface, buf, len, from, hfrom)
/* Decode the IP and UDP headers... */
offset = decode_udp_ip_header (interface, ibuf, bufix,
- from, length, &paylen);
+ from, length, &paylen, 0);
/* If the IP or UDP checksum was bad, skip the packet... */
if (offset < 0)
diff --git a/includes/dhcpd.h b/includes/dhcpd.h
index adf04cc..ded57a9 100644
--- a/includes/dhcpd.h
+++ b/includes/dhcpd.h
@@ -2793,7 +2793,7 @@ ssize_t decode_hw_header (struct interface_info *, unsigned char *,
unsigned, struct hardware *);
ssize_t decode_udp_ip_header (struct interface_info *, unsigned char *,
unsigned, struct sockaddr_in *,
- unsigned, unsigned *);
+ unsigned, unsigned *, int);
/* ethernet.c */
void assemble_ethernet_header (struct interface_info *, unsigned char *,
--
1.7.3.4
++++++ dhcp-4.2.1-P1.tar.bz2 -> dhcp-4.2.2.tar.bz2 ++++++
dhcp/dhcp-4.2.1-P1.tar.bz2 /mounts/work_src_done/STABLE/dhcp/dhcp-4.2.2.tar.bz2 differ: char 11, line 1
++++++ dhcpd.conf ++++++
--- /var/tmp/diff_new_pack.57d6Rw/_old 2011-08-31 10:47:05.000000000 +0200
+++ /var/tmp/diff_new_pack.57d6Rw/_new 2011-08-31 10:47:05.000000000 +0200
@@ -13,7 +13,7 @@
# if you do not use dynamical DNS updates:
#
# if you want to use dynamical DNS updates, you should first read
-# read /usr/share/doc/packages/dhcp-server/DDNS-howto.txt
+# the manuals and DDNS-howto.txt provided in the dhcp-doc package.
#
ddns-updates off;
++++++ rc.dhcpd ++++++
--- /var/tmp/diff_new_pack.57d6Rw/_old 2011-08-31 10:47:05.000000000 +0200
+++ /var/tmp/diff_new_pack.57d6Rw/_new 2011-08-31 10:47:05.000000000 +0200
@@ -59,6 +59,11 @@
DAEMON_CONF=/etc/dhcpd.conf
DAEMON_STATE=/var/lib/dhcp
DAEMON_LEASES=dhcpd.leases
+# note: $DAEMON_PIDFILE is a symlink to the
+# $DAEMON_STATE$DAEMON_PIDFILE (also
+# while DHCPD_RUN_CHROOTED=no) now,
+# as DHCPD_RUN_AS is not allowed to
+# create pid files in /var/run.
DAEMON_PIDFILE=/var/run/dhcpd.pid
STARTPROC_LOGFILE=/var/log/rc.dhcpd.log
LDAP_CONF=/etc/openldap/ldap.conf
@@ -128,7 +133,7 @@
# remove empty pid files to avoid disturbing warnings by checkproc/killproc
# (these can occur if dhcpd does not start correctly)
test -e $DAEMON_PIDFILE && ! test -s $DAEMON_PIDFILE && rm $DAEMON_PIDFILE
-test -e $CHROOT_PREFIX/$DAEMON_PIDFILE && ! test -s $CHROOT_PREFIX/$DAEMON_PIDFILE && rm $CHROOT_PREFIX/$DAEMON_PIDFILE
+test -e $DAEMON_STATE/$DAEMON_PIDFILE && ! test -s $DAEMON_STATE/$DAEMON_PIDFILE && rm $DAEMON_STATE/$DAEMON_PIDFILE
case "$1" in
start)
@@ -240,33 +245,33 @@
## the chroot jail. Therefore, and old pid file may exist. This is only a problem if it
## incidentally contains the pid of a running process. If this process is not a 'dhcpd',
## we remove the pid. (dhcpd itself only checks whether the pid is alive or not.)
- if test -e $CHROOT_PREFIX/$DAEMON_PIDFILE -a -s $CHROOT_PREFIX/$DAEMON_PIDFILE; then
- p=$(<$CHROOT_PREFIX/$DAEMON_PIDFILE)
+ if test -s $DAEMON_STATE/$DAEMON_PIDFILE; then
+ p=$(<$DAEMON_STATE/$DAEMON_PIDFILE)
if test -n "$p" && grep -qsE "^${DAEMON_BIN}" "/proc/$p/cmdline" ; then
echo -n '(already running) '
else
- rm $CHROOT_PREFIX/$DAEMON_PIDFILE
+ rm -f $DAEMON_STATE/$DAEMON_PIDFILE
fi
fi
+ PID_FILE_ARG="$DAEMON_PIDFILE"
else
DHCPD_ARGS="-lf ${DAEMON_STATE}/db/$DAEMON_LEASES"
+ PID_FILE_ARG="$DAEMON_STATE$DAEMON_PIDFILE"
fi
if [ -n "$DHCPD_RUN_AS" ]; then
DHCPD_RUN_AS_GROUP="$(getent group $(getent passwd $DHCPD_RUN_AS | cut -d: -f4) | cut -d: -f1)"
DHCPD_ARGS="$DHCPD_ARGS -user $DHCPD_RUN_AS -group $DHCPD_RUN_AS_GROUP"
- if test "$DHCPD_RUN_CHROOTED" = "yes" ; then
- chown "${DHCPD_RUN_AS}:${DHCPD_RUN_AS_GROUP}" \
- "$CHROOT_PREFIX/${DAEMON_PIDFILE%/*}"
- fi
+ chown "${DHCPD_RUN_AS}:${DHCPD_RUN_AS_GROUP}" \
+ "$DAEMON_STATE/${DAEMON_PIDFILE%/*}"
fi
## check syntax with -t (output to log file) and start only when the syntax is okay
rm -f $STARTPROC_LOGFILE # start log
error=0
- if ! $DAEMON_BIN $DHCPDv_OPT -t -cf $CHROOT_PREFIX/$DAEMON_CONF -pf $DAEMON_PIDFILE > $STARTPROC_LOGFILE 2>&1 ; then
+ if ! $DAEMON_BIN $DHCPDv_OPT -t -cf $CHROOT_PREFIX/$DAEMON_CONF -pf $PID_FILE_ARG > $STARTPROC_LOGFILE 2>&1 ; then
error=1
else
## Start daemon. If this fails the return value is set appropriate.
@@ -274,19 +279,20 @@
## to match the LSB spec.
test "$2" = "-v" && echo -en \
- "\nexecuting '$DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $DAEMON_PIDFILE $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE'"
+ "\nexecuting '$DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $PID_FILE_ARG $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE'"
- $DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $DAEMON_PIDFILE $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE &> $STARTPROC_LOGFILE
+ $DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $PID_FILE_ARG $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE &> $STARTPROC_LOGFILE
ret=$?
fi
-
+
if [ $error -gt 0 -o ${ret:-0} -gt 0 ]; then
## be verbose
echo ""
- echo -n " please see $STARTPROC_LOGFILE for details ";
+ echo -n " please see $STARTPROC_LOGFILE for details "
## set status to failed
rc_failed
else
+ ln -sf "$DAEMON_STATE$DAEMON_PIDFILE" "$DAEMON_PIDFILE"
[ "$DHCPD_RUN_CHROOTED" = "yes" ] && echo -n "[chroot]" || :
fi
@@ -296,14 +302,29 @@
stop)
echo -n "Shutting down $DAEMON "
+ # Catch the case where daemon is running without chroot,
+ # but sysconfig/dhcp has been changed to use chroot (and
+ # another way around).
+ # In this case is there is no $chroot/$pidfile, but there
+ # should be a /pidfile that we use instead.
+ # We can not kill without pid file or dhcp4 kills dhcp6.
+ PID_FILE="$DAEMON_STATE$DAEMON_PIDFILE"
+ if test "$DHCPD_RUN_CHROOTED" = "yes" ; then
+ if test ! -s "$DAEMON_STATE$DAEMON_PIDFILE" -a \
+ -s "$DAEMON_PIDFILE" ; then
+ PID_FILE="$DAEMON_PIDFILE"
+ fi
+ else
+ if test ! -s "$DAEMON_PIDFILE" -a \
+ -s "$DAEMON_STATE$DAEMON_PIDFILE" ; then
+ PID_FILE="$DAEMON_STATE$DAEMON_PIDFILE"
+ fi
+ fi
+
## Stop daemon with killproc(8) and if this fails
## set echo the echo return value.
-
- killproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE $DAEMON_BIN
+ killproc -p "$PID_FILE" $DAEMON_BIN
ret=$?
- if test -s $CHROOT_PREFIX/$DAEMON_PIDFILE; then
- kill $(<$CHROOT_PREFIX/$DAEMON_PIDFILE) 2>/dev/null
- fi
# umount proc and remove libraries from the chroot jail,
# so they are not left over if the server is deinstalled
@@ -347,8 +368,8 @@
echo -n "Reload service $DAEMON"
if [ "$SUPPORTS_HUP" = "yes" ]; then
- killproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE -HUP $DAEMON_BIN
- #touch $CHROOT_PREFIX/$DAEMON_PIDFILE
+ killproc -p $DAEMON_STATE/$DAEMON_PIDFILE -HUP $DAEMON_BIN
+ #touch $DAEMON_STATE/$DAEMON_PIDFILE
rc_status -v
else
$0 stop && sleep 3 && $0 start
@@ -362,8 +383,8 @@
echo -n "Reload service $DAEMON"
if [ "$SUPPORTS_HUP" = "yes" ]; then
# If it supports signalling:
- killproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE -HUP $DAEMON_BIN
- #touch $CHROOT_PREFIX/$DAEMON_PIDFILE
+ killproc -p $DAEMON_STATE/$DAEMON_PIDFILE -HUP $DAEMON_BIN
+ #touch $DAEMON_STATE/$DAEMON_PIDFILE
rc_status -v
else
## Otherwise if it does not support reload:
@@ -383,7 +404,7 @@
# 3 - service not running
# NOTE: checkproc returns LSB compliant status values.
- checkproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE $DAEMON_BIN
+ checkproc -p $DAEMON_STATE/$DAEMON_PIDFILE $DAEMON_BIN
rc_status -v
;;
probe)
@@ -392,7 +413,7 @@
rc=0
for i in /etc/sysconfig/dhcpd $DAEMON_CONF $DHCPD_CONF_INCLUDE_FILES; do
- test $i -nt $CHROOT_PREFIX/$DAEMON_PIDFILE && rc=1
+ test $i -nt $DAEMON_STATE/$DAEMON_PIDFILE && rc=1
done
test $rc = 1 && echo restart
;;
++++++ rc.dhcpd6 ++++++
--- /var/tmp/diff_new_pack.57d6Rw/_old 2011-08-31 10:47:05.000000000 +0200
+++ /var/tmp/diff_new_pack.57d6Rw/_new 2011-08-31 10:47:05.000000000 +0200
@@ -63,6 +63,11 @@
DAEMON_CONF=/etc/dhcpd6.conf
DAEMON_STATE=/var/lib/dhcp6
DAEMON_LEASES=dhcpd6.leases
+# note: $DAEMON_PIDFILE is a symlink to the
+# $DAEMON_STATE$DAEMON_PIDFILE (also
+# while DHCPD_RUN_CHROOTED=no) now,
+# as DHCPD_RUN_AS is not allowed to
+# create pid files in /var/run.
DAEMON_PIDFILE=/var/run/dhcpd6.pid
STARTPROC_LOGFILE=/var/log/rc.dhcpd6.log
LDAP_CONF=
@@ -132,7 +137,7 @@
# remove empty pid files to avoid disturbing warnings by checkproc/killproc
# (these can occur if dhcpd does not start correctly)
test -e $DAEMON_PIDFILE && ! test -s $DAEMON_PIDFILE && rm $DAEMON_PIDFILE
-test -e $CHROOT_PREFIX/$DAEMON_PIDFILE && ! test -s $CHROOT_PREFIX/$DAEMON_PIDFILE && rm $CHROOT_PREFIX/$DAEMON_PIDFILE
+test -e $DAEMON_STATE/$DAEMON_PIDFILE && ! test -s $DAEMON_STATE/$DAEMON_PIDFILE && rm $DAEMON_STATE/$DAEMON_PIDFILE
case "$1" in
start)
@@ -244,33 +249,33 @@
## the chroot jail. Therefore, and old pid file may exist. This is only a problem if it
## incidentally contains the pid of a running process. If this process is not a 'dhcpd',
## we remove the pid. (dhcpd itself only checks whether the pid is alive or not.)
- if test -e $CHROOT_PREFIX/$DAEMON_PIDFILE -a -s $CHROOT_PREFIX/$DAEMON_PIDFILE; then
- p=$(<$CHROOT_PREFIX/$DAEMON_PIDFILE)
+ if test -s $DAEMON_STATE/$DAEMON_PIDFILE; then
+ p=$(<$DAEMON_STATE/$DAEMON_PIDFILE)
if test -n "$p" && grep -qsE "^${DAEMON_BIN}" "/proc/$p/cmdline" ; then
echo -n '(already running) '
else
- rm $CHROOT_PREFIX/$DAEMON_PIDFILE
+ rm -f $DAEMON_STATE/$DAEMON_PIDFILE
fi
fi
+ PID_FILE_ARG="$DAEMON_PIDFILE"
else
DHCPD_ARGS="-lf ${DAEMON_STATE}/db/$DAEMON_LEASES"
+ PID_FILE_ARG="$DAEMON_STATE$DAEMON_PIDFILE"
fi
if [ -n "$DHCPD_RUN_AS" ]; then
DHCPD_RUN_AS_GROUP="$(getent group $(getent passwd $DHCPD_RUN_AS | cut -d: -f4) | cut -d: -f1)"
DHCPD_ARGS="$DHCPD_ARGS -user $DHCPD_RUN_AS -group $DHCPD_RUN_AS_GROUP"
- if test "$DHCPD_RUN_CHROOTED" = "yes" ; then
- chown "${DHCPD_RUN_AS}:${DHCPD_RUN_AS_GROUP}" \
- "$CHROOT_PREFIX/${DAEMON_PIDFILE%/*}"
- fi
+ chown "${DHCPD_RUN_AS}:${DHCPD_RUN_AS_GROUP}" \
+ "$DAEMON_STATE/${DAEMON_PIDFILE%/*}"
fi
## check syntax with -t (output to log file) and start only when the syntax is okay
rm -f $STARTPROC_LOGFILE # start log
error=0
- if ! $DAEMON_BIN $DHCPDv_OPT -t -cf $CHROOT_PREFIX/$DAEMON_CONF -pf $DAEMON_PIDFILE > $STARTPROC_LOGFILE 2>&1 ; then
+ if ! $DAEMON_BIN $DHCPDv_OPT -t -cf $CHROOT_PREFIX/$DAEMON_CONF -pf $PID_FILE_ARG > $STARTPROC_LOGFILE 2>&1 ; then
error=1
else
## Start daemon. If this fails the return value is set appropriate.
@@ -278,19 +283,20 @@
## to match the LSB spec.
test "$2" = "-v" && echo -en \
- "\nexecuting '$DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $DAEMON_PIDFILE $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE'"
+ "\nexecuting '$DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $PID_FILE_ARG $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE'"
- $DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $DAEMON_PIDFILE $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE &> $STARTPROC_LOGFILE
+ $DAEMON_BIN $DHCPDv_OPT -cf $DAEMON_CONF -pf $PID_FILE_ARG $DHCPD_ARGS $DHCPD_OTHER_ARGS $DHCPD_INTERFACE &> $STARTPROC_LOGFILE
ret=$?
fi
-
- if [ $error -gt 0 -o ${ret:-0} -gt 0 ]; then
+
+ if [ $error -gt 0 -o ${ret:-0} -gt 0 ]; then
## be verbose
echo ""
echo -n " please see $STARTPROC_LOGFILE for details "
## set status to failed
rc_failed
else
+ ln -sf "$DAEMON_STATE$DAEMON_PIDFILE" "$DAEMON_PIDFILE"
[ "$DHCPD_RUN_CHROOTED" = "yes" ] && echo -n "[chroot]" || :
fi
@@ -300,14 +306,29 @@
stop)
echo -n "Shutting down $DAEMON "
+ # Catch the case where daemon is running without chroot,
+ # but sysconfig/dhcp has been changed to use chroot (and
+ # another way around).
+ # In this case is there is no $chroot/$pidfile, but there
+ # should be a /pidfile that we use instead.
+ # We can not kill without pid file or dhcp4 kills dhcp6.
+ PID_FILE="$DAEMON_STATE$DAEMON_PIDFILE"
+ if test "$DHCPD_RUN_CHROOTED" = "yes" ; then
+ if test ! -s "$DAEMON_STATE$DAEMON_PIDFILE" -a \
+ -s "$DAEMON_PIDFILE" ; then
+ PID_FILE="$DAEMON_PIDFILE"
+ fi
+ else
+ if test ! -s "$DAEMON_PIDFILE" -a \
+ -s "$DAEMON_STATE$DAEMON_PIDFILE" ; then
+ PID_FILE="$DAEMON_STATE$DAEMON_PIDFILE"
+ fi
+ fi
+
## Stop daemon with killproc(8) and if this fails
## set echo the echo return value.
-
- killproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE $DAEMON_BIN
+ killproc -p "$PID_FILE" $DAEMON_BIN
ret=$?
- if test -s $CHROOT_PREFIX/$DAEMON_PIDFILE; then
- kill $(<$CHROOT_PREFIX/$DAEMON_PIDFILE) 2>/dev/null
- fi
# umount proc and remove libraries from the chroot jail,
# so they are not left over if the server is deinstalled
@@ -351,8 +372,8 @@
echo -n "Reload service $DAEMON"
if [ "$SUPPORTS_HUP" = "yes" ]; then
- killproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE -HUP $DAEMON_BIN
- #touch $CHROOT_PREFIX/$DAEMON_PIDFILE
+ killproc -p $DAEMON_STATE/$DAEMON_PIDFILE -HUP $DAEMON_BIN
+ #touch $DAEMON_STATE/$DAEMON_PIDFILE
rc_status -v
else
$0 stop && sleep 3 && $0 start
@@ -366,8 +387,8 @@
echo -n "Reload service $DAEMON"
if [ "$SUPPORTS_HUP" = "yes" ]; then
# If it supports signalling:
- killproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE -HUP $DAEMON_BIN
- #touch $CHROOT_PREFIX/$DAEMON_PIDFILE
+ killproc -p $DAEMON_STATE/$DAEMON_PIDFILE -HUP $DAEMON_BIN
+ #touch $DAEMON_STATE/$DAEMON_PIDFILE
rc_status -v
else
## Otherwise if it does not support reload:
@@ -387,7 +408,7 @@
# 3 - service not running
# NOTE: checkproc returns LSB compliant status values.
- checkproc -p $CHROOT_PREFIX/$DAEMON_PIDFILE $DAEMON_BIN
+ checkproc -p $DAEMON_STATE/$DAEMON_PIDFILE $DAEMON_BIN
rc_status -v
;;
probe)
@@ -396,7 +417,7 @@
rc=0
for i in /etc/sysconfig/dhcpd $DAEMON_CONF $DHCPD_CONF_INCLUDE_FILES; do
- test $i -nt $CHROOT_PREFIX/$DAEMON_PIDFILE && rc=1
+ test $i -nt $DAEMON_STATE/$DAEMON_PIDFILE && rc=1
done
test $rc = 1 && echo restart
;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0