Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This restores the build on NetBSD 9.0 Changes since previous version in pkgsrc: 2020-04-05 Ivan Vucica <ivan@vucica.net> * ANNOUNCE: * NEWS: * Documentation/ReleaseNotes.gsdoc: * Documentation/news.texi: Update release notes for 1.27.0. 2020-03-29 Frederik Seiffert <frederik@algoriddim.com> * Source/NSThread.m: Use pthread_setname_np result instead of errno, which fixes setting thread name on platforms where errno is not set. 2020-03-29 Frederik Seiffert <frederik@algoriddim.com> * Source/NSURLResponse.m: Fix parsing of NSURLResponse content type header. 2020-03-29 Fred Kiefer <fredkiefer@gmx.de> * Source/NSString.m: Attempt to make calls to GSICUCollatorOpen() more consistent and correct for ICU 65. 2020-03-26 Frederik Seiffert <frederik@algoriddim.com> * Headers/Foundation/NSError.h: * Source/NSError.m: Added NSErrorDomain typedef. 2020-03-12 Fred Kiefer <fredkiefer@gmx.de> * Source/NSURL.m: Fix compiler warnings. * Headers/Foundation/NSLocale.h: * Source/NSLocale.m: Add a few convenience methods from MacOS 10.12. 2020-03-10 Frederik Seiffert <frederik@algoriddim.com> * Source/NSURL.m: fix –[NSURLComponents setURL:] throwing exception for URLs that don't have all parts. 2020-03-01 Fred Kiefer <fredkiefer@gmx.de> * Tests/base/NSBundle/TestInfo, * Tests/base/NSBundle/GNUmakefile.preamble, * Tests/base/NSBundle/resources2.m: Extend test to check for framework resource loading. 2020-03-06 Richard Frith-Macdonald <rfm@gnu.org> * Resources/Languages/Locale.canonical: Backward compatibility fix for ICU 65 by Fred Kiefer * Resources/Languages/README: Fix trivial typo 2020-02-24 Richard Frith-Macdonald <rfm@gnu.org> * Source/objc-load.m: update GSPrivateSymbolPath() so that, on the path where LINKER_GETSYMBOL is not available, we attempt to lookup classes using the prefix ._OBJC_CLASS_ for the 2.0 ABI (earlier ABIs use a prefix of __objc_class_name_ for the class definition. 2020-02-17 Richard Frith-Macdonald <rfm@gnu.org> * Tools/gdomap.c: When building the list of hosts to be probed to see if they have gdomap servers, fix code to include those explicitly defined in the config file. Add -S option to list the addresses of the known gdomap servers. * Tools/gdomap.8: Document the new command line option. 2020-02-11 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSXPCConnection.h: remove unistd.h since workaround broke blocks code. I guess we have to hope that sys/types.h has gid_t, pid_t, and uid_t on all systems we target. 2020-02-08 Richard Frith-Macdonald <rfm@gnu.org> * Examples/dictionary.m: * Examples/nsconnection_client.m: * Headers/GNUstepBase/GNUstep.h: * Source/Additions/GSMime.m: * Source/NSConnection.m: * Source/NSDictionary.m: * Source/NSException.m: * Source/NSFileManager.m: * Source/NSFileWrapper.m: * Source/NSTask.m: * Source/NSUserDefaults.m: * Tools/AGSIndex.m: * Tools/AGSOutput.m: * Tools/cvtenc.m: Switch various places away from deprecated CREATE_AUTORELEASE_POOL() to use the ARC-compatible ENTER_POOL and LEAVE_POOL macros. 2020-02-08 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSXPCConnection.h: Workaround for clash between unistd.h and clang's reserved word __block 2020-02-05 Fred Kiefer <fredkiefer@gmx.de> * configure.ac: Use pkg-config to check for libxml. * configure: regenerate 2020-01-23 Fred Kiefer <fredkiefer@gmx.de> * Source/Additions/NSURL+GNUstepBase.m: Handle case where scheme is missing from the URL. 2020-01-20 Fred Kiefer <fredkiefer@gmx.de> * Source/NSPredicate.m: Allow simple predicates on NSDate. 2020-01-20 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSTLS.m: remove certificate key password from hash key of credentials since it's unnecessary there and we don't want it to be logged when debug is on (for security, passwords shouldn't appear in logs). 2020-01-12 Fred Kiefer <fredkiefer@gmx.de> * Source/NSPredicate.m: Add support for NSDate constants. 2020-01-12 Fred Kiefer <fredkiefer@gmx.de> * Source/NSKeyValueObserving.m: Implement two missing KVO methods on NSArray. 2019-12-15 Fred Kiefer <fredkiefer@gmx.de> * Headers/GNUstepBase/GSIMap.h: Use GSI_MAP_NODE_IS_EMPTY macros when checking in enumerator. * Source/NSConcreteHashTable.m, * Source/NSConcreteMapTable.m: Revert part of the weak pointer change. 2019-10-17 Frederik Seiffert <frederik@algoriddim.com> * Tests/base/NSHashTable/weakObjects.m: * Tests/base/NSMapTable/weakObjects.m: Added tests for [NSHashTable weakObjectsHashTable] and [NSMapTable strongToWeakObjectsMapTable]. 2019-11-26 Niels Grewe <niels.grewe@halbordnung.de> * Source/NSRunLoop.m: * Tests/base/NSRunLoop/dispatch.m: Fix runloop integration for libdispatch from swift-corelibs * .travis.yml: * travis-deps.yml: Fix CI related to libdispatch. 2019-11-15 Frederik Seiffert <frederik@algoriddim.com> * configure.ac: check for unwind.h * configure: regenerate * Source/NSException.m: Added support for backtrace symbolication using libunwind, which will be used when backtrace() is unavailable. 2019-11-14 Fred Kiefer <fredkiefer@gmx.de> * Headers/Foundation/NSXPCConnection.h, * Source/NSXPCConnection.m: Fix broken compilation on gcc. 2019-11-12 Richard Frith-Macdonald <rfm@gnu.org> * NSTimeZones/NSTimeZones.tar: updated to latest info 2019-11-05 Frederik Seiffert <frederik@algoriddim.com> * Headers/Foundation/NSProcessInfo.h: * Source/NSPathUtilities.m: * Source/NSProcessInfo.m: Added support for NSTemporaryDirectory() on Android using subfolder in folder returned by Context.getCacheDir(), as there is no official temp dir prior to API level 26. Clean up temp dir on launch in GSInitializeProcessAndroid(). Also use Context.getCacheDir() as NSCachesDirectory (with NSUserDomainMask) on Android. 2019-10-27 Fred Kiefer <fredkiefer@gmx.de> * Headers/Foundation/NSUnit.h, * Headers/Foundation/NSMeasurement.h, * Headers/Foundation/NSMeasurementFormatter.h, * Headers/Foundation/NSEnergyFormatter.h, * Headers/Foundation/NSLengthFormatter.h, * Headers/Foundation/NSMassFormatter.h, * Source/NSUnit.m, * Source/NSMeasurement.m, * Source/NSMeasurementFormatter.m, * Source/NSEnergyFormatter.m, * Source/NSLengthFormatter.m, * Source/NSMassFormatter.m, * Source/NSUnit.m: More cleanup on the measurement code. 2019-10-29 Wolfgang Lux <wolfgang.lux@gmail.com> * Source/GSStream.h, * Source/GSStream.m, * Source/GSSocketStream.m: Use a more sane implementation to redirect event handling to the TLS handler while in a handshake. * Source/GSTLS.m: Fall back to a sane default if the TLS priority setting is invalid. 2019-10-28 Wolfgang Lux <wolfgang.lux@gmail.com> * Source/GSSocketStream.m: Prevent premature deallocation when a socket is closed while in a TLS handshake. 2019-10-27 Fred Kiefer <fredkiefer@gmx.de> * Headers/Foundation/NSUnit.h, * Source/NSUnit.m: Clean up code and fix bugs. 2019-10-17 Frederik Seiffert <frederik@algoriddim.com> * Source/GSDispatch.h: * Source/NSArray.m: * Source/NSDictionary.m: * Source/NSIndexSet.m: * Source/NSOrderedSet.m: * Source/NSSet.m: Perform non-concurrent block enumeration calls in place instead of using serial queue to match Apple platforms. 2019-10-25 Frederik Seiffert <frederik@algoriddim.com> * Headers/Foundation/NSMapTable.h: * Headers/Foundation/NSHashTable.h: Added generics support to NSMapTable and updated NSMapTable and NSHashTable to use "instancetype". 2019-10-02 Frederik Seiffert <frederik@algoriddim.com> * Source/NSDictionary.m: fixed mutable dictionary keyed subscript behavior: assigning nil value via keyed subscript now correctly removes object for key. 2019-09-25 Frederik Seiffert <frederik@algoriddim.com> * Headers/Foundation/NSProcessInfo.h: * Source/NSPathUtilities.m: * Source/NSProcessInfo.m: Added support for data directory on Android. This makes GNUstep use the path returned by Context.getFilesDir() as the basis for storing data (e.g. NSUserDefaults) and when querying system directory paths (NSLibraryDirectory, NSApplicationSupportDirectory, etc.). Requires calling a new GSInitializeProcessAndroid() initialization function. 2019-09-25 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSArray.m: [-removeObjectsInArray:] add checks to prevent possible crashes, particulary if the method argument is the receiver; crash seen by Wolfgang. * Source/GSSocketStream.m: Fix incorrect key when setting old security level. Change internal API name to avoid confusion. 2019-09-21 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSTLS.m: Re-order code to avoid setting session priority twice. * Source/NSFileHandle.m: Fix so that setting certificate information does not discard any other options already set. 2019-09-16 Alan Jenkins <alan.christopher.jenkins@gmail.com> * Tools/gdomap.c: A couple of is_local_net() tests were wrong: they used "&&" with masks, but that is the logical shortcut operator. The correct bitwise operator is "&". The result was that is_local_net() was always returning true! Only allow local processes to send GDO_SERVERS requests. This request is only useful locally. Do not allow remote requests for the server list. Our response can be large, so it would make a great UDP amplification attack. 2019-08-12 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSSocketStream.m: Fix for hang when writing large https requests. * Source/GSStream.h: improve diagnostics * Source/GSStream.m: improve diagnostics * Source/NSURLProtocol.m: improve diagnostics * Tests/base/NSURLConnection/Helpers/NSURLConnectionTest.m: * Tests/base/NSURLConnection/test05.m: Bugfix and new testcase for https request with large (over 64KB) body. 2019-08-09 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSRunLoop.m: * Source/NSThread.m: Improve reporting of excess performers so that, when one thread performs selectors in another, you can see the class of the receiver and the selector involved. 2019-08-08 Richard Frith-Macdonald <rfm@gnu.org> * configure.ac: check for malloc_usable_sizer() * configure: regenerate * Headers/GNUstepBase/config.h.in: regenerate * Headers/Foundation/NSDebug.h: Add GSMemoryBytes() * Headers/GNUstepBase/NSObject+GNUstepBase.h: Rework memory usage reporting extensions API. * Source/Additions/NSMutableString+GNUstepBase.m: * Source/Additions/NSObject+GNUstepBase.m: * Source/GSArray.m: * Source/GSCountedSet.m: * Source/GSDictionary.m: * Source/GSSet.m: * Source/GSString.m: * Source/NSConcreteHashTable.m: * Source/NSConcreteMapTable.m: * Source/NSData.m: * Source/NSDebug.m: * Source/NSDistantObject.m: * Source/NSObject.m: * Source/NSProxy.m: * Source/NSRunLoop.m: Updates for new memory reporting extensions API. The parts of this dealing with the size of the contents of an object are now off by default (trying to calculate the size of an object is problematic if it is mutated while you are doing it) but classes can implement -sizeOfContentExcluding: to turn it on if they are thread-safe. Implementations provided for immutable container objects and for all strings. 2019-08-06 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSData.m: Implement [NSMutableData+dataWithBytesNoCopy:length:freeWhenDone] 2019-07-28 Fred Kiefer <fredkiefer@gmx.de> * Source/NSByteCountFormatter.m: Fix to work in non fragile settings. 2019-07-19 Gregory Casamento <greg.casamento@gmail.com> * Headers/Foundation/NSByteCountFormatter.h * Source/NSByteCountFormatter.m Implementation of NSByteCountFormatter as documented. * Tests/base/NSByteCountFormatter Add test for this class. 2019-07-10 Frederik Seiffert <frederik@algoriddim.com> * Headers/Foundation/NSArray.h: * Headers/Foundation/NSOrderedSet.h: Fix generics definition of NSMutableArray and NSMutableOrderedSet. Fix NSArray and NSOrderedSet KVC method types to not use generic type. 2019-07-14 Fred Kiefer <fredkiefer@gmx.de> * Source/NSUbiquitousKeyValueStore.m: Change to use GNUstep formatting. Move simple methods into base class. Correct the usage of long long NSNumber. 2019-07-10 Gregory Casamento <greg.casamento@gmail.com> * Headers/Foundation/NSUbiquitousKeyValueStore.h * Source/NSUbiquitousKeyValueStore.m: Implementation of skeletal version of this class for compilation. Also put in place a way to make concrete subclasses for various services. 2019-07-02 Wolfgang Lux <wolfgang.lux@gmail.com> * Tests/base/GSTLS/basic.m: Use fixed time zone. 2019-07-02 Gregory John Casamento <greg.casamento@gmail.com> * Headers/Foundation/NSOrderedSet.h: Added header for class cluster implementation of NSOrderedSet. * Source/NSOrderedSet.m: Implementation of NSOrderedSet and NSMutableOrderedSet * Source/GSOrderedSet.m: Implementation of concrete class. 2019-07-01 Fred Kiefer <fredkiefer@gmx.de> * Source/GSXML.m (fatalErrorFunction): Use correct function to get line number. * Source/NSOperation.m (_execute): Surround with NS_DURING to free lock on error. 2019-06-11 Richard Frith-Macdonald <rfm@gnu.org> * Headers/GNUstepBase/GSIArray.h: * Headers/GNUstepBase/NSObject+GNUstepBase.h: * Source/Additions/NSObject+GNUstepBase.m: * Source/GSArray.m: * Source/GSCountedSet.m: * Source/GSDictionary.m: * Source/GSSet.m: * Source/NSArray.m: * Source/NSConcreteHashTable.m: * Source/NSConcreteMapTable.m: * Source/NSData.m: * Source/NSDictionary.m: * Source/NSDistantObject.m: * Source/NSObject.m: * Source/NSProxy.m: * Source/NSSet.m: * Source/NSString.m: Revise mechanism for extention to report memory usage of individual objects. This makes the inclusion of size of objects in ivars a default, while allowing easy extension to include other heap memory. API change not final. 2019-05-23 Frederik Seiffert <frederik@algoriddim.com> * configure: * configure.ac: Link against libandroid on Android. * Headers/Foundation/NSBundle.h: * Source/NSBundle.m: Added methods for passing Android asset manager from Java to GNUstep and for getting AAsset/AAssetDir for given path in main bundle. Skip app bundle suffix check on Android. Extended bundle resource paths backbone to check for known paths directly on Android as we can't enumerate directories. Extended -localizations method to check for known localizations directly (requires setting userLanguages in NSUserDefaults). Extracted path cache cleaning into separate method. * Source/GSFileHandle.h: * Source/GSFileHandle.m: Added file handle support for reading Android assets from main bundle. * Source/NSData.m: Added support for reading Android assets from main bundle in readContentsOfFile(). This is also used by all other -initWithContentsOfFile: and related methods from other classes. * Source/NSFileManager.m: Added support for Android assets from main bundle in fileExistsAtPath:isDirectory:, isReadableFileAtPath:, NSDirectoryEnumerator, and copying from assets. Extended GSAttrDictionary with basic support for Android assets. * Source/NSProcessInfo.m: Added +initialize method to auto-initialize NSProcessInfo on Android using fake executable path "/data/data/<app identifier>/exe" (Android apps don't have a real executable path). 2019-05-20 Frederik Seiffert <frederik@algoriddim.com> * Source/NSLog.m: Have all logs go to syslog on android. * Source/NSThread.m: Spinlock implementation using builtins as implemented by David in libobjc2 * Source/NSRunLoop.m * Headers/GNUstepBase/config.h.in: * configure.ac: This updates the libdispatch runloop integration to be compatible with the Swift corelibs libdispatch release at (https://github.com/apple/swift-corelibs-libdispatch). In that release, the main queue handle and drain functions have been renamed with a "_4CF" (for CoreFoundation) suffix and have moved to private.h, so we now check for the existance of this header and function names. Note that libdispatch must be compiled with INSTALL_PRIVATE_HEADERS=YES. Also fixes the checks for the HAVE_LIBDISPATCH_RUNLOOP define (was inverted) and ensures that both the handle and drain functions are available. 2019-04-16 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSString.m: Removed public functions which could conflict with application code. Rewrote percent unescaping to avoid possible buffer overruns. * Tests/base/NSString/test09.m: avoid excess logging (for readability of test output). 2019-04-12 Gregory John Casamento <greg.casamento@gmail.com> * Source/NSCharacterSet.m: Added declarations/implementations for URL*AllowedCharacterSet. * Headers/NSCharacterSet.h: Added declarations here for URL*AllowedCharacterSet * Source/CharSets/*: Added headers to define new charactersets. * Source/NSString.m: Added methods stringByRemovingPercentEncoding/ stringByAddingPercentEncodingWithAllowedCharacterSet: * Header/NSString.h: Added declrations for methods mentioned above. 2019-03-29 Igor Zhukov <fsb4000@yandex.ru> * Source/NSDateFormatter.m: * configure: * configure.ac: Decrease ICU version requirements to 49 to support Windows 2000. 2019-03-25 Sergii Stoian <stoyan255@gmail.com> * Resources/Lanuages/Ukrainian: Fix wrong \U sequence for letter 'i' and short weekdays. 2019-03-18 Wolfgang Lux <wolfgang.lux@gmail.com> * Tools/gdomap.c: Fix crash in donames() when getaddrinfo returns an error. 2019-02-27 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/Unidoce.m: comment-out left-over debug logging. * Source/NSJSONSerialization.m: escape characters with codepoint greater than 0x7f. 2019-02-15 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSMime.m: When encoding quoted words in a header, ensure we don't split multibyte utf-8 characters into separate words. * Tests/base/GSMime/general.m: Add test for encode/decode folded subject line wit a euro symbol at the fold point. 2019-02-14 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSPrivate.h: * Source/NSBundle.m: * Source/NSPathUtilities.m: * Source/objc-load.m: GSPrivateSymbolPath() simplified by removing the unused argument and consolidated code so that, if the class lookup via dladdr() fails, we fall back to use __objc_dynamic_get_symbol_path(). 2019-02-14 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/GSMime.m: Fix encoded word encoding specifier to be uppercase ('B' or 'Q') as pere strict RFC specification. * Tests/base/GSMime/build.m: Add testcase for correct encoding. 2019-02-13 Richard Frith-Macdonald <rfm@gnu.org> * Tests/base/GSTLS/basic.m: Update testcase to use correct guard. 2019-02-12 Ivan Vucica <ivan@vucica.net> * Headers/GNUstepBase/GSTLS.h: Change guard to check for value of GS_USE_GNUTLS and not for its defined state. This preprocessor constant might be defined with a zero value indicating desire not to use GnuTLS, which would still pass the old check. 2019-02-11 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSObject.m: Improve thread safety with NSZombie particularly on startup/shutdown; be more careful about locking access to the zombieMap and also ensuring we don't raise an exception inside the locked sections (by passing a nil map to the functions). 2019-01-06 Armando Pesenti Gritti <armando.pesentigritti@theengagehub.com> * Headers/GNUstepBase/GSTLS.h: Header moved to provide public exposure of TLS classes giving ObjC interface to GNU TLS. * Source/GSTLS.m: New methods to provide certificate expiry times. * Source/DocMakefile: Make documentation from GSTLS.h * Source/GNUmakefile: Install GSTLS.h * Source/GSHTTPURLHandle.m: Adjust location of GSTLS header * Source/GSSocketStream.m: Adjust location of GSTLS header * Source/NSFileHandle.m: Adjust location of GSTLS header * Source/NSURLProtocol.m: Adjust location of GSTLS header * Tests/base/GSTLS: Add tests for certificate expiry Patch by Armando, adjusted by RFM. 2019-01-06 Fred Kiefer <fredkiefer@gmx.de> * Source/Additions/Unicode.m: Move variable u to the correct scope and initialize it. 2019-01-06 Ivan Vucica <ivan@vucica.net> * ANNOUNCE: * NEWS: * Documentation/ReleaseNotes.gsdoc: * Documentation/news.texi: Update release notes for 1.26.0. * Version: Bump version to 1.26.0. 2019-01-06 Ivan Vucica <ivan@vucica.net> * Tests/base/NSBundle/resources.m: Fixed change in 2107c82ca4778e4cf9b8624d1bd1fd60fe104373 which made NSArray *arr become invisible to the "NSBundle GNUstep resources" test set. 2019-01-06 Ivan Vucica <ivan@vucica.net> * config/icu.m4: * configure.ac: Merge the change to use pkg-config to detect ICU. Patch by Hugh McMaster <hugh.mcmaster@outlook.com>. Update PR #32 to require ICU 5.0+ and not 4.6+. * configure: Regenerated to incorporate the changes from PR #32. Regenerated with autoconf 2.69. 2019-01-06 Fred Kiefer <fredkiefer@gmx.de> * Documentation/news.texi: Update release notes for 1.26.0. * ChangeLog: Fix typos in this document. 2019-01-03 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSTLS.h: * Source/GSTLS.m: * Source/NSFileHandle.m: Track the age of TLS sessions for server connections and, when accepting an incoming connection, replace the current server connection (if the existing one is more than 5 minutes old) so that cached certificate information will be updated from file (eg if a certificate needs to be updated while a server is running). 2018-12-06 Wolfgang Lux <wolfgang.lux@gmail.com> * Headers/Foundation/NSObject.h: Remove reference to the copyWithZone: implementation of NSObject, which was removed ages ago. 2018-12-05 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSURLHandle.h: * Source/NSURLHandle.m: * Source/GSHTTPURLHandle.m: Expose GNUstep specific methods for old code that depends on them. Newer code should use the newer HTTP/HTTPS APIs 2018-12-04 Richard Frith-Macdonald <rfm@gnu.org> * Headers/GNUstepBase/NSURL+GNUstepBase.h: * Source/NSURL.m: Add [-cacheKey] method to return a key usable for caching HTTP URL connections that go to the same scheme, host and port. * Source/GSHTTPURLHandle.m: New [-setURL:] method to change the URL used by a handle so that a networek connection used by a handle can be re-used if possible (ie if the scheme, host and port parts are unchanged). 2018-08-24 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSTLS.m: Fixup for last modification ... still verify the certificate (so we can find out who issued/owns it) even if we do not have verification turned on ... the verification setting controls whether we reject the connection. Also fixed off by one bug in getting the issuer and owner distinguished names. 2018-08-13 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSTLS.m: Change behavior so that when acting as a server we always request that the client sends us a certificate (if it doesn't have one, it should ignore the request). The 'verify' setting should control only whether a request without a certificate is rejected. 2018-08-08 Riccardo Mottola <rm@gnu.org> * configure.ac * configure: When checking for pthread_np.h include pthread.h if available or it may fail (e.g. OpenBSD). 2018-08-06 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSUserDefaults.m: Update the cache on change of volatile domain or search list, not just when perstistent domain values change. 2018-07-19 Richard Frith-Macdonald <rfm@gnu.org> * NSTimeZones/NSTimeZones.tar: Updated zone info and corrected preferred abbreviation mappings to match OSX. 2018-07-14 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/Unicode.m: improve utf8 validity checks, switch to state machine based utf8 parsing for better performance. * Tests/base/NSString/utf8.m: add a few tests for utf8 parsing. 2018-07-10 Richard Frith-Macdonald <rfm@gnu.org> * configure.ac: * configure: When using clang, we now supply -fobjc-runtime=gcc to target the gnu/gcc runtime ABI. 2018-07-07 Fred Kiefer <fredkiefer@gmx.de> * Source/NSString.m: Add primitive implementation for rangeOfComposedCharacterSequencesForRange:. 2018-07-06 Fred Kiefer <fredkiefer@gmx.de> * Source/GSString.m: Remove GSString copyWithZone:. * Source/NSString.m: Raise exception when no data is provided for the string. This brings our implementation closer to the Cocoa one. * Source/GSString.m: Add similar exceptions. 2018-07-02 Richard Frith-Macdonald <rfm@gnu.org> * Tests/base/NSString/test00.m: : Move _unicodeString from here... * Source/GSString.m: ... to here. In order to reliably test the internal 16bit unicode implementation we must have a method guaranteed to produce an instance of the correct class. 2018-07-01 Fred Kiefer <fredkiefer@gmx.de> * Source/NSString.m: Small cleanup for printf registration. * Tests/base/NSString/test00.m: Add David Chisnall's test from newapi branch slightly reformatted. * Source/GSString.m: Remove code that was identical to super class. * Source/GSString.m: Move the method _unicodeString from here... * Tests/base/NSString/test00.m: ...to here. 2018-06-28 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSXMLParser.m: Fix conversion of numeric entities with large values into UTF-16 surrogate pairs before returning them as string. 2018-06-12 Richard Frith-Macdonald <rfm@gnu.org> * Documentation/Base.gsdoc: * Source/GSPrivate.h: * Source/NSException.m: * Source/NSUserDefaults.m: Add boolean GSExceptionStackTrace user default to turn on inclusion of stack trace information in the -description of an exception (like the GNUSTEP_STACK_TRACE environment variable). Useful for diagnostic logs of a long running server process. 2018-04-30 Graham Lee <graham@iamleeg.com> * Source/NSCalendar.m (calendarWithIdentifier:): New convenience method implemented by Cocoa. 2018-05-29 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSObject.m: avoid static initialisation macro for allocation locks in case some systems implement it in a way that doesn't work after static initialisation takes place. 2018-05-27 Fred Kiefer <fredkiefer@gmx.de> * Tests/base/NSProcessInfo/general.m: Mark test for -systemUptime as hopeful as it may fail in GNU Hurd. Fixes bug #53941. Based on idea by Yavor Doganov <yavor@gnu.org> 2018-05-21 Fred Kiefer <fredkiefer@gmx.de> * Source/GSConcreteValueTemplate.m: Add hack to make point and size subclasses for NSValue interchangable. 2018-05-20 Ivan Vucica <ivan@vucica.net> * Source/NSThread.m: Fix typo in code branch for platforms without pthread_spin_lock(). Check for value of HAVE_PTHREAD_SPIN_LOCK instead of whether the macro is defined. 2018-05-18 Richard Frith-Macdonald <rfm@gnu.org> * Tools/gdnc.m: Remove a little unused code * Headers/Foundation/NSFileHandle.h: * Source/GSHTTPURLHandle.m: * Source/GSSocketStream.m: * Source/GSTLS.h: * Source/GSTLS.m: * Source/NSURLProtocol.m: Add support for TLS SNI (Server Name Indication) and a new option (GSTLSServerName) to control what name (if any) is passed in the TLS handshake. 2018-05-17 Yavor Doganov <yavor@gnu.org> * Tests/base/NSNumberFormatter/basic10_4.m: Avoid test failure on big-endian platforms by converting unichar to an NSString. 2018-05-10 Fred Kiefer <fredkiefer@gmx.de> * Tools/pl2link.m (main): Don't write deprecated fields to desktop link file. Patch by: Josh Freeman <gnustep_lists@twilightedge.com> 2018-04-24 Richard Frith-Macdonald <rfm@gnu.org> * configure: regenerate * NSObject.m: tiny cosmetic whitespace tidyup * NSThread.m: move declarations to avoid compiler warning 2018-04-23 Riccardo Mottola <rm@gnu.org> * Source/NSThread.m: Detect if platform is missing spin locks and provide an dummy implementation. Emit warning during compilation and runtime (in debug). 2018-04-16 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSThread.m: ensure that the thread specific memory key is initialised before use. 2018-04-15 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSException.m: Improve -symbold method on platforms without backtrace support (list addresses with a message to say the symbols are not available). 2018-04-12 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSLock.m: Using class_createInstance() to allocate locks seems to be causing memory issues and crashes somehow. Temporarily comment out that code to try to get things working again. 2018-04-12 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/Unicode.m: * Source/NSArray.m: * Source/NSCharacterSet.m: * Source/NSString.m: Use pthread mutex directly to try to avoid initialising NSLock too early on during process startup. 2018-04-10 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSObject.m: Don't set the name of the global lock until after we have make sure that strings and autorelease are set up. 2018-04-10 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/Unicode.m: * Source/GSHTTPAuthentication.m: * Source/GSHTTPURLHandle.m: * Source/GSMDNSNetServices.m: * Source/GSURLPrivate.h: * Source/NSCalendar.m: * Source/NSCharacterSet.m: * Source/NSConnection.m: * Source/NSCountedSet.m: * Source/NSIndexPath.m: * Source/NSKeyValueObserving.m: * Source/NSLocale.m: * Source/NSMessagePort.m: * Source/NSSocketPort.m: * Source/NSUserDefaults.m: * Source/NSValueTransformer.m: Replace the obsolete GSLazyLock code with standard NSLocks now that almost all significant software is multithreaded. 2018-04-10 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSThread.m: When adding a new thread, set the thread specific memory to point to the object before doing anything else which might attempt to access the thread (causing recursive registration). 2018-04-09 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/unicode/cop.h: Add comment/fixme * Source/Additions/Unicode.m: * Source/NSString.m: Move uni_isnonsp() to NSString.m and make it use nonBaseCharacterSet so that it correctly copes with both surrogate pairs and traditional composed character sequences. NB. David points out that this is not full/correct unicode grapheme cluster handling (it's the main part of the handling for 'legacy' grapheme clusters). 2018-04-04 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSLock.h: * Headers/Foundation/NSThread.h: * Source/GSPrivate.h: * Source/NSException.m: * Source/NSLock.m: * Source/NSThread.m: Revised code for efficient stack traces and for tracking the use of locks and detecting deadlocks. 2018-03-30 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSException.m: Fix second argument to backtrace() 2018-03-28 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSException.m: Use pthread mutexes directly to avoid recursive interactions with tracking NSL:ock activity. 2018-03-27 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSPrivate.h: * Source/NSDebug.m: * Source/NSException.m: * Source/NSThread.m: * Headers/Foundation/NSThread.h: Move stack info code from NSDebug to NSException so its all in one place and. Make thread call stack addresses method use windows code as well as libbacktrace. Remove unused method. * Source/NSTimeZone.m: Simplify and optimise locking by using pthread_mutex functions directly. 2018-03-26 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSDebug.m: Avoid recursion in lock tracing when using memory allocation stats. * Source/NSObject.m: Make gnustep_global_lock an untraced lock to avoid recursion issues when tracing. 2018-03-26 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSLock.h: * Headers/Foundation/NSThread.h: * Source/GSPrivate.h: * Source/NSLock.m: * Source/NSThread.m: Experimental code to add support for tracing locks held by different threads and to report deadlock situations where threads have obtained locks in the wrong order and can never proceed. 2018-03-26 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSBundle.m: * Source/NSOperation.m: Give locks names to ease debugging * Source/NSObject.m: * Source/NSZone.m: Updates to use pthread mutexes directly rather than NSLock objects in key places for performance. 2018-03-26 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSPThread.h: * Source/GSException.m: Optimise generation of stack traces to store them in a single simple malloced buffer and only generate an NSArray of return addresses if actually requested. Also adjust output of stack trace to exclude the top few frames involved in generation of the trace, so we see only the frames of interest. 2018-03-16 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSLock.h: Expose pointer to function handling logging of deadlocks. * Source/NSLock.m: Indirect via pointer so apps can intercept the logging of deadlocks. * Source/GSHTTPURLHandle.m: Provide more detailed debug logging. * Source/NSURLProtocol.m: Provide more detailed debug logs. 2018-02-25 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSeq.h: Fixup error in last modification. * Source/GSString.m: Add method to reliably get a GSUnicodeString * Tests/base/NSString/test00.m: Fix tests to properly check range searches using all combinations of 8bit and 16bit representation strings. 2018-02-25 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSeq.h: Fix boundary checks searching for unicode strings. 2018-02-16 Yavor Doganov <yavor@gnu.org> * Tests/base/NSNumberFormatter/basic10_4.m: Extend test expression to fix test failure with ICU 60.2. 2018-02-11 Richard Frith-Macdonald <rfm@gnu.org> * Tools/gdomap.c: Fix strncat length limits. 2018-02-09 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSTimeZone.m: fix missing fieldwidth specified in fscanf call 2018-02-09 Fred Kiefer <fredkiefer@gmx.de> * Source/NSXMLElement.m(-addAttribute:): Correct linear list code for name spaces. This fixes the last remaining Coverity issue. 2018-02-08 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSPortCoder.h * Source/NSUnarchiver.h Improve checks for loss of data converting sizes of scalar types. 2018-02-07 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSAttributedString.m: remove a little dead code * Tests/base/NSMutableAttributedString/test00.m: add sanity checks * Tests/base/NSMutableAttributedString/test01.m: add sanity checks * Source/GSString.m: raise exception on character conversion failure * Source/NSNumberFormatter.m: remove dead code * Source/NSPropertyList.m: avoid warnings using cast to void * Source/NSMessagePortNameServer.m: added security checks * Source/NSDecimal.m: tweak underflow setting for negative numbers * Tools/AGSHtml.m: remove useless test 2018-02-07 Yavor Doganov <yavor@gnu.org> * Source/NSPortMessage.m (sendBeforeDate:): Invoke -sendBeforeDate:msgid:components:from:reserved: so that the value of _msgid is taken into account. (initWithSendPort:receivePort:components:): Set _msgid to 0. 2018-02-06 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSException.h: * Source/NSAssertionHandler.m: * Documentation/manual/ExceptionHandling.texi: Update NSAssert() and NSCAssert() to handle variable arguments (as OSX has done) and mark the numbered macros as obsolete. * Source/NSMessagePort.m: * Source/NSSocketPort.m: Log if we fail to turn on keepalive * Source/NSURL.m: fix possible nul pointer dereference * Source/NSPropertyList.m: check step before use * Source/NSDate.m: add comment that we are ignoring non-digits * Source/NSCache.m: use double division for calcualting averrage * Source/NSPredicate.m: check for termination of quoted strings 2018-02-05 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSPortCoder.m: Remove redundant (always true) conditional. Use cast to mask 64bit values. * Source/NSUnarchiver.m: Remove redundant (always true) conditional. * Source/NSPropertyList.m: Remove dead code * Source/NSDecimal.m: Remove dead code, tweak underflow setting for negated numbbers. * Tools/gdnc.m: Remove dead code 2018-02-04 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSFileHandle.m: keep checker happy by using return value of setsockopt. * Source/Additions/Unicode.m: ensure iconv handle is closed * Source/NSLocale.m: localeIdentifierFromComponents should cope with collation alone being set. * Source/GSString.m: better handling if character conversion fails. * Source/NSRunLoop.m: suppress warning using cast. * Source/NSTimeZone.m: check that time zone hour is in range 0 to 23 2018-02-03 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSFTPURLHandle.m: change memcpy to memmove to avoid possible problems with overlapping source and destination areas. * Source/Additions/Unicode.m: ensure iconv handle is closed * Source/NSXMLParser.m: fix incorrect type assignment 2018-02-01 Fred Kiefer <fredkiefer@gmx.de> * Source/GSFormat.m: Call va_end with the correct parameter. * Source/NSObject+NSComparisonMethods.m: Add missing return. * Source/GSString.m (-replaceCharactersInRange:withString:, -initWithBytesNoCopy:...freeWhenDone:): Remove dead code. * Source/NSDistantObject.m (-initWithCoder:): Remove dead code. * Source/NSPredicate.m (_eval_avg:): Don't devide by zero. Fix issues found by Coverity. 2018-01-26 Richard Frith-Macdonald <rfm@gnu.org> * NSCharacterSets/GNUmakefile: * NSCharacterSets/alphanumericCharSet.dat: * NSCharacterSets/controlCharSet.dat: * NSCharacterSets/dataToHeader.c: * NSCharacterSets/decimalDigitCharSet.dat: * NSCharacterSets/decomposableCharSet.dat: * NSCharacterSets/illegalCharSet.dat: * NSCharacterSets/letterCharSet.dat: * NSCharacterSets/lowercaseLetterCharSet.dat: * NSCharacterSets/newlineCharSet.dat: * NSCharacterSets/nonBaseCharSet.dat: * NSCharacterSets/punctuationCharSet.dat: * NSCharacterSets/symbolAndOperatorCharSet.dat: * NSCharacterSets/uppercaseLetterCharSet.dat: * NSCharacterSets/whitespaceAndNlCharSet.dat: * NSCharacterSets/whitespaceCharSet.dat: Obsolete files deleted. * NSCharacterSets/README.CharSet: updated * Source/NSCharacterSetData.h: regenerated using the ucsdata library and the charsets tools to take into account the fact that a unicode zero width space should be counted as white space by us. * Source/NSURL.m: A few OSX compatibility tweaks. * Tests/base/NSURL/basic.m: A couple more OSX compatibility tests. 2018-01-25 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSException.h: * Source/NSException.m: * Source/Additions/NSObject+GNUstepBase.m: Mark exception raising methods with GS_NORETURN_METHOD. Alter noreturn method implementations so the compiler knows that they really don't return. Use pragma to suppress warnings about noreturn methods whose formal declaration says they return an id. 2018-01-23 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/NSNumber+GNUstepBase.m: * Source/GSValue.m: * Source/NSZone.m: * Tools/gdomap.c: Fix various small issues picked by automated checker. 2018-01-19 Richard Frith-Macdonald <rfm@gnu.org> * Source/Makefile.postamble: Restore optimisation flags (removed 18 years ago) for NSInvocation and NSConnection (and remove obsolete mframe setting) as suggested by Yavor Doganov. 2018-01-15 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSThread.m: Improve exception message when performing a selector on a finished thread. * Source/NSTask.m: Do not try to notify task completion on a thread that is not executing. * configure.ac: Fix for older versions of pkg-config * configure: regenerate 2018-01-14 Yavor Doganov <yavor@gnu.org> * Tests/base/NSXMLDocument/basic.m: * Tests/base/NSXMLDocument/cdata.m: * Tests/base/NSXMLNode/basic.m: * Tests/base/NSXMLElement/attributes.m: * Tests/base/NSXMLElement/basic.m: * Tests/base/NSXMLElement/children.m: * Tests/base/NSXMLElement/transfer.m: * Tests/base/NSXMLNode/children.m: * Tests/base/NSXMLNode/description.m: * Tests/base/NSXMLNode/kinds.m: * Tests/base/NSXMLNode/namespaces.m: Skip tests if libxml2 is not available. * Tests/base/NSTimeZone/use.m: Skip one more test if NSLOCALE_SUPPORTED is undefined. * Tests/base/NSRegularExpression/basic.m: Skip all tests if ICU is not available. 2018-01-14 Richard Frith-Macdonald <rfm@gnu.org> * configure.ac: Remove explicit test for SAX2.h as we now assume it is present based on the version of libxml2. * configure: regenerate * Source/GSXML.m: fix errors in loading/resolving of external entities and fix the parsing methods to correctly return whether the xml was validated against a DTD (when that feature is turned on). * Tests/base/GSXML/basic.m: add a couple of tests for resolving external references and validating against a DTD. 2018-01-14 Yavor Doganov <yavor@gnu.org> * configure.ac: Use PKG_PROG_PKG_CONFIG instead of AC_PATH_PROG to find pkg-config as it supports cross-compilation. * configure.ac: Bump ICU requirement to >= 50 for UDAT_PATTERN. 2018-01-11 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSXMLParser.m: OSX compatibility tweaks and correction for setting entity resolution flag in sloppy parser. * Headers/GNUstepBase/GSXML.h: new [-resolveEntities:] method to enable resolving of external entities (now off by default). * Source/Additions/GSXML.m: Changes to turn off resolving of external entity references my default (adding a new method to turn the feature back on) as a security fix to prevent xml injection attacks (eg where an attacker gets the local password file substituted into an xml document). * Tests/base/NSXMLParser/parse.m: external entity resolution test. * Tests/base/GSXML/basic.m: external entity resolution test. 2018-01-04 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSObject.m: Fix bug with one path to object allocation failing to record the object for memory debuggin purposes. 2018-01-03 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSURL.m: Tweaks for OSX compatibility ... treat a missing path in an http URL as an empty string rather than as nil. 2018-01-02 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSFileManager.m: * Tests/base/NSFileManager/general.m: Added <graham@iamleeg.com> Graham Lee's fix for #51592 to not raise an assertion, but rather call the handler if the source file being copied does not exist. 2017-12-21 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSSocketPort.m: * Source/NSMessagePort.m: * Source/win32/NSMessagePort.m: There is a possible race condition when attempting to write a message to a port; the port handle is added to the run loop and then the loop is entered, but if an event occurs in the loop which invalidates the handle and causes it to be removed from the loop before the lower level code to wait for I/O is entered, the loop may never receive an event on the handle and could wait indefinitely. The solution is not to remove the handle from the loop when it is invalidated or when an event occurs on an invalidated handle, but only remove it in the method which added it. Of course, this means we must make certain to remove it when we should, which means that the loop must be run inside an exception handler which makes sure to remove the handle from the loop before re-raising the exception. 2017-12-31 Ivan Vucica <ivan@vucica.net> * ANNOUNCE * NEWS * Documentation/ReleaseNotes.gsdoc * Documentation/news.texi: Update release notes for 1.25.1 to take note of compatibility improvement changes since release notes were written, and to fix a typo. 2017-12-21 Riccardo Mottola <rm@gnu.org> * Source/NSObject.m: Cleanup previous commit. 2017-12-21 Riccardo Mottola <rm@gnu.org> * Source/NSObject.m: Compatibility for OS/compiler not supporting weak symbols. 2017-12-20 Richard Frith-Macdonald <rfm@gnu.org> * configure.ac: Remove obsolete --enable-objc-nonfragile-abi flag when building for ng. * configure: regenerate 2017-12-19 Richard Frith-Macdonald <rfm@gnu.org> * Version: 1.25.1 release * Documentation/ReleaseNotes.gsdoc: update for release * Documentation/news.texi: update for release * ANNOUNCE: regenerate * INSTALL: regenerate * NEWS: regenerate * README: regenerate 2017-12-18 Graham Lee <graham@iamleeg.com> * Source/NSJSONSerialization.m: Fix for bug #12 on github. This makes sure that unsigned integer types are written as such, avoiding a potential overflow. * Tests/base/NSJSONSerialization/tests00.m: Test case for above. 2017-12-17 David Chisnall <theraven@sucs.org> * Source/NSObject.m: Refactor refcount usage. This makes it easier for the runtime to change how reference counts are stored by removing any refcount manipulation from -base when the runtime provides accessors. This should have no functionality change with existing runtimes, but will let newer runtimes drop in alternative representations easily. 2017-12-03 Fred Kiefer <fredkiefer@gmx.de> * Headers/Foundation/NSFileManager.h * Source/NSFileManager.m: Correct setting the delegate. Add new symbolic link method. 2017-11-16 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSArray.m: Fix for bug reported on github by zneak. 2017-11-04 Fred Kiefer <fredkiefer@gmx.de> * Source/GSLocale.m: Protect against GSPrivateNativeCStringEncoding() corrupting the return value of setlocale(). Bug #52331 reported by Jakub Wilk <jwilk@jwilk.net>. 2017-10-26 Stefan Bidigaray <stefanbidi@gmail.com> * Source/NSDateFormatter.m: Fix how UDateFormat is created. Fixes bug #52011. 2017-09-06 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSThread.m: Improve handling in case where we try to perform a method in a thread and it can't be woken (the pipe to awaken the run loop is full). Instead of blocking forever, give up after a second. Typically pipe buffers are from 4KB to 64KB so a full buffer almost certainly indicates that the thread is hung. 2017-08-24 Stefan Bidigaray <stefanbidi@gmail.com> * Source/NSLocale.m: Fix bug in ISO code methods. 2017-08-21 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSURLProtocol.m: Fixed error where the presence of a Location error was taken to indicate a redirect rather than looking at the HTTP status code for a 3xx value. 2017-08-16 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURLDownload.h: As of macOS 10.7, NSURLDownloadDelegate is exposed formally as a protocol. This adds the declaration to make this true for GNUstep. 2017-08-15 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSTextCheckingResult.h: Define missing constants in the NSTextCheckingResult header. 2017-08-04 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSObjCRuntime.h: Add empty definitions for OSX Availability macros for compatibility purposes. 2017-07-10 Wolfgang Lux <wolfgang.lux@gmail.com> * Source/GSString.m (lengthUTF8): Characters outside the BMP cannot be converted to Latin 1 string encoding either. * Tests/base/NSString/pairs.m (main): * Tests/base/NSString/unichar_const.m: Add test cases. 2017-07-07 Riccardo Mottola <rm@gnu.org> * Source/NSProcessInfo.m: Fix GetTickCount()/GetTickCount64() for different Windows versions. 2017-07-04 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSObject.m: When an object's retain count is incremented too far, track it so that we only raise an exception about it once (and make the exception message more informative so we can more easily tell what object has been leaked). 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSFileManager.h * Source/NSFileManager.m: Implement a method for getting attribytes of a file system path. Reuse the implementation of -fileSystemAttributesAtPath: for this purpose but export the last system errors to the caller. Make -fileSystemAttributesAtPath: use the new implementation, without exposing error info to the caller. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/Foundation.h * Headers/Foundation/NSFileCoordinator.h * Headers/Foundation/NSFilePresenter.h * Headers/Foundation/NSFileVersion.h * Headers/Foundation/NSURLSession.h * Source/GNUmakefile * Source/NSFileCoordinator.m * Source/NSFileVersion.m * Source/NSURLSession.m: Generate class stubs (without any method definition) for NSFileCoordinator, NSFilePresenter, NSFileVersion and NSURLSession. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURLConnection.h: Currently, NSURLConnectionDelegate methods were defined as a category of an NSObject. The same definitions were copied over to a new NSURLConnectionDelegate protocol, introduced in OSX 10.7. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURLCredential.h * Source/NSURLCredential.m: Declare the NSURLCredentialPersistenceSynchronizable enumeration case to NSURLCredential persistence options. Since GNUstep does not support iCloud synchronization for credentials, this case will default to NSURLCredentialPersistencePermanent. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURLProtectionSpace.h * Source/GSHTTPAuthentication.m * Source/NSURLProtectionSpace.m: Improve handling of NSURL authentication methods. Make "HTMLForm" authentication a no-op as it should be instead of making it fall back to Basic authentication. Add stubs for NTLM and Negotiate IIS methods. They should be easily implementable given the current framework for authentication methods. Add stubs for ClientCertificate and ServerTrust authentication methods. A blocker for supporting them is the lack of a Security.framework implementation (since they rely on SecTrustRef). They would also require additions to the current SSL handling code for GNUstep https requests. Also stub the -distinguishedNames property of NSURLProtectionSpace, which also deals with certificate-related authentication methods. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURLRequest.h: Add new values for the NSURLCachePolicy enum. Although NSURLRequestReloadIgnoringLocalAndRemoteCacheData and NSURLRequestReloadRevalidatingCacheData have been left unimplemented, the same applies for the reference platform, so not supporting it does not break API compatibility. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSZone.h: Implement NSMakeCollectable(), an interface which makes CoreFoundation objects eligible for garbage collection. Since garbage collection is a totally deprecated API, and support has now been removed from GNUstep, its implementation is a no-op. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSProcessInfo.h * Source/NSProcessInfo.m: Add stubs for sudden termination APIs and for application activity management methods. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSProcessInfo.h * Source/NSProcessInfo.m * Tests/base/NSProcessInfo/general.m: Introduce the systemUptime property to NSProcessInfo, which can compute platform-independently what is the uptime of the system. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Source/NSHTTPCookie.m * Tests/base/NSHTTPCookie/basic.m: Fix a bug in NSHTTPCookie's Set-Cookie parser where it would fail to parse more than one key-only cookie (such as "Secure; HTTPOnly;") in a header. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSHTTPCookie.h * Source/NSHTTPCookie.m * Tests/base/NSHTTPCookie/basic.m: Add support for parsing HTTPOnly cookies (those that cannot be accessed by clients). Implement -[NSHTTPCookie isHTTPOnly]. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSHTTPCookie.h: Make -[NSHTTPCookie isSessionOnly] and -[NSHTTPCookie isSecure] methods become properties if possible, so that they can be also queried as `cookie.sessionOnly` and `cookie.secure`. This increases compatibility with applications that rely on this notation. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSFileManager.h * Source/NSFileManager.m: Create NSFileManagerDelegate, a more modern manner to verify whether to proceed a file operation after an error or whether an operation should actually be performed by NSFileManager. No functionality using the delegate is yet implemented. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURL.h * Source/NSURL.m * Source/externs.m: Create an unimplemented stub for NSURL's -getResourceValue:... method, which can gather a numerous set of information about a URL. Define the constants which are passed into -getResourceValue:... for requiring information so that a build that relies on this method does not break. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURL.h: Create the NSURL.fileURL property to increase compatibility with applications that rely on this. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURL.h * Source/NSURL.m: The OSX filesystem implements "aliases", a species of symlink which tracks its source if it was moved. Create stubs for the NSURL functions which handle these aliases. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSURL.h * Source/NSURL.m: Implement +[NSURL fileURLWithPath:isDirectory:], a class method added in OSX 10.5, which was missing from the implementation. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSCoder.h * Headers/Foundation/NSObject.h * Source/NSCoder.m * Source/NSKeyedUnarchiver.m: Implement stubs for NSSecureCoding which do not break projects that rely on it. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSDate.h * Source/NSDate.m: Declare a system clock change notification. Base still does not emit this notification, but this allows applications that wait for it not to have their build broken. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSObjCRuntime.h: Create the NS_ROOT_CLASS macro, a wrapper around the objc_root_class compiler attribute. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSObjCRuntime.h: Make NS_AVAILABLE and NS_CLASS_AVAILABLE macros no-ops so that their absence does not break projects that rely on it. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSCalendar.h: Update NSCalendarUnit definitions with a newer specification from Cocoa. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSCalendar.h: Add the NSCalendarOptions enum to NSCalendar for compatibility purposes. While NSCalendar does not yet know how to handle them, it will not generate build errors in projects that attempt to use them. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSCalendar.h * Source/NSCalendar.m * Source/NSLocale.m: Add new calendar identifier constants to NSCalendar, to add compatibility for newer OSX applications. Some identifiers do not hold parity with the older equivalents and have been left unimplemented, with the gregorian calendar as a fallback. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/NSGeometry.h * Source/NSGeometry.m * Tests/base/Functions/NSGeometry1.m: Create the NSEdgeInsets struct in NSGeometry, introduced in OSX 10.7. Add helper functions for creating these insets. This struct is not used in Base. Rather, it is used as part of newer APIs in GUI. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/Foundation/FoundationErrors.h: Create a no-file-exists error to the FoundationErrors enums. No function is yet implemented to throw this error, but it has been added for compatibility with applications that handle it. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * Headers/GNUstepBase/GSVersionMacros.h: To keep compatibility with compilers prior to Objective-C 2.0 support, added in the GCC 4.6 series, we are unable to always declare @property attributes in classes. However, compatibility with dot-syntax applications require us to define properties if we can. We already had some checks for the GS_HAS_DECLARED_PROPERTIES macro to see whether we could or could not declare properties (or whether we should fall back to manual getter/setter defining). However, it seems this macro never got defined. This commit adds this macro, checking whether we possess either GCC >= 4.6 or Clang. 2017-06-29 Daniel Ferreira <dtf@stanford.edu> * .gitignore: Create a .gitignore file to ease Base development using the Git version control system. This stops object files, automake products and test files from being accidentally inserted into the tree. 2017-06-21 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSDistributedLock.m: Revert recent changes to use O/S specific system calls, and depend on new behavior of the -createDirectoryAtPath:attributes: method instead. Add comment. 2017-06-18 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSFileManager.m: Make directory creation semantics match OSX * Tests/base/NSFileManager/general.m: Add directory creation testcases * Tests/base/NSDistributedLock/basic.m: Cleanup lock after tests 2017-06-17 Richard Frith-Macdonald <rfm@gnu.org> * Headers/GNUstepBase/GSIMap.h: Fix GSI_MAP_NODE_IS_EMPTY macros as suggested by Daniel Ferreira <bnmvco@gmail.com> 2017-06-16 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSDistributedLock.m: Change code to create lock directory directly rather than via the NSFileManager methods since Wolfgang pointed out that those methods consider a pre-existing directory to have been successfully created, but the distributed locking logic supposes that an attempt to create an existing directory will fail. * Tests/base/NSDistributedLock: * Tests/base/NSDistributedLock/TestInfo: * Tests/base/NSDistributedLock/basic.m: Add a few simple testcases for NSDistributedLock. 2017-05-19 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSFileHandle.h: * Source/GSSocketStream.m: * Source/GSTLS.h: * Source/GSTLS.m: * Source/NSFileHandle.m: Add code to make the issuer and owner of a client certificate available when we require/verify an incoming certificate. 2017-05-10 Wolfgang Lux <wolfgang.lux@gmail.com> * Tools/gdomap.c (nameServer, donames): Fix incorrect use addresses returned from getaddrinfo. 2017-04-24 Richard Frith-Macdonald <rfm@gnu.org> * Tools/AGSOutput.m: When generating class/method links, treat '[' as the start of a class/method only if it's the start of a comment or is preceded by white space ... allows array syntax like foo[x] to be used in a comment without attempting to link to a class named 'x'. 2017-04-14 Richard Frith-Macdonald <rfm@gnu.org> * Version: 1.25.0 release * Documentation/ReleaseNotes.gsdoc: update for release * Documentation/news.texi: update for release * ANNOUNCE: regenerate * INSTALL: regenerate * NEWS: regenerate * README: regenerate 2017-04-09 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSPredicate.m: * Tests/base/NSPredicate/basic.m: Fixes for bug #47618. 2017-04-09 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSTask.h: * Source/NSTask.m: Apply OSX compatibility fix for NSTask notifications (bug #49021) by Larry Campbell. 2017-04-03 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSOperation.m: Fix leak spotted by David Lobron. 2017-04-01 Riccardo Mottola <rm@gnu.org> * Source/NSConnection.m Correct format specifier to char* 2017-03-17 Riccardo Mottola <rm@gnu.org> * Source/NSFileManager.m:(nextObject of Enumerator) Skip file if no valid filename could be retrieved most probably due to Charset mismatches, this is is more a last resort: probably a lossy conversion should be attempted before. 2017-03-17 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSTimeZones/NSTimeZones.tar: Updated with latest information. 2017-03-17 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/Unicode.m: Implement NSNonLossyASCIIStringEncoding in a manner compatible with OSX. Added regression tests. 2017-02-11 Wolfgang Lux <wolfgang.lux@gmail.com> * Source/GSICUString.m (UTextNSStringAccess, UTextInitWithNSMutableString, UTextInitWithNSString): Fix a serious misunderstanding of the icu string access API: The value of nativeIndexingLimit must not exceed the length of the current chunk. Otherwise icu library macros could miss to properly reinitialize chunks, which, for instance, could lead to returning regular expression matches outside the selected range. 2017-01-06 Richard Frith-Macdonald <rfm@gnu.org> * Tools/gdomap.c: Use getaddrinfo rather than gethostbyname if available (bug #50032). 2016-12-06 Richard Frith-Macdonald <rfm@gnu.org> * Tools/AGSParser.m: Fix missing line preventing documentation of enumeration constants. 2016-11-28 Wolfgang Lux <wolfgang.lux@gmail.com> * Source/Additions/NSCalendarDate+GNUstepBase.m (weekOfYear): Fix an off by 1 calculation which meant that weekOfYear would return 2 for the first week of a year whenever the first Thursday of that year is 7 Jan, for instance 2016. 2016-11-10 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSPortCoder.m: * Source/NSUnarchiver.m: Fix for logic error decoding archives created by a machine with a different word size. Was checking the size of the encoded scalar item, but not against the *local* size of the same type. 2016-11-08 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSObject.m: Fix error in last mod ... was calculating opbject layout incorrectly when fast-ARC moce used on 64bit system. Also simplified by removing special case optimising for single-threaded programs and use inline decrement to improve performance of release. 2016-10-28 Niels Grewe <niels.grewe@halbordnung.de> * Source/NSObject.m: Re-enable fast-ARC mode when memory layout and atomic operations support permit. This changes the size of the field where the reference count is stored to the size of a pointer in some configurations. The effective maximum reference count is still 2^24 - 1. 2016-10-27 Wolfgang Lux <wolfgang.lux@gmail.com> * Source/NSObject.m: Comment out _ARCCompliantRetainRelease for now because the retain count representation in gnustep-base and libobjc2 differs causing space leaks on 64-bit architectures. 2016-10-24 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSData.m: Only atempt to read regular files into NSData, * Source/NSMessagePortNameServer.m: Ignore lock directories in the 'names' directory. * Source/NSTask.m Increase files to close from 256 to 2048 to better reflect typical modern system limits. All changes for problems spotted by Wolfgang. 2016-10-21 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSDate.h: Add documentation * Source/NSDate.m: Tidy up and remove a little redundant code. * Source/NSRunLoop.m: Tidy up and empty autorelease pool more often. * Source/NSTimer.m: Tidy a little and improvde -description 2016-10-14 Richard Frith-Macdonald <rfm@gnu.org> * Headers/GNUstepBase/GSTLS.h: * Source/GSTLS.m: Fix for double free issues when assigning certificat/key to credentials fails. 2016-10-12 Niels Grewe <niels.grewe@halbordnung.de> * Source/NSRegularExpression.m: Fix crashes in libicu due to * ignored error codes. Also fix a few memory leaks. * Tests/base/NSRegularExpression/basic.m: Test cases for this. 2016-10-11 Niels Grewe <niels.grewe@halbordnung.de> * Source/GSTLS.m * configure.ac * Headers/GNUstepBase/config.h.in: Check for gnutls_x509_privkey_import2() and use it if available. * configure: Regenerate * Tests/base/GSTLS: Test case for loading an OpenSSL encrypted private key. 2016-10-05 Richard Frith-Macdonald <rfm@gnu.org> * Source/NSFileManager.m: Check for modification of source file during copy. 2016-10-05 Richard Frith-Macdonald <rfm@gnu.org> * Source/Additions/Unicode.m: Permit noncharacter unicode codepoints * Source/GSString.m: Permit noncharacter unicode codepoints * Source/NSNotificationQueue.m: Call GSPrivateCheckTasks() * Source/NSRunLoop.m: Let GSPrivateNotifyASAP() check for task exit. 2016-09-19 Niels Grewe <niels.grewe@halbordnung.de>> * Source/Additions/GSMime.m (charsetForXml): Fix detection of charset in XML document. * Tests/base/GSMime/xml-charset.m: Test case. 2016-09-16 Wolfgang Lux <wolfgang.lux@gmail.com> * Source/Additions/GSMime.m (convertTo7BitSafe): Add missing checks to avoid calling caseInsensitiveCompare: with a nil argument. 2016-09-16 Niels Grewe <niels.grewe@halbordnung.de> * Source/GSTLS.m: Fix bug removing mapped certificates. 2016-09-06 Richard Frith-Macdonald <rfm@gnu.org> * Headers/Foundation/NSScanner.h: * Source/NSScanner.m: * Tests/base/NSScanner/test01.m: Add support for scanHexLongLong method inspired/based on patch from Abbas Raza, but with minor bugfixes, reduced code duplication, and avoiding compiler warnings. 2016-08-30 Abbas Raza <abbas.raza.1707@gmail.com> * Source/NSJSONSerialization.m: Generate NSError rather than raising exception if the trailing '"' in the dsocument is missing. 2016-08-28 Richard Frith-Macdonald <rfm@gnu.org> * Source/GSMime.m: Fix typo which was causing premature termination of long headers. 2016-08-19 Richard Frith-Macdonald <rfm@gnu.org> * config/objc-common.g: Darwin patch by David Wetzel * Source/CompatibilityHeaders.make: Delete obsolete file * configur…
- Loading branch information