Commit Graph

347 Commits

Author SHA1 Message Date
akallabeth 8bdf92ca52
[utils] link m library if required 2024-05-14 20:45:38 +02:00
Ilya Shipitsin 1f3a49c57a libfreerdp/utils/http.c: fix resource leak
found by coverity

128                if (winpr_asprintf(&headers, &size, post_header_fmt, path, hostname, blen) < 0)

CID 424888: (#1 of 1): Resource leak (RESOURCE_LEAK)
15. leaked_storage: Variable hostname going out of scope leaks the storage it points to.
129                        return FALSE;
130        }
2024-04-08 11:39:20 +02:00
akallabeth f4b7c59915 [cmake] move platform defines to common include
* Move platform specific settings to a common CMake include
2024-03-20 09:11:08 +01:00
akallabeth 3bba61bdf4 [utils,encoded_types] fix read/write, add limits
* fix read and write limits of four byte signed integers
* add definitions for value range MIN and MAX
2024-03-18 08:41:17 +01:00
akallabeth d919a9e8e7 [utils,test] add TestEncodedTypes 2024-03-18 08:41:17 +01:00
akallabeth 2dd80b1e80 [utils] implement write 4byte types
* freerdp_write_four_byte_signed_integer
* freerdp_write_four_byte_float
2024-03-11 13:22:12 +01:00
akallabeth 4732f379d4 [winpr,sysinfo] unify time function use
* Add new function winpr_GetTickCount64NS for high resolution tick
  count with (up to) nanosecond resolution
* Add new function winpr_GetUnixTimeNS for high resolution system time
  as nanoseconds since 1.1.1970
* Replace use of clock_gettime and gettimeofday in whole project with
  these new functions
* Add new macros WINPR_TIME_NS_TO_* and WINPR_TIME_NS_REM_* to convert
  the nano second count to less resolution or get the remainder in the
  desired resolution
2024-03-11 09:54:10 +01:00
akallabeth d7ebec5a65 [tidy] move loop variable declaration to loop 2024-02-22 12:31:50 +01:00
akallabeth 0e44b2c674 [clang-tidy] clang-analyzer-unix.Malloc 2024-02-15 11:49:16 +01:00
akallabeth 81d2c1f057 [clang-tidy] clang-analyzer-core.NullDereference 2024-02-15 11:49:16 +01:00
akallabeth f69e1fe697 [clang-tidy] readability-duplicate-include 2024-02-15 11:49:16 +01:00
akallabeth 0ba995655d [clang-tidy] cppcoreguidelines-init-variables 2024-02-15 11:49:16 +01:00
akallabeth 207def5c56 [clang-tidy] readability-isolate-declaration 2024-02-15 11:49:16 +01:00
akallabeth 2fffcd64b9 [winpr] use winpr_strerror instead of strerror
use the wrapper from WinPR to use the best implementation available.
2024-02-06 15:45:47 +01:00
akallabeth ba8cf8cf21 [build] fix Wmismatched-deallocator warnings
With custom malloc function attributes the fail path in the _New
functions produces warnings due to allocator mismatches. Silence them.
2024-02-05 08:16:55 +01:00
Pascal Nowack be660a91ca utils/encoded_types: Get rid of implicit conversion warnings
The compiler may complain with a 'implicit conversion changes
signedness' warning. Get rid of these warnings by explicitly
casting the respective values before shifting them.
2023-12-13 13:24:22 +01:00
Pascal Nowack 24722bd65c utils/encoded_types: Get rid of unhandled enumeration values warning 2023-12-13 13:24:22 +01:00
akallabeth 1b31852d32 [git] remove .gitignore
we do no longer allow in source builds, so remove all the .gitignore
files just hiding generated files
2023-11-28 12:14:55 +01:00
akallabeth f068b6fc99 [utils,smartcard] make settings opaque 2023-11-24 14:54:56 +01:00
Armin Novak 1048ad4003 [scard] allow INFINITE timeout 2023-11-21 15:54:01 +01:00
akallabeth 694d95a58b [utils,smartcard] fix reading of context ref
unify read of context and context pointer data for all calls.
fixes #9480
2023-11-07 16:07:17 +01:00
Pascal Nowack 5ec5be7ac4 utils: Add helper functions to parse encoded types into regular ones
Some virtual channels, like the location channel use encoded types to
lower the bandwidth usage.
Add common helper functions, so that each virtual channel doesn't have
to reimplement the parser functions again and again.
2023-10-17 10:18:08 +02:00
akallabeth 8995241ff5 [utils,passphrase] fix type mismatch 2023-08-24 13:17:57 +02:00
akallabeth 3e744e13c3 [smartcard] clean up function table wrapper 2023-08-23 12:26:27 +02:00
Marc-André Moreau 30c31d64e8 WinSCard dynamic API loading with /winscard-module cli argument 2023-08-23 12:26:27 +02:00
Marc-André Moreau c691ef9c8d allow selecting smartcard emulator at runtime rather than link time 2023-08-21 12:00:17 +02:00
Armin Novak e61880d077 [standard] replace __FUNCTION__ with __func__ 2023-07-27 20:02:43 +02:00
Armin Novak a5ea634516 [core] fix cJSON compat
* only export used symbols, provide prototypes when required
* clean up some length checks
2023-07-24 09:54:49 +02:00
akallabeth 830d1e17b6 [utils] improve http request logging 2023-07-21 14:53:19 +02:00
akallabeth 14d0ec9335 [core] move http status to string to utils
freerdp_http_status_string and freerdp_http_status_string_format are now
exposed as public API functions to work with http status codes
2023-07-21 14:53:19 +02:00
Michael Saxl bc2caa8504 [util,http] set sni on the ssl connection 2023-07-21 09:50:02 +02:00
Armin Novak 15fc803981 [utils,http] add openssl 1.1 compatibility 2023-07-20 14:20:28 +02:00
akallabeth 1d94ae9cc0 [utils,http] fix parser checks 2023-07-20 14:20:28 +02:00
fifthdegree d309fcd6e8 Restructure Azure AD related stuff
- Move responsibility for obtaining access tokens to clients
- Add function for getting access tokens for AVD
- Get correct server hostname during AVD setup
- Add utility function for doing http requests
2023-07-20 14:20:28 +02:00
Bernhard Miklautz 9961570c9d [utils] use select instead of poll to read passphrases on macOS
According to the man page on macOS poll currently doesn't support
devices. This includes `/dev/tty`.
In this use case poll will returned immediately indicating that
something can be read but the following read returned `-1`
(with errno set to EAGAIN).

