Commit Graph

18184 Commits

Author SHA1 Message Date
Armin Novak 3e9aad58f9 [common,settings] add documentation and missing API
* added freerdp_settings_are_valid for batch checks
* added missing settings function documentation
2023-11-24 14:54:56 +01:00
Armin Novak 1a5cea0023 [common,codecs] use an enum to define codecs 2023-11-24 14:54:56 +01:00
akallabeth 6eb4ff6212 [server,proxy] fix pf_context_copy_settings
possible memory leaks in failure case fixed
2023-11-24 14:54:56 +01:00
akallabeth 093d722447 [settings] assert invalid keys in getter 2023-11-24 14:54:56 +01:00
akallabeth 14ca8c736b [settings] assert invalid keys in getter 2023-11-24 14:54:56 +01:00
Armin Novak 704ee8bc4b [settings] add unused values and sign correct keys
* add -1 as unused enum entry
* change key parameter type from size_t to SSIZE_T
2023-11-24 14:54:56 +01:00
Armin Novak 6e6559c41a [settings] fix type mismatch warnings 2023-11-24 14:54:56 +01:00
Armin Novak cda6239119 [settings] update generated settings helper 2023-11-24 14:54:56 +01:00
Armin Novak 8e9b6a9201 [settings] update test generator script 2023-11-24 14:54:56 +01:00
Armin Novak 81d7558184 [settings] remove obsolete generator script 2023-11-24 14:54:56 +01:00
Armin Novak 593e2bf4a9 [api] fix compiler warnings
check #if defined(__GNUC__)
2023-11-24 14:54:56 +01:00
akallabeth cd4d77af86 [settings] add deprecation warnings
direct struct access to rdpSettings now produces warnings if not
explicitly deactiaved by defining FREERDP_SETTINGS_INTERNAL_USE
2023-11-24 14:54:56 +01:00
akallabeth 4e438d1c3e [client] make settings opaque 2023-11-24 14:54:56 +01:00
akallabeth 1f236ade7a [server] make settings opaque 2023-11-24 14:54:56 +01:00
akallabeth eb445f7c43 [channels] make settings opaque 2023-11-24 14:54:56 +01:00
akallabeth 130501fcd5 [core,bitmap] make settings opaque 2023-11-24 14:54:56 +01:00
akallabeth f068b6fc99 [utils,smartcard] make settings opaque 2023-11-24 14:54:56 +01:00
akallabeth 1163cc4d5c [core] add internal settings.h include 2023-11-24 14:54:56 +01:00
akallabeth 82eefe0bd1 [settings] auto generate key types from struct
* use enum types for settings getter/setter to have compiler check if
  keys are valid
* generate enum types from struct at compile time
* CMake option WITH_OPAQUE_SETTINGS to hide rdpStruct implementation
  from external projects
