Hello community,
here is the log from the commit of package librpcsecgss
checked in at Wed Sep 24 00:32:46 CEST 2008.
--------
--- librpcsecgss/librpcsecgss.changes 2008-03-27 13:59:09.000000000 +0100
+++ /d/STABLE/librpcsecgss/librpcsecgss.changes 2008-09-19 14:50:49.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Sep 19 14:50:29 CEST 2008 - meissner@suse.de
+
+- update to 0.18
+ * bugfix in connect handling regarding interrupts
+
+-------------------------------------------------------------------
Old:
----
librpcsecgss-0.17.tar.bz2
New:
----
librpcsecgss-0.18.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librpcsecgss.spec ++++++
--- /var/tmp/diff_new_pack.z20208/_old 2008-09-24 00:32:03.000000000 +0200
+++ /var/tmp/diff_new_pack.z20208/_new 2008-09-24 00:32:03.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package librpcsecgss (Version 0.17)
+# spec file for package librpcsecgss (Version 0.18)
#
# 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 @@
BuildRequires: libgssglue-devel pkgconfig
Url: http://www.citi.umich.edu/projects/nfsv4/linux
Summary: Library Implementing GSSAPI Security for ONC RPC
-Version: 0.17
+Version: 0.18
Release: 1
Group: Development/Libraries/C and C++
License: BSD 3-Clause
@@ -41,11 +48,8 @@
%build
%{?suse_update_config:%{suse_update_config -f }}
-autoconf
-CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" ./configure \
- --prefix=%{_prefix} \
- --libdir=%{_libdir} \
- --mandir=%{_mandir}
+autoreconf -i -f
+RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure
make
%install
@@ -65,6 +69,9 @@
%{_libdir}/pkgconfig/librpcsecgss.pc
%changelog
+* Fri Sep 19 2008 meissner@suse.de
+- update to 0.18
+ * bugfix in connect handling regarding interrupts
* Thu Mar 27 2008 mkoenig@suse.de
- update to version 0.17
* Fix for stack overflow problem (CVE-2007-3999)
++++++ librpcsecgss-0.17.tar.bz2 -> librpcsecgss-0.18.tar.bz2 ++++++
++++ 5962 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/librpcsecgss-0.17/configure.in new/librpcsecgss-0.18/configure.in
--- old/librpcsecgss-0.17/configure.in 2007-10-16 20:15:57.000000000 +0200
+++ new/librpcsecgss-0.18/configure.in 2008-04-09 00:05:40.000000000 +0200
@@ -2,9 +2,9 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT(librpcsecgss, 0.17, nfsv4-wg@citi.umich.edu)
+AC_INIT(librpcsecgss, 0.18, nfsv4-wg@citi.umich.edu)
AC_CONFIG_SRCDIR([src/auth_gss.c])
-AM_INIT_AUTOMAKE(librpcsecgss, 0.17, nfsv4-wg@citi.umich.edu)
+AM_INIT_AUTOMAKE(librpcsecgss, 0.18, nfsv4-wg@citi.umich.edu)
AM_PROG_LIBTOOL
# Checks for programs.
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/librpcsecgss-0.17/missing new/librpcsecgss-0.18/missing
--- old/librpcsecgss-0.17/missing 2006-07-12 09:00:28.000000000 +0200
+++ new/librpcsecgss-0.18/missing 2007-08-09 14:37:39.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2005-06-08.21
+scriptversion=2006-05-10.23
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard , 1996.
@@ -33,6 +33,8 @@
fi
run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
@@ -44,7 +46,7 @@
msg="missing on your system"
-case "$1" in
+case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
@@ -77,6 +79,7 @@
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
@@ -106,7 +109,7 @@
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
-case "$1" in
+case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
@@ -135,7 +138,7 @@
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
-case "$1" in
+case $1 in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
@@ -164,7 +167,7 @@
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
- case "$f" in
+ case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
@@ -192,8 +195,8 @@
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
- file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
- test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
@@ -214,25 +217,25 @@
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
- if [ ! -f y.tab.h ]; then
+ if test ! -f y.tab.h; then
echo >y.tab.h
fi
- if [ ! -f y.tab.c ]; then
+ if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
@@ -244,18 +247,18 @@
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
- if [ $# -ne 1 ]; then
+ if test $# -ne 1; then
eval LASTARG="\${$#}"
- case "$LASTARG" in
+ case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if [ -f "$SRCFILE" ]; then
+ if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
- if [ ! -f lex.yy.c ]; then
+ if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
@@ -267,11 +270,9 @@
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
- if test -z "$file"; then
- file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
- fi
- if [ -f "$file" ]; then
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
@@ -289,11 +290,17 @@
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
@@ -317,13 +324,13 @@
fi
firstarg="$1"
if shift; then
- case "$firstarg" in
+ case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
- case "$firstarg" in
+ case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
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/librpcsecgss-0.17/src/clnt_tcp.c new/librpcsecgss-0.18/src/clnt_tcp.c
--- old/librpcsecgss-0.17/src/clnt_tcp.c 2006-06-08 17:16:35.000000000 +0200
+++ new/librpcsecgss-0.18/src/clnt_tcp.c 2008-04-09 00:03:52.000000000 +0200
@@ -60,6 +60,7 @@
#include
#include
#include
+#include
#define MCALL_MSG_SIZE 24
@@ -156,14 +157,57 @@
if (*sockp < 0) {
*sockp = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
(void)bindresvport(*sockp, (struct sockaddr_in *)0);
- if ((*sockp < 0)
- || (connect(*sockp, (struct sockaddr *)raddr,
- sizeof(*raddr)) < 0)) {
+ if (*sockp < 0) {
rpc_createerr.cf_stat = RPC_SYSTEMERROR;
rpc_createerr.cf_error.re_errno = errno;
if (*sockp != -1)
(void)close(*sockp);
goto fooy;
+ } else if(connect(*sockp, (struct sockaddr *)raddr,
+ sizeof(*raddr)) < 0) {
+ struct pollfd sockpoll;
+ int sockoptval;
+ socklen_t socklen;
+
+ /*
+ * Check to see if there was an interrupt and if so, poll until
+ * either an error occurs or the connect finishes.
+ */
+ if ( errno != EINTR ) {
+ rpc_createerr.cf_stat = RPC_SYSTEMERROR;
+ rpc_createerr.cf_error.re_errno = errno;
+ if (*sockp != -1)
+ (void)close(*sockp);
+ goto fooy;
+ }
+ sockpoll.fd = *sockp;
+ sockpoll.events = POLLOUT;
+ while ( poll (&sockpoll, 1, -1) == -1 ) {
+ if ( errno != EINTR ) {
+ rpc_createerr.cf_stat = RPC_SYSTEMERROR;
+ rpc_createerr.cf_error.re_errno = errno;
+ if (*sockp != -1)
+ (void)close(*sockp);
+ goto fooy;
+ }
+ socklen = sizeof(sockoptval);
+ if ( getsockopt (*sockp, SOL_SOCKET, SO_ERROR,
+ &sockoptval,
+ &socklen) == -1 ) {
+ rpc_createerr.cf_stat = RPC_SYSTEMERROR;
+ rpc_createerr.cf_error.re_errno = errno;
+ if (*sockp != -1)
+ (void)close(*sockp);
+ goto fooy;
+ }
+ if ( sockoptval != 0 ) {
+ rpc_createerr.cf_stat = RPC_SYSTEMERROR;
+ rpc_createerr.cf_error.re_errno = sockoptval;
+ if (*sockp != -1)
+ (void)close(*sockp);
+ goto fooy;
+ }
+ }
}
ct->ct_closeit = TRUE;
} else {
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org