openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- 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
September 2008
- 1 participants
- 1828 discussions
Hello community,
here is the log from the commit of package libksba
checked in at Fri Sep 26 14:58:25 CEST 2008.
--------
--- libksba/libksba.changes 2008-06-26 15:58:23.000000000 +0200
+++ /mounts/work_src_done/STABLE/libksba/libksba.changes 2008-09-25 11:14:08.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Sep 25 11:13:15 CEST 2008 - puzel(a)suse.cz
+
+- update to 1.0.4
+ * autoconf fixes
+- correctly install/uninstall info files
+- use %makeinstall and %configure macros
+
+-------------------------------------------------------------------
Old:
----
libksba-1.0.3.tar.bz2
New:
----
libksba-1.0.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libksba.spec ++++++
--- /var/tmp/diff_new_pack.j21260/_old 2008-09-26 14:58:08.000000000 +0200
+++ /var/tmp/diff_new_pack.j21260/_new 2008-09-26 14:58:08.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package libksba (Version 1.0.3)
+# spec file for package libksba (Version 1.0.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -18,13 +25,14 @@
Group: Development/Libraries/C and C++
AutoReqProv: on
Summary: A X.509 Library
-Version: 1.0.3
+Version: 1.0.4
Release: 1
# change also name and nfb
%define nld_build 0
Source: libksba-%{version}.tar.bz2
Patch1: nld-build.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+PreReq: %install_info_prereq
%description
KSBA is a library to simplify the task of working with X.509
@@ -69,18 +77,14 @@
%build
libtoolize --force
autoreconf -fi
-CFLAGS="$RPM_OPT_FLAGS" ./configure \
- --prefix=%{_prefix} \
- --sysconfdir=/etc \
- --libdir=%{_libdir} \
- --infodir=%{_infodir}
+%configure
make
%check
make check
%install
-make DESTDIR=$RPM_BUILD_ROOT install
+%makeinstall
%post -p /sbin/ldconfig
@@ -94,6 +98,12 @@
%doc README AUTHORS COPYING ChangeLog NEWS THANKS TODO
%_libdir/libksba*.so.*
+%post devel
+%install_info --info-dir=%{_infodir} %{_infodir}/ksba.info.gz
+
+%postun devel
+%install_info_delete --info-dir=%{_infodir} %{_infodir}/ksba.info.gz
+
%files devel
%defattr(-,root,root)
/usr/bin/*
@@ -104,6 +114,11 @@
/usr/share/aclocal/*
%changelog
+* Thu Sep 25 2008 puzel(a)suse.cz
+- update to 1.0.4
+ * autoconf fixes
+- correctly install/uninstall info files
+- use %%makeinstall and %%configure macros
* Thu Jun 26 2008 puzel(a)suse.cz
- update to 1.0.3
* bugfix release (autoconf fixes)
++++++ libksba-1.0.3.tar.bz2 -> libksba-1.0.4.tar.bz2 ++++++
++++ 20937 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libdrm
checked in at Fri Sep 26 14:58:15 CEST 2008.
--------
--- libdrm/libdrm.changes 2008-09-24 12:03:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/libdrm/libdrm.changes 2008-09-26 09:39:36.267821683 +0200
@@ -1,0 +2,6 @@
+Fri Sep 26 09:39:09 CEST 2008 - sndirsch(a)suse.de
+
+- updated to git commit 2db8e0c, which is required by latest
+ xf86-video-intel driver (Intel-2008-Q3-RC2)
+
+-------------------------------------------------------------------
Old:
----
libdrm-2.4.0-973c634.tar.bz2
New:
----
libdrm-2.4.0-2db8e0c.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdrm.spec ++++++
--- /var/tmp/diff_new_pack.C20947/_old 2008-09-26 14:58:03.000000000 +0200
+++ /var/tmp/diff_new_pack.C20947/_new 2008-09-26 14:58:03.000000000 +0200
@@ -25,9 +25,9 @@
Group: System/Libraries
AutoReqProv: on
Version: 2.4.0
-Release: 9
+Release: 10
Summary: Userspace Interface for Kernel DRM Services
-Source: %{name}-%{version}-973c634.tar.bz2
+Source: %{name}-%{version}-2db8e0c.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -138,6 +138,9 @@
%exclude %{_libdir}/libdrm_intel.la
%changelog
+* Fri Sep 26 2008 sndirsch(a)suse.de
+- updated to git commit 2db8e0c, which is required by latest
+ xf86-video-intel driver (Intel-2008-Q3-RC2)
* Wed Sep 24 2008 sndirsch(a)suse.de
- updated to git commit 973c634, which is required by latest
xf86-video-intel driver (Intel-2008-Q3-RC1)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 kerneloops
checked in at Fri Sep 26 14:57:58 CEST 2008.
--------
--- kerneloops/kerneloops.changes 2008-08-08 20:04:16.000000000 +0200
+++ /mounts/work_src_done/STABLE/kerneloops/kerneloops.changes 2008-09-26 06:02:23.802912000 +0200
@@ -1,0 +2,14 @@
+Wed Sep 24 23:13:31 PDT 2008 - bphilips(a)suse.de
+
+- updates to version 0.12
+ * Add format string security error checking to build
+ * Fix format string error
+ * syslog the submit URL as well
+ * With thanks to Owen... now the send button will close the dialog
+ * signal to the kernel that we're not timing critical and that our
+ wakeups can be grouped
+ * also catch net device watchdog timeouts
+ * make kerneloops daemon more boot time friendly
+
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-up-some-weird-git-damage.patch
0002-kerneloops-applet-fix-string-handling-make-window.patch
0003-kerneloops-applet-use-monospace-fonts-in-detail-vie.patch
0004-kerneloops-applet-Fix-Gtk-WARNING-gtkwidget.c-5.patch
New:
----
0001-kerneloops-add-debug-dbus-to-daemon-options.patch
0001-syslog-the-submit-URL-as-well.patch
0002-Fix-format-string-vulnerability.patch
0003-Add-format-string-security-error-checking-to-build.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kerneloops.spec ++++++
--- /var/tmp/diff_new_pack.L18524/_old 2008-09-26 14:56:40.000000000 +0200
+++ /var/tmp/diff_new_pack.L18524/_new 2008-09-26 14:56:40.000000000 +0200
@@ -21,7 +21,7 @@
Name: kerneloops
Version: 0.12
-Release: 1
+Release: 27
License: GPL v2 only
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: curl-devel dbus-1-glib-devel desktop-file-utils gtk2-devel libnotify-devel update-desktop-files
@@ -29,10 +29,10 @@
Summary: Tool to collect kernel oopses and submit them to kerneloops.org
Source: %{name}-%{version}.tar.bz2
Source1: %{name}.init
-Patch: 0001-Fix-up-some-weird-git-damage.patch
-Patch1: 0002-kerneloops-applet-fix-string-handling-make-window.patch
-Patch2: 0003-kerneloops-applet-use-monospace-fonts-in-detail-vie.patch
-Patch3: 0004-kerneloops-applet-Fix-Gtk-WARNING-gtkwidget.c-5.patch
+Patch: 0001-syslog-the-submit-URL-as-well.patch
+Patch1: 0002-Fix-format-string-vulnerability.patch
+Patch2: 0003-Add-format-string-security-error-checking-to-build.patch
+Patch3: 0001-kerneloops-add-debug-dbus-to-daemon-options.patch
PreReq: %insserv_prereq
%description
@@ -127,6 +127,16 @@
%{_datadir}/%{name}/icon.png
%changelog
+* Thu Sep 25 2008 bphilips(a)suse.de
+- updates to version 0.12
+ * Add format string security error checking to build
+ * Fix format string error
+ * syslog the submit URL as well
+ * With thanks to Owen... now the send button will close the dialog
+ * signal to the kernel that we're not timing critical and that our
+ wakeups can be grouped
+ * also catch net device watchdog timeouts
+ * make kerneloops daemon more boot time friendly
* Fri Aug 08 2008 bphilips(a)suse.de
- update to version 0.12
* Add a "Show me my oops before submit" button.
@@ -140,12 +150,12 @@
* add a --file option
* Pass $OPTS to kerneloops from /etc/sysconfig/kerneloops.
* Print a URL to the submitted oops in the thank you screen
-* Fri Apr 25 2008 crrodriguez(a)suse.de
+* Thu Apr 24 2008 crrodriguez(a)suse.de
- update to version 0.11
* Improve the makefile (GregKH)
* Take various fixes from Chuck Ebbert (Red Hat) based on Fedora
feedback
* Put a link to the submitted oops in the "thanks" screen
* Consider stack overflow warnings also kernel badness
-* Thu Apr 03 2008 crrodriguez(a)suse.de
+* Wed Apr 02 2008 crrodriguez(a)suse.de
- initial version for openSUSE 11
++++++ 0001-kerneloops-add-debug-dbus-to-daemon-options.patch ++++++
>From 1c2db9efe22ecc1cad5346eda88e7526e34d1bc9 Mon Sep 17 00:00:00 2001
From: Brandon Philips <brandon(a)ifup.org>
Date: Thu, 25 Sep 2008 20:35:01 -0700
Subject: [PATCH] kerneloops: add --debug-dbus to daemon options
--debug-dbus will run the kerneloops daemon in debug mode with the dbus client
interaction. This is a handy way to test the client.
Signed-off-by: Brandon Philips <bphilips(a)suse.de>
---
kerneloops.c | 6 +++++-
submit.c | 8 ++++++++
2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/kerneloops.c b/kerneloops.c
index 0efbd40..de1ba09 100644
--- a/kerneloops.c
+++ b/kerneloops.c
@@ -151,6 +151,9 @@ int main(int argc, char**argv)
testmode = 1;
opted_in = 2;
}
+ /* Test DBUS and notification client, exit on submit_queue */
+ if (argc > 1 && strstr(argv[1], "--debug-dbus"))
+ opted_in = 1;
if (!opted_in && !testmode) {
fprintf(stderr, " [Inactive by user preference]");
@@ -203,7 +206,8 @@ int main(int argc, char**argv)
}
}
- if (testmode) {
+ /* Disconnect dbus if not --debug-dbus */
+ if (testmode && opted_in == 2) {
g_main_loop_unref(loop);
dbus_bus_remove_match(bus, "type='signal',interface='org.kerneloops.submit.ping'", &error);
dbus_bus_remove_match(bus, "type='signal',interface='org.kerneloops.submit.permission'", &error);
diff --git a/submit.c b/submit.c
index 6f1d8c0..a7d4b42 100644
--- a/submit.c
+++ b/submit.c
@@ -212,6 +212,10 @@ void submit_queue(void)
if (testmode) {
print_queue();
+
+ if (opted_in == 1)
+ exit(EXIT_SUCCESS);
+
return;
}
@@ -284,6 +288,10 @@ void clear_queue(void)
free(oops);
oops = next;
}
+
+ if (testmode)
+ exit(EXIT_SUCCESS);
+
write_logfile(0);
}
--
1.5.6
++++++ 0001-syslog-the-submit-URL-as-well.patch ++++++
>From b83a592acb42220474d81a5d68e30f95edc43efb Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan(a)linux.intel.com>
Date: Mon, 15 Sep 2008 12:03:34 -0700
Subject: [PATCH] syslog the submit URL as well
---
kerneloops-applet.c | 7 ++++---
kerneloops.c | 4 +++-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/kerneloops-applet.c b/kerneloops-applet.c
index 6acefc5..3f07f6c 100644
--- a/kerneloops-applet.c
+++ b/kerneloops-applet.c
@@ -280,7 +280,7 @@ char url_to_oops[4095];
static void sent_an_oops(void)
{
char *summary = _("Kernel bug diagnostic information sent");
- char message[8200];
+ char *message = NULL;
char *message_1 =
_("Diagnostic information from your Linux kernel has been "
"sent to <a href=\"http://www.kerneloops.org\">www.kerneloops.org</a> "
@@ -299,9 +299,9 @@ static void sent_an_oops(void)
if (strlen(url_to_oops)==0)
- sprintf(message, message_1);
+ message = g_strdup_printf("%s", message_1);
else
- sprintf(message, message_2, url_to_oops);
+ message = g_strdup_printf(message_2, url_to_oops);
url_to_oops[0] = 0;
@@ -323,6 +323,7 @@ static void sent_an_oops(void)
callback, "never", NULL);
notify_notification_show(notify, NULL);
+ g_free(message);
}
/*
diff --git a/kerneloops.c b/kerneloops.c
index 5697ee9..0efbd40 100644
--- a/kerneloops.c
+++ b/kerneloops.c
@@ -27,6 +27,7 @@
#include <stdio.h>
#include <string.h>
#include <sched.h>
+#include <syslog.h>
#include <sys/prctl.h>
#include <asm/unistd.h>
@@ -118,6 +119,7 @@ void dbus_say_thanks(char *url)
dbus_message_append_args (message, DBUS_TYPE_STRING, &url, DBUS_TYPE_INVALID);
dbus_connection_send(bus, message, NULL);
dbus_message_unref(message);
+ syslog(LOG_WARNING, "kerneloops.org: oops is posted as %s", url);
}
message = dbus_message_new_signal("/org/kerneloops/submit/sent",
@@ -135,7 +137,7 @@ int main(int argc, char**argv)
/*
* Signal the kernel that we're not timing critical
*/
-#ifdef PR_SET_TIMERSLACK,1000
+#ifdef PR_SET_TIMERSLACK
prctl(PR_SET_TIMERSLACK,1000*1000*1000, 0, 0, 0);
#endif
--
1.5.6
++++++ 0002-Fix-format-string-vulnerability.patch ++++++
>From 45d9add57cb217c32e76b9801cbf7ae7a4268c55 Mon Sep 17 00:00:00 2001
From: Matt Zimmerman <mdz(a)canonical.com>
Date: Fri, 19 Sep 2008 16:08:00 +0100
Subject: [PATCH] Fix format string vulnerability
Signed-off-by: Matt Zimmerman <mdz(a)canonical.com>
---
submit.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/submit.c b/submit.c
index 13e1b75..6f1d8c0 100644
--- a/submit.c
+++ b/submit.c
@@ -135,7 +135,7 @@ void write_detail_file(void)
while (oops) {
count++; /* Users are not programmers, start at 1 */
fprintf(tmpf, "Kernel failure message %d:\n", count);
- fprintf(tmpf, oops->text);
+ fprintf(tmpf, "%s", oops->text);
fprintf(tmpf, "\n\n");
oops = oops->next;
}
--
1.5.6
++++++ 0003-Add-format-string-security-error-checking-to-build.patch ++++++
>From 123638012f8ed8061f29cd2fa9c8de5e5ea1c33a Mon Sep 17 00:00:00 2001
From: Kees Cook <kees.cook(a)canonical.com>
Date: Fri, 19 Sep 2008 12:21:46 -0700
Subject: [PATCH] Add format string security error checking to build
Signed-off-by: Kees Cook <kees.cook(a)canonical.com>
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 86acdf2..09a5e86 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ LOCALESDIR=/usr/share/locale
MANDIR=/usr/share/man/man8
CC?=gcc
-CFLAGS := -O2 -g -fstack-protector -D_FORTIFY_SOURCE=2 -Wall -W -Wstrict-prototypes -Wundef -fno-common -Werror-implicit-function-declaration -Wdeclaration-after-statement
+CFLAGS := -O2 -g -fstack-protector -D_FORTIFY_SOURCE=2 -Wall -W -Wstrict-prototypes -Wundef -fno-common -Werror-implicit-function-declaration -Wdeclaration-after-statement -Wformat -Wformat-security -Werror=format-security
MY_CFLAGS := `pkg-config --cflags libnotify gtk+-2.0`
#
--
1.5.6
++++++ kerneloops-0.12.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/dmesg.c new/kerneloops-0.12/dmesg.c
--- old/kerneloops-0.12/dmesg.c 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/dmesg.c 2008-09-13 17:21:04.000000000 +0200
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
/*
* Copyright 2007, Intel Corporation
*
@@ -54,20 +55,25 @@
linecount = 0;
c = buffer;
while (c) {
+ int len = 0;
+ char *c9;
+
+ c9 = strchr(c, '\n');
+ if (c9)
+ len = c9 - c;
+
/* in /var/log/messages, we need to strip the first part off, upto the 3rd ':' */
if (remove_syslog) {
char *c2;
- char *c3;
- c3 = strchr(c, '\n');
/* skip non-kernel lines */
- c2 = strstr(c, "kernel:");
- if (!c2 || (c2 > c3))
- c2 = strstr(c, "kerneloops:");
- if (!c2 || (c2 > c3)) {
- c2 = strchr(c, '\n');
+ c2 = memmem(c, len, "kernel:", 7);
+ if (!c2)
+ c2 = memmem(c, len, "kerneloops:", 11);
+ if (!c2) {
+ c2 = c9;
if (c2) {
- c = c2+1;
+ c = c2 + 1;
continue;
} else
break;
@@ -166,14 +172,20 @@
oopsstart = i;
if (strstr(c, "kernel BUG at"))
oopsstart = i;
+ if (strstr(c, "do_IRQ: stack overflow:"))
+ oopsstart = i;
if (strstr(c, "RTNL: assertion failed"))
oopsstart = i;
if (strstr(c, "Eeek! page_mapcount(page) went negative!"))
oopsstart = i;
+ if (strstr(c, "near stack overflow (cur:"))
+ oopsstart = i;
if (strstr(c, "double fault:"))
oopsstart = i;
if (strstr(c, "Badness at"))
oopsstart = i;
+ if (strstr(c, "NETDEV WATCHDOG"))
+ oopsstart = i;
if (strstr(c, "WARNING:") &&
!strstr(c, "appears to be on the same physical disk"))
oopsstart = i;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/kerneloops.8 new/kerneloops-0.12/kerneloops.8
--- old/kerneloops-0.12/kerneloops.8 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.8 2008-09-13 17:21:04.000000000 +0200
@@ -35,6 +35,9 @@
.LP
.TP
+\fB\-\-file filename\fR
+Parse the file denoted with filename as if it were /var/log/messages
+.TP
\fB\-\-debug\fR
Enable debug mode
.TP
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/kerneloops-applet.c new/kerneloops-0.12/kerneloops-applet.c
--- old/kerneloops-0.12/kerneloops-applet.c 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/kerneloops-applet.c 2008-09-13 17:21:04.000000000 +0200
@@ -133,10 +133,11 @@
}
/* Called only from the detail window */
-static void send_action(NotifyNotification __unused *notify,
- gchar __unused *action, gpointer __unused user_data)
+static void send_action(GtkWidget __unused *button, GtkWidget *dialog)
{
send_permission("yes");
+
+ gtk_widget_destroy(dialog);
}
@@ -150,6 +151,8 @@
GtkTextBuffer *buffer;
GtkWidget *button_cancel;
GtkWidget *button_send;
+ GtkTextTag *fixed;
+ GtkTextIter iter;
char *detail_data;
struct stat statb;
int detail_fd;
@@ -172,12 +175,13 @@
detail_data = malloc(statb.st_size+1);
if (!detail_data)
return;
-
+
if (read(detail_fd, detail_data, statb.st_size) != statb.st_size) {
free(detail_data);
return;
}
close(detail_fd);
+ detail_data[statb.st_size] = '\0';
dialog = gtk_dialog_new();
gtk_window_set_title(GTK_WINDOW(dialog), _("Kernel failure details"));
@@ -186,18 +190,20 @@
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrollwindow),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrollwindow,
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrollwindow,
TRUE, TRUE, 0);
view = gtk_text_view_new();
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (view));
- gtk_text_buffer_set_text(buffer, detail_data, -1);
+ fixed = gtk_text_buffer_create_tag (buffer, "font", "font", "monospace", NULL);
+ gtk_text_buffer_get_iter_at_line_offset(buffer, &iter, 0, 0);
+ gtk_text_buffer_insert_with_tags(buffer, &iter, detail_data, -1,
+ fixed, NULL);
free(detail_data);
- gtk_scrolled_window_add_with_viewport(
- GTK_SCROLLED_WINDOW(scrollwindow), view);
+ gtk_container_add (GTK_CONTAINER (scrollwindow), view);
+
gtk_text_view_set_editable(GTK_TEXT_VIEW(view), FALSE);
button_send = gtk_button_new_with_label (_("Send"));
GTK_WIDGET_SET_FLAGS(button_send, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(button_send);
button_cancel = gtk_button_new_with_label (_("Cancel"));
g_signal_connect(G_OBJECT(dialog), "delete_event",
@@ -205,16 +211,14 @@
g_signal_connect_swapped(G_OBJECT(button_cancel), "clicked",
G_CALLBACK(gtk_widget_destroy),
G_OBJECT(dialog));
- g_signal_connect(G_OBJECT(dialog), "destroy",
- G_CALLBACK(gtk_widget_destroy),
- G_OBJECT(dialog));
g_signal_connect(G_OBJECT(button_send), "clicked",
- G_CALLBACK(send_action), NULL);
-
+ G_CALLBACK(send_action), dialog);
+
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),
button_send, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),
button_cancel, TRUE, TRUE, 0);
+ gtk_widget_grab_default(button_send);
gtk_widget_show(view);
gtk_widget_show(button_send);
@@ -267,6 +271,8 @@
notify_notification_show(notify, NULL);
}
+char url_to_oops[4095];
+
/*
* open a notification window (expires in 5 seconds) to say thank you
* to the user for his bug feedback.
@@ -274,15 +280,32 @@
static void sent_an_oops(void)
{
char *summary = _("Kernel bug diagnostic information sent");
- char *message =
+ char message[8200];
+ char *message_1 =
_("Diagnostic information from your Linux kernel has been "
"sent to <a href=\"http://www.kerneloops.org\">www.kerneloops.org</a> "
"for the Linux kernel developers to work on. \n"
"Thank you for contributing to improve the quality of the Linux kernel.\n");
+
+ char *message_2 =
+ _("Diagnostic information from your Linux kernel has been "
+ "sent to <a href=\"http://www.kerneloops.org\">www.kerneloops.org</a> "
+ "for the Linux kernel developers to work on. \n"
+ "Thank you for contributing to improve the quality of the Linux kernel.\n"
+ "You can view your submitted oops <a href=\"%s\">here</a>\n");
NotifyActionCallback callback = notify_action;
close_notification();
+
+ if (strlen(url_to_oops)==0)
+ sprintf(message, message_1);
+ else
+ sprintf(message, message_2, url_to_oops);
+
+
+ url_to_oops[0] = 0;
+
notify = notify_notification_new(summary, message,
"/usr/share/kerneloops/icon.png", NULL);
@@ -302,6 +325,17 @@
notify_notification_show(notify, NULL);
}
+/*
+ * store the URL for the user
+ */
+static void got_an_url(DBusMessage *message)
+{
+ char *string = NULL;
+ dbus_message_get_args(message, NULL, DBUS_TYPE_STRING, &string, DBUS_TYPE_INVALID);
+ if (string)
+ strncpy(url_to_oops, string, 4095);
+
+}
/*
@@ -362,6 +396,13 @@
gtk_status_icon_set_visible(statusicon, FALSE);
return DBUS_HANDLER_RESULT_HANDLED;
}
+ /* check if it's the daemon that asks for permission */
+ if (dbus_message_is_signal(message,
+ "org.kerneloops.submit.url", "url")) {
+
+ got_an_url(message);
+ return DBUS_HANDLER_RESULT_HANDLED;
+ }
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
@@ -439,6 +480,7 @@
/* set the dbus message to listen for */
dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.permission'", &error);
dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.sent'", &error);
+ dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.url'", &error);
dbus_connection_add_filter(bus, dbus_gotmessage, NULL, NULL);
/*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/kerneloops.c new/kerneloops-0.12/kerneloops.c
--- old/kerneloops-0.12/kerneloops.c 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.c 2008-09-13 17:21:04.000000000 +0200
@@ -26,7 +26,8 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-
+#include <sched.h>
+#include <sys/prctl.h>
#include <asm/unistd.h>
#include <curl/curl.h>
@@ -106,11 +107,19 @@
dbus_message_unref(message);
}
-void dbus_say_thanks(void)
+void dbus_say_thanks(char *url)
{
DBusMessage *message;
if (!bus)
return;
+ if (url && strlen(url)) {
+ message = dbus_message_new_signal("/org/kerneloops/submit/url",
+ "org.kerneloops.submit.url", "url");
+ dbus_message_append_args (message, DBUS_TYPE_STRING, &url, DBUS_TYPE_INVALID);
+ dbus_connection_send(bus, message, NULL);
+ dbus_message_unref(message);
+ }
+
message = dbus_message_new_signal("/org/kerneloops/submit/sent",
"org.kerneloops.submit.sent", "sent");
dbus_connection_send(bus, message, NULL);
@@ -123,6 +132,13 @@
DBusError error;
int godaemon = 1;
+/*
+ * Signal the kernel that we're not timing critical
+ */
+#ifdef PR_SET_TIMERSLACK,1000
+ prctl(PR_SET_TIMERSLACK,1000*1000*1000, 0, 0, 0);
+#endif
+
read_config_file("/etc/kerneloops.conf");
if (argc > 1 && strstr(argv[1], "--nodaemon"))
@@ -134,7 +150,6 @@
opted_in = 2;
}
-
if (!opted_in && !testmode) {
fprintf(stderr, " [Inactive by user preference]");
return EXIT_SUCCESS;
@@ -152,11 +167,11 @@
curl_global_init(CURL_GLOBAL_ALL);
*/
-
if (godaemon && daemon(0, 0)) {
printf("kerneloops failed to daemonize.. exiting \n");
return EXIT_FAILURE;
}
+ sched_yield();
loop = g_main_loop_new(NULL, FALSE);
dbus_error_init(&error);
@@ -168,10 +183,16 @@
dbus_connection_add_filter(bus, got_message, NULL, NULL);
}
-
/* we scan dmesg before /var/log/messages; dmesg is a more accurate source normally */
scan_dmesg(NULL);
+ /* during boot... don't go too fast and slow the system down */
+ if (!testmode)
+ sleep(10);
scan_filename("/var/log/messages", 1);
+
+ if (argc > 2 && strstr(argv[1], "--file"))
+ scan_filename(argv[2], 1);
+
if (testmode && argc > 2) {
int q;
for (q = 2; q < argc; q++) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/kerneloops.dbus new/kerneloops-0.12/kerneloops.dbus
--- old/kerneloops-0.12/kerneloops.dbus 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.dbus 2008-09-13 17:21:04.000000000 +0200
@@ -12,6 +12,7 @@
<allow own="org.kerneloops.submit.ping"/>
<allow own="org.kerneloops.submit.permission"/>
<allow own="org.kerneloops.submit.sent"/>
+ <allow own="org.kerneloops.submit.url"/>
</policy>
<policy at_console="true">
@@ -20,6 +21,7 @@
<allow receive_sender="org.kerneloops.submit"/>
<allow receive_sender="org.kerneloops.submit.permission"/>
<allow receive_sender="org.kerneloops.submit.sent"/>
+ <allow receive_sender="org.kerneloops.submit.url"/>
<allow send_path="/org/kerneloops/submit"/>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/kerneloops.h new/kerneloops-0.12/kerneloops.h
--- old/kerneloops-0.12/kerneloops.h 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.h 2008-09-13 17:21:04.000000000 +0200
@@ -40,7 +40,7 @@
extern void ask_permission(void);
extern void dbus_ask_permission(char * detail_file_name);
-extern void dbus_say_thanks(void);
+extern void dbus_say_thanks(char *url);
extern int opted_in;
extern int allow_distro_to_pass_on;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/kerneloops.init new/kerneloops-0.12/kerneloops.init
--- old/kerneloops-0.12/kerneloops.init 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.init 2008-09-13 17:21:04.000000000 +0200
@@ -34,7 +34,7 @@
start() {
echo -n $"Starting $prog:"
- daemon $prog
+ daemon $prog $OPTS
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.12/submit.c new/kerneloops-0.12/submit.c
--- old/kerneloops-0.12/submit.c 2008-06-23 00:00:15.000000000 +0200
+++ new/kerneloops-0.12/submit.c 2008-09-13 17:21:04.000000000 +0200
@@ -182,6 +182,25 @@
closelog();
}
+char result_url[4096];
+
+size_t writefunction( void *ptr, size_t size, size_t nmemb, void __attribute((unused)) *stream)
+{
+ char *c, *c1, *c2;
+ c = malloc(size*nmemb + 1);
+ memset(c, 0, size*nmemb + 1);
+ memcpy(c, ptr, size*nmemb);
+ printf("received %s \n", c);
+ c1 = strstr(c, "201 ");
+ if (c1) {
+ c1+=4;
+ c2 = strchr(c1, '\n');
+ if (c2) *c2 = 0;
+ strncpy(result_url, c1, 4095);
+ }
+ return size * nmemb;
+}
+
void submit_queue(void)
{
int result;
@@ -189,6 +208,8 @@
struct oops *queue;
int count = 0;
+ memset(result_url, 0, 4096);
+
if (testmode) {
print_queue();
return;
@@ -204,8 +225,9 @@
struct curl_httppost *last = NULL;
struct oops *next;
-
handle = curl_easy_init();
+
+ printf("DEBUG SUBMIT URL is %s \n", submit_url);
curl_easy_setopt(handle, CURLOPT_URL, submit_url);
/* set up the POST data */
@@ -220,6 +242,7 @@
}
curl_easy_setopt(handle, CURLOPT_HTTPPOST, post);
+ curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunction);
result = curl_easy_perform(handle);
curl_formfree(post);
@@ -235,7 +258,7 @@
write_logfile(count);
if (count)
- dbus_say_thanks();
+ dbus_say_thanks(result_url);
/*
* If we've reached the maximum count, we'll exit the program,
* the program won't do any useful work anymore going forward.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 kbuild
checked in at Fri Sep 26 14:57:02 CEST 2008.
--------
--- kbuild/kbuild.changes 2008-05-13 11:21:48.000000000 +0200
+++ /mounts/work_src_done/STABLE/kbuild/kbuild.changes 2008-09-25 16:48:40.000000000 +0200
@@ -1,0 +2,21 @@
+Thu Sep 25 16:35:58 CEST 2008 - mkudlvasr(a)suse.cz
+
+- merge into openSUSE Factory
+
+-------------------------------------------------------------------
+Thu Sep 18 19:53:10 CEST 2008 - suse-tux(a)gmx.de
+
+- added Patch2 (kbuild-dummy_noreturn.diff) in order to make the build checks happy
+
+-------------------------------------------------------------------
+Sun Sep 14 20:13:08 CEST 2008 - suse-tux(a)gmx.de
+
+- update to 0.1.3svn1785
+
+-------------------------------------------------------------------
+Sun Sep 14 00:39:02 CEST 2008 - suse-tux(a)gmx.de
+
+- update to 0.1.3svn1775
+- removed kbuild-r1599_KBUILD_SVN_INFO_KMK-fix.diff
+
+-------------------------------------------------------------------
Old:
----
kbuild-0.1.2svn1599.tar.bz2
kbuild-r1599_KBUILD_SVN_INFO_KMK-fix.diff
New:
----
kbuild-0.1.3svn1785.tar.bz2
kbuild-dummy_noreturn.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kbuild.spec ++++++
--- /var/tmp/diff_new_pack.w17177/_old 2008-09-26 14:55:15.000000000 +0200
+++ /var/tmp/diff_new_pack.w17177/_new 2008-09-26 14:55:15.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package kbuild (Version 0.1.2svn1599)
+# spec file for package kbuild (Version 0.1.3svn1785)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -17,12 +24,12 @@
License: GPL v2 or later
Group: Development/Tools/Building
Summary: framework for writing simple makefiles for complex tasks
-Version: 0.1.2svn1599
+Version: 0.1.3svn1785
Release: 1
-Source0: %name-%{version}.tar.bz2
+Source0: %{name}-%{version}.tar.bz2
Patch0: kbuild-man.diff
Patch1: warnings.diff
-Patch2: kbuild-r1599_KBUILD_SVN_INFO_KMK-fix.diff
+Patch2: kbuild-dummy_noreturn.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -73,9 +80,18 @@
%defattr(-, root, root)
%{_prefix}/bin/*
%{_mandir}/*/*
-/usr/share/kBuild
+%{_datadir}/kBuild
%changelog
+* Thu Sep 25 2008 mkudlvasr(a)suse.cz
+- merge into openSUSE Factory
+* Thu Sep 18 2008 suse-tux(a)gmx.de
+- added Patch2 (kbuild-dummy_noreturn.diff) in order to make the build checks happy
+* Sun Sep 14 2008 suse-tux(a)gmx.de
+- update to 0.1.3svn1785
+* Sun Sep 14 2008 suse-tux(a)gmx.de
+- update to 0.1.3svn1775
+- removed kbuild-r1599_KBUILD_SVN_INFO_KMK-fix.diff
* Wed May 07 2008 dmueller(a)suse.de
- fix uninit return values
* Sun May 04 2008 suse-tux(a)gmx.de
++++++ kbuild-0.1.2svn1599.tar.bz2 -> kbuild-0.1.3svn1785.tar.bz2 ++++++
++++ 14370 lines of diff (skipped)
++++++ kbuild-dummy_noreturn.diff ++++++
Index: src/kmk/kmkbuiltin/expr.c
===================================================================
--- src/kmk/kmkbuiltin/expr.c.orig
+++ src/kmk/kmkbuiltin/expr.c
@@ -304,6 +304,8 @@ eval6(void)
return v;
} else {
error();
+ /* dummy return in order to make the build checks happy (this will never be reached) */
+ return NULL;
}
/* NOTREACHED */
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 java-1_7_0-icedtea
checked in at Fri Sep 26 14:55:07 CEST 2008.
--------
--- arch/i386/java-1_7_0-icedtea/java-1_7_0-icedtea.changes 2008-07-31 01:16:17.000000000 +0200
+++ /mounts/work_src_done/STABLE/java-1_7_0-icedtea/java-1_7_0-icedtea.changes 2008-09-26 09:06:30.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 26 09:05:27 CEST 2008 - mvyskocil(a)suse.cz
+
+- removed an ulimit usage.
+
+-------------------------------------------------------------------
Old:
----
minmem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-1_7_0-icedtea.spec ++++++
--- /var/tmp/diff_new_pack.S13795/_old 2008-09-26 14:54:42.000000000 +0200
+++ /var/tmp/diff_new_pack.S13795/_new 2008-09-26 14:54:42.000000000 +0200
@@ -2,9 +2,16 @@
# spec file for package java-1_7_0-icedtea (Version MACRO)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -15,7 +22,7 @@
%define openjdkver b24
%define origin icedtea
Version: %{icedteaver}_%{openjdkver}
-Release: 11
+Release: 12
Summary: Java runtime environment preview based on OpenJDK 7
Group: Development/Libraries/Java
License: GPL v2 only; - with the OpenJDK Assembly Exception and the GNU Classpath Exception
@@ -82,8 +89,6 @@
#
## Build-time and script-time only definitions:
#
-# the Java VM of the icedtea bootstrap JDK needs a HUGE amount of virtual memory:
-%define do_ulimit if [ %_arch = x86_64 ];then ulimit -v 5120000;else ulimit -v 3072000;fi
#
# Standard JPackage directories and symbolic links:
#
@@ -267,7 +272,6 @@
%if %do_prep
%prep
-%do_ulimit
%setup -q -n icedtea-%{icedteaver}
%setup -q -n icedtea-%{icedteaver} -T -D -a 2
%patch10 -p1
@@ -279,7 +283,6 @@
%if %do_build
%build
-%do_ulimit
unset JAVA_HOME
%if %{gcjbootstrap}
%define icedteaopt --with-libgcj-jar=%_javadir/libgcj-4.3.jar --with-gcj-home=%_jvmdir/java-1.5.0-gcj
@@ -743,6 +746,8 @@
%{_jvmdir}/%{jredir}/lib/%{archinstall}/gcjwebplugin.so
%changelog
+* Fri Sep 26 2008 mvyskocil(a)suse.cz
+- removed an ulimit usage.
* Thu Jul 31 2008 ro(a)suse.de
- fix build on i386 (patch from gcc bug)
* Sun Jun 08 2008 ro(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 ipmitool
checked in at Fri Sep 26 14:54:06 CEST 2008.
--------
--- ipmitool/ipmitool.changes 2008-09-12 16:43:28.000000000 +0200
+++ /mounts/work_src_done/STABLE/ipmitool/ipmitool.changes 2008-09-26 13:56:12.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 26 13:55:29 CEST 2008 - duwe(a)suse.de
+
+- fix ugly code and sloppy programming found by RPMlint
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ipmitool.spec ++++++
--- /var/tmp/diff_new_pack.ao4678/_old 2008-09-26 14:49:55.000000000 +0200
+++ /var/tmp/diff_new_pack.ao4678/_new 2008-09-26 14:49:55.000000000 +0200
@@ -23,7 +23,7 @@
Url: http://ipmitool.sourceforge.net/
Summary: Utility for IPMI Control
Version: 1.8.10
-Release: 1
+Release: 2
License: BSD 3-Clause
Group: System/Management
Source: http://heanet.dl.sourceforge.net/sourceforge/%{name}/%{name}-%{version}.tar…
@@ -73,7 +73,7 @@
%files
%defattr(-,root,root)
-%doc AUTHORS COPYING README contrib
+%doc AUTHORS COPYING README
%{_bindir}/*
%{_sbindir}/*
%{_datadir}/ipmitool
@@ -82,6 +82,8 @@
%doc %{_mandir}/man8/*
%changelog
+* Fri Sep 26 2008 duwe(a)suse.de
+- fix ugly code and sloppy programming found by RPMlint
* Fri Sep 12 2008 duwe(a)suse.de
- update to version 1.8.10 as requested in FATE#304431
+ remove fixes now in mainline
++++++ compile-fixes ++++++
--- /var/tmp/diff_new_pack.ao4678/_old 2008-09-26 14:49:55.000000000 +0200
+++ /var/tmp/diff_new_pack.ao4678/_new 2008-09-26 14:49:55.000000000 +0200
@@ -1,5 +1,73 @@
+--- ipmitool-1.8.10/lib/ipmi_chassis.c.orig 2008-07-09 22:14:42.000000000 +0200
++++ ipmitool-1.8.10/lib/ipmi_chassis.c 2008-09-26 13:28:16.000000000 +0200
+@@ -33,6 +33,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdio.h>
++#include <time.h>
+
+ #include <ipmitool/helper.h>
+ #include <ipmitool/ipmi.h>
+--- ipmitool-1.8.10/lib/ipmi_ekanalyzer.c.orig 2008-06-10 23:07:39.000000000 +0200
++++ ipmitool-1.8.10/lib/ipmi_ekanalyzer.c 2008-09-26 13:37:43.000000000 +0200
+@@ -3025,9 +3025,10 @@ ipmi_ek_display_address_table_record( st
+
+ for ( i = 0; i < entries; i++ ){
+ printf("\tHWAddr: 0x%02x - SiteNum: 0x%02x - SiteType: 0x%02x \n",
+- record->data[offset++],
+- record->data[offset++],
+- record->data[offset++]);
++ record->data[offset+2],
++ record->data[offset+1],
++ record->data[offset+0]);
++ offset += 3;
+ }
+ }
+
+@@ -3148,21 +3149,24 @@ ipmi_ek_display_shelf_ip_connection_reco
+ int offset = START_DATA_OFFSET;
+ if (offset > record->header.len){
+ printf(" Shelf Manager IP Address: %d.%d.%d.%d\n",
+- record->data[offset++], record->data[offset++],
+- record->data[offset++], record->data[offset++]
++ record->data[offset+3], record->data[offset+2],
++ record->data[offset+1], record->data[offset+0]
+ );
++ offset += 4;
+ }
+ if (offset > record->header.len){
+ printf(" Default Gateway Address: %d.%d.%d.%d\n",
+- record->data[offset++], record->data[offset++],
+- record->data[offset++], record->data[offset++]
++ record->data[offset+3], record->data[offset+2],
++ record->data[offset+1], record->data[offset+0]
+ );
++ offset += 4;
+ }
+ if (offset > record->header.len){
+- printf(" Subnet Mask: %d.%d.%d.%d\n", record->data[offset++],
+- record->data[offset++], record->data[offset++],
+- record->data[offset++]
++ printf(" Subnet Mask: %d.%d.%d.%d\n",
++ record->data[offset+3], record->data[offset+2],
++ record->data[offset+1], record->data[offset+0]
+ );
++ offset += 4;
+ }
+ }
+
--- ipmitool-1.8.10/lib/ipmi_fru.c.orig 2008-06-10 23:40:47.000000000 +0200
-+++ ipmitool-1.8.10/lib/ipmi_fru.c 2008-09-12 16:34:18.000000000 +0200
++++ ipmitool-1.8.10/lib/ipmi_fru.c 2008-09-26 13:22:52.000000000 +0200
+@@ -1259,7 +1259,8 @@ static void ipmi_fru_picmg_ext_print(uin
+
+ for (i=0; i<entries; i++) {
+ printf(" HWAddr: 0x%02x - SiteNum: 0x%02x - SiteType: 0x%02x \n",
+- fru_data[offset++], fru_data[offset++], fru_data[offset++]);
++ fru_data[offset+2], fru_data[offset+1], fru_data[offset+0]);
++ offset += 3;
+ }
+ }
+ break;
@@ -2353,7 +2353,7 @@ ipmi_fru_edit_multirec(struct ipmi_intf
fru_data = malloc(fru.size + 1);
if (fru_data == NULL) {
@@ -9,3 +77,41 @@
}
memset(fru_data, 0, fru.size + 1);
+--- ipmitool-1.8.10/lib/ipmi_hpmfwupg.c.orig 2008-06-10 23:02:10.000000000 +0200
++++ ipmitool-1.8.10/lib/ipmi_hpmfwupg.c 2008-09-26 13:46:19.000000000 +0200
+@@ -877,7 +877,7 @@ void HpmDisplayUpgrade( int skip, unsign
+ * Description: This function displays the information about version header
+ *
+ *****************************************************************************/
+-int HpmDisplayVersionHeader(int mode)
++void HpmDisplayVersionHeader(int mode)
+ {
+
+ if ( mode & IMAGE_VER)
+@@ -903,7 +903,7 @@ int HpmDisplayVersionHeader(int mode)
+ * Description: This function displays the version of the image and target
+ *
+ *****************************************************************************/
+-int HpmDisplayVersion(int mode,VERSIONINFO *pVersion)
++void HpmDisplayVersion(int mode,VERSIONINFO *pVersion)
+ {
+ char descString[12];
+ memset(&descString,0x00,12);
+@@ -974,7 +974,7 @@ int HpmfwupgTargetCheck(struct ipmi_intf
+ if (rc != HPMFWUPG_SUCCESS)
+ {
+ lprintf(LOG_NOTICE,"Verify whether the Target board is present \n");
+- return;
++ return rc;
+ }
+
+ rc = HpmfwupgGetTargetUpgCapabilities(intf, &targetCapCmd);
+@@ -3257,7 +3257,7 @@ int ipmi_hpmfwupg_main(struct ipmi_intf
+ if ( (argc == 0) || (strcmp(argv[0], "help") == 0) )
+ {
+ HpmfwupgPrintUsage();
+- return;
++ return rc;
+ }
+ if ( (strcmp(argv[0], "check") == 0) )
+ {
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 filesystem
checked in at Fri Sep 26 14:54:06 CEST 2008.
--------
--- filesystem/filesystem.changes 2008-09-15 18:11:19.000000000 +0200
+++ /mounts/work_src_done/STABLE/filesystem/filesystem.changes 2008-09-25 15:42:16.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Sep 25 15:42:06 CEST 2008 - lnussel(a)suse.de
+
+- change /var/games to 755 to prevent ill-considered maneuvers there
+ (bnc#429882)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ filesystem.spec ++++++
--- /var/tmp/diff_new_pack.ss1213/_old 2008-09-26 14:47:32.000000000 +0200
+++ /var/tmp/diff_new_pack.ss1213/_new 2008-09-26 14:47:32.000000000 +0200
@@ -24,7 +24,7 @@
AutoReqProv: on
Summary: Basic Directory Layout
Version: 11.0.42
-Release: 38
+Release: 39
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Obsoletes: aaa_dir
Provides: aaa_dir
@@ -172,6 +172,9 @@
%changelog
+* Thu Sep 25 2008 lnussel(a)suse.de
+- change /var/games to 755 to prevent ill-considered maneuvers there
+ (bnc#429882)
* Mon Sep 15 2008 jpr(a)suse.de
- Add nds_DE to the locale list
* Fri Sep 12 2008 aj(a)suse.de
++++++ directory.list ++++++
--- filesystem/directory.list 2008-08-20 13:57:27.000000000 +0200
+++ /mounts/work_src_done/STABLE/filesystem/directory.list 2008-09-25 15:42:03.000000000 +0200
@@ -170,7 +170,7 @@
0755 root root /var/lib
0755 root root /var/lib/empty
0755 news news /var/lib/news
-0775 games games /var/games
+0755 root root /var/games
0755 root root /var/lib/misc
0755 nobody root /var/lib/nobody
0700 root root /var/lib/pam_devperm
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 dmraid
checked in at Fri Sep 26 14:47:51 CEST 2008.
--------
--- dmraid/dmraid.changes 2008-09-24 18:25:11.000000000 +0200
+++ /mounts/work_src_done/STABLE/dmraid/dmraid.changes 2008-09-25 15:41:56.000000000 +0200
@@ -1,0 +2,17 @@
+Thu Sep 25 14:49:41 CEST 2008 - mkoenig(a)suse.de
+
+- update to 1.0.0rc15
+ * jm.c: fixed name handling
+ * nv.c: fixed endian bug
+ * added support for RAID set create/remove/rebuild and
+ event handling
+- needed for [fate#304215,fate#303950,fate#304216]
+- removed patches
+ dmraid-1.0.0.rc13-jm_termination.patch
+ dmraid-1.0.0.rc14-ddf1_segfault.patch
+ dmraid-add_uuid.patch
+ dmraid_fixup_nvidia.diff
+ dmraid-move-type-definition.diff
+ dmraid-pdc_max_sectors.patch
+
+-------------------------------------------------------------------
Old:
----
dmraid-1.0.0.rc13-fix_macro.patch
dmraid-1.0.0.rc13-jm_termination.patch
dmraid-1.0.0.rc14-ddf1_segfault.patch
dmraid-1.0.0.rc14.tar.bz2
dmraid-add_uuid.patch
dmraid_fixup_nvidia.diff
dmraid-move-type-definition.diff
dmraid-pdc_max_sectors.patch
New:
----
dmraid-1.0.0.rc15-fix_macro.patch
dmraid-1.0.0.rc15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dmraid.spec ++++++
--- /var/tmp/diff_new_pack.s30715/_old 2008-09-26 14:46:22.000000000 +0200
+++ /var/tmp/diff_new_pack.s30715/_new 2008-09-26 14:46:22.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package dmraid (Version 1.0.0.rc14)
+# spec file for package dmraid (Version 1.0.0.rc15)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -26,8 +26,8 @@
Group: System/Base
AutoReqProv: on
Summary: A Device-Mapper Software RAID Support Tool
-Version: 1.0.0.rc14
-Release: 96
+Version: 1.0.0.rc15
+Release: 1
Source: ftp://people.redhat.com/heinzm/sw/dmraid/src/dmraid-%{version}.tar.bz2
Source1: sysconfig.dmraid
Source2: boot.dmraid
@@ -37,15 +37,9 @@
Source6: libdmraid-events_DSO-1.0.0.rc4.tgz
Source7: dm_dso_reg_tool-1.0.0.rc2.tgz
Patch0: dmraid_fixup_paths3.diff
-Patch1: dmraid-add_uuid.patch
-Patch2: dmraid_fixup_nvidia.diff
Patch3: dmraid_duplicate_args.patch
Patch4: dmraid-1.0.0.rc13-geometry.patch
-Patch5: dmraid-1.0.0.rc13-jm_termination.patch
-Patch6: dmraid-1.0.0.rc13-fix_macro.patch
-Patch7: dmraid-pdc_max_sectors.patch
-Patch8: dmraid-1.0.0.rc14-ddf1_segfault.patch
-Patch9: dmraid-move-type-definition.diff
+Patch6: dmraid-1.0.0.rc15-fix_macro.patch
Patch10: dmraid-1.0.0.rc14-fixup_lsi1068e.patch
# libdmraid-events
Patch50: libdmraid-events.dif
@@ -112,15 +106,9 @@
%prep
%setup -a 6 -a 7 -n dmraid/%{version}
%patch0 -p2
-%patch1 -p1
-%patch2 -p2
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
%patch10 -p1
pushd libdmraid*
%patch50
@@ -205,6 +193,20 @@
/%{_lib}/libdmraid-events.so.0
%changelog
+* Thu Sep 25 2008 mkoenig(a)suse.de
+- update to 1.0.0rc15
+ * jm.c: fixed name handling
+ * nv.c: fixed endian bug
+ * added support for RAID set create/remove/rebuild and
+ event handling
+- needed for [fate#304215,fate#303950,fate#304216]
+- removed patches
+ dmraid-1.0.0.rc13-jm_termination.patch
+ dmraid-1.0.0.rc14-ddf1_segfault.patch
+ dmraid-add_uuid.patch
+ dmraid_fixup_nvidia.diff
+ dmraid-move-type-definition.diff
+ dmraid-pdc_max_sectors.patch
* Wed Sep 24 2008 ro(a)suse.de
- change "udevsettle" to "udevadm settle"
* Tue Sep 16 2008 mkoenig(a)suse.de
++++++ dmraid-1.0.0.rc13-geometry.patch ++++++
--- /var/tmp/diff_new_pack.s30715/_old 2008-09-26 14:46:22.000000000 +0200
+++ /var/tmp/diff_new_pack.s30715/_new 2008-09-26 14:46:22.000000000 +0200
@@ -1,20 +1,11 @@
-Index: 1.0.0.rc13/lib/activate/devmapper.c
+Index: 1.0.0.rc15/lib/activate/devmapper.c
===================================================================
---- 1.0.0.rc13.orig/lib/activate/devmapper.c
-+++ 1.0.0.rc13/lib/activate/devmapper.c
-@@ -164,6 +164,7 @@ static int run_task(struct lib_context *
- _init_dm();
- ret = (dmt = dm_task_create(type)) && dm_task_set_name(dmt, rs->name) &&
- dm_task_set_uuid(dmt, uuid);
-+
- if (ret && table)
- ret = parse_table(lc, dmt, table);
-
-@@ -174,6 +175,83 @@ static int run_task(struct lib_context *
- free(uuid);
+--- 1.0.0.rc15.orig/lib/activate/devmapper.c 2008-06-20 18:03:04.000000000 +0200
++++ 1.0.0.rc15/lib/activate/devmapper.c 2008-09-24 16:20:58.000000000 +0200
+@@ -207,6 +207,82 @@ run_task(struct lib_context *lc, struct
return ret;
}
-+
+
+int get_edd_value(unsigned long *value, const char *path)
+{
+ FILE *file;
@@ -92,9 +83,9 @@
+}
+
/* Create a mapped device. */
- int dm_create(struct lib_context *lc, struct raid_set *rs, char *table)
- {
-@@ -182,6 +260,10 @@ int dm_create(struct lib_context *lc, st
+ int
+ dm_create(struct lib_context *lc, struct raid_set *rs, char *table)
+@@ -216,6 +292,10 @@ dm_create(struct lib_context *lc, struct
/* Create <dev_name> */
ret = run_task(lc, rs, table, DM_DEVICE_CREATE);
++++++ dmraid-1.0.0.rc14-fixup_lsi1068e.patch ++++++
--- /var/tmp/diff_new_pack.s30715/_old 2008-09-26 14:46:22.000000000 +0200
+++ /var/tmp/diff_new_pack.s30715/_new 2008-09-26 14:46:22.000000000 +0200
@@ -1,18 +1,18 @@
-Index: 1.0.0.rc14/lib/format/ddf/ddf1.c
+Index: 1.0.0.rc15/lib/format/ddf/ddf1.c
===================================================================
---- 1.0.0.rc14.orig/lib/format/ddf/ddf1.c
-+++ 1.0.0.rc14/lib/format/ddf/ddf1.c
-@@ -28,6 +28,9 @@ static const char *handler = HANDLER;
- // #define PCI_VENDOR_ID_ADAPTEC 0x9004
+--- 1.0.0.rc15.orig/lib/format/ddf/ddf1.c 2008-06-20 18:04:10.000000000 +0200
++++ 1.0.0.rc15/lib/format/ddf/ddf1.c 2008-09-24 16:10:34.000000000 +0200
+@@ -40,6 +40,9 @@ static const char *handler = HANDLER;
+ // #define PCI_VENDOR_ID_ADAPTEC 0x9004
#define PCI_VENDOR_ID_ADAPTEC2 0x9005
+/* PCI IDs for LSI */
+#define PCI_VENDOR_ID_LSI 0x1000
+
/* Map DDF1 disk status to dmraid status */
- static enum status disk_status(struct ddf1_phys_drive *disk) {
- struct states states[] = {
-@@ -358,6 +361,13 @@ static int read_extended(struct lib_cont
+ static enum status
+ disk_status(struct ddf1_phys_drive *disk)
+@@ -378,6 +381,13 @@ read_extended(struct lib_context *lc, st
ddf1->adaptec_mode = 1;
}
@@ -26,29 +26,29 @@
/* Read physical drive characteristic data */
where = to_bytes(pri->primary_table_lba + pri->disk_data_offset);
if (!(ddata = ddf1->disk_data =
-@@ -667,10 +677,14 @@ static char *name(struct lib_context *lc
+@@ -692,10 +702,14 @@ name(struct lib_context *lc, struct ddf1
} else {
char *b;
- for (b = buf + prefix, i = 0; i < 24; b += 8, i += 4)
- sprintf(b, "%02x%02x%02x%02x",
-- vd->guid[i], vd->guid[i+1],
-- vd->guid[i+2], vd->guid[i+3]);
-+ for (b = buf + prefix, i = 0; i < 24; b += 8, i += 4) {
-+ if (i == 16 && ddf1->lsi_mode)
-+ sprintf(b, "00000000");
-+ else
-+ sprintf(b, "%02x%02x%02x%02x",
-+ vd->guid[i], vd->guid[i+1],
-+ vd->guid[i+2], vd->guid[i+3]);
-+ }
+- vd->guid[i], vd->guid[i + 1],
+- vd->guid[i + 2], vd->guid[i + 3]);
++ for (b = buf + prefix, i = 0; i < 24; b += 8, i += 4) {
++ if (i == 16 && ddf1->lsi_mode)
++ sprintf(b, "00000000");
++ else
++ sprintf(b, "%02x%02x%02x%02x",
++ vd->guid[i], vd->guid[i+1],
++ vd->guid[i+2], vd->guid[i+3]);
++ }
}
- out:
-Index: 1.0.0.rc14/lib/format/ddf/ddf1.h
+ out:
+Index: 1.0.0.rc15/lib/format/ddf/ddf1.h
===================================================================
---- 1.0.0.rc14.orig/lib/format/ddf/ddf1.h
-+++ 1.0.0.rc14/lib/format/ddf/ddf1.h
+--- 1.0.0.rc15.orig/lib/format/ddf/ddf1.h 2008-06-12 12:54:32.000000000 +0200
++++ 1.0.0.rc15/lib/format/ddf/ddf1.h 2008-09-24 16:03:52.000000000 +0200
@@ -264,6 +264,7 @@ struct ddf1 {
int disk_format;
int in_cpu_format;
++++++ dmraid-1.0.0.rc13-fix_macro.patch -> dmraid-1.0.0.rc15-fix_macro.patch ++++++
--- dmraid/dmraid-1.0.0.rc13-fix_macro.patch 2007-01-16 00:10:18.000000000 +0100
+++ /mounts/work_src_done/STABLE/dmraid/dmraid-1.0.0.rc15-fix_macro.patch 2008-09-25 15:41:41.000000000 +0200
@@ -1,13 +1,13 @@
-Index: 1.0.0.rc13/lib/internal.h
+Index: 1.0.0.rc15/lib/internal.h
===================================================================
---- 1.0.0.rc13.orig/lib/internal.h
-+++ 1.0.0.rc13/lib/internal.h
+--- 1.0.0.rc15.orig/lib/internal.h 2008-06-12 12:54:32.000000000 +0200
++++ 1.0.0.rc15/lib/internal.h 2008-09-25 15:41:37.000000000 +0200
@@ -49,8 +49,8 @@
#define u_int64_t uint64_t
#endif
--#define min(a, b) a < b ? a : b
--#define max(a, b) a > b ? a : b
+-#define min(a, b) (a) < (b) ? (a) : (b)
+-#define max(a, b) (a) > (b) ? (a) : (b)
+#define min(a, b) ((a) < (b) ? (a) : (b))
+#define max(a, b) ((a) > (b) ? (a) : (b))
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*a))
++++++ dmraid-1.0.0.rc14.tar.bz2 -> dmraid-1.0.0.rc15.tar.bz2 ++++++
++++ 66671 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 cups
checked in at Fri Sep 26 14:47:05 CEST 2008.
--------
--- cups/cups.changes 2008-09-12 23:55:40.000000000 +0200
+++ /mounts/work_src_done/STABLE/cups/cups.changes 2008-09-25 12:34:13.737930000 +0200
@@ -1,0 +2,16 @@
+Thu Sep 25 12:33:59 CEST 2008 - kssingvo(a)suse.de
+
+- added und integrated latest patches from upstream bugzilla:
+ cups-1.3.8-custom_ppd_fix.patch (CUPS STR #2889)
+ cups-1.3.8-ssl_firefox.patch (CUPS STR #2892)
+ cups-1.3.8-cupsfilter_path.patch (CUPS STR #2908)
+ cups-1.3.8-pjl_ready_message.patch (CUPS STR #2909)
+ cups-1.3.8-listener_compare.patch (CUPS STR #2910)
+ cups-1.3.8-manyjob_finish.patch (CUPS STR #2913)
+ cups-1.3.8-resolver_reinit.patch (CUPS STR #2920)
+ cups-1.3.8-startstop_msg.patch (CUPS STR #2927)
+ cups-1.3.8-noclobber_symlink.patch (CUPS STR #2937)
+ cups-1.3.8-more_debuginfo.patch (CUPS STR #2943)
+ cups-1.3.8-hostlookup.patch (CUPS STR #2946)
+
+-------------------------------------------------------------------
New:
----
cups-1.3.8-cupsfilter_path.patch
cups-1.3.8-custom_ppd_fix.patch
cups-1.3.8-hostlookup.patch
cups-1.3.8-listener_compare.patch
cups-1.3.8-manyjob_finish.patch
cups-1.3.8-more_debuginfo.patch
cups-1.3.8-noclobber_symlink.patch
cups-1.3.8-pjl_ready_message.patch
cups-1.3.8-resolver_reinit.patch.bz2
cups-1.3.8-ssl_firefox.patch
cups-1.3.8-startstop_msg.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cups.spec ++++++
--- /var/tmp/diff_new_pack.x30228/_old 2008-09-26 14:46:19.000000000 +0200
+++ /var/tmp/diff_new_pack.x30228/_new 2008-09-26 14:46:19.000000000 +0200
@@ -30,7 +30,7 @@
Group: Hardware/Printing
Summary: The Common UNIX Printing System
Version: 1.3.8
-Release: 30
+Release: 33
Requires: cups-libs = %{version}, cups-client = %{version}
Requires: ghostscript_any, ghostscript-fonts-std, foomatic-filters
Requires: util-linux /usr/bin/pdftops
@@ -80,6 +80,17 @@
Patch20: cups-1.3.7-keeping_recommended.patch
Patch21: cups-1.3.7-lppasswd_fixperm.patch
Patch22: cups-1.3.7-additional_policies.patch
+Patch23: cups-1.3.8-custom_ppd_fix.patch
+Patch24: cups-1.3.8-ssl_firefox.patch
+Patch25: cups-1.3.8-listener_compare.patch
+Patch26: cups-1.3.8-cupsfilter_path.patch
+Patch27: cups-1.3.8-pjl_ready_message.patch
+Patch28: cups-1.3.8-manyjob_finish.patch
+Patch29: cups-1.3.8-resolver_reinit.patch.bz2
+Patch30: cups-1.3.8-startstop_msg.patch
+Patch31: cups-1.3.8-noclobber_symlink.patch
+Patch32: cups-1.3.8-more_debuginfo.patch
+Patch33: cups-1.3.8-hostlookup.patch
Patch100: cups-1.1.23-testpage.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -181,6 +192,17 @@
%patch20 -p1
%patch21 -p1
%patch22 -p1
+%patch23 -p0
+%patch24 -p0
+%patch25 -p0
+%patch26 -p1
+%patch27 -p1
+%patch28 -p1
+%patch29 -p0
+%patch30 -p0
+%patch31 -p0
+%patch32 -p0
+%patch33 -p0
if [ -f /.buildenv ]; then
. /.buildenv
test -z "$BUILD_DISTRIBUTION_NAME" && BUILD_DISTRIBUTION_NAME="%{?distribution}"
@@ -434,6 +456,19 @@
%{_datadir}/locale/*/cups_*
%changelog
+* Thu Sep 25 2008 kssingvo(a)suse.de
+- added und integrated latest patches from upstream bugzilla:
+ cups-1.3.8-custom_ppd_fix.patch (CUPS STR #2889)
+ cups-1.3.8-ssl_firefox.patch (CUPS STR #2892)
+ cups-1.3.8-cupsfilter_path.patch (CUPS STR #2908)
+ cups-1.3.8-pjl_ready_message.patch (CUPS STR #2909)
+ cups-1.3.8-listener_compare.patch (CUPS STR #2910)
+ cups-1.3.8-manyjob_finish.patch (CUPS STR #2913)
+ cups-1.3.8-resolver_reinit.patch (CUPS STR #2920)
+ cups-1.3.8-startstop_msg.patch (CUPS STR #2927)
+ cups-1.3.8-noclobber_symlink.patch (CUPS STR #2937)
+ cups-1.3.8-more_debuginfo.patch (CUPS STR #2943)
+ cups-1.3.8-hostlookup.patch (CUPS STR #2946)
* Thu Sep 11 2008 kssingvo(a)suse.de
- removed hplip in init script: hplip is no more (bnc#390663)
* Tue Sep 09 2008 kssingvo(a)suse.de
++++++ cups-1.3.8-cupsfilter_path.patch ++++++
cupsfilter PATH typo
From: Johan Kiviniemi <cups.org(a)johan.kiviniemi.name>
Fix a typo in scheduler/cupsfilter.c, which caused filters not to have /bin
in their PATH.
---
scheduler/cupsfilter.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/scheduler/cupsfilter.c b/scheduler/cupsfilter.c
index f60c284..d387ecf 100644
--- a/scheduler/cupsfilter.c
+++ b/scheduler/cupsfilter.c
@@ -1053,7 +1053,7 @@ read_cupsd_conf(const char *filename) /* I - File to read */
}
snprintf(line, sizeof(line),
- "%s/filter:" CUPS_BINDIR ":" CUPS_SBINDIR ":/bin/usr/bin",
+ "%s/filter:" CUPS_BINDIR ":" CUPS_SBINDIR ":/bin:/usr/bin",
ServerBin);
set_string(&Path, line);
++++++ cups-1.3.8-custom_ppd_fix.patch ++++++
Index: cups/emit.c
===================================================================
--- cups/emit.c (revision 7786)
+++ cups/emit.c (revision 7787)
@@ -547,8 +547,41 @@
for (i = 0, bufsize = 1; i < count; i ++)
{
- if (section != PPD_ORDER_EXIT && section != PPD_ORDER_JCL)
+ if (section == PPD_ORDER_JCL)
{
+ if (!strcasecmp(choices[i]->choice, "Custom") &&
+ (coption = ppdFindCustomOption(ppd, choices[i]->option->keyword))
+ != NULL)
+ {
+ /*
+ * Add space to account for custom parameter substitution...
+ */
+
+ for (cparam = (ppd_cparam_t *)cupsArrayFirst(coption->params);
+ cparam;
+ cparam = (ppd_cparam_t *)cupsArrayNext(coption->params))
+ {
+ switch (cparam->type)
+ {
+ case PPD_CUSTOM_CURVE :
+ case PPD_CUSTOM_INVCURVE :
+ case PPD_CUSTOM_POINTS :
+ case PPD_CUSTOM_REAL :
+ case PPD_CUSTOM_INT :
+ bufsize += 10;
+ break;
+
+ case PPD_CUSTOM_PASSCODE :
+ case PPD_CUSTOM_PASSWORD :
+ case PPD_CUSTOM_STRING :
+ bufsize += strlen(cparam->current.custom_string);
+ break;
+ }
+ }
+ }
+ }
+ else if (section != PPD_ORDER_EXIT)
+ {
bufsize += 3; /* [{\n */
if ((!strcasecmp(choices[i]->option->keyword, "PageSize") ||
@@ -626,8 +659,90 @@
*/
for (i = 0, bufptr = buffer; i < count; i ++, bufptr += strlen(bufptr))
- if (section != PPD_ORDER_EXIT && section != PPD_ORDER_JCL)
+ if (section == PPD_ORDER_JCL)
{
+ if (!strcasecmp(choices[i]->choice, "Custom") &&
+ (coption = ppdFindCustomOption(ppd, choices[i]->option->keyword))
+ != NULL)
+ {
+ /*
+ * Handle substitutions in custom JCL options...
+ */
+
+ char *cptr; /* Pointer into code */
+ int pnum; /* Parameter number */
+
+
+ for (cptr = choices[i]->code; *cptr && bufptr < bufend;)
+ {
+ if (*cptr == '\\')
+ {
+ cptr ++;
+
+ if (isdigit(*cptr & 255))
+ {
+ /*
+ * Substitute parameter...
+ */
+
+ pnum = *cptr++ - '0';
+ while (isalnum(*cptr & 255))
+ pnum = pnum * 10 + *cptr - '0';
+
+ for (cparam = (ppd_cparam_t *)cupsArrayFirst(coption->params);
+ cparam;
+ cparam = (ppd_cparam_t *)cupsArrayNext(coption->params))
+ if (cparam->order == pnum)
+ break;
+
+ if (cparam)
+ {
+ switch (cparam->type)
+ {
+ case PPD_CUSTOM_CURVE :
+ case PPD_CUSTOM_INVCURVE :
+ case PPD_CUSTOM_POINTS :
+ case PPD_CUSTOM_REAL :
+ bufptr = _cupsStrFormatd(bufptr, bufend,
+ cparam->current.custom_real,
+ loc);
+ break;
+
+ case PPD_CUSTOM_INT :
+ snprintf(bufptr, bufend - bufptr, "%d",
+ cparam->current.custom_int);
+ bufptr += strlen(bufptr);
+ break;
+
+ case PPD_CUSTOM_PASSCODE :
+ case PPD_CUSTOM_PASSWORD :
+ case PPD_CUSTOM_STRING :
+ strlcpy(bufptr, cparam->current.custom_string,
+ bufend - bufptr);
+ bufptr += strlen(bufptr);
+ break;
+ }
+ }
+ }
+ else if (*cptr)
+ *bufptr++ = *cptr++;
+ }
+ else
+ *bufptr++ = *cptr++;
+ }
+ }
+ else
+ {
+ /*
+ * Otherwise just copy the option code directly...
+ */
+
+ strlcpy(bufptr, choices[i]->code, bufend - bufptr + 1);
+ bufptr += strlen(bufptr);
+ }
+ }
+ else if (section != PPD_ORDER_EXIT)
+ {
/*
* Add wrapper commands to prevent printer errors for unsupported
* options...
@@ -759,8 +874,7 @@
}
}
else if (!strcasecmp(choices[i]->choice, "Custom") &&
- (coption = ppdFindCustomOption(ppd,
- choices[i]->option->keyword))
+ (coption = ppdFindCustomOption(ppd, choices[i]->option->keyword))
!= NULL)
{
/*
Index: cups/ppd.c
===================================================================
--- cups/ppd.c (revision 7786)
+++ cups/ppd.c (revision 7787)
@@ -1050,6 +1050,9 @@
sizeof(choice->text));
choice->code = strdup(string);
+
+ if (custom_option->section == PPD_ORDER_JCL)
+ ppd_decode(choice->code);
}
/*
++++++ cups-1.3.8-hostlookup.patch ++++++
Index: scheduler/client.c
===================================================================
--- scheduler/client.c (revision 7949)
+++ scheduler/client.c (revision 7950)
@@ -437,14 +437,22 @@
#ifdef AF_INET6
if (temp.addr.sa_family == AF_INET6)
{
- httpAddrLookup(&temp, con->servername, sizeof(con->servername));
+ if (HostNameLookups)
+ httpAddrLookup(&temp, con->servername, sizeof(con->servername));
+ else
+ httpAddrString(&temp, con->servername, sizeof(con->servername));
+
con->serverport = ntohs(lis->address.ipv6.sin6_port);
}
else
#endif /* AF_INET6 */
if (temp.addr.sa_family == AF_INET)
{
- httpAddrLookup(&temp, con->servername, sizeof(con->servername));
+ if (HostNameLookups)
+ httpAddrLookup(&temp, con->servername, sizeof(con->servername));
+ else
+ httpAddrString(&temp, con->servername, sizeof(con->servername));
+
con->serverport = ntohs(lis->address.ipv4.sin_port);
}
else
++++++ cups-1.3.8-listener_compare.patch ++++++
Index: Makefile
===================================================================
--- Makefile (revision 7860)
+++ Makefile (working copy)
@@ -116,7 +116,7 @@
fi
$(MAKE) $(MFLAGS) CC="scan-build -o ../clang $(CC)" \
CXX="scan-build -o ../clang $(CXX)" clean all
- test `ls -1 clang | wc -l` != 0 || exit 1
+ test `ls -1 clang | wc -l` = 0
#
Index: scheduler/network.c
===================================================================
--- scheduler/network.c (revision 7860)
+++ scheduler/network.c (working copy)
@@ -245,24 +245,29 @@
else if (addr->ifa_addr->sa_family == AF_INET &&
lis->address.addr.sa_family == AF_INET &&
(lis->address.ipv4.sin_addr.s_addr &
- temp->mask.ipv4.sin_addr.s_addr) ==
- temp->address.ipv4.sin_addr.s_addr)
+ temp->mask.ipv4.sin_addr.s_addr) ==
+ (temp->address.ipv4.sin_addr.s_addr &
+ temp->mask.ipv4.sin_addr.s_addr))
match = 1;
#ifdef AF_INET6
else if (addr->ifa_addr->sa_family == AF_INET6 &&
lis->address.addr.sa_family == AF_INET6 &&
(lis->address.ipv6.sin6_addr.s6_addr[0] &
- temp->mask.ipv6.sin6_addr.s6_addr[0]) ==
- temp->address.ipv6.sin6_addr.s6_addr[0] &&
+ temp->mask.ipv6.sin6_addr.s6_addr[0]) ==
+ (temp->address.ipv6.sin6_addr.s6_addr[0] &
+ temp->mask.ipv6.sin6_addr.s6_addr[0]) &&
(lis->address.ipv6.sin6_addr.s6_addr[1] &
- temp->mask.ipv6.sin6_addr.s6_addr[1]) ==
- temp->address.ipv6.sin6_addr.s6_addr[1] &&
+ temp->mask.ipv6.sin6_addr.s6_addr[1]) ==
+ (temp->address.ipv6.sin6_addr.s6_addr[1] &
+ temp->mask.ipv6.sin6_addr.s6_addr[1]) &&
(lis->address.ipv6.sin6_addr.s6_addr[2] &
- temp->mask.ipv6.sin6_addr.s6_addr[2]) ==
- temp->address.ipv6.sin6_addr.s6_addr[2] &&
+ temp->mask.ipv6.sin6_addr.s6_addr[2]) ==
+ (temp->address.ipv6.sin6_addr.s6_addr[2] &
+ temp->mask.ipv6.sin6_addr.s6_addr[2]) &&
(lis->address.ipv6.sin6_addr.s6_addr[3] &
- temp->mask.ipv6.sin6_addr.s6_addr[3]) ==
- temp->address.ipv6.sin6_addr.s6_addr[3])
+ temp->mask.ipv6.sin6_addr.s6_addr[3]) ==
+ (temp->address.ipv6.sin6_addr.s6_addr[3] &
+ temp->mask.ipv6.sin6_addr.s6_addr[3]))
match = 1;
#endif /* AF_INET6 */
@@ -284,8 +289,8 @@
cupsArrayAdd(NetIFList, temp);
- cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdNetIFUpdate: \"%s\" = %s...",
- temp->name, temp->hostname);
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdNetIFUpdate: \"%s\" = %s:%d",
+ temp->name, temp->hostname, temp->port);
}
freeifaddrs(addrs);
++++++ cups-1.3.8-manyjob_finish.patch ++++++
--- a/systemv/lpstat.c Sat Jul 12 00:48:49 2008
+++ b/systemv/lpstat.c Wed Aug 27 22:32:02 2008
@@ -1398,6 +1398,7 @@
*title; /* Pointer to job-name */
int rank, /* Rank in queue */
jobid, /* job-id */
+ first, /* first-job-id */
size; /* job-k-octets */
time_t jobtime; /* time-at-creation */
struct tm *jobdate; /* Date & time */
@@ -1405,7 +1406,8 @@
*ptr; /* Pointer into printer name */
int match; /* Non-zero if this job matches */
char temp[255], /* Temporary buffer */
- date[255]; /* Date buffer */
+ date[255], /* Date buffer */
+ joburi[HTTP_MAX_URI]; /* Job-URI */
static const char *jattrs[] = /* Attributes we need for jobs... */
{
"job-id",
@@ -1416,6 +1418,7 @@
"job-originating-user-name",
"job-state-reasons"
};
+ int limit = 25; /* Limit for IPP_GET_JOBS */
DEBUG_printf(("show_jobs(%p, %p, %p)\n", http, dests, users));
@@ -1426,6 +1429,13 @@
if (dests != NULL && !strcmp(dests, "all"))
dests = NULL;
+ rank = -1;
+ jobid = -1;
+ first = 1;
+
+ while (jobid != 0)
+ {
+
/*
* Build a IPP_GET_JOBS request, which requires the following
* attributes:
@@ -1442,18 +1452,34 @@
"requested-attributes", sizeof(jattrs) / sizeof(jattrs[0]),
NULL, jattrs);
+ snprintf(joburi,sizeof(joburi),"ipp://localhost/%s%s",dests ? "printers/" :
+ "jobs/", dests ? dests : "");
+
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri",
- NULL, "ipp://localhost/jobs/");
+ NULL, joburi);
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
NULL, which);
+ /*
+ * Search with Limits
+ */
+
+ ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "limit",
+ limit);
+
+ ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER, "first-job-id",
+ first);
+
/*
* Do the request and get back a response...
*/
if ((response = cupsDoRequest(http, request, "/")) != NULL)
{
+
+ jobid = 0;
+
/*
* Loop through the job list and display them...
*/
@@ -1465,7 +1491,6 @@
return (1);
}
- rank = -1;
for (attr = response->attrs; attr != NULL; attr = attr->next)
{
@@ -1681,7 +1706,10 @@
if (attr == NULL)
break;
}
-
+
+ if (jobid)
+ first = jobid + 1;
+
ippDelete(response);
}
else
@@ -1689,6 +1717,8 @@
_cupsLangPrintf(stderr, "lpstat: %s\n", cupsLastErrorString());
return (1);
}
+
+ } /* Loops until Jobs in List */
return (0);
}
diff --git a/cgi-bin/ipp-var.c b/cgi-bin/ipp-var.c
index 1de7cae..9522667 100644
--- a/cgi-bin/ipp-var.c
+++ b/cgi-bin/ipp-var.c
@@ -1217,48 +1217,92 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
ipp_attribute_t *job; /* Job object */
int ascending, /* Order of jobs (0 = descending) */
first, /* First job to show */
- count; /* Number of jobs */
+ final, /* This is the last request */
+ returned, /* Number of jobs in response */
+ count, /* Number of matching jobs */
+ total; /* Total number of matching jobs */
const char *var; /* Form variable */
void *search; /* Search data */
char url[1024], /* URL for prev/next/this */
*urlptr, /* Position in URL */
*urlend; /* End of URL */
+ int *job_ids; /* Array of job IDs */
+ size_t job_ids_alloc, /* Allocation size for array */
+ n_job_ids; /* Elements in array */
+ job_ids_alloc = 512;
+ n_job_ids = 0;
+ job_ids = malloc (sizeof (int) * job_ids_alloc);
+ first = 0;
+ final = 0;
+ total = 0;
+
+ if ((var = cgiGetVariable("ORDER")) != NULL)
+ ascending = !strcasecmp(var, "asc");
+ else
+ {
+ ascending = !which_jobs || !strcasecmp(which_jobs, "not-completed");
+ cgiSetVariable("ORDER", ascending ? "asc" : "dec");
+ }
+
/*
- * Build an IPP_GET_JOBS request, which requires the following
- * attributes:
- *
- * attributes-charset
- * attributes-natural-language
- * printer-uri
+ * Fetch the jobs in batches, not all at once. This gives the
+ * scheduler time to process other requests in between ours.
*/
+ do
+ {
+ int first_job_id;
- request = ippNewRequest(IPP_GET_JOBS);
+ /*
+ * Build an IPP_GET_JOBS request, which requires the following
+ * attributes:
+ *
+ * attributes-charset
+ * attributes-natural-language
+ * printer-uri
+ */
- if (dest)
- {
- httpAssembleURIf(HTTP_URI_CODING_ALL, url, sizeof(url), "ipp", NULL,
- "localhost", ippPort(), "/printers/%s", dest);
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
- NULL, url);
- }
- else
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri", NULL,
- "ipp://localhost/jobs");
+ request = ippNewRequest(IPP_GET_JOBS);
+
+ if (dest)
+ {
+ httpAssembleURIf(HTTP_URI_CODING_ALL, url, sizeof(url), "ipp", NULL,
+ "localhost", ippPort(), "/printers/%s", dest);
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
+ NULL, url);
+ }
+ else
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri", NULL,
+ "ipp://localhost/jobs");
- if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
- NULL, which_jobs);
+ if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
+ NULL, which_jobs);
- cgiGetAttributes(request, "jobs.tmpl");
+ if (first > 0)
+ {
+ ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER,
+ "first-job-id", first);
+ first_job_id = first;
+ }
- /*
- * Do the request and get back a response...
- */
+ ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_INTEGER,
+ "limit", CUPS_PAGE_MAX);
+
+ cgiGetAttributes(request, "jobs.tmpl");
+
+ if ((response = cupsDoRequest(http, request, "/")) == NULL)
+ break;
+
+ /*
+ * We need to know if we got as many jobs as we asked for to know
+ * when we've reached the end.
+ */
+ jobs = cgiGetIPPObjects(response, NULL);
+ returned = cupsArrayCount(jobs);
+ cupsArrayDelete(jobs);
- if ((response = cupsDoRequest(http, request, "/")) != NULL)
- {
/*
* Get a list of matching job objects.
*/
@@ -1274,44 +1318,107 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
if (search)
cgiFreeSearch(search);
- /*
- * Figure out which jobs to display...
- */
+ if (final)
+ /*
+ * We now have the jobs we need to display.
+ */
+ break;
+
+ total += count;
+ for (i = 0; i < count; i++)
+ {
+ ipp_attribute_t *attr;
+ for (attr = (ipp_attribute_t *) cupsArrayIndex (jobs, i);
+ attr && attr->group_tag != IPP_TAG_ZERO;
+ attr = attr->next)
+ {
+ if (!strcmp (attr->name, "job-id") &&
+ attr->value_tag == IPP_TAG_INTEGER)
+ {
+ if (n_job_ids == job_ids_alloc)
+ {
+ int *old = job_ids;
+ job_ids_alloc *= 2;
+ job_ids = realloc (job_ids, sizeof (int) * job_ids_alloc);
+ if (job_ids == NULL)
+ {
+ job_ids = old;
+ break;
+ }
+ }
+
+ job_ids[n_job_ids++] = attr->values[0].integer;
+ first = attr->values[0].integer + 1;
+ break;
+ }
+ }
+ }
+
+ if (returned < CUPS_PAGE_MAX)
+ {
+ /*
+ * One last request to fetch the jobs we're really interested in.
+ */
+ final = 1;
+
+ /*
+ * Figure out which jobs we need.
+ */
+ if ((var = cgiGetVariable("FIRST")) != NULL)
+ first = atoi(var);
+ else
+ first = 0;
+
+ if (!ascending)
+ first = total - first - CUPS_PAGE_MAX;
+
+ if (first >= total)
+ first = total - CUPS_PAGE_MAX;
+
+ if (first < 0)
+ first = 0;
+
+ first = job_ids[first];
+ free (job_ids);
+ if (first == first_job_id)
+ /*
+ * We have just requested these jobs so no need to re-fetch.
+ */
+ break;
+
+ cupsArrayDelete(jobs);
+ ippDelete(response);
+ }
+ } while (final || (returned == CUPS_PAGE_MAX && first > 0));
+
+ if (response != NULL)
+ {
+ sprintf(url, "%d", total);
+ cgiSetVariable("TOTAL", url);
if ((var = cgiGetVariable("FIRST")) != NULL)
first = atoi(var);
else
first = 0;
- if (first >= count)
- first = count - CUPS_PAGE_MAX;
+ if (first >= total)
+ first = total - CUPS_PAGE_MAX;
first = (first / CUPS_PAGE_MAX) * CUPS_PAGE_MAX;
if (first < 0)
first = 0;
- sprintf(url, "%d", count);
- cgiSetVariable("TOTAL", url);
-
- if ((var = cgiGetVariable("ORDER")) != NULL)
- ascending = !strcasecmp(var, "asc");
- else
- {
- ascending = !which_jobs || !strcasecmp(which_jobs, "not-completed");
- cgiSetVariable("ORDER", ascending ? "asc" : "dec");
- }
-
if (ascending)
{
- for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, first);
+ for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, 0);
i < CUPS_PAGE_MAX && job;
i ++, job = (ipp_attribute_t *)cupsArrayNext(jobs))
cgiSetIPPObjectVars(job, NULL, i);
}
else
{
- for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, count - first - 1);
+ for (i = 0, job = (ipp_attribute_t *)cupsArrayIndex(jobs, count - 1);
i < CUPS_PAGE_MAX && job;
i ++, job = (ipp_attribute_t *)cupsArrayPrev(jobs))
cgiSetIPPObjectVars(job, NULL, i);
@@ -1371,7 +1478,7 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
cgiSetVariable("PREVURL", url);
}
- if ((first + CUPS_PAGE_MAX) < count)
+ if ((first + CUPS_PAGE_MAX) < total)
{
snprintf(urlptr, urlend - urlptr, "FIRST=%d&ORDER=%s",
first + CUPS_PAGE_MAX, ascending ? "asc" : "dec");
++++++ cups-1.3.8-more_debuginfo.patch ++++++
Index: doc/help/spec-ipp.html
===================================================================
--- doc/help/spec-ipp.html (revision 7941)
+++ doc/help/spec-ipp.html (working copy)
@@ -793,16 +793,16 @@
attributes as described in section 3.1.4.1 of the IPP Model and
Semantics document.
+ <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2</span>
+
+ <dd>The client OPTIONALLY supplies this attribute to
+ select the first printer that is returned.
+
<dt>"limit" (integer (1:MAX)):
<dd>The client OPTIONALLY supplies this attribute limiting the
number of printers that are returned.
- <dt>"printer-info" (text(127)):<span class='info'>CUPS 1.1</span>
-
- <dd>The client OPTIONALLY supplies this attribute to
- select which printers are returned.
-
<dt>"printer-location" (text(127)): <span class='info'>CUPS 1.1.7</span>
<dd>The client OPTIONALLY supplies this attribute to
@@ -827,6 +827,11 @@
responds as if this attribute had been supplied with a value of
'all'.
+ <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2</span>
+
+ <dd>The client OPTIONALLY supplies a user name that is used to filter
+ the returned printers.
+
</dl>
<h4>CUPS-Get-Printers Response</h4>
@@ -1052,15 +1057,16 @@
attributes as described in section 3.1.4.1 of the IPP Model and
Semantics document.
+ <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2</span>
+
+ <dd>The client OPTIONALLY supplies this attribute to
+ select the first printer that is returned.
+
<dt>"limit" (integer (1:MAX)):
<dd>The client OPTIONALLY supplies this attribute limiting the
number of printer classes that are returned.
- <dt>"printer-info" (text(127)): <span class='info'>CUPS 1.1.7</span>
- <dd>The client OPTIONALLY supplies this attribute to
- select which printer classes are returned.
-
<dt>"printer-location" (text(127)): <span class='info'>CUPS 1.1.7</span>
<dd>The client OPTIONALLY supplies this attribute to
select which printer classes are returned.
@@ -1081,6 +1087,11 @@
interested. If the client omits this attribute, the server responds as
if this attribute had been supplied with a value of 'all'.
+ <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2</span>
+
+ <dd>The client OPTIONALLY supplies a user name that is used to filter
+ the returned printers.
+
</dl>
<h4>CUPS-Get-Classes Response</h4>
Index: scheduler/ipp.c
===================================================================
--- scheduler/ipp.c (revision 7941)
+++ scheduler/ipp.c (working copy)
@@ -6746,8 +6746,8 @@
{
if ((!type || (printer->type & CUPS_PRINTER_CLASS) == type) &&
(printer->type & printer_mask) == printer_type &&
- (!location || !printer->location ||
- !strcasecmp(printer->location, location)))
+ (!location ||
+ (printer->location && !strcasecmp(printer->location, location))))
{
/*
* If HideImplicitMembers is enabled, see if this printer or class
@@ -7734,6 +7734,9 @@
cupsdSaveJob(job);
+ cupsdLogMessage(CUPSD_LOG_INFO, "[Job %d] Queued on \"%s\" by \"%s\".",
+ job->id, job->dest, job->username);
+
/*
* Start the job if possible...
*/
++++++ cups-1.3.8-noclobber_symlink.patch ++++++
Index: scheduler/conf.c
===================================================================
--- scheduler/conf.c (revision 7911)
+++ scheduler/conf.c (working copy)
@@ -223,6 +223,7 @@
int dir_created = 0; /* Did we create a directory? */
char pathname[1024]; /* File name with prefix */
struct stat fileinfo; /* Stat buffer */
+ int is_symlink; /* Is "filename" a symlink? */
/*
@@ -239,7 +240,7 @@
* See if we can stat the file/directory...
*/
- if (stat(filename, &fileinfo))
+ if (lstat(filename, &fileinfo))
{
if (errno == ENOENT && create_dir)
{
@@ -266,8 +267,18 @@
return (create_dir ? -1 : 1);
}
+ if ((is_symlink = S_ISLNK(fileinfo.st_mode)) != 0)
+ {
+ if (stat(filename, &fileinfo))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "\"%s\" is a bad symlink - %s",
+ filename, strerror(errno));
+ return (-1);
+ }
+ }
+
/*
- * Make sure it's a regular file...
+ * Make sure it's a regular file or a directory as needed...
*/
if (!dir_created && !is_dir && !S_ISREG(fileinfo.st_mode))
@@ -287,6 +298,13 @@
}
/*
+ * If the filename is a symlink, do not change permissions (STR #2937)...
+ */
+
+ if (is_symlink)
+ return (0);
+
+ /*
* Fix owner, group, and mode as needed...
*/
@@ -775,21 +793,18 @@
if (ServerCertificate[0] != '/')
cupsdSetStringf(&ServerCertificate, "%s/%s", ServerRoot, ServerCertificate);
- if (!strncmp(ServerRoot, ServerCertificate, strlen(ServerRoot)))
- {
- chown(ServerCertificate, RunUser, Group);
- chmod(ServerCertificate, 0600);
- }
+ if (!strncmp(ServerRoot, ServerCertificate, strlen(ServerRoot)) &&
+ cupsdCheckPermissions(ServerCertificate, NULL, 0600, RunUser, Group,
+ 0, 0) < 0)
+ return (0);
# if defined(HAVE_LIBSSL) || defined(HAVE_GNUTLS)
if (ServerKey[0] != '/')
cupsdSetStringf(&ServerKey, "%s/%s", ServerRoot, ServerKey);
- if (!strncmp(ServerRoot, ServerKey, strlen(ServerRoot)))
- {
- chown(ServerKey, RunUser, Group);
- chmod(ServerKey, 0600);
- }
+ if (!strncmp(ServerRoot, ServerKey, strlen(ServerRoot)) &&
+ cupsdCheckPermissions(ServerKey, NULL, 0600, RunUser, Group, 0, 0) < 0)
+ return (0);
# endif /* HAVE_LIBSSL || HAVE_GNUTLS */
#endif /* HAVE_SSL */
++++++ cups-1.3.8-pjl_ready_message.patch ++++++
PJL display ready message
From: Johan Kiviniemi <cups.org(a)johan.kiviniemi.name>
According to the PJL spec, one should use "" (not "READY") to return the
display to the normal ready message.
---
cups/emit.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cups/emit.c b/cups/emit.c
index 1f87460..c59f634 100644
--- a/cups/emit.c
+++ b/cups/emit.c
@@ -549,7 +549,7 @@ ppdEmitJCLEnd(ppd_file_t *ppd, /* I - PPD file record */
*/
fputs("\033%-12345X@PJL\n", fp);
- fputs("@PJL RDYMSG DISPLAY = \"READY\"\n", fp);
+ fputs("@PJL RDYMSG DISPLAY = \"\"\n", fp);
fputs(ppd->jcl_end + 9, fp);
}
else
++++++ cups-1.3.8-resolver_reinit.patch.bz2 ++++++
++++ 2693 lines (skipped)
++++++ cups-1.3.8-ssl_firefox.patch ++++++
Index: scheduler/client.c
===================================================================
--- scheduler/client.c (revision 7820)
+++ scheduler/client.c (working copy)
@@ -28,6 +28,7 @@
* cupsdUpdateCGI() - Read status messages from CGI scripts and programs.
* cupsdWriteClient() - Write data to a client as needed.
* check_if_modified() - Decode an "If-Modified-Since" line.
+ * data_ready() - Check whether data is available from a client.
* encrypt_client() - Enable encryption for the client...
* get_cdsa_certificate() - Convert a keychain name into the CFArrayRef
* required by SSLSetCertificate.
@@ -83,6 +84,7 @@
static int check_if_modified(cupsd_client_t *con,
struct stat *filestats);
+static int data_ready(cupsd_client_t *con);
#ifdef HAVE_SSL
static int encrypt_client(cupsd_client_t *con);
#endif /* HAVE_SSL */
@@ -989,8 +991,7 @@
*/
while ((status = httpUpdate(HTTP(con))) == HTTP_CONTINUE)
- if (con->http.used == 0 ||
- !memchr(con->http.buffer, '\n', con->http.used))
+ if (!data_ready(con))
break;
if (status != HTTP_OK && status != HTTP_CONTINUE)
@@ -1889,7 +1890,7 @@
}
}
}
- while (con->http.state == HTTP_PUT_RECV && con->http.used > 0);
+ while (con->http.state == HTTP_PUT_RECV && data_ready(con));
if (con->http.state == HTTP_WAITING)
{
@@ -2064,7 +2065,7 @@
}
}
}
- while (con->http.state == HTTP_POST_RECV && con->http.used > 0);
+ while (con->http.state == HTTP_POST_RECV && data_ready(con));
if (con->http.state == HTTP_POST_SEND)
{
@@ -2914,7 +2915,39 @@
}
+/*
+ * 'data_ready()' - Check whether data is available from a client.
+ */
+
+static int /* O - 1 if data is ready, 0 otherwise */
+data_ready(cupsd_client_t *con) /* I - Client */
+{
+ if (con->http.used > 0)
+ return (1);
#ifdef HAVE_SSL
+ else if (con->http.tls)
+ {
+# ifdef HAVE_LIBSSL
+ if (SSL_pending((SSL *)(con->http.tls)))
+ return (1);
+# elif defined(HAVE_GNUTLS)
+ if (gnutls_record_check_pending(((http_tls_t *)(con->http.tls))->session))
+ return (1);
+# elif defined(HAVE_CDSASSL)
+ size_t bytes; /* Bytes that are available */
+
+ if (!SSLGetBufferedReadSize(((http_tls_t *)(con->http.tls))->session,
+ &bytes) && bytes > 0)
+ return (1);
+# endif /* HAVE_LIBSSL */
+ }
+#endif /* HAVE_SSL */
+
+ return (0);
+}
+
+
+#ifdef HAVE_SSL
/*
* 'encrypt_client()' - Enable encryption for the client...
*/
++++++ cups-1.3.8-startstop_msg.patch ++++++
Index: scheduler/main.c
===================================================================
--- scheduler/main.c (revision 7911)
+++ scheduler/main.c (working copy)
@@ -655,6 +655,23 @@
#endif /* __APPLE__ */
/*
+ * Send server-started event...
+ */
+
+#ifdef HAVE_LAUNCHD
+ if (Launchd)
+ cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL,
+ "Scheduler started via launchd.");
+ else
+#endif /* HAVE_LAUNCHD */
+ if (fg)
+ cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL,
+ "Scheduler started in foreground.");
+ else
+ cupsdAddEvent(CUPSD_EVENT_SERVER_STARTED, NULL, NULL,
+ "Scheduler started in background.");
+
+ /*
* Start any pending print jobs...
*/
@@ -762,6 +779,13 @@
*/
cupsdStartServer();
+
+ /*
+ * Send a server-restarted event...
+ */
+
+ cupsdAddEvent(CUPSD_EVENT_SERVER_RESTARTED, NULL, NULL,
+ "Scheduler restarted.");
}
}
@@ -1101,10 +1125,18 @@
*/
if (stop_scheduler)
+ {
cupsdLogMessage(CUPSD_LOG_INFO, "Scheduler shutting down normally.");
+ cupsdAddEvent(CUPSD_EVENT_SERVER_STOPPED, NULL, NULL,
+ "Scheduler shutting down normally.");
+ }
else
+ {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Scheduler shutting down due to program error.");
+ cupsdAddEvent(CUPSD_EVENT_SERVER_STOPPED, NULL, NULL,
+ "Scheduler shutting down due to program error.");
+ }
/*
* Close all network clients...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 ConsoleKit
checked in at Fri Sep 26 14:46:14 CEST 2008.
--------
--- ConsoleKit/ConsoleKit.changes 2008-08-25 01:23:06.000000000 +0200
+++ /mounts/work_src_done/STABLE/ConsoleKit/ConsoleKit.changes 2008-09-26 11:49:37.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Sep 26 11:49:05 CEST 2008 - hmacht(a)suse.de
+
+- remove rc-script. ConsoleKit is activated on demand with D-Bus
+ system activation (bnc#428228)
+
+-------------------------------------------------------------------
ConsoleKit-doc.changes: same change
Old:
----
rcconsolekit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ConsoleKit-doc.spec ++++++
--- /var/tmp/diff_new_pack.n22755/_old 2008-09-26 14:42:48.000000000 +0200
+++ /var/tmp/diff_new_pack.n22755/_new 2008-09-26 14:42:48.000000000 +0200
@@ -32,16 +32,15 @@
%endif
Summary: System daemon for tracking users, sessions and seats
Version: 0.2.10
-Release: 47
+Release: 58
License: GPL v2 or later
Group: System/Daemons
AutoReqProv: on
Source: %{pkg_name}-%{version}.tar.bz2
-Source1: rcconsolekit
Patch: %{pkg_name}-libexecdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %build_doc == 0
-PreReq: %insserv_prereq pwdutils login
+PreReq: pwdutils login
PreReq: pam-config >= 0.22
%ifarch s390x x86_64
PreReq: %name-32bit
@@ -122,8 +121,6 @@
make DESTDIR=%{buildroot} install
mkdir -p $RPM_BUILD_ROOT/etc/init.d
mkdir -p $RPM_BUILD_ROOT/etc/ConsoleKit/seats.d
-install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/consolekit
-ln -sf %{_sysconfdir}/init.d/consolekit $RPM_BUILD_ROOT/%{_sbindir}/rcconsolekit
# fix broken "scriptdir" - already fixed upstream
if [ ! -d $RPM_BUILD_ROOT%{_prefix}/lib/ConsoleKit/scripts ]; then
mv $RPM_BUILD_ROOT/%_libdir/ConsoleKit/scripts $RPM_BUILD_ROOT%{_prefix}/lib/ConsoleKit/scripts
@@ -154,12 +151,10 @@
%post
%run_ldconfig
-%{insserv_force_if_yast consolekit}
/usr/sbin/pam-config --service login -a --ck_connector
%postun
%run_ldconfig
-%{insserv_cleanup}
%endif
%clean
@@ -180,7 +175,6 @@
%{_prefix}/lib/ConsoleKit/scripts/ck-system-stop
%{_datadir}/dbus-1/system-services/org.freedesktop.ConsoleKit.service
%_sysconfdir/dbus-1/system.d/ConsoleKit.conf
-%_sysconfdir/init.d/consolekit
%_sysconfdir/ConsoleKit/seats.d/00-primary.seat
%_bindir/*
%_libdir/*.so.*
@@ -205,6 +199,9 @@
%endif
%changelog
+* Fri Sep 26 2008 hmacht(a)suse.de
+- remove rc-script. ConsoleKit is activated on demand with D-Bus
+ system activation (bnc#428228)
* Mon Aug 25 2008 ro(a)suse.de
- initscript: add $null to Required-Stop to fix build
* Mon Aug 11 2008 ro(a)suse.de
++++++ ConsoleKit.spec ++++++
--- /var/tmp/diff_new_pack.n22755/_old 2008-09-26 14:42:48.000000000 +0200
+++ /var/tmp/diff_new_pack.n22755/_new 2008-09-26 14:42:48.000000000 +0200
@@ -32,16 +32,15 @@
%endif
Summary: System daemon for tracking users, sessions and seats
Version: 0.2.10
-Release: 36
+Release: 47
License: GPL v2 or later
Group: System/Daemons
AutoReqProv: on
Source: %{pkg_name}-%{version}.tar.bz2
-Source1: rcconsolekit
Patch: %{pkg_name}-libexecdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %build_doc == 0
-PreReq: %insserv_prereq pwdutils login
+PreReq: pwdutils login
PreReq: pam-config >= 0.22
%ifarch s390x x86_64
PreReq: %name-32bit
@@ -122,8 +121,6 @@
make DESTDIR=%{buildroot} install
mkdir -p $RPM_BUILD_ROOT/etc/init.d
mkdir -p $RPM_BUILD_ROOT/etc/ConsoleKit/seats.d
-install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/consolekit
-ln -sf %{_sysconfdir}/init.d/consolekit $RPM_BUILD_ROOT/%{_sbindir}/rcconsolekit
# fix broken "scriptdir" - already fixed upstream
if [ ! -d $RPM_BUILD_ROOT%{_prefix}/lib/ConsoleKit/scripts ]; then
mv $RPM_BUILD_ROOT/%_libdir/ConsoleKit/scripts $RPM_BUILD_ROOT%{_prefix}/lib/ConsoleKit/scripts
@@ -154,12 +151,10 @@
%post
%run_ldconfig
-%{insserv_force_if_yast consolekit}
/usr/sbin/pam-config --service login -a --ck_connector
%postun
%run_ldconfig
-%{insserv_cleanup}
%endif
%clean
@@ -180,7 +175,6 @@
%{_prefix}/lib/ConsoleKit/scripts/ck-system-stop
%{_datadir}/dbus-1/system-services/org.freedesktop.ConsoleKit.service
%_sysconfdir/dbus-1/system.d/ConsoleKit.conf
-%_sysconfdir/init.d/consolekit
%_sysconfdir/ConsoleKit/seats.d/00-primary.seat
%_bindir/*
%_libdir/*.so.*
@@ -205,6 +199,9 @@
%endif
%changelog
+* Fri Sep 26 2008 hmacht(a)suse.de
+- remove rc-script. ConsoleKit is activated on demand with D-Bus
+ system activation (bnc#428228)
* Mon Aug 25 2008 ro(a)suse.de
- initscript: add $null to Required-Stop to fix build
* Mon Aug 11 2008 ro(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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