Commit graph

8080 commits

Author SHA1 Message Date
Richard Frith-Macdonald
f72f46efa4 Minor debug improvement 2021-06-02 13:32:44 +01:00
Richard Frith-Macdonald
a2298990fc Improve debug logging and fix tls session startup when we have to try connecting to multiple possible destinations 2021-06-01 16:32:25 +01:00
Richard Frith-Macdonald
dd52dfb36d Do more logging based on 'RMC' so we can track send/receive of messages 2021-06-01 16:31:21 +01:00
Richard Frith-Macdonald
29f76a5cba minor thread safety fix 2021-05-31 14:27:42 +01:00
Richard Frith-Macdonald
e42d9fdc6b New code for secure (encrypted) inter-host distrinuted objects. 2021-05-31 13:19:42 +01:00
Richard Frith-Macdonald
1bcb73f0f8 If space becomes available for a stream whose status is writing, we
should change the status to be open (the write completed).
2021-05-23 10:58:09 +01:00
Richard Frith-Macdonald
391c00b058 Added some debug logging 2021-05-19 11:15:29 +01:00
Richard Frith-Macdonald
12c88716d0 indentation tweaks 2021-05-19 11:06:10 +01:00
rfm
1aa11956b5
Merge pull request #183 from gnustep/windows-keepalive-fix
The portable way to detect if a socket is reusable or has been closed
2021-05-19 10:57:54 +01:00
Richard Frith-Macdonald
8b8fe60070 break out of loop if write fails 2021-05-15 17:53:44 +01:00
Richard Frith-Macdonald
ed9bb899a7 Support writing large chunks of data over tls on windows 2021-05-15 16:10:23 +01:00
Richard Frith-Macdonald
782e7aed31 Fix for -setHTTPMaximumConnectionLifetime: 2021-05-05 12:04:28 +01:00
Richard Frith-Macdonald
713c7c0f7e Fix one character truncation of certificate name/issuer in debug output 2021-04-28 15:27:23 +01:00
Richard Frith-Macdonald
31f2528b93 Ignore GS_EXPORT_CLASS when generating documentation for base/additions 2021-04-23 06:56:00 +01:00
Richard Frith-Macdonald
bd5f2909e6 Simplify conversion of a string to data (use base class code) and fix to handle the insertion of BOM consistently (as on OSX) for encodings where the byte order matters but is not specified by the encoding. 2021-04-14 09:57:11 +01:00
Riccardo Mottola
19d76d2478 The portable way to detect if a socket is reusable or has been closed
was failed, since its test read would leave the file handle with a read
in progress, invalidating further background reads. More recent versions
of Windows seem to handle the unix way.
2021-04-13 23:59:45 +02:00
Frederik Seiffert
843800d413 Add support for libobjc2 runtime in NSObject on Windows 2021-03-29 11:22:00 +02:00
Frederik Seiffert
0582eddd96 Export string constants and annotate exported function implementations
Moves scattered string constants to externs.m, and removes obsolete code replacing constant strings.
2021-03-27 17:36:15 +01:00
Frederik Seiffert
fb84b3b1e8 Revert "Export objc_enumerationMutation."
This is now correctly exported in the libobjc2 runtime.

This reverts commit c52f1e3223.
2021-03-26 21:03:48 +01:00
Frederik Seiffert
b05481a8c8 Don't resurrect GSFileHandle singletons.
It seems to be no longer possible to call -retain from -dealloc with the latest libobjc2, which was causing the tests to fail.

