Upgrade to version 1.4.0.

This commit is contained in:
David E. O'Brien 2005-03-10 03:51:23 +00:00
parent 539f7f9e39
commit 7f48b966c6
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=130767
5 changed files with 9 additions and 190 deletions

View file

@ -6,14 +6,12 @@
#
PORTNAME= rdesktop
PORTVERSION= 1.3.1
PORTREVISION= 3
PORTVERSION= 1.4.0
PORTREVISION?= 0
CATEGORIES= net comms
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
EXTRA_PATCHES= ${WRKDIR}/extra-patch-localIP
MAINTAINER= matt@fruitsalad.org
COMMENT= RDP client for Windows NT/2000/2003 Terminal Server
@ -26,10 +24,6 @@ CONFIGURE_ARGS= --prefix=${PREFIX}
DOCS= doc/AUTHORS doc/TODO doc/*.txt
MAN1= rdesktop.1
pre-patch:
${SED} -e 's,rdesktop-1.3.1_localip/,,g' \
${FILESDIR}/extra-patch-localIP \
> ${WRKDIR}/extra-patch-localIP
post-patch:
@${REINPLACE_CMD} -e 's|$$cc|${CC}|' \
${WRKSRC}/configure

View file

@ -1,2 +1,2 @@
MD5 (rdesktop-1.3.1.tar.gz) = 968a1e3f5161bab80c306df31c54cfb1
SIZE (rdesktop-1.3.1.tar.gz) = 139686
MD5 (rdesktop-1.4.0.tar.gz) = 542cb9d9b4dd1ecaf3ed4ff753fea7b8
SIZE (rdesktop-1.4.0.tar.gz) = 202531

View file

@ -1,81 +0,0 @@
diff -urN rdesktop-1.3.1/iso.c rdesktop-1.3.1_localip/iso.c
--- rdesktop-1.3.1/iso.c 2003-08-11 13:08:19.000000000 +0200
+++ rdesktop-1.3.1_localip/iso.c 2004-12-01 15:26:40.000000000 +0100
@@ -211,3 +211,10 @@
iso_send_msg(ISO_PDU_DR);
tcp_disconnect();
}
+
+/* p.hoekstra@koops-furness.nl: Get Client IP from the ISO layer */
+char*
+iso_getlocalip(void)
+{
+ return tcp_getlocalip();
+}
diff -urN rdesktop-1.3.1/mcs.c rdesktop-1.3.1_localip/mcs.c
--- rdesktop-1.3.1/mcs.c 2003-07-01 11:31:24.000000000 +0200
+++ rdesktop-1.3.1_localip/mcs.c 2004-12-01 15:32:02.000000000 +0100
@@ -418,3 +418,10 @@
{
iso_disconnect();
}
+
+/* p.hoekstra@koops-furness.nl: Get Client IP from the MCS layer */
+char*
+mcs_getlocalip(void)
+{
+ return iso_getlocalip();
+}
diff -urN rdesktop-1.3.1/rdp.c rdesktop-1.3.1_localip/rdp.c
--- rdesktop-1.3.1/rdp.c 2003-12-11 18:20:01.000000000 +0100
+++ rdesktop-1.3.1_localip/rdp.c 2004-12-01 15:26:17.000000000 +0100
@@ -142,7 +142,7 @@
int len_password = 2 * strlen(password);
int len_program = 2 * strlen(program);
int len_directory = 2 * strlen(directory);
- int len_ip = 2 * strlen("127.0.0.1");
+ int len_ip = 2 * strlen("255.255.255.255");
int len_dll = 2 * strlen("C:\\WINNT\\System32\\mstscax.dll");
int packetlen = 0;
uint32 sec_flags = g_encryption ? (SEC_LOGON_INFO | SEC_ENCRYPT) : SEC_LOGON_INFO;
@@ -247,7 +247,7 @@
}
out_uint16_le(s, 2);
out_uint16_le(s, len_ip + 2); /* Length of client ip */
- rdp_out_unistr(s, "127.0.0.1", len_ip);
+ rdp_out_unistr(s, sec_getlocalip(), len_ip); /* p.hoekstra@koops-furness.nl: Send the REAL Client IP */
out_uint16_le(s, len_dll + 2);
rdp_out_unistr(s, "C:\\WINNT\\System32\\mstscax.dll", len_dll);
diff -urN rdesktop-1.3.1/secure.c rdesktop-1.3.1_localip/secure.c
--- rdesktop-1.3.1/secure.c 2003-12-10 09:02:59.000000000 +0100
+++ rdesktop-1.3.1_localip/secure.c 2004-12-01 15:31:50.000000000 +0100
@@ -887,3 +887,10 @@
{
mcs_disconnect();
}
+
+/* p.hoekstra@koops-furness.nl: Get Client IP from the secure connection */
+char*
+sec_getlocalip(void)
+{
+ return mcs_getlocalip();
+}
diff -urN rdesktop-1.3.1/tcp.c rdesktop-1.3.1_localip/tcp.c
--- rdesktop-1.3.1/tcp.c 2003-11-08 10:17:41.000000000 +0100
+++ rdesktop-1.3.1_localip/tcp.c 2004-12-01 15:32:57.000000000 +0100
@@ -228,3 +228,14 @@
{
close(sock);
}
+
+/* p.hoekstra@koops-furness.nl: Get Client IP from the TCP layer (the connected socket) */
+char*
+tcp_getlocalip(void)
+{
+ struct sockaddr_in local_addr;
+ int len = sizeof(struct sockaddr_in);
+
+ getsockname(sock, (struct sockaddr *) &local_addr, &len);
+ return inet_ntoa(local_addr.sin_addr);
+}

