akallabeth
5cfc3e8593
Fixed #6148 : multiple ceritificate purposes
...
OpenSSL certificate verification can only check a single purpose.
Run the checks with all allowed purposes and accept any.
2020-05-12 15:36:48 +02:00
akallabeth
a1f2c1e161
Fixed #6156 : Enforce synchronized encrypt count
...
Old style RDP encryption uses a counter, synchronize this for
packets send from different threads.
2020-05-12 15:34:57 +02:00
akallabeth
477ad675f3
Ensure all NLA structs are freed up
2020-05-12 09:09:36 +02:00
akallabeth
daf4e11324
Silence valgrind in rdp_read_header
...
If a disconnect message is received, we returned success but did
not initialize the return arguments.
2020-05-08 11:04:03 +02:00
akallabeth
a73adecaf4
Fixed #6112 : Segfault in update_decompress_brush
...
The iterators need to be signed for the loop check to work.
2020-05-06 13:31:57 +02:00
akallabeth
3a06ce058f
Fixed oob read in rfx_process_message_tileset
...
Check input data length
Thanks to hac425 CVE-2020-11043
2020-05-06 13:31:57 +02:00
akallabeth
363d7046df
Fixed oob read in clear_decompress_subcode_rlex
...
Fixed length checks before stream read.
Thanks to hac425 CVE-2020-11040
2020-05-06 13:31:57 +02:00
akallabeth
0332cad015
Fixed oob read in update_recv
...
properly use update_type_to_string to print update type.
Thanks to hac425 CVE-2020-11019
2020-05-06 13:31:57 +02:00
akallabeth
66d3b77d88
update_decompress_brush: explicit output length checks
...
The output length was just assumed to be >= 256 bytes, with this
commit it is explicitly checked.
2020-05-06 13:31:57 +02:00
akallabeth
a167f3b779
Fixed possible int overflow.
2020-05-06 13:31:57 +02:00
akallabeth
873ed92a84
Remove unnecessary cast.
2020-05-06 13:31:57 +02:00
akallabeth
6b485b146a
Fixed oob read in irp_write and similar
2020-05-06 13:31:57 +02:00
Bernhard Miklautz
3e89574205
Merge pull request #6124 from akallabeth/speedup
...
Unify inline and some warning fixes
2020-05-05 15:34:38 +02:00
Linus Heckemann
5ce0ab909f
shadow_server: allow specifying IP addresses to listen on ( #6050 )
...
* shadow_server: allow specifying IP addresses to listen on
This allows using IPv6 as well as listening only on specific
interfaces. Additionally, it enables listening on local and TCP
sockets simultaneously.
* listener: log address with square brackets
This disambiguates IPv6 addresses.
* shadow_server: check error on each socket binding
* Refactored shadow /bind-address for 2.0 compiatibility.
* Made /ipc-socket and /bind-address incompatible arguments.
* Fixed shadow /bind-address handling and description
* Allow multiple bind addresses for shadow server.
Co-authored-by: akallabeth <akallabeth@posteo.net>
2020-05-05 08:35:19 +02:00
David Fort
5b98aa7515
Merge pull request #6063 from akallabeth/expert_settings
...
Added expert settings /tune and /tune-list
2020-05-04 12:09:39 +02:00
David Fort
6fb771e401
Merge pull request #6123 from akallabeth/cert_fix
...
Fixed #6122 : Allow SSL server and client purpose
2020-05-04 12:04:08 +02:00
akallabeth
ca6d2d1b2c
Workaround #6072 : FFMPEG AAC encoding graded experimental
...
Due to many reporing issues with different AAC encoder configurations
deactivate support by default. Can be enabled by compiling with
experimental codec support.
2020-04-28 12:39:32 +02:00
akallabeth
7b0836a74f
Fixed index out of bound access in update_glyph_offset
2020-04-27 08:19:42 +02:00
Raul Fernandes
db9052e37f
Optimize function xcrush_copy_bytes()
...
Use memcpy to copy the bytes when we can assure that the memory areas does not overlap.
When the areas overlap, copy the area that doesn't overlap repeatly.
With this change, the copy is ~30x faster.
2020-04-25 16:25:36 +02:00
akallabeth
095d24934c
Fixed #6122 : Allow SSL server and client purpose
2020-04-25 08:06:00 +02:00
akallabeth
b094d52d0b
Fixed #6099 : Add a flag for legacy hash entries
...
If a legacy entry is found in certificate hash store print
additional information to the user informing about the change
with FreeRDP 2.0
2020-04-22 18:14:39 +02:00
akallabeth
cb4d90fc0a
Fixed #6101 : POINTER_LARGE_UPDATE serialization
...
The length check and field sizes in _update_read_pointer_large
were off, corrected according to [MS-RDPBCGR] 2.2.9.1.2.1.11
Fast-Path Large Pointer Update (TS_FP_LARGEPOINTERATTRIBUTE)
2020-04-22 14:21:47 +02:00
akallabeth
dfed4b3b24
Refactored pointer and/xor data copying
...
Using unified function upate_pointer_copy_andxor to copy now.
2020-04-22 14:21:47 +02:00
akallabeth
c81feb36b0
Refactored freerdp_image_copy_from_pointer_data
...
Split monochrome and color pointer handling to separate functions.
2020-04-22 14:21:47 +02:00
akallabeth
0a86090ff1
Fix initialization of LargePointer flags
...
Capability exchange is first reading server capabilities,
mask these with local settings and send only what both support.
2020-04-22 11:10:56 +02:00
akallabeth
a75280300a
Fixed [MS-RDPBCGR] 2.2.9.1.1.4.4 Color Pointer Update
...
The pointer size is limited to 32 pixel in width and height
unless LARGE_POINTER_FLAG_96x96 is set which increases the size
to 96 pixel.
2020-04-22 11:10:56 +02:00
Armin Novak
58be47bc63
Added expert settings /tune and /tune-list
2020-04-21 17:30:24 +02:00
David Fort
7733fe7a8a
Merge pull request #6060 from akallabeth/warnings
...
Fix some compiler warnings
2020-04-16 10:54:43 +02:00
Raul Fernandes
971be4fe9b
Cache the calculated color
...
In desktop area, the next color has high odds to be the same of previous color.
If we cache the value, it can be reused by the next pixel avoiding recalculation.
This optimization can halve the function's processing.
2020-04-15 13:25:52 +02:00
Martin Fleisz
9e1b2eb42e
Merge pull request #6081 from akallabeth/disable_spincount
...
Disable spincount
2020-04-15 13:24:26 +02:00
akallabeth
1a4f0badf7
Moved PROGRESSIVE_BLOCK_REGION to heap.
2020-04-14 18:27:05 +02:00
Armin Novak
9445552ecc
Fixed #6067 : Better CMake warning for deactivated image scaling
2020-04-13 09:56:19 +02:00
Armin Novak
24bd601f8d
Fixed data type warnings
2020-04-11 09:43:14 +02:00
Armin Novak
ebf44f80eb
Fixed format string warnings.
2020-04-11 09:43:01 +02:00
Linus Heckemann
89e4e24c31
tls: support non-RSA keys
2020-04-10 17:57:34 +02:00
akallabeth
a9daba0190
Check for int overflow in gdi_InvalidateRegion
2020-04-09 18:00:51 +02:00
akallabeth
6c0aeb10d2
Allow icon info with empty bitmap data.
2020-04-09 18:00:51 +02:00
akallabeth
232c7f4783
Abort order read on invalid element count.
2020-04-09 18:00:51 +02:00
akallabeth
acc6023643
Fixed possible NULL access.
2020-04-09 18:00:51 +02:00
akallabeth
a3996af062
Refactored gdi region
...
* Added a unit test
* Fixed const correctness of function arguments
* Added return values for all functions
2020-04-09 18:00:51 +02:00
akallabeth
b677b5db25
Proper error return from gdi_rect_str and gdi_regn_str
2020-04-09 18:00:51 +02:00
akallabeth
97efff4e90
Refactored order stream manipulation
...
* Use stream seek instead of setting pointer directly
* Add log messages in case of inconsistencies
* Fixed missing stream advance in update_decompress_brush
2020-04-09 18:00:51 +02:00
akallabeth
17f547ae11
Fixed CVE-2020-11521: Out of bounds write in planar codec.
...
Thanks to Sunglin and HuanGMz from Knownsec 404
2020-04-09 18:00:51 +02:00
akallabeth
907640a924
Fixed CVE-2020-11522: Limit number of DELTA_RECT to 45.
...
Thanks to Sunglin and HuanGMz from Knownsec 404
2020-04-09 18:00:51 +02:00
akallabeth
7b1d4b4939
Fix CVE-2020-11524: out of bounds access in interleaved
...
Thanks to Sunglin and HuanGMz from Knownsec 404
2020-04-09 18:00:51 +02:00
akallabeth
e075f348d2
Added debug logging and claping to all region functions
2020-04-09 18:00:51 +02:00
akallabeth
ce21b9d7ec
Fix CVE-2020-11523: clamp invalid rectangles to size 0
...
Thanks to Sunglin and HuanGMz from Knownsec 404
2020-04-09 18:00:51 +02:00
akallabeth
192856cb59
Fixed #6012 : CVE-2020-11526: Out of bounds read in update_recv_orders
...
Thanks to @hac425xxx and Sunglin and HuanGMz from Knownsec 404
2020-04-09 18:00:51 +02:00
akallabeth
0b6b92a25a
Fixed CVE-2020-11525: Out of bounds read in bitmap_cache_new
...
Thanks to Sunglin and HuanGMz from Knownsec 404
2020-04-09 18:00:51 +02:00
akallabeth
e6d10041c1
Fix #6033 : freeaddrinfo must not be called with NULL arguments.
2020-04-09 14:26:46 +02:00
Norbert Federa
c367f65d42
Merge pull request #6019 from akallabeth/bound_access_fixes
...
Fix issues with boundary access.
2020-04-06 13:53:28 +02:00
akallabeth
6f00add067
Export remaining packet length from rdp_read_share_control_header
2020-04-06 13:18:35 +02:00
akallabeth
0ad894adbc
Fixed substream read in rdp_recv_tpkt_pdu
2020-04-06 11:58:48 +02:00
akallabeth
0533c05be3
Fixed rdp_recv_tpkt_pdu parsing, use substream.
2020-04-06 11:22:18 +02:00
akallabeth
df55f40ecf
Fixed incorrect parser error message.
2020-04-06 10:42:06 +02:00
akallabeth
a022958ddf
Better error message for partial parsed capability
2020-04-03 15:10:49 +02:00
akallabeth
cba63b6d43
Added fallback to CMDTYPE_STREAM_SURFACE_BITS
...
Since our samples were incorrect, add a fallback with a log warnings
to the old CMDTYPE_STREAM_SURFACE_BITS by default behaviour.
2020-04-03 12:18:59 +02:00
akallabeth
88ad9ca56b
Fix sending/receiving surface bits command.
...
* Pass on proper command type to application
* On send let the server implementation decide to send
2.2.9.2.1 Set Surface Bits Command (TS_SURFCMD_SET_SURF_BITS) or
2.2.9.2.2 Stream Surface Bits Command (TS_SURFCMD_STREAM_SURF_BITS)
Thanks to @viniciusjarina for tracing the issue down.
2020-04-03 12:00:53 +02:00
akallabeth
2a379bfe09
Fixed invalid seek size in patrial pdu parse case
2020-04-02 17:41:49 +02:00
akallabeth
21320d973c
Use safe seek for capability parsing
...
thanks to @hardening for pointing that one out.
2020-04-02 17:39:51 +02:00
akallabeth
ddfd0cdccf
Use substreams to parse gcc_read_server_data_blocks
2020-04-02 17:39:43 +02:00
akallabeth
6b2bc41935
Fix #6010 : Check length in read_icon_info
2020-04-02 17:34:02 +02:00
akallabeth
67c2aa52b2
Fixed #6013 : Check new length is > 0
2020-04-02 17:33:54 +02:00
akallabeth
3627aaf7d2
Fixed #6011 : Bounds check in rdp_read_font_capability_set
2020-04-02 17:28:17 +02:00
akallabeth
f8890a645c
Fixed #6005 : Bounds checks in update_read_bitmap_data
2020-04-02 17:28:10 +02:00
akallabeth
ed53cd148f
Fixed #6006 : bounds checks in update_read_synchronize
2020-04-02 17:28:04 +02:00
akallabeth
f5e73cc7c9
Fixed #6009 : Bounds checks in autodetect_recv_bandwidth_measure_results
2020-04-02 17:27:59 +02:00
akallabeth
9301bfe730
Fixed #6007 : Boundary checks in rdp_read_flow_control_pdu
2020-04-02 17:27:53 +02:00
akallabeth
58dc36b3c8
Fixed possible NULL dereference
2020-04-02 17:27:10 +02:00
akallabeth
bc33a50c5a
Treat NULL and empty string as the same for credentials.
2020-03-24 12:34:35 +01:00
akallabeth
cf2f674283
Initialize KeyboardHook with define instead of magic number
2020-03-18 17:22:08 +01:00
Armin Novak
4216646746
Fixed length checks for compressed rdp data.
2020-03-10 14:05:10 +01:00
Armin Novak
297ad536a2
Cleaned up bulk_compress/decompress, prettified log.
2020-03-10 14:05:10 +01:00
Armin Novak
49b17e4e03
Refactored bulk compression
...
* Arguments now opaque
* Removed internal functions from external interface
2020-03-10 14:05:10 +01:00
Armin Novak
3ba66db99d
Unify pReceiveChannelData and psPeerReceiveChannelData
...
Fix definitions of the two function pointers.
Use and definition did not match, fix that.
Will create warnings in external projects
2020-03-10 12:21:14 +01:00
Armin Novak
d5b5088eac
Fixed misinterpretation of SendChannelData
...
SendChannelData was defined with a return value of type int, but
used as BOOL everywhere. Fix the definition to match use.
2020-03-10 12:21:14 +01:00
Armin Novak
c7187928e9
Fix tpkt header length checks for encrypted packets
...
If securityFlag SEC_ENCRYPT is set, remove the encryption headers from
the TPKT header length on comparison.
2020-03-10 12:20:50 +01:00
Armin Novak
cc49a212bd
Default to positive return for missing callbacks
...
When using +async-update, default to positive return if some
client callback is not implemented.
2020-03-10 08:59:52 +01:00
Armin Novak
5b9b7f331b
Fixed memory leak in tls_get_channel_bindings
2020-03-06 11:37:35 +01:00
Armin Novak
9c999b7135
Added raw function wrapping X509_digest
2020-03-06 11:37:35 +01:00
Armin Novak
2be6e4117f
Let ssl backend handle hash checks.
2020-03-06 11:37:35 +01:00
Armin Novak
00fa84b514
Check cert against CertificateAcceptedFingerprints
...
CertificateAcceptedFingerprints may contain a list of certificate
hashes and the corresponding fingerprint.
If one of the hashes matches consider the certificate accepted.
2020-03-06 11:37:35 +01:00
Armin Novak
d3b36ab299
Added CertificateAcceptedFingerprints to settings
2020-03-06 11:37:35 +01:00
Armin Novak
07605b0281
Consume all TPKT data reading new/upgrade license
2020-03-05 13:48:58 +01:00
Armin Novak
f1098aa17c
rdp_recv_tpkt_pdu verbose debug parsing issues
...
Print out parsing issues found in MCS Channel 1003 parsing.
2020-03-05 13:48:58 +01:00
Armin Novak
8e55c44088
tpkt_ensure_stream_consumed now more verbose.
...
tpkt_ensure_stream_consumed now writes the function it was called
from to the log. This should help identify areas the check failed.
2020-03-05 13:48:58 +01:00
Armin Novak
825d63cf0c
Added clarifications in freerdp_channel_process
2020-03-04 15:01:36 +01:00
Armin Novak
d7ba252cd7
Fixed arguments for peer->ReceiveChannelData
2020-03-04 14:52:19 +01:00
Armin Novak
0f729d2b2c
Fixed conversion and return checks.
...
* Fix some missing argument checks for function pointer implementations
* Fix broken return value check for client->SendChannelData
* Updated const correctness for function pointer implementations
2020-03-04 14:44:03 +01:00
Armin Novak
9398e8e647
Fixed freerdp_channel_process length checks
...
Fragmented data was not handled properly.
2020-03-04 14:44:03 +01:00
Armin Novak
4ad158fac6
Added freerdp_channels_data argument checks.
2020-03-04 14:44:03 +01:00
Armin Novak
3de666a80e
Improve signal handler printout.
2020-03-04 08:22:56 +01:00
Norbert Federa
17e0d25104
dynvc/client: fix and improve channel closing code
...
- fixed and consolitate the duplicated code for sending the
CLOSE_REQUEST_PDU to the server into dvcman_close_channel
- call dvcman_close_channel if a dynamic channel plugin fails
to process the received channel data
- rdpegfx: don't try to remove a non-existing cache entry,
return an error instead which now will close the channel, as
expected by Microsoft's windows protocols test suite
2020-03-04 08:03:56 +01:00
Armin Novak
bda2731035
Fixed reading suppress output pdu
...
Optional rectangle must be read from PDU
2020-03-03 13:10:24 +01:00
Armin Novak
1b91c77350
Fixed shadow server with mstsc as client.
2020-03-03 12:27:19 +01:00
Armin Novak
0d1c440cf5
Consume stream data in autoconnect
...
TPKT checks failed due to payload data not consumed in autodetect.
2020-03-02 13:54:44 +01:00
Armin Novak
be714d2a13
Fixed tpkt header length checks.
...
TPKT header length and consumption of data was not consistently
checked. This adds checks after each packet processed and fixes
any inconsistencies found.
2020-03-02 11:40:35 +01:00
Armin Novak
039bb88fef
Fixed warnings in capabilities.c
2020-03-02 11:40:35 +01:00
Armin Novak
171e73d797
Fixed compiler warnings in info.c
2020-03-02 11:40:35 +01:00
Armin Novak
318cb3dd47
Added tpkt header length plausibility checks.
2020-03-02 11:40:35 +01:00
Armin Novak
66352741f2
Added fallbacks for primitives auto detection.
...
When using primitives auto detection it was possible that no
primitive implementation was chosen at all.
This now skips broken implementations and falls back to generic
primitives if no other implementation does work.
2020-03-02 11:40:35 +01:00
Armin Novak
ce387ba04f
Check length of TPKT header for plausibility.
2020-03-02 11:40:35 +01:00
Norbert Federa
ceb015a6bb
egfx: the gfx reset grahics pdu is optional
...
Since the EGFX Reset Graphics PDU seems to be optional,
the graphicsReset variable (which is updated in that PDU's handler)
should be removed from the rdp_gdi struct with the next change
in public headers (as in freerdp v3).
There are still some clients that expect and check it and therefore
we keep it for now, initialized with TRUE.
sdas
2020-02-26 13:57:12 +01:00
Kobi Mizrachi
9417350d92
core: channels: add API to get channel name/id
2020-02-26 11:47:01 +01:00
Martin Fleisz
7ae8a158a0
Merge pull request #5707 from akallabeth/kbd_codepage
...
Added KeyboardCodePage option
2020-02-25 14:50:51 +01:00
Armin Novak
cc7027f799
Updated RDP_KEYBOARD_LAYOUT_TABLE
...
Regenerated with new fetch_language_identifiers.py, less manual
postprocessing required.
2020-02-24 12:44:15 +01:00
Armin Novak
30275e7ac3
Added keyboard language codepages and listing option
2020-02-21 11:57:36 +01:00
Norbert Federa
a48e7f8b47
core: fix endless loops waiting for activation
...
There are two loops polling the transport pdu receiver in non-blocking mode
when waiting for reaching CONNECTION_STATE_ACTIVE rdp state.
In case of an invalid pdu size in the tpkt header this leaded to an endless
loop, utilizing 100% of a cpu core.
Added a sleep and limited the max loop time to the tcp ack timout value.
2020-02-20 17:51:20 +01:00
Armin Novak
ac4bb3c103
End connection before user callbacks if aborted.
...
If somewhere in freerdp_connect freerdp_abort_connect was called
the user callbacks Authenticate, GatewayAuthenticate and
Verify[Changed|X509]Certificate[Ex] must not be called.
2020-02-19 16:44:42 +01:00
Armin Novak
436b68e416
Fixed #5895 : cast warnings.
2020-02-19 10:21:43 +01:00
Armin Novak
c0bf6c0768
working progressive Original Method DWT
...
Implemented decoding utilizing Original Method DWT
(See [MS-RDPEGFX] 3.2.8.1.2.2 Reduce-Extrapolate Method)
2020-02-18 11:13:52 +01:00
Armin Novak
1fa00c4318
Refactored progressive codec.
2020-02-18 11:13:52 +01:00
Martin Fleisz
e304428a5f
Merge pull request #5857 from akallabeth/scanbuild_fixes
...
Scanbuild fixes
2020-02-12 10:16:54 +01:00
Kobi Mizrachi
7a2eafbc3c
core: server: fix a bad free in channel->queue cleanup
2020-02-10 14:29:30 +01:00
Armin Novak
89913624be
FreeRDP_WTSVirtualChannelOpen unify channel new/free
2020-01-29 08:24:03 +01:00
Kobi Mizrachi
b393d59bcb
server: make sure all messages in channel->queue are freed when queue is freed
2020-01-29 08:24:03 +01:00
Kobi Mizrachi
8c8e5e4239
server: proxy: show indicative log on bind failure.
2020-01-27 07:57:45 +01:00
Martin Fleisz
e4a2287f4d
Merge pull request #5859 from mfleisz/multi_trans_fix
...
core: Always send CS_MULTITRANSPORT PDU to server
2020-01-23 15:39:28 +01:00
Martin Fleisz
7ef8b10fec
core: Always send CS_MULTITRANSPORT PDU to server
...
This PDU is required by Microsoft servers in order for bandwidth
management to work correctly. Even if we do not support multi-transport
for now we should just send a PDU with flags set to 0 to enable correct
handing of bandwidth measurement PDUs.
2020-01-23 15:16:14 +01:00
Armin Novak
c92bbb37f5
Fixed NULL dereference.
2020-01-23 10:12:12 +01:00
Armin Novak
ea25900f4c
Fixed #5855 : YCoCg to RGB conversion color order
2020-01-22 17:28:22 +01:00
Martin Fleisz
baca062321
core: Fix and extend populate rdp file from settings
...
This PR contains the following changes:
- Get rid of unused SettingsModified array (kept in the settings struct for ABI
compatibility)
- Fix and extend freerdp_client_populate_rdp_file_form_settings (wrote <null> strings to the rdp file, missed a lot of settings)
- Set KeyboardHook default value to 2 (hook in fullscreen) just as mstsc
does
2020-01-22 14:18:30 +01:00
Armin Novak
9d65d9562b
Fixed missing NULL set of pointer after free
...
Due to this double free was possible if disconnect_and_clear was
called multiple times.
2020-01-21 14:44:21 +01:00
Kobi Mizrachi
457d5e426c
Revert "core: rdp: reset rdp->nla in rdp_reset"
...
This reverts commit 205b0fba7f
.
2020-01-21 12:08:39 +01:00
Martin Fleisz
9099682f71
Merge pull request #5841 from akallabeth/vaapi_fixes
...
Vaapi fixes
2020-01-16 10:17:10 +01:00
Martin Fleisz
9cddb7c2be
Merge pull request #5836 from kubistika/proxy/fix_rail_and_update_issues
...
fixes: rail and update issues
2020-01-16 10:13:26 +01:00
Armin Novak
b0b81af8b8
Fixed #5839 : Use correct pointer to cast.
2020-01-16 09:53:57 +01:00
Kobi Mizrachi
205b0fba7f
core: rdp: reset rdp->nla in rdp_reset
2020-01-16 08:46:24 +01:00
David Fort
30d6e25def
Merge pull request #5750 from akallabeth/encomsp_auto
...
Encomsp automatic input control && cleanups
2020-01-15 13:56:00 +01:00
Kobi Mizrachi
d552ef9e83
server: update: made functions static
2020-01-15 12:59:06 +02:00
Kobi Mizrachi
bd5ac550c5
update: update_send_new_or_existing_window: fix signed/unsigned according to spec
2020-01-15 12:59:06 +02:00
Kobi Mizrachi
9e47fd76db
server: update: call update_check_flush whenever using the reused update buffer
2020-01-15 12:59:06 +02:00
Armin Novak
1c19de5a76
Fixed remaining issues with chroma subsampling.
2020-01-14 17:46:13 +01:00
Armin Novak
61d2e84fdc
Fixed inverted color formats in YCoCgRToRGB_8u_AC4R
2020-01-14 17:45:20 +01:00
Armin Novak
b3a642164a
Fixed planar size checks.
2020-01-14 15:14:40 +01:00
Armin Novak
4766f5204b
Enabled YCoCg for planar.
2020-01-14 14:23:43 +01:00
Armin Novak
c1679d0f2c
Added planar RLE chroma subsampling.
2020-01-14 14:06:43 +01:00
Armin Novak
6fd9525823
Implemented chroma subsampling for planar non RLE
...
Planar frames that are not RLE encoded can now be decoded if
chroma subsampling is enabled. Partly fixes #5822
2020-01-14 12:43:40 +01:00
David Fort
0cc3af2282
Merge pull request #5796 from akallabeth/rdp_10_7_large_pointers
...
Added RDP 10.7 large pointer support
2020-01-14 10:17:13 +01:00
Kobi Mizrachi
50d2789ebf
server: fix leak in WTSCloseServer
...
make sure every pending message that wouldn't be handled because the
server is closing, will be free()ed as expected.
2020-01-13 13:41:44 +01:00
Kobi Mizrachi
2d9a50fafb
fix memory leaks in disp server and gfx.c
2020-01-13 13:41:44 +01:00
Armin Novak
548bec9ef2
Setting optional last error on transport close
...
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-09 10:35:49 +01:00
Armin Novak
895cb8f944
Added macro freerdp_set_last_error_if_not
...
This macro replaces the multiple instances where the current
error state is checked before setting an optional error state.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-09 10:34:27 +01:00
Martin Fleisz
f7f2ab302f
Merge pull request #5819 from akallabeth/last_error_informative
...
make Last error more informative
2020-01-09 08:47:09 +01:00
Armin Novak
105799de31
Added an error message in rdp_set_error_info
...
If the provided arguments are not properly set up write
an error message explaining what is wrong.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-08 17:51:00 +01:00
Martin Fleisz
4e06855826
proxy: Add received response in case of an error
2020-01-08 17:45:10 +01:00
Armin Novak
2391a1528b
CONNECT_TRANSPORT_FAILED in transport_check_fds
...
If TRANSPORT_LAYER_CLOSED was detected in transport_check_fds
check if there is already a connection error set, otherwise
set FREERDP_ERROR_CONNECT_TRANSPORT_FAILED to allow proper
reconnect or abort handling.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-08 17:42:08 +01:00
Armin Novak
7d252cdc8e
Added freerdp_set_last_error_ex function
...
This new function allows better logging of call locations
for errors. Additionally added freerdp_set_error_log macro
to record function, file and line the error was set.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-08 17:39:25 +01:00
Armin Novak
c24da9e856
Fixed freerdp_settings_new error cleanup.
2020-01-07 10:49:17 +01:00
David Fort
31a4e2ad8b
Merge pull request #5745 from akallabeth/urbdrc_rewrite
...
Urbdrc rewrite
2020-01-06 09:23:45 +01:00
Norbert Federa
a4988f5469
transport: check if layer was set to closed
...
There are several code paths and error conditions where
transport->layer is correctly set to TRANSPORT_LAYER_CLOSED but
the required code for checking that state was missing.
E.g. write errors in the rdg code resulted in marking the transport
layer as closed but the transport code would indefinitely continue
to read from the receiving socket.
2019-12-27 12:37:03 +01:00
Armin Novak
323491dab1
Support for RDP protocol version 10.7
...
* Adds support for 10.7 protocol version
* Uses it as client default
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 09:54:11 +01:00
Armin Novak
182d0ce548
Added RDP 10.7 large pointer support
...
* Implements [MS-RDPBCGR] version 51 large pointer support.
* Logs unknown large pointer capability flags as warning.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 09:53:40 +01:00
Armin Novak
6482a638f4
Increased client build number
...
According to [MS-RDPESC] 1.7 Versioning and Capability Negotiation
the client build is used to determine feature / behaviour.
Announce something more modern than Windows XP SP3.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-18 12:22:18 +01:00
Ondrej Holy
0531624826
Tell the server that smartcard is redirected
...
There were server-side changes on Windows 2012 and newer regarding
smartcards, namely the Smart Card Service start and stop behavior:
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh849637(v%3Dws.11)#smart-card-service-start-and-stop-behavior
Some people see "No valid certificates were found on this smart card",
when the Smart Card Service is not running and has to use various
workarounds to start the service manually, e.g.:
http://blogs.danosaab.com/2016/12/using-smart-card-with-remote-desktop-connection-on-mac-osx/
http://www.edugeek.net/forums/windows-server-2012/161255-smart-card-service-issue-windows-server-2012r2-terminal-services-hyperv.html
I've been looking at RDP specifications and found that
REDIRECTED_SMARTCARD should be probably specified in TS_UD_CS_CLUSTER
block flags when the smartcard is redirected, but it is not currently:
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpbcgr/d68c629f-36a1-4a40-afd0-8b3e56d29aac
This might be the reason, why the Smart Card Service is not
autostarted for some people. Let's try to set this flag and see what
will happens...
https://github.com/FreeRDP/FreeRDP/issues/4743
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-18 12:22:11 +01:00
Kobi Mizrachi
200f50c1f6
update: add proper stream checks
2019-12-17 12:38:41 +01:00
xie.kunming
e16bef6b4f
rdp.c : fix DATA_PDU_TYPE_STRINGS mismatch declaration when WITH_DEBUG_ALL=ON
2019-12-16 12:14:59 +01:00
Kobi Mizrachi
033ee763e9
core: server: update: fix update_send_new_or_existing_notification_icons
2019-12-12 11:10:44 +01:00
Kobi Mizrachi
edeb449185
core: server: add missing NULL check in FreeRDP_WTSVirtualChannelRead
2019-12-12 11:10:44 +01:00
Mati Shabtay
4dacb57f6f
rail server: implement channel code for rail server
...
* Split common functionality from client code
* Clean up client code and use proper defines for constants
* Implements the channel code to read/write server side
messages.
2019-12-12 11:10:44 +01:00
Mati Shabtay
8298728663
channels.c: Send the CHANNEL_OPTION_SHOW_PROTOCOL option only in client mode
...
According to MS-RDPBCGR section 2.2.1.3.4.1, this option should only be
sent as a client. If set by a server, mstsc will crash.
2019-12-12 11:10:44 +01:00
Mati Shabtay
9045f1b343
info.c: Set hidef Remote App flag on info packet read
2019-12-12 11:10:44 +01:00
Mati Shabtay
8e4a88d955
update.c: Implement rail server altsec window orders
2019-12-12 11:10:44 +01:00
Martin Fleisz
71feb974ac
Merge pull request #5739 from akallabeth/improve_function_hiding
...
Improve function hiding
2019-12-02 11:31:35 +01:00
Armin Novak
7c243da6e1
Remove symbols exported by accident.
2019-12-02 10:57:31 +01:00
David Fort
22f954970a
primitives: use host pointers for openCL
...
Using host pointers may skip the need for copying buffers.
2019-11-29 11:59:09 +01:00
Armin Novak
c7337f4b6b
Added data length check for RDP_CODEC_ID_NONE
2019-11-28 08:08:30 +01:00
Armin Novak
c5e261e066
Added new command line swith for automatich assistance control.
2019-11-25 10:32:55 +01:00
Armin Novak
3aa6047b3a
Updated primitive function const correctness.
2019-11-22 13:21:39 +01:00
Armin Novak
e347c7b3de
Added YUV444 kernel
2019-11-22 13:21:39 +01:00
Armin Novak
b3a3a6b9c2
Fixed intialization of opencl primitives and warnings.
2019-11-22 13:21:39 +01:00
David Fort
6123920a2e
opencl: inline the openCL program in the source code
2019-11-22 13:21:39 +01:00
Armin Novak
00e9efd189
Fixed init code.
2019-11-22 13:21:39 +01:00
Armin Novak
733c70cd25
Fixed primitives cleanup code.
2019-11-22 13:21:39 +01:00
Armin Novak
0a3721587a
Cleaned up primitives code.
2019-11-22 13:21:39 +01:00
David Fort
5f0943f0fe
primitives: add openCL support
...
This patch adds the basic infrastructure to have openCL acceleration.
For now only YUV2RGB is implemented but other operations could be
implemented.
The primitives have been massively reworked so that we have an autodetect
mode that will pick the best implementation automatically by performing a
benchmark.
Sponsored-by: Rangee Gmbh(http://www.rangee.com )
2019-11-22 13:21:39 +01:00
David Fort
7b743b3199
rails: shorten logs
2019-11-22 13:21:39 +01:00
Armin Novak
210b40a54f
Removed msusb from library.
2019-11-22 10:33:39 +01:00
Martin Fleisz
b97c6d87c3
Merge pull request #5706 from akallabeth/tcp_keepalive
...
Configurable Tcp keepalive
2019-11-19 10:03:00 +01:00
Armin Novak
6e1a396aa4
rdpNineGridCache now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
68ed1276c2
MPPC_CONTEXT now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
e83f65b062
NCRUSH_CONTEXT now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
f0353de828
XCRUSH_CONTEXT now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
267bc31248
rdpOffscreenCache now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
028f523ea0
rdpBrushCache now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
6afa413669
Modified primitives function pointer to take const pointer to const data
2019-11-14 10:46:24 +01:00
Armin Novak
8665ac7e81
Fixed broken strnlen checks
2019-11-11 12:12:51 +01:00
Armin Novak
9e7c24668b
Fixed broken length calculation in rdp_write_extended_info_packet
2019-11-11 09:30:16 +01:00
Armin Novak
da87247d61
Added KeyboardCodePage option
...
Thanks to @byteboon for the hint.
2019-11-07 19:57:07 +01:00
Armin Novak
639174e7d3
Added configurable TcpKeepAliveDelay setting.
2019-11-07 16:07:18 +01:00
Armin Novak
09dd01a78f
Implemented configurable tcp keepalive and timeout detection
2019-11-07 13:03:33 +01:00
Armin Novak
7f21f4ef3d
Added additional tcp keep alive settings.
2019-11-07 12:45:05 +01:00
Armin Novak
7db4f69cb6
Added TcpKeepalive setting, use settings getter const arguments.
2019-11-07 12:39:22 +01:00
Armin Novak
fc4bb71205
Added cast and checks for info packet.
2019-11-07 10:55:27 +01:00
Armin Novak
153639624b
Fixed NULL checks for strnlen calls, limit static channel name length.
...
As reported by @metametaclass in #5687 check the strings for NULL before
using strnlen. Also extend the same checks to static channel loading.
2019-11-07 10:53:55 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Raphaël ZHOU
31962b2fa6
Fix padding of encoded scan-line for XOR mask of pointer.
2019-11-07 10:12:22 +01:00
Armin Novak
75ed12f1f0
Fixed userdata pointer and CHANNEL_EVENT_WRITE_CANCELLED message.
2019-11-06 13:01:43 +01:00
Armin Novak
1bcb799560
Listen to CHANNEL_EVENT_WRITE_CANCELLED and emit if queue is cleared.
2019-11-06 13:01:43 +01:00
Armin Novak
1b78b59926
Fixed #4809 : Properly process CHANNEL_EVENT_WRITE_COMPLETE
2019-11-06 13:01:43 +01:00
Martin Fleisz
5b6663fe3a
Merge pull request #5689 from akallabeth/cleanups
...
Cleanups
2019-11-05 15:28:02 +01:00
Armin Novak
d7877186d6
Fixed strnlen issues.
2019-11-05 14:55:33 +01:00
David Fort
824d09169e
rdp: fix byte and packet counters
...
Best to count bytes directly at the transport level.
2019-11-04 07:39:35 +01:00
David Fort
59d5f888a3
fix typo
2019-11-04 07:39:35 +01:00
Armin Novak
993b79f1bd
Removed strcpy use.
2019-10-29 11:58:43 +01:00
Armin Novak
f01e042211
Code cleanups (strlen, casts, size_t, ...)
2019-10-29 11:58:43 +01:00
Martin Fleisz
c49dc3c67f
Merge pull request #5670 from akallabeth/cairo_detection_fix
...
Fix #5669 : If cairo is detected as part of other dependencies ignore it
2019-10-28 15:18:59 +01:00
Martin Fleisz
7b2a5a6ee8
Merge pull request #5680 from akallabeth/fixes2
...
Some smaller Fixes
2019-10-28 11:54:23 +01:00
Armin Novak
47bea1bc80
wts_read_drdynvc_close_response quit message queue.
2019-10-25 13:25:12 +02:00
Armin Novak
5cdb7b7bea
Fix gdi coordinate clamping.
2019-10-25 12:58:14 +02:00
Armin Novak
d5fed5e998
Fix #5669 : If cairo is detected as part of other dependencies ignore it
...
If WITH_CAIRO=OFF it was still used when the library was detected as
part of some other dependency. With this commit the dependency is
only added if WITH_CAIRO=ON
2019-10-23 16:16:15 +02:00
David Fort
bd5a88e95a
rdp: count in/out bytes and packets
2019-10-23 09:16:35 +02:00
asapelkin
82eadad4a4
Fix some static analizer warnings
2019-10-22 15:39:54 +02:00
Martin Fleisz
5ead938271
Merge pull request #5657 from akallabeth/warning_fixes2
...
Warning fixes2
2019-10-17 17:00:57 +02:00
Martin Fleisz
105527ed37
Merge pull request #5648 from akallabeth/h264_dyn
...
H264 runtime detection
2019-10-17 12:54:43 +02:00
Armin Novak
59b4988f56
Fixed compilation warnings.
2019-10-16 14:54:05 +02:00
Armin Novak
cda41b8d07
Fixed missing initializer
2019-10-16 14:53:42 +02:00
Martin Fleisz
799685cb92
Merge pull request #5646 from akallabeth/realloc_fixes
...
Fixed #5645 : realloc return handling
2019-10-07 10:43:11 +02:00
Armin Novak
441fb4d0ca
Allow freerdp clients to function with WITH_OPENH264_LOADING
...
If no library can be loaded at runtime ignore H264 capabilities.
This allows a build with only OpenH264 support and dynamic loading
enabled to function when no openh264 library was detected.
2019-10-07 09:31:20 +02:00
Martin Fleisz
ade6b1007b
Merge pull request #5644 from akallabeth/nsc_cleanup
...
Cleaned up NSC API
2019-10-07 09:01:26 +02:00
Armin Novak
2f2ca9d93b
Fixed leak in verify_cb.
2019-10-04 16:19:23 +02:00
Armin Novak
9fee4ae076
Fixed #5645 : realloc return handling
2019-10-04 16:19:23 +02:00
Martin Fleisz
a301e08be5
Merge pull request #5639 from akallabeth/error_category
...
Added function to get an error category for better error handling.
2019-10-04 13:32:07 +02:00
Armin Novak
74f01aab15
Removed check for wrong buffer size.
2019-10-04 11:46:14 +02:00
Armin Novak
e09f739b90
Cleaned up NSC API
2019-10-04 10:33:41 +02:00
Armin Novak
4a4890b548
fixed openh264 related issues, thx to mythos from IRC
2019-10-04 10:23:43 +02:00
Armin Novak
8d088387da
Added function to get an error category for better error handling.
2019-10-03 11:19:03 +02:00
Armin Novak
1d4cdd2924
Added missing error codes.
2019-10-02 16:00:37 +02:00
Armin Novak
6100273089
Reset fastpath on disconnect, fixes #5629
2019-10-02 10:21:48 +02:00
Armin Novak
f78c5f5c44
Map gateway errors in freerdp_get_last_error_name
2019-10-01 09:47:26 +02:00
Martin Fleisz
6b8b5bbb0e
Merge pull request #5614 from akallabeth/better_gateway_error
...
Better gateway error reporting
2019-09-24 16:28:17 +02:00
Armin Novak
733cc36462
Setting freerdp_last_error in gateway error response.
2019-09-24 09:42:13 +02:00
Armin Novak
6f9cb89c5d
Better log message for resetting last error state.
2019-09-23 11:22:45 +02:00
akallabeth
4679bb6b53
Fix ##5593: duplicated typedef.
2019-09-22 16:42:31 +02:00
Armin Novak
f25488a7ab
Reset last error state after a hostname was resolved successfully.
2019-09-11 10:43:17 +02:00
Armin Novak
306c557512
Getter for state to string
2019-09-04 15:46:47 +02:00
Martin Fleisz
852907a9ba
common: Fix nullptr checking in settings_set_string function
2019-09-03 13:24:02 +02:00
Martin Fleisz
a5f4783711
Merge pull request #5561 from akallabeth/winmm_play_fix
...
Winmm play fix
2019-09-02 15:23:33 +02:00
Armin Novak
f93d625cde
Use GetTickCount64 instead of GetTickCountPrecise.
2019-09-02 15:46:36 +02:00
Armin Novak
4d4669471e
Added color conversion correctness check to interleaved codec test.
2019-08-26 10:54:43 +02:00
Armin Novak
2778cbce8c
Fixed type of sk_* macro.
2019-08-22 10:40:25 +02:00
Martin Fleisz
645cd3208f
core: Fix handling of PromptForCredentials setting
...
The prompt for credentials setting was incorrectly used in FreeRDP. If
this setting is set to 1 in a rdp file the client should prompt for
credentials even if it has credentials stored for this connection. If
the setting is set to 0 the client should either use the stored
credentials (if present) or ask for username/password otherwise.
This PR changes the old handling (if PromptForCredentials was set to 0
no credential prompting was done) to the desired behavior.
2019-08-20 16:25:08 +02:00
Louis Sautier
60152291b3
client: proxy: allow passing SOCKS5 proxies as env. vars
2019-08-20 14:06:38 +02:00
David Fort
a8fac70432
Merge pull request #5508 from akallabeth/french_kbd_fix
...
Fixed #5496 : Canadian keyboard mapping issue reported by @renaudn1981
2019-08-19 23:38:25 +02:00
kubistika
749c88ab0d
libfreerdp: core: copy redirection info in freerdp_settings_copy
2019-08-14 19:39:34 +02:00
Antenore Gatta
8617ae9ca4
Move FoundCairo module include where is referenced
2019-08-14 18:11:14 +02:00
Armin Novak
b036fd7a7d
Return a proper error if redirection fails.
2019-08-12 12:33:06 +02:00
Armin Novak
e3f3343323
Fixed #5496 : Canadian keyboard mapping issue reported by @renaudn1981
2019-08-01 11:09:57 +02:00
Sergey Bronnikov
10cedac149
Typo: neigter -> neither
2019-07-24 10:22:05 +03:00
kubistika
13fb3ffc39
libfreerdp: core: fix const correctness of freerdp_settings_clone
2019-07-17 16:20:42 +02:00
Armin Novak
36c820a9d9
Extract whole certificate chain to PEM format.
2019-07-17 14:42:32 +02:00
kubistika
c1aa6f2584
libfreerdp: settings: Fix formatting in freerdp_settings_copy
2019-07-16 13:47:35 +02:00
kubistika
0c35442843
libfreerdp: settings: call key_clone in freerdp_settings_copy
2019-07-16 13:47:35 +02:00
kubistika
8acea82288
libfreerdp: certificate: Add key_clone
2019-07-16 13:47:35 +02:00
Armin Novak
1916da35ee
Added freerdp_settings_copy
2019-07-16 13:47:35 +02:00
Armin Novak
0c17c3871b
Pass on cert validation failure, set freerdp error in all use cases.
2019-07-15 15:51:46 +02:00
Armin Novak
3b38479ec5
Added PromptForCredentials setting.
2019-07-15 12:01:30 +02:00
Armin Novak
4435fc8430
Don't set ACCESS_DENIED on first HTTP gateway response.
...
The first response is alwasy ACCESS_DENIED to initiate authentication.
Only the second response must not have that status.
2019-07-11 11:44:18 +02:00
Armin Novak
80b9212fd3
Set freerdp last error on gateway access denied.
2019-07-11 10:38:15 +02:00
Armin Novak
19103fee3d
Only try to set nego token if load balance info length is >0
2019-07-02 11:53:14 +02:00
Armin Novak
58c4e639f1
Fixed type mismatch.
2019-06-25 10:49:53 +02:00
Martin Fleisz
1112e2fffb
codec: Set alpha channel to FF if not used ( #5431 )
...
* Formatting
* codec: Set alpha channel to FF if not used
This PR initializes the alpha channel to FF. Before the alpha channel
contained uninitialized memory potentially causing problems when the
image data was used by an alpha channel aware frontend.
2019-06-13 09:19:42 +02:00
kubistika
99b10aa98d
rdpUpdate: add autoCalculateBitmapData flag
2019-06-04 17:33:18 +03:00
Martin Fleisz
20c4e3bab0
Merge pull request #5415 from akallabeth/dump_append_fix
...
Fixed format security issues.
2019-06-04 09:14:59 +02:00
kubistika
cd135ceacb
libfreerdp/core: Export monitor layout PDU
...
* Move update notification related functions to new display.c: Not
related to `rdp.c`.
* Rename `rdp_write_monitor_layout_pdu` to `display_write_monitor_layout_pdu`.
* Add internal `display_convert_rdp_monitor_to_monitor_def` instead of
doing the conversion inside `display_write_monitor_layout_pdu`.
2019-06-03 14:30:17 +03:00
Martin Fleisz
1f5ded4611
RAIL: Fix parsing of WINDOW_ORDER_FIELD_ICON_OVERLAY_NULL ( #5421 )
2019-06-03 09:05:43 +02:00
Armin Novak
c6e1208457
Fixed format security issues.
2019-05-24 09:28:08 +02:00
David Fort
6563bc28c4
rail: added verbose logs ( #5402 )
...
* rail: added verbose logs
* rail: fix buffer initialisation in debug message
2019-05-23 12:15:26 +02:00
David Fort
789ed72021
Merge pull request #5403 from akallabeth/keyboard_event_flags
...
Fixed fastpath/slowpatth pause event.
2019-05-23 12:05:58 +02:00
David Fort
1cb8ed96e2
Merge pull request #5404 from m4ntis/feat/proxy-errors
...
Proxy: Redirect errors back to client
2019-05-23 09:43:47 +02:00
Armin Novak
42ba19dd98
Added rail workdir parameter
2019-05-22 16:37:47 +02:00
kubistika
ef3a3ae9e6
Export Error Info PDU.
2019-05-19 14:42:16 +03:00
Mati Shabtay
b907324009
First version of an RDP proxy ( #5372 )
...
* server: Add proxy dir with barebones server
* sever/proxy: Remove licensing
* server/proxy: Add client files
* server/proxy: rm binary
* server/proxy: Formatting
* server/proxy: Fixed includes and added basic client creation functionality
* server/proxy: Remove licensing and fix ifndef
* proxy/server: Fix cmake indentation
* server/proxy: Fix licensing
* server/proxy: Forward connection on peer_post_connect
* server/proxy: Fix function signature
* server/proxy: Changed function signature of proxy_client_start
* server/proxy: Now peer_post_connect calls proxy_client_start in a new thread
* pfreerdp.c: Clean up useless comments and logs
* server/proxy: Fix license
* server/proxy: Remove all non-connection related data from proxy_context
* server/proxy: Move Log Tag definition to pf_log.h
* server/proxy: Move context definition to pf_context
* server/proxy: Delete pfreerdp.h
* pfreerdp.c: Move context callbacks to pf_context.c
* server/proxy: Update CMakeLists.txt
* pf_channels: Use new proxy context API
* pf_client: Move context to pf_context
* pf_client.c: Remove unnessecary event handling
* server/proxy: Formatting
* proxy/server: Move server logic to pf_server.c
* server/proxy: Handle client disconnection
* Merge stash
* pf_server.c: Open GFX Connection to client
* server: CMakeLists: build proxy along with other servers
* server: proxy: get target server from rdpNego->RoutingToken
Iv'e omitted a check from which im not sure is right. Should check in docs
* server/proxy: Handle remote server -> client disconnection
* server/proxy: Move common function to pf_common.c
* server/proxy: Move common function to pf_common.c
* rdpgfx.h: Add reference to freerdp.h for rdpContext
* pf_channels: Pipe GFX on channel connection
* server/proxy: Add pf_rdpgfx for proxy gfx callbacks
* pf_client: Declare dynvc and gfx capabilities on connection
* server/proxy: Add graphics callbacks
* server/proxy: Add graphics callbacks
* pf_server: Listen to channel events
* Pass user settings to server
* pf_server: Proxy mouse events
* fixup! server/proxy: Add graphics callbacks
* pf_client: Fix setting initialization
* Merge feat/proxy-gfx to feat/proxy
* pf_server: Fix double freed credentials
* server/proxy: Remove unnecessary call to freerdp_client_settings_parse_command_line
* server/proxy: Refactor re-activation code
* server/proxy: Run format scripts
* server/proxy: Fix segfault when post_disconnect return FALSE
* server/proxy: Refactor proxy_settings_mirror
* server/proxy: Redirect credentials
* server/proxy: move proxy_settings_mirror to pf_common.c
* server/proxy: Redirect desktop_resize event
* pf_client: Remove interactive CLI auth methods
* fixup! server/proxy: Redirect credentials
* server/proxy: Rename proxy_mirror_settings to pf_common_copy_settings
* pf_server.c: Fixed non-freed context
When the disconnection is forced by the target server, the function
`pf_server_handle_client_disconnection` isn't called. Therefore, the
context of the connection between the proxy to tagrget isn't freed.
* fixup! pf_server.c: Fixed non-freed context
* pf_client: Prefix all client methods with pf_client
* pf_context: Add init client to proxy context method
* pf_server: Confirm all GFX caps regardless of settings
* pf_server: Prefix all methods with pf_server
* pf_server: Move variable decleration to start of method
* pf_server: Fix client setting
* pf_server: Fix GFX init method
* pf_server: Move variable decleration to start of methods
* server/proxy: Formatting
* Merge feat/proxy
* pf_server: Proxy synchronize event
* pf_server: Proxy refresh rect update events
* pf_server: Proxy suppress output messages
* server/proxy: Fix licensing
* server/proxy: Move client input callbacks to pf_input
* server/proxy: Move client update callbacks to pf_update
* server/proxy: Fix non-terminated target host string
* Feat/proxy config (#2 )
* server/proxy: Add config loading support
* server/proxy: Add config file
* server/proxy: Format code
* server/proxy: Code refactor, rename update_register_callbacks and input_register_callbacks
* server/proxy: Update config file
* server/proxy: Remove config.ini from root directory
* Remove comment from config file
* server/proxy: Fix leak in pf_server_load_config
* server/proxy: Add rdpServerProxy struct and embed it in proxyContext
* server/proxy: Load configuration and pass it inside every proxyContext instance
* server/proxy: Move rdpProxyServer to proxy.h
* server/proxy: Use configuration while proxying input events
* server/proxy: Update CMakeLists
* server/proxy: Refactor pf_input.c
* server/proxy: Add AllowedChannels, DeniedChannels in configuration
* server/proxy: Remove unnecessary variable from parse_channels_from_str
* server/proxy: Update config file
* server/proxy: config: Rename to
* server/proxy: config: Add mode - blacklist/whitelist
* server/proxy: Refactor, fix NULL deref
* server/proxy: Add license to proxy.h
* server/proxy: Fix newline in pf_config.c
* server/proxy: config: Rename Mode to WhitelistMode
* Add target in config. Add checks for configuration validity (#3 )
* Add target in config. Add checks for configuration validity
* Update config file
* libfreerdp: nego: revert commented out check of routingToken length
* pf_server: Fix target host info from RoutingToken
* pf_server: Remove hardcoded lenght of routing token prefix
* Feat/refactor context (#8 )
* Refactor main structs
* Update CMakeLists.txt
* pf_server.c: Free pdata at the end of the connection
* Run format scripts
* Rename tf to pc
* Fix licenses
* pf_server: Refactor names of structs and functions
* proxy: gfx: sync caps (#4 )
* proxy: gfx: sync caps
* proxy: gfx: sync caps, hook gfx client's OnClose() call and close server resources
* fixup! Feat/refactor context (#8 )
* fixup! fixup! Feat/refactor context (#8 )
* rdpgfx/client: Fix rdpgfx_recv_caps_confirm_pdu caps set length parsing
* Run format scripts
* proxy config.ini: Change default port to 3389
* pf_rdpgfx: Limit caps version to freerdp's supported versions
* Gfx OnOpen() wait for dynvc ready (#10 )
* proxy/gfx: Wait for dynvc ready state before open
* pf_channels: Initialize pc->gfx
* pf_rdpgfx: Add log and fix comments
* rdpgfx: Fix GFX v10.6 PDUs parsing and naming according to the spec
* pf_rdpgfx: Proxy rdpgfx v10.6 PDUs
* gfx client: Publish FrameAck sending and add auto ack flag
* proxy/gfx: Forward frame ack messages
* pf_context: Forward domain on connection
* pf_rdpgfx: Change max supported caps to 10.6
* proxy: Update config
* server/proxy: Use configuration in pf_server_handle_client
* rdpgfx/client: Fix size of surface_to_scaled_window, surface_to_window
* pf_rdpgfx: Fix formatting
* pf_server.c: Fix comments
* Move pf_server_rdpgfx_init to pf_rdpgfx
* server/proxy/CMakeLists.txt: Fix formatting
* pf_client.c: Add comment in proxy_server_reactivate
* Fixed const correctness of gfx function pointer
Signed-off-by: Mati Shabtay <matishabtay@gmail.com>
* server: proxy: update copyright
* server: proxy: wrap rdpNego and add a getter for routing token
* Refactor routing token getter (#14 )
* Refactor routing token getter
* pf_server_parse_target_from_routing_token change routing_token_length to be DWORD
* libfreerdp/core/nego.c: Run format script
* pf_server: Run format script
* server/proxy: Fix os msbuild tests
* pf_channels.c: Remove unused channels
* pf_client: Remove unused callbacks
* proxy: Remove encomsp callbacks from proxy's client
* client/rdpgfx_main.c: Fix msbuild test
* pf_config.c: Use StrSep instead of strsep for Windows builds
* Removed nego struct from direct access.
Signed-off-by: Mati Shabtay <matishabtay@gmail.com>
* proxy: Rename binary to freerdp-proxy
* rdpgfx_main.c: Revert unwanted double change to send_supported_caps
* Cleaned up proxy server code.
* All internal functions static
* Added simple command line argument to supply a config file
* Silence compiler warnings
Signed-off-by: kubistika <kmizrachi18@gmail.com>
2019-05-17 14:32:54 +02:00
Armin Novak
d03d8f1a2d
Fixed fastpath/slowpatth pause event.
2019-05-16 15:21:12 +02:00
Armin Novak
0d1d069b5a
Updated settings getter/setter for RemoteApplicationSupportMask
2019-05-09 14:24:58 +02:00
Martin Fleisz
b8d931241e
Merge pull request #5314 from akallabeth/setting_getter_setter_generator
...
Added python generator for freerdp_[g|s]et_param*
2019-05-09 14:23:31 +02:00
Armin Novak
4d4e7a69d7
Fixed remaining getter/setter return checks.
2019-05-09 14:04:40 +02:00
Martin Fleisz
b953a97eae
Merge pull request #5393 from akallabeth/rails_memleak_fix
...
Fixed window order cleanup for NOTIFY_ICON_STATE_ORDER
2019-05-09 13:45:37 +02:00
Armin Novak
95a7447366
Fixed window order cleanup for NOTIFY_ICON_STATE_ORDER
2019-05-09 13:24:22 +02:00
Martin Fleisz
ccd1fc71e9
Merge pull request #5327 from akallabeth/sign_compare_fixes_v3
...
Leak and warning fixes for 2.0
2019-05-09 13:21:36 +02:00
Martin Fleisz
ff036e0198
Merge pull request #5386 from akallabeth/rails_spec_update
...
Rails spec update
2019-05-09 12:49:55 +02:00
Armin Novak
2cc714a57d
Updated RAILS implementation
...
* Implement new messages and callbacks
* Announce most recent channel features
* Added settings to configure flags to announce
2019-05-08 17:25:15 +02:00
akallabeth
9011ef1b75
Merge pull request #5387 from mfleisz/image_from_icon
...
core: Move image conversion of icon data into the library
2019-05-08 17:19:27 +02:00
Martin Fleisz
30c3b86655
core: Move image conversion for icon data into the library
2019-05-08 17:06:17 +02:00
Armin Novak
d49adfcf59
Fixed warnings and cleaned up gfx related xfreerdp code.
2019-05-08 17:01:36 +02:00
Armin Novak
b59e39b3eb
Fixed memory leak
2019-05-08 15:12:40 +02:00
Armin Novak
93bf375686
Refactored settings getter/setter to stay compatible.
2019-05-08 14:35:25 +02:00
Armin Novak
6ac91924d5
Fixed use of settings getter/setter
2019-05-08 14:17:23 +02:00
Armin Novak
abc93f924c
Added python generator for freerdp_[g|s]et_param*
...
The settings getters and setters are now automatically generated.
Added a test case to check if all available options can be retrieved.
2019-05-08 14:17:23 +02:00
Martin Fleisz
50566c2171
Merge pull request #5385 from akallabeth/some_unused_parameter_silenced
...
Some unused parameter silenced
2019-05-08 14:16:05 +02:00
Martin Fleisz
e4a9172e13
Merge pull request #5383 from akallabeth/gfx_spec_update
...
Updated GFX to 10.6 spec
2019-05-08 13:42:50 +02:00
Armin Novak
d7ca2db62e
Fixed doulbe semicolon in C files.
2019-05-08 12:58:01 +02:00
Armin Novak
ca4a1d19a5
Silenced some unused parameter warnings.
2019-05-08 12:21:31 +02:00
Armin Novak
3d1cec894c
Fixed alignment requirements for surface sizes.
2019-05-08 10:36:00 +02:00
Martin Fleisz
1392b578c1
Merge pull request #5339 from akallabeth/update_paint_lock
...
Unified update->BeginPaint and update->EndPaint
2019-05-07 15:49:58 +02:00
Armin Novak
8fdf8eaeb7
Optimized image scaling, copy if factor is 1.0
2019-05-07 12:10:23 +02:00
Armin Novak
3b7e46fb0e
Updated GFX to 10.6 spec
2019-05-07 12:10:13 +02:00
Armin Novak
6a8755a763
Added image scaling api for software drawing.
...
For future GFX channel functions an image scaling function is required.
This moves the implementation from wayland client to core library
and adds support for the much faster SWScale library.
2019-05-07 08:56:29 +02:00
Martin Fleisz
25fc56a625
Merge pull request #5260 from akallabeth/rail_spec_update
...
Rail spec update
2019-04-29 11:27:26 +02:00
Armin Novak
2a26aa0d87
Unified update->BeginPaint and update->EndPaint
...
Since these functions were called from 2 different threads
(main thread or dynamic channel) depending on fastpath or
gfx channel use lock between these.
If not locked the invalid region may be accessed from both
threads and lead to crashes as experienced with nightly df280a7ff
2019-04-11 15:33:23 +02:00