Hello community,
here is the log from the commit of package rdesktop for openSUSE:Factory checked in at 2013-11-29 16:25:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rdesktop (Old)
and /work/SRC/openSUSE:Factory/.rdesktop.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rdesktop"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rdesktop/rdesktop.changes 2013-08-23 11:05:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rdesktop.new/rdesktop.changes 2013-11-29 16:25:43.000000000 +0100
@@ -1,0 +2,16 @@
+Wed Nov 27 12:02:29 UTC 2013 - chris@computersalat.de
+
+- update to 1.8.1
+ * Fix a typo in configure.ac
+ * Fix a bug which made rdesktop steal CPU cycles.
+ * Fix issue with reconnect, make use of deactivate variable
+ * Added 4 new disconnect reasons with exit codes
+ * Fix issues of window handling in SeamlessRDP parts of rdesktop
+ * Fix a backward compability with OpenSSL < 0.9.9
+ * Fix a bug when code needs a x window available but there are none.
+ * Fix a sigsegv zeroing memory
+ * Fix a 64bit portability issue
+- remove obsolete patches
+ * tcp_return, 64bit_portability_issue
+
+-------------------------------------------------------------------
Old:
----
rdesktop-1.8.0.tar.gz
rdesktop-64bit_portability_issue.patch
rdesktop-tcp_return.patch
New:
----
rdesktop-1.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rdesktop.spec ++++++
--- /var/tmp/diff_new_pack.AVwUeM/_old 2013-11-29 16:25:44.000000000 +0100
+++ /var/tmp/diff_new_pack.AVwUeM/_new 2013-11-29 16:25:44.000000000 +0100
@@ -21,16 +21,12 @@
License: GPL-3.0+
Group: Productivity/Networking/Other
#Group: Productivity/Networking/Remote Desktop
-Version: 1.8.0
+Version: 1.8.1
Release: 0
Url: http://www.rdesktop.org/
Source: %{name}-%{version}.tar.gz
## FIX-openSUSE: remove "Don't depend on pkg-config"
Patch0: rdesktop-fix_pkgconfig_check.patch
-### FIX UPSTREAM: http://sourceforge.net/p/rdesktop/code/1728/
-Patch1: rdesktop-tcp_return.patch
-### FIX UPSTREAM: http://sourceforge.net/p/rdesktop/code/1729/
-Patch2: rdesktop-64bit_portability_issue.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: alsa-devel
BuildRequires: automake
@@ -50,8 +46,6 @@
%prep
%setup
%patch0
-%patch1
-%patch2
## rpmlint
# incorrect-fsf-address /usr/share/rdesktop/keymaps/convert-map
perl -p -i -e 's|^# Foundation.*|# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA|' keymaps/convert-map
++++++ rdesktop-1.8.0.tar.gz -> rdesktop-1.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/configure new/rdesktop-1.8.1/configure
--- old/rdesktop-1.8.0/configure 2013-08-09 08:12:26.000000000 +0200
+++ new/rdesktop-1.8.1/configure 2013-11-18 09:10:00.000000000 +0100
@@ -1,11 +1,9 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for rdesktop 1.8.0.
+# Generated by GNU Autoconf 2.69 for rdesktop 1.8.1.
#
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -134,6 +132,31 @@
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -167,7 +190,8 @@
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -212,21 +236,25 @@
if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
if test x$as_have_required = xno; then :
@@ -328,6 +356,14 @@
} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -449,6 +485,10 @@
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -483,16 +523,16 @@
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -504,28 +544,8 @@
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -557,8 +577,8 @@
# Identity of this package.
PACKAGE_NAME='rdesktop'
PACKAGE_TARNAME='rdesktop'
-PACKAGE_VERSION='1.8.0'
-PACKAGE_STRING='rdesktop 1.8.0'
+PACKAGE_VERSION='1.8.1'
+PACKAGE_STRING='rdesktop 1.8.1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1197,8 +1217,6 @@
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1284,7 +1302,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures rdesktop 1.8.0 to adapt to many kinds of systems.
+\`configure' configures rdesktop 1.8.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1353,7 +1371,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of rdesktop 1.8.0:";;
+ short | recursive ) echo "Configuration of rdesktop 1.8.1:";;
esac
cat <<\_ACEOF
@@ -1491,10 +1509,10 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-rdesktop configure 1.8.0
-generated by GNU Autoconf 2.68
+rdesktop configure 1.8.1
+generated by GNU Autoconf 2.69
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1680,7 +1698,7 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2013,8 +2031,8 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by rdesktop $as_me 1.8.0, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+It was created by rdesktop $as_me 1.8.1, which was
+generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2487,7 +2505,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2527,7 +2545,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2580,7 +2598,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2621,7 +2639,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -2679,7 +2697,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -2723,7 +2741,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3169,8 +3187,7 @@
/* end confdefs.h. */
#include
#include
-#include
-#include
+struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3296,7 +3313,7 @@
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -3513,7 +3530,7 @@
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
@@ -3579,7 +3596,7 @@
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -4696,7 +4713,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4739,7 +4756,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4956,7 +4973,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4996,7 +5013,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5186,6 +5203,7 @@
+
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -5206,7 +5224,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5249,7 +5267,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5317,6 +5335,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_GSSGLUE_CFLAGS=`$PKG_CONFIG --cflags "libgssglue" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5333,6 +5352,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_GSSGLUE_LIBS=`$PKG_CONFIG --libs "libgssglue" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5352,9 +5372,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- GSSGLUE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libgssglue" 2>&1`
+ GSSGLUE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libgssglue" 2>&1`
else
- GSSGLUE_PKG_ERRORS=`$PKG_CONFIG --print-errors "libgssglue" 2>&1`
+ GSSGLUE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libgssglue" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$GSSGLUE_PKG_ERRORS" >&5
@@ -5391,7 +5411,7 @@
else
echo
- echo "CredSPP support requires libggsglue, install the dependency"
+ echo "CredSPP support requires libgssglue, install the dependency"
echo "or disable the feature using --disable-credssp."
echo
exit 1
@@ -5417,6 +5437,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_XRANDR_CFLAGS=`$PKG_CONFIG --cflags "xrandr" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5433,6 +5454,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_XRANDR_LIBS=`$PKG_CONFIG --libs "xrandr" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5452,9 +5474,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- XRANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xrandr" 2>&1`
+ XRANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xrandr" 2>&1`
else
- XRANDR_PKG_ERRORS=`$PKG_CONFIG --print-errors "xrandr" 2>&1`
+ XRANDR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xrandr" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$XRANDR_PKG_ERRORS" >&5
@@ -5516,6 +5538,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_PCSCLITE_CFLAGS=`$PKG_CONFIG --cflags "libpcsclite" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5532,6 +5555,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_PCSCLITE_LIBS=`$PKG_CONFIG --libs "libpcsclite" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5551,9 +5575,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- PCSCLITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpcsclite" 2>&1`
+ PCSCLITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libpcsclite" 2>&1`
else
- PCSCLITE_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpcsclite" 2>&1`
+ PCSCLITE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libpcsclite" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$PCSCLITE_PKG_ERRORS" >&5
@@ -5776,6 +5800,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_LIBAO_CFLAGS=`$PKG_CONFIG --cflags "ao" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5792,6 +5817,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_LIBAO_LIBS=`$PKG_CONFIG --libs "ao" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5811,9 +5837,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- LIBAO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ao" 2>&1`
+ LIBAO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ao" 2>&1`
else
- LIBAO_PKG_ERRORS=`$PKG_CONFIG --print-errors "ao" 2>&1`
+ LIBAO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ao" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$LIBAO_PKG_ERRORS" >&5
@@ -5845,6 +5871,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_ALSA_CFLAGS=`$PKG_CONFIG --cflags "alsa" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5861,6 +5888,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_ALSA_LIBS=`$PKG_CONFIG --libs "alsa" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5880,9 +5908,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- ALSA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "alsa" 2>&1`
+ ALSA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "alsa" 2>&1`
else
- ALSA_PKG_ERRORS=`$PKG_CONFIG --print-errors "alsa" 2>&1`
+ ALSA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "alsa" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$ALSA_PKG_ERRORS" >&5
@@ -5914,6 +5942,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_LIBSAMPLERATE_CFLAGS=`$PKG_CONFIG --cflags "samplerate" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5930,6 +5959,7 @@
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_LIBSAMPLERATE_LIBS=`$PKG_CONFIG --libs "samplerate" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
@@ -5949,9 +5979,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- LIBSAMPLERATE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "samplerate" 2>&1`
+ LIBSAMPLERATE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "samplerate" 2>&1`
else
- LIBSAMPLERATE_PKG_ERRORS=`$PKG_CONFIG --print-errors "samplerate" 2>&1`
+ LIBSAMPLERATE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "samplerate" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$LIBSAMPLERATE_PKG_ERRORS" >&5
@@ -7274,6 +7304,8 @@
esac
rm -rf conftest*
fi
+
+
fi
@@ -7899,16 +7931,16 @@
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -7968,28 +8000,16 @@
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -8010,8 +8030,8 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by rdesktop $as_me 1.8.0, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+This file was extended by rdesktop $as_me 1.8.1, which was
+generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -8063,11 +8083,11 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-rdesktop config.status 1.8.0
-configured by $0, generated by GNU Autoconf 2.68,
+rdesktop config.status 1.8.1
+configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -8145,7 +8165,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/configure.ac new/rdesktop-1.8.1/configure.ac
--- old/rdesktop-1.8.0/configure.ac 2013-08-09 08:11:22.000000000 +0200
+++ new/rdesktop-1.8.1/configure.ac 2013-11-18 09:08:49.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(rdesktop, 1.8.0)
+AC_INIT(rdesktop, 1.8.1)
AC_CONFIG_SRCDIR([rdesktop.c])
@@ -142,7 +142,7 @@
AC_DEFINE(WITH_CREDSSP)
else
echo
- echo "CredSPP support requires libggsglue, install the dependency"
+ echo "CredSPP support requires libgssglue, install the dependency"
echo "or disable the feature using --disable-credssp."
echo
exit 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/constants.h new/rdesktop-1.8.1/constants.h
--- old/rdesktop-1.8.0/constants.h 2013-06-20 14:56:15.000000000 +0200
+++ new/rdesktop-1.8.1/constants.h 2013-11-18 08:00:35.000000000 +0100
@@ -454,7 +454,10 @@
#define exDiscReasonOutOfMemory 0x0006
#define exDiscReasonServerDeniedConnection 0x0007
#define exDiscReasonServerDeniedConnectionFips 0x0008
-#define exDiscReasonWindows7Disconnect 0x000b /* unofficial */
+#define exDiscReasonServerInsufficientPrivileges 0x0009
+#define exDiscReasonServerFreshCredentialsRequired 0x000a
+#define exDiscReasonRPCInitiatedDisconnectByUser 0x000b
+#define exDiscReasonByUser 0x000c
#define exDiscReasonLicenseInternal 0x0100
#define exDiscReasonLicenseNoLicenseServer 0x0101
#define exDiscReasonLicenseNoLicense 0x0102
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/ctrl.c new/rdesktop-1.8.1/ctrl.c
--- old/rdesktop-1.8.0/ctrl.c 2013-06-20 14:56:15.000000000 +0200
+++ new/rdesktop-1.8.1/ctrl.c 2013-11-18 08:00:35.000000000 +0100
@@ -406,7 +406,7 @@
break;
}
- if (res >= 0)
+ if (res > 0)
{
/* Check if we got full command line */
char *p;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/doc/ChangeLog new/rdesktop-1.8.1/doc/ChangeLog
--- old/rdesktop-1.8.0/doc/ChangeLog 2013-08-09 10:11:13.000000000 +0200
+++ new/rdesktop-1.8.1/doc/ChangeLog 2013-11-18 09:08:24.000000000 +0100
@@ -1,3 +1,16 @@
+rdesktop (1.8.1)
+ * Fix a typo in configure.ac
+ * Fix a bug which made rdesktop steal CPU cycles.
+ * Fix issue with reconnect, make use of deactivate variable
+ * Added 4 new disconnect reasons with exit codes
+ * Fix issues of window handling in SeamlessRDP parts of rdesktop
+ * Fix a backward compability with OpenSSL < 0.9.9
+ * Fix a bug when code needs a x window available but there are none.
+ * Fix a sigsegv zeroing memory
+ * Fix a 64bit portability issue
+
+ -- Henrik Andersson 2013-11-18
+
rdesktop (1.8.0)
* Support for protocol negotiation eg. SSL/TLSv1 and CredSSP
* Support for CredSSP + Kerberos authentication (NLA)
@@ -13,6 +26,8 @@
* Fix crash and memory leak in local drive redirection
* Fixes issues with license files loading/saving
+ -- Henrik Andersson 2013-08-09
+
rdesktop (1.7.1)
* Fix clipboard issue when not building with unicode support
* Fix compilation against newer PCSC lite versions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/doc/rdesktop.1 new/rdesktop-1.8.1/doc/rdesktop.1
--- old/rdesktop-1.8.0/doc/rdesktop.1 2013-03-26 10:28:00.000000000 +0100
+++ new/rdesktop-1.8.1/doc/rdesktop.1 2013-11-18 08:00:34.000000000 +0100
@@ -282,6 +282,16 @@
The server denied the connection
.IP "\fB8\fP"
The server denied the connection for security reason
+.IP "\fB9\fP"
+The user cannot connect to the server due to insufficient access
+privileges
+.IP "\fB10\fP"
+The server does not accept saved user credentials and requires that
+the user enter their credentials for each connection
+.IP "\fB11\fP"
+Disconnect initiated by administration tool
+.IP "\fB12\fP"
+Disconnect initiated by user
.IP "\fB16\fP"
Internal licensing error
.IP "\fB17\fP"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/ewmhints.c new/rdesktop-1.8.1/ewmhints.c
--- old/rdesktop-1.8.0/ewmhints.c 2013-06-20 14:56:15.000000000 +0200
+++ new/rdesktop-1.8.1/ewmhints.c 2013-11-18 08:00:35.000000000 +0100
@@ -203,7 +203,7 @@
{
unsigned long nitems_return;
unsigned char *prop_return;
- uint32 *return_words;
+ unsigned long *return_words;
unsigned long item;
RD_BOOL maximized_vert, maximized_horz, hidden;
@@ -212,7 +212,7 @@
if (get_property_value(w, "_NET_WM_STATE", 64, &nitems_return, &prop_return, 0) < 0)
return SEAMLESSRDP_NORMAL;
- return_words = (uint32 *) prop_return;
+ return_words = (unsigned long *) prop_return;
for (item = 0; item < nitems_return; item++)
{
@@ -226,10 +226,11 @@
XFree(prop_return);
- if (maximized_vert && maximized_horz)
- return SEAMLESSRDP_MAXIMIZED;
- else if (hidden)
+ /* In EWMH, HIDDEN overrides MAXIMIZED_VERT/MAXIMIZED_HORZ */
+ if (hidden)
return SEAMLESSRDP_MINIMIZED;
+ else if (maximized_vert && maximized_horz)
+ return SEAMLESSRDP_MAXIMIZED;
else
return SEAMLESSRDP_NORMAL;
}
@@ -542,6 +543,33 @@
return 0;
}
+RD_BOOL
+ewmh_is_window_above(Window w)
+{
+ unsigned long nitems_return;
+ unsigned char *prop_return;
+ unsigned long *return_words;
+ unsigned long item;
+ RD_BOOL above;
+
+ above = False;
+
+ if (get_property_value(w, "_NET_WM_STATE", 64, &nitems_return, &prop_return, 0) < 0)
+ return False;
+
+ return_words = (unsigned long *) prop_return;
+
+ for (item = 0; item < nitems_return; item++)
+ {
+ if (return_words[item] == g_net_wm_state_above_atom)
+ above = True;
+ }
+
+ XFree(prop_return);
+
+ return above;
+}
+
#endif /* MAKE_PROTO */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/proto.h new/rdesktop-1.8.1/proto.h
--- old/rdesktop-1.8.0/proto.h 2013-06-20 14:56:15.000000000 +0200
+++ new/rdesktop-1.8.1/proto.h 2013-11-18 08:00:34.000000000 +0100
@@ -144,6 +144,7 @@
char *l_to_a(long N, int base);
int load_licence(unsigned char **data);
void save_licence(unsigned char *data, int length);
+void rd_create_ui(void);
RD_BOOL rd_pstcache_mkdir(void);
int rd_open_file(char *filename);
void rd_close_file(int fd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/rdesktop.c new/rdesktop-1.8.1/rdesktop.c
--- old/rdesktop-1.8.0/rdesktop.c 2013-06-27 12:37:42.000000000 +0200
+++ new/rdesktop-1.8.1/rdesktop.c 2013-11-18 08:00:35.000000000 +0100
@@ -281,7 +281,6 @@
break;
case exDiscReasonAPIInitiatedDisconnect:
- case exDiscReasonWindows7Disconnect:
text = "Server initiated disconnect";
retval = EXRD_API_DISCONNECT;
break;
@@ -321,6 +320,26 @@
retval = EXRD_DENIED_FIPS;
break;
+ case exDiscReasonServerInsufficientPrivileges:
+ text = "The user cannot connect to the server due to insufficient access privileges.";
+ retval = EXRD_INSUFFICIENT_PRIVILEGES;
+ break;
+
+ case exDiscReasonServerFreshCredentialsRequired:
+ text = "The server does not accept saved user credentials and requires that the user enter their credentials for each connection.";
+ retval = EXRD_FRESH_CREDENTIALS_REQUIRED;
+ break;
+
+ case exDiscReasonRPCInitiatedDisconnectByUser:
+ text = "Disconnect initiated by administration tool";
+ retval = EXRD_RPC_DISCONNECT_BY_USER;
+ break;
+
+ case exDiscReasonByUser:
+ text = "Disconnect initiated by user";
+ retval = EXRD_DISCONNECT_BY_USER;
+ break;
+
case exDiscReasonLicenseInternal:
text = "Internal licensing error";
retval = EXRD_LIC_INTERNAL;
@@ -510,7 +529,6 @@
#ifdef WITH_RDPSND
char *rdpsnd_optarg = NULL;
#endif
- int longidx;
#ifdef HAVE_LOCALE_H
/* Set locale according to environment */
@@ -1132,15 +1150,10 @@
DEBUG(("Connection successful.\n"));
memset(password, 0, sizeof(password));
- /* only create a window if we dont have one intialized */
- if (!ui_have_window())
- {
- if (!ui_create_window())
- return EX_OSERR;
- }
-
+ rd_create_ui();
tcp_run_ui(True);
+ deactivated = False;
g_redirect = False;
g_reconnect_loop = False;
rdp_main_loop(&deactivated, &ext_disc_reason);
@@ -1154,7 +1167,7 @@
continue;
/* handle network error and start autoreconnect */
- if (g_network_error)
+ if (g_network_error && !deactivated)
{
fprintf(stderr,
"Disconnected due to network error, retrying to reconnect for %d minutes.\n",
@@ -1732,6 +1745,18 @@
close(fd);
}
+/* create rdesktop ui */
+void
+rd_create_ui()
+{
+ /* only create a window if we dont have one intialized */
+ if (!ui_have_window())
+ {
+ if (!ui_create_window())
+ exit(EX_OSERR);
+ }
+}
+
/* Create the bitmap cache directory */
RD_BOOL
rd_pstcache_mkdir(void)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/rdesktop.h new/rdesktop-1.8.1/rdesktop.h
--- old/rdesktop-1.8.0/rdesktop.h 2013-06-20 14:56:15.000000000 +0200
+++ new/rdesktop-1.8.1/rdesktop.h 2013-11-18 08:00:35.000000000 +0100
@@ -100,6 +100,10 @@
#define EXRD_OUT_OF_MEM 6
#define EXRD_DENIED 7
#define EXRD_DENIED_FIPS 8
+#define EXRD_INSUFFICIENT_PRIVILEGES 9
+#define EXRD_FRESH_CREDENTIALS_REQUIRED 10
+#define EXRD_RPC_DISCONNECT_BY_USER 11
+#define EXRD_DISCONNECT_BY_USER 12
#define EXRD_LIC_INTERNAL 16
#define EXRD_LIC_NOSERVER 17
#define EXRD_LIC_NOLICENSE 18
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/rdesktop.spec new/rdesktop-1.8.1/rdesktop.spec
--- old/rdesktop-1.8.0/rdesktop.spec 2013-08-09 08:12:07.000000000 +0200
+++ new/rdesktop-1.8.1/rdesktop.spec 2013-11-18 09:09:45.000000000 +0100
@@ -1,6 +1,6 @@
Summary: Remote Desktop Protocol client
Name: rdesktop
-Version: 1.8.0
+Version: 1.8.1
Release: 1
License: GPL; see COPYING
Group: Applications/Communications
@@ -11,7 +11,7 @@
%description
rdesktop is a client for Remote Desktop Protocol (RDP), used in a number of
Microsoft products including Windows NT Terminal Server, Windows 2000 Server,
-Windows XP and Windows 2003 Server.
+Windows XP, Windows 2003 Server and Windows 2008r2.
%prep
rm -rf $RPM_BUILD_ROOT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/rdp.c new/rdesktop-1.8.1/rdp.c
--- old/rdesktop-1.8.0/rdp.c 2013-06-20 14:56:16.000000000 +0200
+++ new/rdesktop-1.8.1/rdp.c 2013-11-18 08:00:35.000000000 +0100
@@ -1044,6 +1044,9 @@
uint8 type;
uint16 len_src_descriptor, len_combined_caps;
+ /* at this point we need to ensure that we have ui created */
+ rd_create_ui();
+
in_uint32_le(s, g_rdp_shareid);
in_uint16_le(s, len_src_descriptor);
in_uint16_le(s, len_combined_caps);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/rdpsnd_dsp.c new/rdesktop-1.8.1/rdpsnd_dsp.c
--- old/rdesktop-1.8.0/rdpsnd_dsp.c 2013-06-20 14:56:16.000000000 +0200
+++ new/rdesktop-1.8.1/rdpsnd_dsp.c 2013-11-18 08:00:34.000000000 +0100
@@ -255,7 +255,7 @@
#ifdef HAVE_LIBSAMPLERATE
if (src_converter == NULL)
{
- warning("no samplerate converter available!!\n");
+ warning("no samplerate converter available!\n");
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/rdpsnd_libao.c new/rdesktop-1.8.1/rdpsnd_libao.c
--- old/rdesktop-1.8.0/rdpsnd_libao.c 2013-06-20 14:56:16.000000000 +0200
+++ new/rdesktop-1.8.1/rdpsnd_libao.c 2013-11-18 08:00:35.000000000 +0100
@@ -111,6 +111,7 @@
{
ao_sample_format format;
+ memset(&format, 0, sizeof(format));
format.bits = pwfx->wBitsPerSample;
format.channels = pwfx->nChannels;
format.rate = 44100;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/sc.c new/rdesktop-1.8.1/sc.c
--- old/rdesktop-1.8.0/sc.c 2013-06-20 14:56:16.000000000 +0200
+++ new/rdesktop-1.8.1/sc.c 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-#include
-
-int
-main(int argc, char **argv)
-{
- CARD_DATA cd;
- PCARD_DATA pcd;
-
- memset(pcd, 0, sizeof(cd));
-
- return 0;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/scard.c new/rdesktop-1.8.1/scard.c
--- old/rdesktop-1.8.0/scard.c 2013-08-09 07:32:55.000000000 +0200
+++ new/rdesktop-1.8.1/scard.c 2013-11-18 08:00:35.000000000 +0100
@@ -2,8 +2,8 @@
rdesktop: A Remote Desktop Protocol client.
Smart Card support
Copyright (C) Alexi Volkov 2006
- Copyright 2010 Pierre Ossman for Cendio AB
- Copyright 2011 Henrik Andersson for Cendio AB
+ Copyright 2010-2013 Pierre Ossman for Cendio AB
+ Copyright 2011-2013 Henrik Andersson for Cendio AB
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -1109,6 +1109,7 @@
MYPCSC_SCARDCONTEXT myHContext;
SERVER_DWORD dwTimeout;
SERVER_DWORD dwCount;
+ SERVER_DWORD dwPointerId;
SERVER_LPSCARD_READERSTATE_A rsArray, cur;
MYPCSC_LPSCARD_READERSTATE_A myRsArray;
long i;
@@ -1133,7 +1134,8 @@
memset(rsArray, 0, dwCount * sizeof(SERVER_SCARD_READERSTATE_A));
for (i = 0, cur = rsArray; i < dwCount; i++, cur++)
{
- in_uint32_le(in, cur->szReader);
+ in_uint32_le(in, dwPointerId);
+ cur->szReader = (char *) (intptr_t) dwPointerId;
in_uint32_le(in, cur->dwCurrentState);
in_uint32_le(in, cur->dwEventState);
in_uint32_le(in, cur->cbAtr);
@@ -1989,26 +1991,6 @@
rv = SCardGetAttrib(myHCard, (MYPCSC_DWORD) dwAttrId, pbAttr, &attrLen);
dwAttrLen = attrLen;
- if (dwAttrId == SCARD_ATTR_VENDOR_NAME && rv != SCARD_S_SUCCESS)
- {
- DEBUG_SCARD(("SCARD: Faking attribute ATTR_VENDOR_NAME\n"));
- pthread_mutex_lock(&hcardAccess);
- PSCHCardRec hcard = hcardFirst;
- while (hcard)
- {
- if (hcard->hCard == hCard)
- {
- dwAttrLen = strlen(hcard->vendor);
- memcpy(pbAttr, hcard->vendor, dwAttrLen);
- rv = SCARD_S_SUCCESS;
- break;
- }
- hcard = hcard->next;
- }
- pthread_mutex_unlock(&hcardAccess);
- DEBUG_SCARD(("[0x%.8x]\n", (unsigned int) rv));
- }
-
if (rv != SCARD_S_SUCCESS)
{
DEBUG_SCARD(("SCARD: -> Failure: %s (0x%08x)\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/seamless.c new/rdesktop-1.8.1/seamless.c
--- old/rdesktop-1.8.0/seamless.c 2013-06-20 14:56:16.000000000 +0200
+++ new/rdesktop-1.8.1/seamless.c 2013-11-18 08:00:34.000000000 +0100
@@ -437,7 +437,7 @@
s = channel_init(seamless_channel, len);
out_uint8p(s, buf, len) s_mark_end(s);
- DEBUG_SEAMLESS(("SeamlessRDP sending:%s", buf));
+ DEBUG_SEAMLESS(("seamlessrdp sending:%s", buf));
#if 0
printf("seamless send:\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/tcp.c new/rdesktop-1.8.1/tcp.c
--- old/rdesktop-1.8.0/tcp.c 2013-06-28 13:20:08.000000000 +0200
+++ new/rdesktop-1.8.1/tcp.c 2013-11-18 08:00:35.000000000 +0100
@@ -193,7 +193,7 @@
int rcvd = 0, ssl_err;
if (g_network_error == True)
- return;
+ return NULL;
if (s == NULL)
{
@@ -318,7 +318,9 @@
}
options = 0;
+#ifdef SSL_OP_NO_COMPRESSION
options |= SSL_OP_NO_COMPRESSION;
+#endif // __SSL_OP_NO_COMPRESSION
options |= SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS;
SSL_CTX_set_options(g_ssl_ctx, options);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/xproto.h new/rdesktop-1.8.1/xproto.h
--- old/rdesktop-1.8.0/xproto.h 2013-06-20 14:56:15.000000000 +0200
+++ new/rdesktop-1.8.1/xproto.h 2013-11-18 08:00:34.000000000 +0100
@@ -12,5 +12,6 @@
void ewmh_set_icon(Window wnd, int width, int height, const char *rgba_data);
void ewmh_del_icon(Window wnd, int width, int height);
int ewmh_set_window_above(Window wnd);
+RD_BOOL ewmh_is_window_above(Window w);
void set_keypress_keysym(unsigned int keycode, KeySym keysym);
KeySym reset_keypress_keysym(unsigned int keycode, KeySym keysym);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdesktop-1.8.0/xwin.c new/rdesktop-1.8.1/xwin.c
--- old/rdesktop-1.8.0/xwin.c 2013-06-20 14:56:16.000000000 +0200
+++ new/rdesktop-1.8.1/xwin.c 2013-11-18 08:00:35.000000000 +0100
@@ -574,14 +574,14 @@
XEvent xevent;
sw_configurenotify_context context;
struct timeval now;
- struct timeval nextsecond;
+ struct timeval future;
RD_BOOL got = False;
context.window = wnd;
context.serial = serial;
- gettimeofday(&nextsecond, NULL);
- nextsecond.tv_sec += 1;
+ gettimeofday(&future, NULL);
+ future.tv_usec += 500000;
do
{
@@ -593,7 +593,7 @@
usleep(100000);
gettimeofday(&now, NULL);
}
- while (timercmp(&now, &nextsecond, <));
+ while (timercmp(&now, &future, <));
if (!got)
{
@@ -4181,20 +4181,21 @@
/* X11 windows must be at least 1x1 */
return;
- sw->xoffset = x;
- sw->yoffset = y;
- sw->width = width;
- sw->height = height;
-
/* If we move the window in a maximized state, then KDE won't
accept restoration */
switch (sw->state)
{
case SEAMLESSRDP_MINIMIZED:
case SEAMLESSRDP_MAXIMIZED:
+ sw_update_position(sw);
return;
}
+ sw->xoffset = x;
+ sw->yoffset = y;
+ sw->width = width;
+ sw->height = height;
+
/* FIXME: Perhaps use ewmh_net_moveresize_window instead */
XMoveResizeWindow(g_display, sw->wnd, sw->xoffset, sw->yoffset, sw->width, sw->height);
}
@@ -4206,6 +4207,7 @@
seamless_window *sw;
XWindowChanges values;
unsigned long restack_serial;
+ unsigned int value_mask;
if (!g_seamless_active)
return;
@@ -4228,25 +4230,43 @@
return;
}
- if (!g_seamless_broken_restack)
+ values.stack_mode = Below;
+ value_mask = CWStackMode | CWSibling;
+ values.sibling = sw_behind->wnd;
+
+ /* Avoid that topmost windows references non-topmost
+ windows, and vice versa. */
+ if (ewmh_is_window_above(sw->wnd))
+ {
+ if (!ewmh_is_window_above(sw_behind->wnd))
+ {
+ /* Disallow, move to bottom of the
+ topmost stack. */
+ values.stack_mode = Below;
+ value_mask = CWStackMode; /* Not sibling */
+ }
+ }
+ else
{
- values.stack_mode = Below;
- values.sibling = sw_behind->wnd;
- restack_serial = XNextRequest(g_display);
- XReconfigureWMWindow(g_display, sw->wnd, DefaultScreen(g_display),
- CWStackMode | CWSibling, &values);
- sw_wait_configurenotify(sw->wnd, restack_serial);
+ if (ewmh_is_window_above(sw_behind->wnd))
+ {
+ /* Move to top of non-topmost
+ stack. */
+ values.stack_mode = Above;
+ value_mask = CWStackMode; /* Not sibling */
+ }
}
}
else
{
values.stack_mode = Above;
- restack_serial = XNextRequest(g_display);
- XReconfigureWMWindow(g_display, sw->wnd, DefaultScreen(g_display), CWStackMode,
- &values);
- sw_wait_configurenotify(sw->wnd, restack_serial);
+ value_mask = CWStackMode;
}
+ restack_serial = XNextRequest(g_display);
+ XReconfigureWMWindow(g_display, sw->wnd, DefaultScreen(g_display), value_mask, &values);
+ sw_wait_configurenotify(sw->wnd, restack_serial);
+
sw_restack_window(sw, behind);
if (flags & SEAMLESSRDP_CREATE_TOPMOST)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org