akallabeth
1aa8c97a67
[crypto,key] use EVP_PKEY_up_ref
...
The function is available since OpenSSL 1.1.0 instead of 3.0 for
EVP_PKEY_dup
2023-02-12 20:17:11 +01:00
akallabeth
1397f4c605
[crypto] added evp_pkey private getter
2023-02-12 20:17:11 +01:00
akallabeth
af371bef6a
[crypto] rename rdpRsaKey to rdpPrivateKey
2023-02-12 20:17:11 +01:00
akallabeth
7728df6804
[client,mac] fix wrong getter for ServerPort
2023-02-12 20:17:11 +01:00
akallabeth
b869927407
[proxy,config] extract PEM from config file
...
* Read a PEM file if provided via config
* Base64 decode if the certificate/private key are provided in the
config file
2023-02-12 20:17:11 +01:00
akallabeth
87b30958a6
[cyrpto] unify PEM read/write
...
use crypto_read_pem and crypto_write_pem in all places required
2023-02-12 20:17:11 +01:00
akallabeth
1d3c6518fa
[crypto] added PEM file read/write helpers
2023-02-12 20:17:11 +01:00
akallabeth
ac037327d5
[core,redirection] fix Wshadow
2023-02-12 20:17:11 +01:00
akallabeth
ab2de5d60c
[proxy,filter] fixed uninitialized value in bitmap-filter
2023-02-12 20:17:11 +01:00
akallabeth
9e8fc60a45
[client,common] add openssl includes for TLS version
2023-02-12 20:17:11 +01:00
akallabeth
d1ddf7a6c7
[crypto,test] update to new cert/crypto API
2023-02-12 20:17:11 +01:00
akallabeth
7cd597015a
[crypot,tls] use new crypto/cert API
2023-02-12 20:17:11 +01:00
akallabeth
94b2f551b3
[core] update to new crypto/cert API
2023-02-12 20:17:11 +01:00
akallabeth
67bd1d08d3
[emu,scard] use rdpCertificate and rdpRsaKey
2023-02-12 20:17:11 +01:00
akallabeth
b5d1ea7138
[core,license] use rdpCertificate
2023-02-12 20:17:11 +01:00
akallabeth
4499a55f43
[core,smartcardlogon] use rdpCertificate
2023-02-12 20:17:11 +01:00
akallabeth
9b51df8b10
[core,crypto] refactor certificate management
...
* Properly split certificate_store, certificate_data, certificate and
private key functions to files
* Prefix all functions with freerdp_ to have a unique name
* Update certificate store to use one file per host instead of
known_hosts2
* Merge CryptoCert and rdpCertificate
2023-02-12 20:17:11 +01:00
Martin Fleisz
35c24f208b
core: Fix invalid string length
2023-02-09 12:49:47 +01:00
Martin Fleisz
4b9fb8fff9
proxy: Fix NLA to TLS fallback connection
...
Currently the proxy's TLS fallback if an NLA connection attempt failed
is broken. There are two issues with the current code that this PR
fixes:
- freerdp_reconnect is used which requires an already established
connection to work correctly. This is not the case since the NLA
connectin attempt failed. This resulted in a seemingly working TLS
connection but i.e. channels where missing/not working.
- The fallback connection attempt just altered the NLA security setting
in the instance's settings. However these settings have been already
modified by the NLA connection attempt so we need to create a copy of
the original connection settings before doing the first connect.
The PR also introduces freerdp_reset_context which restores the initial
connection settings for the given instance.
2023-02-09 12:49:47 +01:00
Armin Novak
a7c0a8c5f1
[autodetect] expose AUTODETECT_STATE
2023-02-09 12:34:27 +01:00
Armin Novak
7b140a12c7
[autodetect] add pointer for custom user data
2023-02-09 12:34:27 +01:00
Armin Novak
8ca386a300
[build,android] only use CMake from SDK
...
* only use CMake from android SDK
* abort if CMake or ndk-build are not detected
2023-02-08 08:50:17 +01:00
akallabeth
db98f16e5b
[core,fastpath] fix too verbose log
...
for fastpath_recv_update_synchronize only skip the available bytes as
older servers tend to send short packets. This avoids (too) verbose
logging.
2023-02-07 13:36:03 +01:00
akallabeth
2eda0aa2ea
[core,settings] remove unused setting
2023-02-03 11:24:32 +01:00
akallabeth
d96860780f
Fixed compiler warnings
2023-02-03 11:09:59 +01:00
akallabeth
51e71b3c48
Fixed compiler warnings
2023-02-03 11:09:59 +01:00
akallabeth
00f2679eda
[core,security] refactor functions to check lengths
2023-02-03 11:09:59 +01:00
akallabeth
7c1007b1b6
[core,crypto] removed rsa functions from public API
...
should only be used internally
2023-02-03 11:09:59 +01:00
akallabeth
97e397e768
[server,shadow] simplify resource cleanup
2023-02-03 11:09:59 +01:00
akallabeth
da5080e557
[core] refactor rdp encryption lock
2023-02-03 11:09:59 +01:00
akallabeth
a082f2b78a
[core] improve logging
2023-02-03 11:09:59 +01:00
akallabeth
5f8cc02cf3
[core,license] update length
...
In license_read_encrypted_premaster_secret_blob the length argument was
not set, fix that
2023-02-03 11:09:59 +01:00
akallabeth
936e239acb
[core,license] replaced HWID_LENGTH with sizeof
2023-02-03 11:09:59 +01:00
akallabeth
4b0fcb3dac
[core,licensing] replaced WINPR_MD5_DIGEST_LENGTH with sizeof()
2023-02-03 11:09:59 +01:00
akallabeth
3c242bbe6a
[core,license] replaced MAC_SALT_KEY_LENGTH with sizeof
2023-02-03 11:09:59 +01:00
akallabeth
0f3d72e724
[core,license] replaced SESSION_KEY_BLOB_LENGTH with sizeof
2023-02-03 11:09:59 +01:00
akallabeth
a738f0ec91
[core,license] replaced PREMASTER_SECRET_LENGTH with sizeof
2023-02-03 11:09:59 +01:00
akallabeth
0c5afb923f
[core,license] replaced MASTER_SECRET_LENGTH with sizeof
2023-02-03 11:09:59 +01:00
akallabeth
cf539f33db
[core,license] replaced SERVER_RANDOM_LENGTH with sizeof
2023-02-03 11:09:59 +01:00
akallabeth
31695c94a1
[client random] refactor use
...
* use sizeof() instead of define length
* use settings getter/setter
2023-02-03 11:09:59 +01:00
akallabeth
54e5ff1e75
[core,gcc] fix server random length
2023-02-03 11:09:59 +01:00
akallabeth
a3152871ab
[core,crypto] refactor rsa functions
...
* public encrypt/decrypt take rdpCertInfo data as argument
* private encrypt/decrypt take rdpRsaKey as argument
* Add missing length arguments
2023-02-03 11:09:59 +01:00
akallabeth
2af9758173
[core,license] use rdpCertInfo
...
Use the struct rdpCertInfo for certificate related data instead of
declaring separate variables
2023-02-03 11:09:59 +01:00
akallabeth
2c2e9602b3
[core] refactor certificate handling
...
* Remove duplications in rdpRsaKey, reuse rdpCertificate for public
components
* Move all private key and certificate code to certificate.c,
remove the tssk_* variables from gcc
* Handle update of client and server random keys in wrapping functions
* Simplify gcc_write_server_security_data, use certificate.c functions
to write the certificate data
* Refactor security_establish_keys, use the random values stored in
settings directly
2023-02-03 11:09:59 +01:00
akallabeth
2f05166fb1
[winpr,crypto] improve logging
2023-02-03 11:09:59 +01:00
Armin Novak
427a4fa057
[client,common] deprecate old gateway options
2023-02-03 11:08:46 +01:00
Armin Novak
923b068382
[client,common] unified credential hiding
...
* Unify command line credential string replace in a single function
* Extend the string replace, add all options containing a token or
a password
2023-02-03 11:08:46 +01:00
Armin Novak
9d8954f56a
[client,common] add new option /gateway
...
* unifies old /g, /gu, /gd, /gp, /gt, /gat and /gateway-usage-method
options into a single one.
* add new option auto-consent:[on|off]
2023-02-03 11:08:46 +01:00
Armin Novak
57698ed1f9
[client,common] fixed possible memory leak
2023-02-03 11:08:46 +01:00
Armin Novak
cd48e17740
[gateway,settings] add GatewayAutoConsent option
...
with this option the client automatically accepts consent messages of
the gateway server.
2023-02-03 11:08:46 +01:00