2023-11-24 14:54:56 +01:00
akallabeth fc79519741 [settings] clean up string helper 2023-11-24 14:54:56 +01:00
akallabeth 71a7ffa8d8 [settings] add freerdp_settings_append_string
this function appends a string to an existing values, takes care of
memory allocations.
2023-11-24 14:54:56 +01:00
akallabeth a9a879c59f [settings] remove freerdp_settings_take_string
this function is problematic as it allows mixing allocators.
2023-11-24 14:54:56 +01:00
akallabeth ecc21a2cfc [settings] add freerdp_settings_copy_item
convenience function to copy a value of opaque type from one settings
struct to another, cleaning up possible existing data first
2023-11-24 14:54:56 +01:00
Martin Fleisz 13d35c8a98 client/common: Return NULL/-1 if settings value was not set 2023-11-23 18:05:19 +01:00
Armin Novak 25035b094d [client,common] support redirectlocation in rdp files 2023-11-22 13:01:10 +01:00
Armin Novak c91428abf7 [ci] remove unused dependency 2023-11-22 10:38:16 +01:00
Armin Novak 1048ad4003 [scard] allow INFINITE timeout 2023-11-21 15:54:01 +01:00
akallabeth dd8fce1c9e [packaging] enable opus support for nightly 2023-11-21 14:29:47 +01:00
akallabeth 84c3e5b027 [cmake] fix pkg-config check 2023-11-21 14:29:47 +01:00
akallabeth 8309b95fec [ci] update codeql deps 2023-11-21 14:29:47 +01:00
Pascal Nowack 9c3dfefb7f codec/dsp: Also set bitrate for Opus encoder 2023-11-21 14:29:47 +01:00
akallabeth 26e003ce05 [codec,dsp] experimental opus encoder 2023-11-21 14:29:47 +01:00
akallabeth c2c40ae2ff [codec,dsp] initial support for ffmpeg/opus 2023-11-21 14:29:47 +01:00
akallabeth 7a05d85a7f [codec,dsp] unify opus sample rate check 2023-11-21 14:29:47 +01:00
akallabeth a232cec690 [codec,dsp] fix opus related code
* proper library detection
* default to NOT WITH_DSP_FFMPEG
* disable if WITH_DSP_FFMPEG
2023-11-21 14:29:47 +01:00
Pascal Nowack 330f7ae0a2 codec/dsp: Add support for decoding Opus encoded streams
The Opus codec is a modern free audio codec, that is also royalty-free.
Adding support for it will allow clients and servers supporting it to
transfer audio in similar efficient way like with AAC.
So, add support it.
2023-11-21 14:29:47 +01:00
akallabeth 3ca26384ee [core] only move state on demand active
rdp_client_connect_demand_active returns STATE_RUN_ACTIVE if we received
it, some other return otherwise
2023-11-21 13:54:29 +01:00
akallabeth 0ee61dcb62 [core,connection] improve parsing of demand active
Split up parsing, so we don´t have to reread the data.
2023-11-21 13:54:29 +01:00
akallabeth e3a84921de [core,gateway] fix TSG_PACKET_TYPE_QUARENC_RESPONSE
parsing of TSG_PACKET_TYPE_QUARENC_RESPONSE was incomplete, fix that
2023-11-20 18:00:42 +01:00
Armin Novak e451b4cad1 [core,gateway] rpc use generated session id 2023-11-20 18:00:42 +01:00
Armin Novak f1ddc19806 [winpr,str] add winpr_vasprintf 2023-11-20 18:00:42 +01:00
Armin Novak 7d02a97a88 [core,gateway] change type of GUID arguments
use const GUID* for GUID strings and format the string internally
2023-11-20 18:00:42 +01:00
Armin Novak e62e1dbbaf [core,gateway] add RDG-Correlation-Id
implement [MS-TSGU] 2.2.3.2.2 RDG-Correlation-Id
2023-11-20 18:00:42 +01:00
Armin Novak 148e61606a [core,gateway] silence reading of rts signature
sometimes we just try to read the signature and do not want errors
logged.
2023-11-20 18:00:42 +01:00
Armin Novak 99f3a9c0e6 [core,gateway] add rts_recv_ping_pdu 2023-11-20 18:00:42 +01:00
Armin Novak f367465485 [core,gateway] improve rpc logging 2023-11-20 18:00:42 +01:00
Armin Novak 9fcde2db74 [core,gateway] removed duplicate vc_state_str 2023-11-20 18:00:42 +01:00
Armin Novak 8990ffefca [core,gateway] rpc dynamic logger 2023-11-20 18:00:42 +01:00
Armin Novak 36647567ac [core,gateway] fix parsing of RTS PDU
* [MS-RPCH] 2.2.4.51 FlowControlAckWithDestination RTS PDU
2023-11-20 18:00:42 +01:00
Armin Novak 814ab2a212 [core,gateway] use dynamic logger in tsg 2023-11-20 18:00:42 +01:00