Using select on macOS for passphrase reading prevents this problem.
2023-07-06 08:03:53 +02:00
Armin Novak 3fd78adaed [utils] fix variable name in wait_for_fd
if build without WINPR_HAVE_POLL_H there was a mistyped variable.
2023-06-14 13:50:59 +02:00
Armin Novak 970f0c54e8 [stream] use const correct Stream_Pointer access 2023-06-08 08:09:33 +02:00
Alexandru Bagu a231c09fff fixes for llvm-mingw build 2023-05-04 12:56:16 +02:00
akallabeth 516668d02b [fclose] ensure no invalid pointers are passed.
fclose has undefined behaviour for NULL pointers, so check for these.
2023-04-28 07:39:35 +02:00
Armin Novak 1e63d8c493 [utils,passphrase] use CredUI on windows 2023-04-05 11:42:06 +02:00
Armin Novak dc84e93fe5 [utils] fix windows console read
On windows freerdp_interruptible_getc did not work at all. Fix this so
that reading characters works. This still does not hide input for
passwords or is actually interruptible, but at least it reads the data
correctly.
2023-04-05 11:42:06 +02:00
akallabeth a5b42f0f84 [includes] untangled circular includes 2023-03-15 08:22:23 +01:00
akallabeth 157d71e802 [core,aad] migrate to cJSON parser library 2023-03-10 16:38:07 +01:00
fifthdegree 5df4d4c934 Implement a basic JSON parser 2023-03-10 16:38:07 +01:00
Armin Novak e496771034 [warnings] fixed unused-variable warnings 2023-03-06 10:04:59 +01:00
Armin Novak fb60145685 [utils,cliprdr] remove runtime assert 2023-03-05 17:55:28 +01:00
Armin Novak 60998a62b4 [utils] added FILEDESCRIPTORW read/write routines 2023-03-05 17:55:28 +01:00
Armin Novak 5bf3a06a30 [utils] windows implementation for freerdp_interruptible_getc 2023-02-28 09:47:54 +01:00
Armin Novak acc5e2d301 [client,common] use non blocking IO
when reading from stdin use non blocking IO so that we can check if the
session terminated in between.
2023-02-28 09:47:54 +01:00
Armin Novak 4398126dde [utils,signal] remove terminal reset 2023-02-28 09:47:54 +01:00