Commit graph

8145 commits

Author SHA1 Message Date
Richard Frith-Macdonald
395fafde6f Set file version consistently to avoid misunderstanding 2021-07-25 07:50:31 +01:00
Richard Frith-Macdonald
7245156336 Add sup[port for 64bit time transitions 2021-07-22 10:33:49 +01:00
Frederik Seiffert
a377a86094 Fix possible memory corruption in string handling 2021-07-19 12:23:15 +02:00
Frederik Seiffert
813ae35d39 Export GSPathHandling() in GNUstep headers.
Fixes linker errors for some tests under Windows MSVC.
2021-07-14 10:09:45 +02:00
Frederik Seiffert
47ed291b80 Fix possible heap corruption when converting to NSNonLossyASCIIStringEncoding. 2021-07-03 08:34:14 +02:00
Richard Frith-Macdonald
a29248bd4d Differentiate between client/server for DO over TLS 2021-06-24 08:50:28 +01:00
Richard Frith-Macdonald
640198a395 add missing brace 2021-06-21 09:15:11 +01:00
Richard Frith-Macdonald
e34584e323 Encryption emprovements 2021-06-19 14:40:47 +01:00
Richard Frith-Macdonald
b252f4067a remove a couple of redundent lines 2021-06-18 10:02:48 +01:00
rfm
a1b0c1c8db
Merge pull request #185 from triplef/fix-unicode-lookup
Fix lookup of string encodings with high numeric values in encoding table
2021-06-18 10:01:36 +01:00
Frederik Seiffert
8137b5a2a0 Fix lookup of string encodings with high numeric values in encoding table 2021-06-17 17:53:22 +02:00
Richard Frith-Macdonald
dd3b6c3d7f fix typo in name 2021-06-17 16:22:31 +01:00
Richard Frith-Macdonald
7ea49c252b encryption fixes and debug improvements 2021-06-03 14:59:09 +01:00
Richard Frith-Macdonald
e9d3ba8179 Improve debug logging ... use the I/O handle as the tag for debug logs so that they can more easily be matched to the object for which the I/O is taking place. 2021-06-03 14:54:16 +01:00
Richard Frith-Macdonald
2fc16eae5e Tidyups for when TLS is not used 2021-06-02 14:12:28 +01:00
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
Richard Frith-Macdonald
3dc437524e Use new private method to scan double values. 2020-12-30 12:25:18 +00:00
Richard Frith-Macdonald
657e49edeb Remove internal GSScanInt and GSScanDouble functions after moving functionality into the -scanDouble: method. Add private class method to support scanning a string for a double without having to create a new scanner each time (use a shared lock-protected, instance with resetting of the string being scanned). 2020-12-30 11:58:19 +00:00
Richard Frith-Macdonald
168dd211e3 remove unused header import 2020-12-30 11:55:44 +00:00
Richard Frith-Macdonald
95c10d7fa7 Use superclass implementation of -doubleValue and -floatValue 2020-12-30 11:54:57 +00:00
Richard Frith-Macdonald
81021528e1 Change -scanDouble: to call GSScanDouble() to perform conversion. Fix GSScanDouble to cope with leading zeros. 2020-12-29 11:54:34 +00:00
Richard Frith-Macdonald
6d20773f56 Consistently use __typeof__() rather than typeof() or __typeof() for compatibility (GCC and clang and, perhaps, other future compilers) irrespective of -std= compilation options. 2020-12-15 13:01:00 +00:00
Richard Frith-Macdonald
bcbdeb64a8 Fix initialisation of NSUUID from string (permit mixed case hex digits) 2020-12-15 10:40:55 +00:00
Richard Frith-Macdonald
c1d98567a8 fixup incorrect commit 2020-12-11 12:19:52 +00:00
Richard Frith-Macdonald
31fbd3f9c7 Improve diagnostic logging 2020-12-11 12:12:59 +00:00
Richard Frith-Macdonald
afde524e82 Fix unused variable on windows 2020-12-09 16:37:22 +00:00
Richard Frith-Macdonald
c2fea0a825 Add fake interface for NSUserDefaultsWin32 to avoid compiler warning 2020-12-09 15:17:46 +00:00
Richard Frith-Macdonald
02b69ca57e Only declare variables for systems which use them. 2020-12-09 15:12:11 +00:00
Richard Frith-Macdonald
db4c3c1006 Fix typo in comment (incorrect RFC number) 2020-12-07 11:46:09 -05:00
Richard Frith-Macdonald
b8f1fc4129 Avoid compiler warnings when we do not have real blocks 2020-12-07 07:47:15 -05:00
Richard Frith-Macdonald
dfba8adba7 Fixup to import local headers rather than installed versions 2020-12-07 07:34:44 -05:00
Richard Frith-Macdonald
ea9aa71eeb Avoid compiler warnings on system with pseudo-blocks 2020-12-07 07:23:30 -05:00
Richard Frith-Macdonald
10a8e9faf8 fix format string error in -description 2020-12-07 11:21:16 +00:00
Richard Frith-Macdonald
3bf1fc5490 Improve diagnostic output 2020-12-07 11:18:51 +00:00
Richard Frith-Macdonald
d7e5158a09 An error in a socketpair only applies to the other socket if still opening 2020-12-06 09:38:17 -05:00
Richard Frith-Macdonald
71e636cf49 Use uinsigned logn for fast enumeration version counter 2020-12-04 11:16:13 -05:00
Richard Frith-Macdonald
e111315f87 fix typo 2020-12-04 11:09:33 -05:00
Richard Frith-Macdonald
09e527c0fd Fix to make value pointed to by mutationsPtr be unsigned long. 2020-12-04 11:08:16 -05:00
Richard Frith-Macdonald
897e5fc7dd Fix range check for decoded 32bit integer 2020-12-04 06:04:22 -05:00
Richard Frith-Macdonald
60038cbf38 Merge branch 'master' of ssh://github.com/gnustep/libs-base into master 2020-12-04 04:44:02 -05:00
Richard Frith-Macdonald
02d1cbd34d Suppress warnings about use of 'private' functions from libdispatch 2020-12-04 04:43:28 -05:00
Richard Frith-Macdonald
190bafad72 declare external block as const void rather than void for consistency and to avoid compiler warning 2020-12-04 04:36:42 -05:00
Richard Frith-Macdonald
aeca9c8698 Suppress dll import warnings for objc_enumerationMutation() on mingw 2020-12-04 04:25:39 -05:00
Richard Frith-Macdonald
468b62bdde use memcpy rather than strncpy to avoid compiler warnings 2020-12-03 12:54:41 -05:00
Richard Frith-Macdonald
facfbad126 avoid compiler warning 2020-12-03 12:48:22 -05:00
Richard Frith-Macdonald
8141fe03f7 use memcpy rather than strncpy to avoid compiler warning 2020-12-03 12:29:53 -05:00
Richard Frith-Macdonald
679272b50c Use memcpy rather than strncpy/strncat to avoid compiler warnings 2020-12-03 12:07:33 -05:00
Richard Frith-Macdonald
379f5f0040 use memcpy rather than strncpy to avoid compiler warnings 2020-12-03 11:59:37 -05:00
Richard Frith-Macdonald
f18594ff3e tweaks to avoid compiler warnings 2020-12-03 11:56:14 -05:00
Richard Frith-Macdonald
1b7bf26bea Merge changes for NSURLSession from EngageHub (formerly Brainstorm). 2020-11-29 06:57:47 -05:00
Richard Frith-Macdonald
0dbd863dde Add optimisation for the use of GSImmutableString so that it can make use of the layout of the underlying mutable string that the GSImmutableString is a proxy for. 2020-11-22 09:55:39 -05:00