freerdp / freerdp-old Goto Github PK
View Code? Open in Web Editor NEWDEPRECATED VERSION - Check https://github.com/FreeRDP/FreeRDP : FreeRDP is a free remote desktop protocol client
Home Page: http://www.freerdp.com
License: Apache License 2.0
DEPRECATED VERSION - Check https://github.com/FreeRDP/FreeRDP : FreeRDP is a free remote desktop protocol client
Home Page: http://www.freerdp.com
License: Apache License 2.0
There are a lot of dead code fragments all over the source only visible if compiled with '-Wunused-but-set-variable'. I'm not really sure whether it is only dead code or in some cases hidden bugs.
While testing audio input plugin, on an embedded system, we got a segfault when we close the open device. In case you open the audio recorder and close it after using it, it segfaults.
using params:
xfreerdp --plugin rdpdr --data serial:COM1:/dev/ttyS0 -- IP
shell print:
registered device: COM1 (type=1 id=1)
the serial printer is: GPrinter GP5860III (http://www.gainscha.com/products_show.asp?lan=zh-en&skin=2&newsid=141577051)
print test page on windows xp, the GP5860III printer print a little and then stop.
on windows xp,it report can not print.
I also tested rdesktop .the serial printer on the rdesktop work well.
There is no file ssl.c in libfreerdp.
My Linux box uses pulseaudio.
I'm using a git pull about 2 weeks.
When I try to connect xfreerdp to Windows XP and redirect sound back
using pulseaudio the stream keeps dropping after I interact with the
desktop such as moving windows around.
Starts out fine:
rdpsnd_pulse_format_supported: ok
rdpsnd_pulse_set_format: wFormatTag=17 nChannels=2
nSamplesPerSec=22050 wBitsPerSample=4 nBlockAlign=1024
rdpsnd_pulse_open: connected
rdpsnd_pulse_set_volume: ffffffff
rdpsnd_pulse_set_volume: ffffffff
IN DEBUG MODE:
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 fb 87 1b 00 ................
rdpsnd_pulse_set_format: wFormatTag=17 nChannels=1
nSamplesPerSec=22050 wBitsPerSample=4 nBlockAlign=512
rdpsnd_pulse_open: connected
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 fb 87 1c 00 ................
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 83 a7 3a 00 ..............:.
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 f7 ad 3b 00 ..............;.
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 f7 ad 3c 00 ..............<.
rdpsnd_pulse_set_format: wFormatTag=6 nChannels=1
nSamplesPerSec=11025 wBitsPerSample=8 nBlockAlign=1
rdpsnd_pulse_open: connected
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 fb ae 3d 00 ..............=.
Then after moving some windows, I get dropouts and every few seconds I
see this:
rdpsnd_pulse_set_volume: ffffffff
rdpsnd_pulse_close:
rdpsnd_pulse_open: connected
rdpsnd_pulse_close:
rdpsnd_pulse_open: connected
rdpsnd_pulse_close:
rdpsnd_pulse_open: connected
rdpsnd_pulse_close:
rdpsnd_pulse_open: connected
rdpsnd_pulse_close:
IN DEBUG MODE:
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 05 ad ec 00 ................
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 05 ad ed 00 ................
rdpsnd_pulse_close:
rdpsnd_pulse_open: connected
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 27 ae ee 00 ............'...
DBG sec_send_to_channel (334): Sending encrypted packet:
0000 08 00 00 00 03 00 00 00 05 00 04 00 45 ae ef 00 ............E...
The connection is over the LAN.
some time ago there is a plugin freerdp_mitm.c,but i can't find it now,have you solve the problem about the NLA in with the proxy?
There's a .settings used by an IDE inside of SCM.
It would be better to drop it since it is not a common standard and people can use many different IDEs.
@awakecoding I am assigning it to you since it camed with a commit done by you.
Due the refactoring done currently make dist fails completely.
I'm using the DirectFB version of freerdp.
Here are my rpms:
directfb-1.2.9-2.fc11.x86_64
tigervnc-0.0.90-0.10.fc11.x86_64
I'm having a problem with the cursor tracking.
When I start dfbfreerdp it starts on port 5900 and waits for a connection.
So I connect using vncviewer :0 and I can see the desktop login screen.
The problem I'm having is that the mouse pointer does not track the
mouse movement properly.
The pointer only moves with X-axis motion.
Here is what the pointer track looks like as you move the mouse back and
forth:
---------------------------------------------- |x | | x | | x | | x | | x | | x | | x | | x | | x | | x | | xxxxxxxxxxxxxxxxxxxxxxxx| ----------------------------------------------
I've tried every mouse protocol setting in ~/.directfbrc and they all
follow this pattern.
I did some debugging and the cursor values that are being set by
GetCursorPosition are those of the track diagram which of course are wrong.
Ultimately the DirectFB GetCursorPosition gets down to this code:
653 DFBResult
654 dfb_windowstack_get_cursor_position( CoreWindowStack *stack,
int *ret_x, int *ret_y )
655 {
656 D_DEBUG_AT( Core_WindowStack, "%s( %p, %p, %p )\n",
__FUNCTION__, stack, ret_x, ret_y );
657
658 D_MAGIC_ASSERT( stack, CoreWindowStack );
659 D_ASSUME( ret_x != NULL || ret_y != NULL );
660
661 /* Lock the window stack. */
662 if (dfb_windowstack_lock( stack ))
663 return DFB_FUSION;
664
665 if (ret_x)
666 *ret_x = stack->cursor.x;
667
668 if (ret_y)
669 *ret_y = stack->cursor.y;
670
671 /* Unlock the window stack. */
672 dfb_windowstack_unlock( stack );
673
674 return DFB_OK;
675 }
And this is the only commit (2006) that I see involving cursor handling:
http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=10c3e898329f470e7c35e05783bab5f335514c3b
Git show:
commit a0a25a61d89018c3ca7d551f36f33d45b90249d5
Merge: e84e383 526c557
Some issues found while testing on OSX 10.7.2 with latest GIT source. (Same issues observed last month, but not reported). No errors seen when compiling. Connecting to the same host from linux works well.
Setup: Running windows as a virtual guest system under virtualhost on linux (Ubuntu) server. Unfortunately no native windows host to test on. (If someone has a test setup I can access, I'm happy to give it a shot)
-Connecting to the guest-instance works well, but session does not accept any keyboard input. Mouse input works fine. MS remote desktop for mac works well.
Helges-MacBook-Air:X11 helge$ ./xfreerdp -u helge 192.168.1.90
Warning xf_GetWindowProperty (104): Property 294 does not exist
connected to 192.168.1.90:3389
Password:
cmake output:
Helges-MacBook-Air:FreeRDP helge$ cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON .
-- FreeRDP GIT
-- Skipping optional package PulseAudio.
-- Enable this using "-DWITH_PULSEAUDIO=ON".
-- Skipping optional package PCSC.
-- Enable this using "-DWITH_PCSC=ON".
-- Finding suggested package Cups.
-- Disable this using "-DWITH_CUPS=OFF".
-- Found Cups: /usr/lib/libcups.dylib
-- Finding suggested package FFmpeg.
-- Disable this using "-DWITH_FFMPEG=OFF".
-- checking for modules 'libavcodec;libavutil'
-- package 'libavcodec' not found
-- package 'libavutil' not found
-- Skipping optional package CUnit.
-- Enable this using "-DWITH_CUNIT=ON".
-- Finding suggested package X11.
-- Disable this using "-DWITH_X11=OFF".
-- Finding suggested package XKBFile.
-- Disable this using "-DWITH_XKBFILE=OFF".
-- Finding suggested package X11.
-- Disable this using "-DWITH_X11=OFF".
CMake Warning at client/X11/CMakeLists.txt:56 (message):
WITH_MANPAGES was set, but xmlto was not found. man-pages will not be
installed
-- Finding suggested package Xinerama.
-- Disable this using "-DWITH_XINERAMA=OFF".
-- Finding suggested package Xext.
-- Disable this using "-DWITH_XEXT=OFF".
-- Finding suggested package Xcursor.
-- Disable this using "-DWITH_XCURSOR=OFF".
-- Finding suggested package Xv.
-- Disable this using "-DWITH_XV=OFF".
-- Skipping optional package DirectFB.
-- Enable this using "-DWITH_DIRECTFB=ON".
-- Finding suggested package X11.
-- Disable this using "-DWITH_X11=OFF".
-- Finding suggested package Xext.
-- Disable this using "-DWITH_XEXT=OFF".
-- Finding suggested package Xdamage.
-- Disable this using "-DWITH_XDAMAGE=OFF".
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/helge/FreeRDP
Helges-MacBook-Air:FreeRDP helge$
When a client is set to enable audio redirection but lacks the sound card hardware to do so (for example, in a virtual machine), the client will log in but then die after log in when the audio is accessed.
The error is:
Assertion 'o' failed at pulse/operation.c:128, function pa_operation_get_state(). Aborted.
commit a0a25a61d89018c3ca7d551f36f33d45b90249d5
Virtualbox implements its own RDP server displaying its guest OS. FreeRDP does not work with this server. MS Remote Desktop client (for mac) works fine.
Show connected, but never displays:
Helges-MacBook-Air:X11 helge$ ./xfreerdp 192.168.1.150
Warning xf_GetWindowProperty (104): Property 294 does not exist
connected to 192.168.1.150:3389
DirectFB UI will crash if you don't have a ~/.directfbrc file in place.
FreeRDP should automatically create a default ~/.directfbrc file if one is not found.
I was wondering if anyone else was experiencing the rdpsnd choppy when setting the audio quality to High or Dynamic.
Version : freerdp1.0.2
cmd:xfreerdp --no-nla --plugin rdpsnd --data alsa -- --rfx --rfx-mode i -f 192.168.1.95:3389&
Vitural machine:Win7
Audio Quality:High
Problem
Current git tip fails to build on OS X because of an unknown identifier (fd_set) in rdpdr_main.h:60
Steps to reproduce
# git clone https://github.com/FreeRDP/FreeRDP.git # cd FreeRDP/ # sh autogen.sh # ./configure # make
Expected result
No error, built executable
Actual Result
Making all in channels/rdpdr CC rdpdr_la-rdpdr_main.lo CC rdpdr_la-rdpdr_capabilities.lo CC rdpdr_la-devman.lo In file included from rdpdr_scard.h:28, from devman.c:25: rdpdr_main.h:60: error: expected specifier-qualifier-list before 'fd_set' make[2]: *** [rdpdr_la-devman.lo] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
Proposed solution
Including select.h in rdpdr_main.h solved the problem. Patch below:
diff --git a/channels/rdpdr/rdpdr_main.h b/channels/rdpdr/rdpdr_main.h
index 5180347..a4b67c8 100644
--- a/channels/rdpdr/rdpdr_main.h
+++ b/channels/rdpdr/rdpdr_main.h
@@ -23,6 +23,8 @@
#include <pthread.h>
#include <freerdp/utils.h>
+#include <sys/select.h>
+
#include "rdpdr_types.h"
Pull request #20 has implemented the option to set the client name for the disk redirection but this lacks a session on the manpage.
I've got the following output for such ordinary keys:
xf_kb_send_key: unknown key down keycode=97 (X keysym=0x002F)
xf_kb_send_key: unknown key up keycode=97 (X keysym=0x002F)
xf_kb_send_key: unknown key down keycode=129 (X keysym=0xFFAE)
xf_kb_send_key: unknown key up keycode=129 (X keysym=0xFFAE)
This is the keyboard layout ID: -k 0x00010416, which I got from: 0x00010416 Portuguese (Brazilian ABNT2)
Setting the ID or not, the result is the same though
Hello,
I've found an issue with X server running in depth 16 bpp.
Take a look: http://i53.tinypic.com/2naqy5v.png
Pay attention to the texts in the menu and to the WordPad application. Some colours are definitely messed up.
When I change my X server to 24 bpp, it works fine.
In rdesktop it was possible to use the compose key to write international characters ... this features was enabled using to enable_compose command in the keymap ... it would be great if similar functionality was available in freerdp as this provides consistent user experiance between working locally and within the rdp session.
rdp_send_input_unicode() in freerdp.[ch] uses an uint8 for unicode characters where ist should use an uin16.
Implement certificate validation and storage, such that when the user accepts a certificate with the ui_check_certificate callback it does not mark it is checked as valid on the next connection.
Change current behavior in xfreerdp where an invalid certificate only shows a warning, instead of requesting explicit acceptation from the user on the command-line.
Implement similar certificate checking mechanism for older RDP certificates (non-TLS), where the certificate is asked for acceptation and then stored in a certificate store if accepted. On the next connection, the certificate should be validated if it is present in the certificate store.
Today I tested sharing my 2 local printers: Cups-PDF and HP-LaserJet-4-Plus.
Both working fine locally.
I started xfreerdp like this:
X11/xfreerdp --plugin rdpdr --data printer -- -a 24 192.168.0.11
And on the server I see my two local printers. But I can print to only
one of them (Cups-PDF). The laserjet ends up going into 'stopped' status.
So then after reading some posts about maybe only one printer works, I
restarted xfreerdp like this:
X11/xfreerdp --plugin rdpdr --data printer:HP-LaserJet-4-Plus -- -a
24 192.168.0.11
And on the server I see only the laserjet. But I still get the same
result. The laserjet print job ends up going into 'stopped' status.
The correct driver is listed in Windows under Properties.
The HP LaserJet prints fine locally. I can even print jobs locally with it immediately after freerdp print jobs end up as 'stopped'.
.
Create a section in the man page to explain the exit codes
DirectFB UI does not have any semaphore thread control like there is in the X UI.
Sorry if this report is incorrectly formatted, I'm a relative newbie.
Version: 0.7 from tarball source
Hardware: Asus A7n8x, Athlon 2100, 512mb memory; further limited test with Lenovo T43 (specs unknown)
OS: Wary Puppy 5.1.1
Connection: T1 lan and 1.5mb/360k ADSL
Command: xfreerdp -a 16 -z --plugin rdpsnd [win_7_machine_ip_addr]
When connected to Windows 7 server machine via ~15mb/s lan, sound is delivered to client machine cleanly.
When connected to same server via vpn (gpptp) via 1.5mp/s ADSL, sound is choppy. Sound halts approximately once per second, then resumes, then halts again. Each sound interruption accompanied by following errmsg on stdout:
"wave_out_play: underrun occurred
ALSA lib pcm.c:7245:(snd_pcm_recover) underrun occured"
Tried -x m, no improvement. -z flag or not, no discernible change.
Audio quality on slow ADSL link (when it's audible) suggests relatively high audio compression bit rate.
Thanks. Please advise if I should provide further information.
Network Level Authentication, unlike the older authentication mechanism, has an extra challenge when it comes to unicode support: the username and passwords must be uppercased in unicode. Even though the current development sources will correctly use iconv for the unicode conversion, there is no mechanism to properly uppercase unicode characters. Since this is required in order to compute the correct NTLMv2 response, authentication fails.
In order to complete NLA unicode support, proper unicode uppercasing must be implemented, and that is definitely not as trivial as doing US ASCII uppercasing.
The setup is a system with two PCs, each with a single monitor sized 1600x1200, in portrait mode (making it two 1200x1600 monitors). They are combined using Xdmx into one virtual 2400x1600 screen.
Running a freerdp session on each PC works as expected.
But combined with Xdmx, there seems to be a rendering problem.
I am able to reproduce the problem on a single PC, using two Xephyr instances. (Xnest does not implement the Render extension, and already shows the problem without Xdmx)
To better visualize what the problem is, I installed a new cursor (only the 'Normal Select' pointer was changed from the default to 'Windows Areo').
Running xfreerdp with
the cursor looks perfectly fine:
This is the setup screen where the new cursor is selected. The cursor itself is at the top right.
When run in a Xephyr server instance, I get the same result. Even when using one 2400x1600 Xephyr instance, xfreerdp renders the cursor just fine.
steps to reproduce:
DISPLAY=:1 xfreerdp -f -x lan -u username -d domain -p passw windows7-ip
But when Xdmx comes into play, the cursor turns into this:
steps to reproduce
Xephyr :2 +xinerama &
Xdmx :3 -display :1 -display :2 +xinerama &
DISPLAY=:3 xfreerdp -f -x lan -u username -d domain -p passw windows7-ip
xf_video_init: no shmem available
, but that seems unrelated (running the first use case with extension MIT-SH disabled triggers the same warning, without affecting the cursor)Is this a known problem? Am I missing something?
The implementation of smartcard support in Freerdp has the old bug from rdesktop. It is described here:
http://sourceforge.net/tracker/?func=detail&aid=2777237&group_id=24366&atid=381347
http://sourceforge.net/tracker/?func=detail&aid=2789331&group_id=24366&atid=381347
Briefly what is happening:
If I plug in the USB smartcard (for example, eToken Pro Java), then start xfreerdp, I see PIN code request. If I unplug the smartcard, PIN request disappears and normal user/password form is shown. BUT: if I insert the smartcard again, nothing happens.
If I use smartcard reader and separate smartcard, everything works like a charm. When I reinsert smartcard, login dialog changes. Problem only appears with USB smartcards like eToken, where the reader and smartcard is in one body (where the reader is detached at the same time as smartcard).
Hi !
I had to cope with some unchecked dependencies when I built freerdp, configure script missed missing :
Xv.h
(in package x11proto-video-dev
), andXvlib.h
(in package libxv-dev
)which are required to build. After adding the missing packages on my system (debian-testing) it ran fine.
MPO
freerdp Version: v0.8.2-515-gc1f0fe0
OS: Windows Xp SP3 ( Chinese )
Symptoms: When connecting to a RDP Server from Windows( Chinese version), the wfreerdp process collapsed .
Analysis: When parameter str is multi-byte characters (for example, Chinese,Kerean, Japanese), the function *** freerdp_uniconv_out *** (libfreerdputils,unicode.c) deals in a wrong way.
The easiest way to solve the problem is to use the Windows API in the Windows environment:
#if ( defined(WINDOWS) || defined(_WIN32) ||defined(_WINDOWS) ) #include <windows.h> #endif /* Convert str from DEFAULT_CODEPAGE to WINDOWS_CODEPAGE and return buffer like xstrdup. * Buffer is 0-terminated but that is not included in the returned length. */ char* freerdp_uniconv_out(UNICONV *uniconv, char *str, size_t *pout_len) { size_t ibl = strlen(str), obl ; /* FIXME: worst case */ char *pin = str, *pout0 ; #if ( defined(WINDOWS) || defined(_WIN32) ||defined(_WINDOWS) ) obl = MultiByteToWideChar (CP_ACP, 0, pin, -1, NULL, 0); pout0 = xmalloc(obl*2 ); MultiByteToWideChar (CP_ACP, 0, pin, -1, (wchar_t*)pout0, obl); pout0[obl*2-1]=0; pout0[obl*2-2]=0; *pout_len=obl*2-2; #else char *pout; obl = 2 * ibl; pout0 = xmalloc(obl + 2); pout = pout0; #ifdef HAVE_ICONV if (iconv(uniconv->out_iconv_h, (ICONV_CONST char **) &pin, &ibl, &pout, &obl) == (size_t) - 1) { printf("freerdp_uniconv_out: iconv() error\n"); return NULL; } #else while ((ibl > 0) && (obl > 0)) { if ((signed char)(*pin) < 0) { return NULL; } *pout++ = *pin++; *pout++ = 0; ibl--; obl -= 2; } #endif if (ibl > 0) { printf("freerdp_uniconv_out: string not fully converted - %d chars left\n", (int) ibl); } *pout_len = pout - pout0; *pout++ = 0; /* Add extra double zero termination */ *pout = 0; #endif return pout0; }
I noticed that the event handling is setup as a running loop in freerdp.
That works fine for workstations and PC's that have unlimited power sources.
But for laptops and embedded devices running loops can be battery killers.
Maybe we could explore some type of wait_event mechanism for event handling.
I stuck in a DEBUG statement to see what was going on and I could see that the loop was going round n' round all the time even though my hands were off the keyboard and mouse and there was nothing happening on the server.
0000 1a 00 17 00 ec 03 ea 03 01 00 00 01 0c 00 27 00 ..............'. 0010 00 00 00 00 00 00 03 00 32 00 ........2. DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG process_new_pointer_pdu (1062): DBG process_color_pointer_common (1001): cursor = -1409016256 DBG cache_put_cursor (353): DBG run_dfbfreerdp (568): start of loop DBG process_cached_pointer_pdu (1024): DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG process_new_pointer_pdu (1062): DBG process_color_pointer_common (1001): cursor = -1409026032 DBG cache_put_cursor (353): DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop DBG run_dfbfreerdp (568): start of loop
There are a lot of dead code fragments all over the source only visible if compiled with '-Wunused-but-set-variable'. I'm not really sure whether it is only dead code or in some cases hidden bugs.
Compilation fails with a message "undefined reference to `freerdp_usleep'"
$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc... gcc3
checking whether x86_64-pc-linux-gnu-gcc and cc understand -c and -o together... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for archiver @FILE support... @
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for sysroot... no
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for ANSI C header files... (cached) yes
checking whether byte ordering is bigendian... no
checking for pkg-config... /usr/bin/pkg-config
checking for library containing socket... none required
checking for library containing inet_aton... none required
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/modem.h usability... no
checking sys/modem.h presence... no
checking for sys/modem.h... no
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking sys/strtio.h usability... no
checking sys/strtio.h presence... no
checking for sys/strtio.h... no
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking for x86_64-pc-linux-gnu-strip... (cached) x86_64-pc-linux-gnu-strip
checking for CRYPTO... yes
checking if architecture needs alignment... no
checking for ALSA... no
checking for PULSE... no
checking for FFMPEG... no
checking for cups-config... 1
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for dirfd... yes
checking whether dirfd is declared... yes
checking whether dirfd is a macro... no
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for iconv... yes
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for socklen_t... yes
checking sys/vfs.h usability... yes
checking sys/vfs.h presence... yes
checking for sys/vfs.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/statfs.h usability... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for sys/mount.h... yes
configure: checking how to get filesystem space usage...
checking statvfs64 function (SVR4)... no
checking statvfs function (SVR4)... yes
checking for struct statfs.f_namemax... no
checking for struct statvfs.f_namemax... yes
checking for struct statfs.f_namelen... yes
checking for struct statvfs.f_namelen... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking for setmntent... yes
checking for X... libraries , headers
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for XOpenDisplay in -lX11... yes
checking for XCURSOR... yes
checking for XV... no
checking for XKBFILE... yes
checking for gethostbyname... (cached) yes
checking for connect... (cached) yes
checking for remove... (cached) yes
checking for shmat... (cached) yes
checking for IceConnectionNumber in -lICE... (cached) yes
checking for XineramaIsActive in -lXinerama... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating freerdp.pc
config.status: creating libfreerdp-asn1/Makefile
config.status: creating libfreerdp-rfx/Makefile
config.status: creating libfreerdp-rfx/sse/Makefile
config.status: creating libfreerdp-rfx/neon/Makefile
config.status: creating libfreerdp-gdi/Makefile
config.status: creating libfreerdp-gdi/sse/Makefile
config.status: creating libfreerdp-gdi/neon/Makefile
config.status: creating libfreerdp-utils/Makefile
config.status: creating libfreerdp-core/Makefile
config.status: creating docs/Makefile
config.status: creating include/Makefile
config.status: creating include/freerdp/Makefile
config.status: creating include/freerdp/utils/Makefile
config.status: creating include/freerdp/types/Makefile
config.status: creating include/freerdp/constants/Makefile
config.status: creating libfreerdp-kbd/Makefile
config.status: creating keymaps/Makefile
config.status: creating cunit/Makefile
config.status: creating libfreerdp-chanman/Makefile
config.status: creating X11/Makefile
config.status: creating dfb/Makefile
config.status: creating win/Makefile
config.status: creating channels/rdpdbg/Makefile
config.status: creating channels/rdpsnd/Makefile
config.status: creating channels/rdpsnd/alsa/Makefile
config.status: creating channels/rdpsnd/pulse/Makefile
config.status: creating channels/drdynvc/Makefile
config.status: creating channels/drdynvc/pnpdr/Makefile
config.status: creating channels/drdynvc/tsmf/Makefile
config.status: creating channels/drdynvc/tsmf/ffmpeg/Makefile
config.status: creating channels/drdynvc/tsmf/alsa/Makefile
config.status: creating channels/drdynvc/tsmf/pulse/Makefile
config.status: creating channels/drdynvc/audin/Makefile
config.status: creating channels/drdynvc/audin/alsa/Makefile
config.status: creating channels/drdynvc/audin/pulse/Makefile
config.status: creating channels/cliprdr/Makefile
config.status: creating channels/rdpdr/Makefile
config.status: creating channels/rdpdr/disk/Makefile
config.status: creating channels/rdpdr/printer/Makefile
config.status: creating channels/rdpdr/serial/Makefile
config.status: creating channels/rdpdr/parallel/Makefile
config.status: creating channels/rdpdr/smartcard/Makefile
config.status: creating contrib/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
FreeRDP configure result:
Cryptography : openssl
TLS : enabled
ALSA : no
PulseAudio : no
FFmpeg : no
Printer : cups
CUnit : no
X11 : yes
XVideo : no
xkbfile : yes
DirectFB : no
Xinerama : yes
Smart card : no
configure: WARNING: unrecognized options: --without-debug-channel, --without-debug-rdp5, --without-sound, --without-libsamplerate
./make
make[1]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999'
Making all in libfreerdp-asn1
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-asn1'
CC libfreerdp_asn1_la-asn_codecs_prim.lo
CC libfreerdp_asn1_la-asn_SEQUENCE_OF.lo
CC libfreerdp_asn1_la-asn_SET_OF.lo
CC libfreerdp_asn1_la-ber_decoder.lo
CC libfreerdp_asn1_la-ber_tlv_length.lo
CC libfreerdp_asn1_la-ber_tlv_tag.lo
CC libfreerdp_asn1_la-BIT_STRING.lo
CC libfreerdp_asn1_la-constraints.lo
CC libfreerdp_asn1_la-constr_CHOICE.lo
CC libfreerdp_asn1_la-constr_SEQUENCE.lo
CC libfreerdp_asn1_la-constr_SEQUENCE_OF.lo
CC libfreerdp_asn1_la-constr_SET_OF.lo
CC libfreerdp_asn1_la-constr_TYPE.lo
CC libfreerdp_asn1_la-der_encoder.lo
CC libfreerdp_asn1_la-GeneralString.lo
CC libfreerdp_asn1_la-INTEGER.lo
CC libfreerdp_asn1_la-NativeEnumerated.lo
CC libfreerdp_asn1_la-NativeInteger.lo
CC libfreerdp_asn1_la-OBJECT_IDENTIFIER.lo
CC libfreerdp_asn1_la-OCTET_STRING.lo
CC libfreerdp_asn1_la-per_decoder.lo
CC libfreerdp_asn1_la-per_encoder.lo
CC libfreerdp_asn1_la-per_opentype.lo
CC libfreerdp_asn1_la-per_support.lo
CC libfreerdp_asn1_la-xer_decoder.lo
CC libfreerdp_asn1_la-xer_encoder.lo
CC libfreerdp_asn1_la-xer_support.lo
CC libfreerdp_asn1_la-NegoData.lo
CC libfreerdp_asn1_la-NegoDataItem.lo
CC libfreerdp_asn1_la-TSCredentials.lo
CC libfreerdp_asn1_la-TSCspDataDetail.lo
CC libfreerdp_asn1_la-TSPasswordCreds.lo
CC libfreerdp_asn1_la-TSRequest.lo
CC libfreerdp_asn1_la-TSSmartCardCreds.lo
CC libfreerdp_asn1_la-ContextFlags.lo
CC libfreerdp_asn1_la-MechType.lo
CC libfreerdp_asn1_la-MechTypeList.lo
CC libfreerdp_asn1_la-NegHints.lo
CC libfreerdp_asn1_la-NegotiationToken.lo
CC libfreerdp_asn1_la-NegTokenInit2.lo
CC libfreerdp_asn1_la-NegTokenInit.lo
CC libfreerdp_asn1_la-NegTokenResp.lo
CCLD libfreerdp-asn1.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-asn1'
Making all in libfreerdp-rfx
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-rfx'
make[3]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-rfx'
CC libfreerdp_rfx_la-rfx_bitstream.lo
CC libfreerdp_rfx_la-rfx_rlgr.lo
CC libfreerdp_rfx_la-rfx_differential.lo
CC libfreerdp_rfx_la-rfx_quantization.lo
CC libfreerdp_rfx_la-rfx_dwt.lo
CC libfreerdp_rfx_la-rfx_decode.lo
rfx_decode.c: In function 'rfx_decode_component':
rfx_decode.c:112: warning: statement with no effect
rfx_decode.c:114: warning: statement with no effect
rfx_decode.c:116: warning: statement with no effect
rfx_decode.c:118: warning: statement with no effect
rfx_decode.c:120: warning: statement with no effect
rfx_decode.c:122: warning: statement with no effect
rfx_decode.c:124: warning: statement with no effect
rfx_decode.c:126: warning: statement with no effect
rfx_decode.c:128: warning: statement with no effect
rfx_decode.c:130: warning: statement with no effect
rfx_decode.c: In function 'rfx_decode_rgb':
rfx_decode.c:139: warning: statement with no effect
rfx_decode.c:145: warning: statement with no effect
rfx_decode.c:147: warning: statement with no effect
rfx_decode.c:149: warning: statement with no effect
rfx_decode.c:152: warning: statement with no effect
rfx_decode.c:154: warning: statement with no effect
CC libfreerdp_rfx_la-rfx_encode.lo
rfx_encode.c: In function 'rfx_encode_component':
rfx_encode.c:132: warning: statement with no effect
rfx_encode.c:134: warning: statement with no effect
rfx_encode.c:136: warning: statement with no effect
rfx_encode.c:138: warning: statement with no effect
rfx_encode.c:140: warning: statement with no effect
rfx_encode.c:142: warning: statement with no effect
rfx_encode.c:144: warning: statement with no effect
rfx_encode.c:146: warning: statement with no effect
rfx_encode.c:148: warning: statement with no effect
rfx_encode.c:150: warning: statement with no effect
rfx_encode.c: In function 'rfx_encode_rgb':
rfx_encode.c:162: warning: statement with no effect
rfx_encode.c:164: warning: statement with no effect
rfx_encode.c:167: warning: statement with no effect
rfx_encode.c:169: warning: statement with no effect
rfx_encode.c:171: warning: statement with no effect
rfx_encode.c:181: warning: statement with no effect
CC libfreerdp_rfx_la-rfx_pool.lo
CC libfreerdp_rfx_la-librfx.lo
librfx.c: In function 'rfx_profiler_create':
librfx.c:55: warning: left-hand operand of comma expression has no effect
librfx.c:55: warning: statement with no effect
librfx.c:56: warning: left-hand operand of comma expression has no effect
librfx.c:56: warning: statement with no effect
librfx.c:57: warning: left-hand operand of comma expression has no effect
librfx.c:57: warning: statement with no effect
librfx.c:58: warning: left-hand operand of comma expression has no effect
librfx.c:58: warning: statement with no effect
librfx.c:59: warning: left-hand operand of comma expression has no effect
librfx.c:59: warning: statement with no effect
librfx.c:60: warning: left-hand operand of comma expression has no effect
librfx.c:60: warning: statement with no effect
librfx.c:61: warning: left-hand operand of comma expression has no effect
librfx.c:61: warning: statement with no effect
librfx.c:62: warning: left-hand operand of comma expression has no effect
librfx.c:62: warning: statement with no effect
librfx.c:64: warning: left-hand operand of comma expression has no effect
librfx.c:64: warning: statement with no effect
librfx.c:65: warning: left-hand operand of comma expression has no effect
librfx.c:65: warning: statement with no effect
librfx.c:66: warning: left-hand operand of comma expression has no effect
librfx.c:66: warning: statement with no effect
librfx.c:67: warning: left-hand operand of comma expression has no effect
librfx.c:67: warning: statement with no effect
librfx.c:68: warning: left-hand operand of comma expression has no effect
librfx.c:68: warning: statement with no effect
librfx.c:69: warning: left-hand operand of comma expression has no effect
librfx.c:69: warning: statement with no effect
librfx.c:70: warning: left-hand operand of comma expression has no effect
librfx.c:70: warning: statement with no effect
librfx.c:71: warning: left-hand operand of comma expression has no effect
librfx.c:71: warning: statement with no effect
librfx.c: In function 'rfx_profiler_free':
librfx.c:76: warning: statement with no effect
librfx.c:77: warning: statement with no effect
librfx.c:78: warning: statement with no effect
librfx.c:79: warning: statement with no effect
librfx.c:80: warning: statement with no effect
librfx.c:81: warning: statement with no effect
librfx.c:82: warning: statement with no effect
librfx.c:83: warning: statement with no effect
librfx.c:85: warning: statement with no effect
librfx.c:86: warning: statement with no effect
librfx.c:87: warning: statement with no effect
librfx.c:88: warning: statement with no effect
librfx.c:89: warning: statement with no effect
librfx.c:90: warning: statement with no effect
librfx.c:91: warning: statement with no effect
librfx.c:92: warning: statement with no effect
librfx.c: In function 'rfx_profiler_print':
librfx.c:99: warning: statement with no effect
librfx.c:100: warning: statement with no effect
librfx.c:101: warning: statement with no effect
librfx.c:102: warning: statement with no effect
librfx.c:103: warning: statement with no effect
librfx.c:104: warning: statement with no effect
librfx.c:105: warning: statement with no effect
librfx.c:106: warning: statement with no effect
librfx.c:108: warning: statement with no effect
librfx.c:109: warning: statement with no effect
librfx.c:110: warning: statement with no effect
librfx.c:111: warning: statement with no effect
librfx.c:112: warning: statement with no effect
librfx.c:113: warning: statement with no effect
librfx.c:114: warning: statement with no effect
librfx.c:115: warning: statement with no effect
CCLD libfreerdp-rfx.la
make[3]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-rfx'
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-rfx'
Making all in libfreerdp-gdi
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-gdi'
make[3]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-gdi'
CC libfreerdp_gdi_la-gdi_bitmap.lo
CC libfreerdp_gdi_la-gdi_region.lo
CC libfreerdp_gdi_la-gdi_drawing.lo
CC libfreerdp_gdi_la-gdi_palette.lo
CC libfreerdp_gdi_la-gdi_clipping.lo
CC libfreerdp_gdi_la-gdi_brush.lo
CC libfreerdp_gdi_la-gdi_shape.lo
CC libfreerdp_gdi_la-gdi_pen.lo
CC libfreerdp_gdi_la-gdi_dc.lo
CC libfreerdp_gdi_la-gdi_line.lo
CC libfreerdp_gdi_la-gdi_32bpp.lo
CC libfreerdp_gdi_la-gdi_16bpp.lo
CC libfreerdp_gdi_la-gdi_8bpp.lo
CC libfreerdp_gdi_la-color.lo
CC libfreerdp_gdi_la-decode.lo
CC libfreerdp_gdi_la-gdi.lo
CCLD libfreerdp-gdi.la
make[3]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-gdi'
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-gdi'
Making all in libfreerdp-utils
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-utils'
CC libfreerdp_utils_la-datablob.lo
CC libfreerdp_utils_la-memory.lo
CC libfreerdp_utils_la-semaphore.lo
CC libfreerdp_utils_la-unicode.lo
CC libfreerdp_utils_la-wait_obj.lo
CC libfreerdp_utils_la-chan_plugin.lo
CC libfreerdp_utils_la-stopwatch.lo
CC libfreerdp_utils_la-profiler.lo
CC libfreerdp_utils_la-hexdump.lo
CCLD libfreerdp-utils.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-utils'
Making all in libfreerdp-core
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-core'
CC libfreerdp_core_la-asn1.lo
CC libfreerdp_core_la-bitmap.lo
CC libfreerdp_core_la-cache.lo
CC libfreerdp_core_la-capabilities.lo
CC libfreerdp_core_la-connect.lo
CC libfreerdp_core_la-chan.lo
CC libfreerdp_core_la-ext.lo
CC libfreerdp_core_la-freerdp.lo
CC libfreerdp_core_la-iso.lo
CC libfreerdp_core_la-license.lo
CC libfreerdp_core_la-mcs.lo
CC libfreerdp_core_la-mppc.lo
CC libfreerdp_core_la-orders.lo
CC libfreerdp_core_la-stream.lo
CC libfreerdp_core_la-pstcache.lo
CC libfreerdp_core_la-rail.lo
CC libfreerdp_core_la-rdp.lo
CC libfreerdp_core_la-security.lo
CC libfreerdp_core_la-network.lo
CC libfreerdp_core_la-tcp.lo
CC libfreerdp_core_la-nego.lo
CC libfreerdp_core_la-errinfo.lo
CC libfreerdp_core_la-surface.lo
CC libfreerdp_core_la-openssl.lo
CC libfreerdp_core_la-credssp.lo
CC libfreerdp_core_la-ntlmssp.lo
CCLD libfreerdp-core.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-core'
Making all in docs
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/docs'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/docs'
Making all in contrib
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/contrib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/contrib'
Making all in include
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include'
Making all in freerdp
make[3]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp'
Making all in types
make[4]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp/types'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp/types'
Making all in utils
make[4]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp/utils'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp/utils'
Making all in constants
make[4]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp/constants'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp/constants'
make[4]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp'
make[3]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include/freerdp'
make[3]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include'
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/include'
Making all in keymaps
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/keymaps'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/keymaps'
Making all in libfreerdp-kbd
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-kbd'
CC libfreerdp_kbd_la-layout_ids.lo
CC libfreerdp_kbd_la-locales.lo
CC libfreerdp_kbd_la-x_layout_id_table.lo
CC libfreerdp_kbd_la-layouts_xkb.lo
CC libfreerdp_kbd_la-libkbd.lo
CCLD libfreerdp-kbd.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-kbd'
Making all in libfreerdp-chanman
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-chanman'
CC libfreerdp_chanman_la-libchanman.lo
CCLD libfreerdp-chanman.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/libfreerdp-chanman'
Making all in channels/rdpsnd
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpsnd'
CC rdpsnd_la-rdpsnd_dsp.lo
CC rdpsnd_la-rdpsnd_main.lo
CCLD rdpsnd.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpsnd'
Making all in channels/drdynvc
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc'
CC drdynvc_la-dvcman.lo
CC drdynvc_la-drdynvc_main.lo
CCLD drdynvc.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc'
Making all in channels/drdynvc/pnpdr
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc/pnpdr'
CC pnpdr_la-pnpdr_main.lo
CCLD pnpdr.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc/pnpdr'
Making all in channels/drdynvc/tsmf
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc/tsmf'
CC tsmf_la-tsmf_ifman.lo
CC tsmf_la-tsmf_media.lo
CC tsmf_la-tsmf_decoder.lo
CC tsmf_la-tsmf_audio.lo
CC tsmf_la-tsmf_codec.lo
CC tsmf_la-tsmf_main.lo
CCLD tsmf.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc/tsmf'
Making all in channels/drdynvc/audin
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc/audin'
CC audin_la-audin_dsp.lo
CC audin_la-audin_main.lo
CCLD audin.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/drdynvc/audin'
Making all in channels/cliprdr
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/cliprdr'
CC cliprdr_la-cliprdr_main.lo
CC cliprdr_la-cliprdr_x11.lo
CCLD cliprdr.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/cliprdr'
Making all in channels/rdpdbg
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdbg'
CC rdpdbg_la-rdpdbg_main.lo
CCLD rdpdbg.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdbg'
Making all in channels/rdpdr
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr'
CC rdpdr_la-rdpdr_main.lo
CC rdpdr_la-rdpdr_capabilities.lo
CC rdpdr_la-devman.lo
CC rdpdr_la-irp.lo
CC rdpdr_la-irp_queue.lo
CC rdpdr_la-rdpdr_scard.lo
CCLD rdpdr.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr'
Making all in channels/rdpdr/disk
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/disk'
CC disk_la-disk_main.lo
CCLD disk.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/disk'
Making all in channels/rdpdr/printer
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/printer'
CC printer_la-printer_main.lo
CC printer_la-printer_cups.lo
CCLD printer.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/printer'
Making all in channels/rdpdr/serial
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/serial'
CC serial_la-serial_main.lo
CCLD serial.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/serial'
Making all in channels/rdpdr/parallel
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/parallel'
CC parallel_la-parallel_main.lo
CCLD parallel.la
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/channels/rdpdr/parallel'
Making all in X11
make[2]: Entering directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/X11'
CC xfreerdp-xf_event.o
CC xfreerdp-xf_keyboard.o
CC xfreerdp-xf_win.o
CC xfreerdp-xf_video.o
CC xfreerdp-xf_decode.o
CC xfreerdp-xfreerdp.o
CCLD xfreerdp
../libfreerdp-core/.libs/libfreerdp-core.so: undefined reference to `freerdp_usleep'
collect2: ld returned 1 exit status
make[2]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999/X11'
make[1]: Leaving directory `/var/tmp/paludis/net-misc-freerdp-9999/work/freerdp-9999'
make[2]: *** [xfreerdp] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Hi everyone,
I'm currently developing the new Remote Desktop Client for ReactOS ( http://www.reactos.org ).
That means I'm using the FreeRDP Windows version.
I'm connecting from Windows 7 to a Windows 2000 Server for this example. (means 8 bit, 256 colors)
I've noticed a color difference between FreeRDP (git version 2011-05-02) and the native mstsc.
This image shows the difference (left freerdp, right mstsc - look at the mspaint color palette at the bottom):
http://www.thomasbrandt.net/ReactOS/FreeRDP/Freerdp_palette_problem.png
That's all.
Keep up the good work.
(Please don't neglect xrdp too much, ReactOS will need it some day :) )
After the clean up done in #33 the make install target is broken.
Hi,
i could not longer copy/paste text from the client to the FreeRDP destination.
The Last Exe who did this for me was Build 23.02.2021 02:46.
Exes after that Date do not.
my start cmd...
wfreerdp.exe /v:TARGET /f /smart-sizing /u:[email protected] +clipboard +floatbar
Greetings and Thanks
Rainer
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.