- Prevent inadvertent double de-init
- Improve dispose method for compatibility with FluentFTP
- Logging improvements
- Prevent potential endless loop in RECV, SEND
- Introduce config CommTimeout for RECV, SEND
- Logging improvements
- Support for ClickOnce Single File deployment
- Optimize NuGet folder placement. ClickOnce deployment now works for all types EXCEPT when SingleFile is selected
- Significantly reduce NuGet package size by elimination duplication of library .dll files
- Refactor NuGet folder locations
- Updates to TFMs, NuGet packages and build/packaging process.
- Stream disposal can result in GnuTls_Bye to fail with PUSH error. Fixed.
- Some more logging tweaks and small code cleanup changes.
- Add some logging to the loading of the GnuTLS API function delegates
- Add some error messages to the function loader for function delegate loading and library freeing processes (Linux/Windows)
- Move the use-count based Init- and De-Init- logic of the GnuTls library into the stream itself
- Important: Disable and library freeing under Windows and Linux. libgnutls-30.dll remains permanently loaded (once) until the parent process (i.e. your app) terminates. See issue #100.
- Remove config parm DllUnloadByUseCount to disable use-count based unloading, this logic is now unchangeable. GlobalDeInit ist done on use count 0 and has no detrimental effects, library unloading is now irrevocably disabled - library remains permanently loaded.
- Implement a use-count based load/unload logic for the .dll libraries (thanks @Jojo-1000)
- Add logging for load and unload library actions
- Add a config parm DllUnloadByUseCount to disable use-count based unloading
- Remove the interim experimental parm DeInitGnuTLS that had a similar function
- Improve cred and sess dispose handling (thanks @Jojo-1000)
- Add copy for non-managed dlls to publish dir to support dotnet publish command
- Improve validation error message logging
- gnutls lib update to 3.8.0
- nettle lib update to 3.9.1
- Survive all failing x509 system trust calls
- set_x509_system_trust failure (-64) E_FILE_ERROR: Do not terminate on this error.
- Improve FunctionLoader for Azure environments
- 1.0.15 Re-release
- Provide a "LoadLibraryDllPrefix" config parameter to aid in difficult dll packaging scenarios
- Eliminate static constructs, make de-init optional, make log queue thread-safe and improve function pointer loading for multi-threaded usage
- Reload all function pointers for repeated client create - dispose sequences
- Enable ALPN protocols to be set (or disabled) via config options
- Logging improvements
- Set up X509 System Trust List: adds the system�s default trusted CAs for certificate validation.
- Support running on linux (.Net and Mono), Mac OSX using new delegate/FunctionLoader technology
- Support running on linux (.Net and Mono), Mac OSX using classic DllImport switching logic (thanks for contributing: acorchia)
- Improved: Certificate validation failure exception text
- Fix: Further safety on cached
DLL
load address handle to avoidAccessViolation
exceptions - Fix: Certificate details not available to validation on subsequent TLS handshakes
- Fix: Allow multiple TLS handshakes without disposing
- HotFix:
AccessViolation
exception due to cachedgnutls_free
handle
- Package: Multitarget:
net50
,net60
,net462
,net472
,netstandard2.0
,netstandard2.1
- Package: Prepare for Win/Linux/64bit/32bit: change paths and copy-to-output handling again
- Package: Smaller DLL files: stripped symbols and debug information
- Package: Multitarget:
net50
,net462
,netstandard2.0
- Package: Prepare for Win/Linux/64bit/32bit: change paths and copy-to-output handling
- Improved: logging and diagnosis on validation errors
- Fix: Overly long poll timeout delay: added config parameter for this
- Fix:
GetCurrentMethod
: incorrect output value
- Attempt to fix DLL packaging issues (DLLs correctly marked Copy-To-Output)
- Attempt to fix DLL packaging issues (DLLs correctly added to host project)
- Fix: Check Socket for validity before using
- Rename GnuTls methods for more consistency
- Add
gnutls_transport_set_int2
as a possible alternative - Fix: Transport Set functions are C type void, not int
- New:
Validate
method to check if the GnuTLS libraries have loaded
- First release with basic GnuTLS functionality integrated into FluentFTP