[packages/rdesktop] - up to 1.8.1
arekm
arekm at pld-linux.org
Mon Dec 23 07:16:31 CET 2013
commit 72f49ee6856e5982c1aa3bbfd4faf9f5e24a71ea
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Mon Dec 23 07:16:27 2013 +0100
- up to 1.8.1
rdesktop-svn.patch | 508 -----------------------------------------------------
rdesktop.spec | 6 +-
2 files changed, 2 insertions(+), 512 deletions(-)
---
diff --git a/rdesktop.spec b/rdesktop.spec
index af35a3a..770c077 100644
--- a/rdesktop.spec
+++ b/rdesktop.spec
@@ -1,13 +1,12 @@
Summary: RDP client for accessing Windows NT Terminal Server
Summary(pl.UTF-8): Klient RDP umożliwiający dostęp do Terminal Serwera WinNT
Name: rdesktop
-Version: 1.8.0
+Version: 1.8.1
Release: 1
License: GPL v3+
Group: X11/Applications/Networking
Source0: http://downloads.sourceforge.net/rdesktop/%{name}-%{version}.tar.gz
-# Source0-md5: 203d662ac20b22250bbbd525a9f29f3a
-Patch100: %{name}-svn.patch
+# Source0-md5: f5382c5c85b0d2cc88b9b1aa9bbf1356
Patch0: %{name}-xinerama.patch
Patch1: %{name}-heimdal.patch
URL: http://www.rdesktop.org/
@@ -38,7 +37,6 @@ wymagane żadne rozszerzenia po stronie serwera.
%prep
%setup -q
-%patch100 -p0
%patch0 -p1
%patch1 -p1
diff --git a/rdesktop-svn.patch b/rdesktop-svn.patch
deleted file mode 100644
index f86dc1a..0000000
--- a/rdesktop-svn.patch
+++ /dev/null
@@ -1,508 +0,0 @@
-Index: xproto.h
-===================================================================
---- xproto.h (wersja 1725)
-+++ xproto.h (kopia robocza)
-@@ -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);
-Index: rdpsnd_dsp.c
-===================================================================
---- rdpsnd_dsp.c (wersja 1725)
-+++ rdpsnd_dsp.c (kopia robocza)
-@@ -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;
- }
-
-Index: proto.h
-===================================================================
---- proto.h (wersja 1725)
-+++ proto.h (kopia robocza)
-@@ -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);
-Index: seamless.c
-===================================================================
---- seamless.c (wersja 1725)
-+++ seamless.c (kopia robocza)
-@@ -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");
-Index: doc/rdesktop.1
-===================================================================
---- doc/rdesktop.1 (wersja 1725)
-+++ doc/rdesktop.1 (kopia robocza)
-@@ -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"
-Index: rdp.c
-===================================================================
---- rdp.c (wersja 1725)
-+++ rdp.c (kopia robocza)
-@@ -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);
-Index: rdesktop.c
-===================================================================
---- rdesktop.c (wersja 1725)
-+++ rdesktop.c (kopia robocza)
-@@ -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)
-Index: ewmhints.c
-===================================================================
---- ewmhints.c (wersja 1725)
-+++ ewmhints.c (kopia robocza)
-@@ -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)
-+ /* In EWMH, HIDDEN overrides MAXIMIZED_VERT/MAXIMIZED_HORZ */
-+ if (hidden)
-+ return SEAMLESSRDP_MINIMIZED;
-+ else if (maximized_vert && maximized_horz)
- return SEAMLESSRDP_MAXIMIZED;
-- else if (hidden)
-- return SEAMLESSRDP_MINIMIZED;
- 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 */
-
-
-Index: rdesktop.h
-===================================================================
---- rdesktop.h (wersja 1725)
-+++ rdesktop.h (kopia robocza)
-@@ -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
-Index: tcp.c
-===================================================================
---- tcp.c (wersja 1725)
-+++ tcp.c (kopia robocza)
-@@ -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);
- }
-Index: scard.c
-===================================================================
---- scard.c (wersja 1725)
-+++ scard.c (kopia robocza)
-@@ -2,8 +2,8 @@
- rdesktop: A Remote Desktop Protocol client.
- Smart Card support
- Copyright (C) Alexi Volkov <alexi at myrealbox.com> 2006
-- Copyright 2010 Pierre Ossman <ossman at cendio.se> for Cendio AB
-- Copyright 2011 Henrik Andersson <hean01 at cendio.se> for Cendio AB
-+ Copyright 2010-2013 Pierre Ossman <ossman at cendio.se> for Cendio AB
-+ Copyright 2011-2013 Henrik Andersson <hean01 at cendio.se> 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",
-Index: constants.h
-===================================================================
---- constants.h (wersja 1725)
-+++ constants.h (kopia robocza)
-@@ -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
-Index: rdpsnd_libao.c
-===================================================================
---- rdpsnd_libao.c (wersja 1725)
-+++ rdpsnd_libao.c (kopia robocza)
-@@ -111,6 +111,7 @@
- {
- ao_sample_format format;
-
-+ memset(&format, 0, sizeof(format));
- format.bits = pwfx->wBitsPerSample;
- format.channels = pwfx->nChannels;
- format.rate = 44100;
-Index: rdesktop.spec
-===================================================================
---- rdesktop.spec (wersja 1725)
-+++ rdesktop.spec (kopia robocza)
-@@ -1,6 +1,6 @@
- Summary: Remote Desktop Protocol client
- Name: rdesktop
--Version: 1.8.0
-+Version: 1.8.0post
- Release: 1
- License: GPL; see COPYING
- Group: Applications/Communications
-Index: xwin.c
-===================================================================
---- xwin.c (wersja 1725)
-+++ xwin.c (kopia robocza)
-@@ -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,11 +4181,6 @@
- /* 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)
-@@ -4192,9 +4187,15 @@
- {
- 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))
- {
-- 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))
-+ {
-+ /* Disallow, move to bottom of the
-+ topmost stack. */
-+ values.stack_mode = Below;
-+ value_mask = CWStackMode; /* Not sibling */
-+ }
- }
-+ else
-+ {
-+ 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)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rdesktop.git/commitdiff/72f49ee6856e5982c1aa3bbfd4faf9f5e24a71ea
More information about the pld-cvs-commit
mailing list