We are also throwing an exception in this case, which would need to be specifically caught in order for the resurrection to be of value to users, so this simply removes the -retain call and resets the singleton variables to nil in order to not have invalid pointers and for the singletons to be re-created on subsequent access.
2021-03-26 13:17:36 +01:00
Frederik Seiffert
c52f1e3223 Export objc_enumerationMutation.
When using clang a call to this is inserted by the compiler, so we need to always export it.
2021-03-26 13:17:36 +01:00
Frederik Seiffert
7800e27879 Add missing GS_EXPORT annotations to various string constants. 2021-03-26 13:17:36 +01:00
Riccardo Mottola
c9020acd4b suppress warning, compiler is confused by exception handler 2021-03-18 23:06:54 +01:00
Richard Frith-Macdonald
b489f9b82b Changes to detect that bfd_get_section_vma has changed to bfd_section_vma and make corresponding changes so we can support use of binutils 2.34 and later. 2021-03-18 21:35:34 +00:00
Richard Frith-Macdonald
4e61056743 The code in GSPrivateReturnAddresses() and the -symbols method must have ifdefs in matching order so that setup of the information from the stack matches the code used to generate the corresponding symbols. 2021-03-18 20:17:35 +00:00
Frederik Seiffert
5fb5fb46c4 Win MSVC: add NSFileManager support
Also unifies _CHAR in NSFileManager with GSNativeChar, as they are internally required to be the same.
2021-03-17 17:42:15 +01:00
Frederik Seiffert
54ae296b69 Fix libdispatch integration compilation error on Windows. 2021-03-17 17:42:15 +01:00
Richard Frith-Macdonald
d7e4086f6b Rewrite handling of tls handshake to operate asynchronously, attempting continuation of the handshake when the socket becomes readable. The point of this is to prevent recursive entry into the runloop (and possible stack overflow) if the remote end fails to send anything for a while. 2021-03-05 11:54:32 +00:00
Frederik Seiffert
172e75b865 Add unscheduled NSTimer block initializer. 2021-03-03 10:03:14 +01:00
Richard Frith-Macdonald
7c9c3b8605 Fix potential deadlock found by Wolfgang 2021-02-22 15:59:29 +00:00
Richard Frith-Macdonald
edc771775f fix missing check to see whether we have already initialised 2021-02-18 21:27:21 +00:00
Richard Frith-Macdonald
958449e90f Initialise XMLParser in main thread 2021-02-18 21:18:41 +00:00
Richard Frith-Macdonald
a93eab8549 fix typos in comments and remove leftover debug line 2021-02-15 19:58:30 +00:00
Richard Frith-Macdonald
b45feeb8d7 Fixes for SSL/TLS support using GNUTLS under MinGW. Use send/recv
rather than read/write in TLS push/pull functions (works with winsock
and unix) and perform mappings between winsock error codes and
unix/gnutls error codes so that we correctly repeat operations whe they
fail in non-blockign mode.
2021-02-13 11:08:06 +00:00
Richard Frith-Macdonald
19c32ba0f5 Enable NSFileHandle TLS support under mingw 2021-02-11 20:03:41 +00:00
Richard Frith-Macdonald
8f0a021adb Fix failure to send large requests, when the write operation succeeds but we have not written all the data we need to, we should write more as long as the stream has space available. 2021-02-06 11:23:09 +00:00
Richard Frith-Macdonald
b8169e26eb Fix null pointer dereference 2021-02-04 11:00:05 +00:00
Richard Frith-Macdonald
be173ab404 Fix resource leaks (failure to close) on error. 2021-02-03 16:23:43 +00:00
Frederik Seiffert
61709e6101 Support building on Windows with Clang MSVC target 2021-02-03 15:02:27 +01:00
Riccardo Mottola
ece6fc97ff Add check for statbuf.st_mtim if available and use statbuf.st_mtim to get nanosecond precision in modification date, also fix conversion of nanoseconds in creation date. 2021-02-02 23:30:18 +01:00
Richard Frith-Macdonald
625e8541a9 Call -cancel at the end of a synchronous load so that we stop our NSURLProtocol instance from retaining us as its client. 2021-01-26 14:38:29 +00:00
Richard Frith-Macdonald
747f47d83d Mark function call as requiring void return; hint to tell coverity that we do not want the return value from this function (there's nothing we could do with it and the function should never fail with the input we provide). 2021-01-25 12:25:49 +00:00
Richard Frith-Macdonald
4d0dc010ab Was checking incorrect variable to avoid assignment to nul pointer. 2021-01-21 14:27:21 +00:00
Richard Frith-Macdonald
72af51982f fix leak of set 2021-01-18 12:20:46 +00:00
Richard Frith-Macdonald
925023e8c0 Fix leak evaluating a cast 2021-01-18 11:56:44 +00:00
Richard Frith-Macdonald
d63b2e0035 Fix memory leaks 2021-01-18 11:52:37 +00:00
Richard Frith-Macdonald
fe7d9b6435 Use NSZoneMalloc and NSZoneRealloc for memory used by data, so it is in the correct zone for the instance (and to avoid complaints from static analyser). 2021-01-18 11:47:39 +00:00
Richard Frith-Macdonald
dca9b65313 Remove stream from handler upon deallocation, to avlid handler sending messages to deallocated stream. 2021-01-16 06:23:25 +00:00
Richard Frith-Macdonald
fa27dfeed4 Fix failure to re-set flag to say whether a string is unicode 2020-12-30 09:12:37 -05:00
Richard Frith-Macdonald
d664bd89e8 Fix potential problem with new optimisation for direct access to contents of 8bit strings ... when the decimal separator is not an ascii character we may need to convert the 8bit value to unicode. 2020-12-30 12:54:19 +00:00