View file

@ -1,23 +1,5 @@
--- configure.orig Wed Oct 29 23:49:52 2003
+++ configure Thu Oct 30 11:04:20 2003
@@ -115,7 +115,7 @@
echo "CC = $cc" >>Makeconf
if $cc -v 2>&1 |grep '^gcc' >/dev/null; then
- cflags="$cflags -Wall -O2"
+ #cflags="$cflags -Wall -O2"
else
cflags="$cflags -O"
fi
@@ -291,9 +291,9 @@
esac
-echo "CFLAGS = $cflags" >>Makeconf
-echo "LDFLAGS = $ldflags" >>Makeconf
+echo "CFLAGS += $cflags" >>Makeconf
+echo "LDFLAGS += $ldflags" >>Makeconf
echo "TARGETS = $targets" >>Makeconf
echo "configure complete - now run make"
--- configure.orig Wed Mar 2 09:35:03 2005
+++ configure Mon Mar 7 16:54:07 2005
@@ -1983 +1983 @@
- CFLAGS="-g -O2"
+ #CFLAGS="-g -O2"

View file

@ -1,76 +0,0 @@
--- rdesktop.c.orig 2004-03-08 18:02:58.000000000 +0100
+++ rdesktop.c 2004-03-09 22:32:19.000000000 +0100
@@ -27,6 +27,7 @@
#include <sys/time.h> /* gettimeofday */
#include <sys/times.h> /* times */
#include <errno.h>
+#include <X11/Xlib.h> /* Window */
#include "rdesktop.h"
#ifdef EGD_SOCKET
@@ -68,6 +69,7 @@
BOOL g_console_session = False;
BOOL g_numlock_sync = False;
extern BOOL g_owncolmap;
+extern Window g_embed_wnd;
#ifdef WITH_RDPSND
BOOL g_rdpsnd = False;
@@ -112,6 +114,7 @@
fprintf(stderr, " -S: caption button size (single application mode)\n");
fprintf(stderr, " -T: window title\n");
fprintf(stderr, " -N: enable numlock synchronisation\n");
+ fprintf(stderr, " -X: embed into another window with a given id.\n");
fprintf(stderr, " -a: connection colour depth\n");
fprintf(stderr, " -r: enable specified device redirection (currently: sound)\n");
fprintf(stderr, " -0: attach to console\n");
@@ -224,6 +227,7 @@
prompt_password = False;
domain[0] = password[0] = shell[0] = directory[0] = 0;
strcpy(keymapname, "en-us");
+ g_embed_wnd = 0;
#ifdef RDP2VNC
#define VNCOPT "V:Q:"
@@ -231,7 +235,7 @@
#define VNCOPT
#endif
- while ((c = getopt(argc, argv, VNCOPT "u:d:s:c:p:n:k:g:fbeEmCDKS:T:Na:r:045h?")) != -1)
+ while ((c = getopt(argc, argv, VNCOPT "u:d:s:c:p:n:k:g:fbeEmCDKS:T:NX:a:r:045h?")) != -1)
{
switch (c)
{
@@ -374,6 +378,10 @@
g_numlock_sync = True;
break;
+ case 'X':
+ g_embed_wnd = strtod(optarg, NULL);
+ break;
+
case 'a':
g_server_bpp = strtol(optarg, NULL, 10);
if (g_server_bpp != 8 && g_server_bpp != 16 && g_server_bpp != 15
--- xwin.c.orig 2004-03-08 18:02:58.000000000 +0100
+++ xwin.c 2004-03-10 16:17:59.000000000 +0100
@@ -41,6 +41,7 @@
static int g_x_socket;
static Screen *g_screen;
Window g_wnd;
+Window g_embed_wnd;
BOOL g_enable_compose = False;
static GC g_gc;
static BOOL g_gc_initialized = False;
@@ -929,6 +930,11 @@
XFree(sizehints);
}
+ if ( g_embed_wnd )
+ {
+ XReparentWindow(g_display, g_wnd, g_embed_wnd, 0, 0);
+ }
+
input_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
VisibilityChangeMask | FocusChangeMask;