Commit graph

7522 commits

Author SHA1 Message Date
Riccardo Mottola
d852847893 minor tweak in debug for dummy functions that caused crash on Solaris 2018-08-07 13:01:45 +02:00
Richard Frith-Macdonald
586d86c43f Improve defaults caching reliability 2018-08-06 11:56:09 +01:00
Richard Frith-Macdonald
15af957fd0 Fix typo in error message 2018-07-27 09:28:51 +01:00
Richard Frith-Macdonald
caedb21b51 missed in last git commit 2018-07-14 10:27:55 +01:00
Richard Frith-Macdonald
e60b2004af UTF8 parsing improvements 2018-07-14 07:25:40 +01:00
fredkiefer
19c00c43c0 * Source/NSString.m: Add primitive implementation for
rangeOfComposedCharacterSequencesForRange:.
2018-07-07 16:51:18 +02:00
fredkiefer
5a72e1cfa8 * Source/GSString.m: Remove GSString copyWithZone:.
* Source/NSString.m: Raise exception when no is provided for the
string. This brings our implementation closer to the Cocoa one.
* Source/GSString.m: Add similar exceptions.
2018-07-06 23:53:32 +02:00
Richard Frith-Macdonald
1066ec7015 Ensure we are testing the internal 16bit unicode representation class. 2018-07-02 14:20:58 +01:00
fredkiefer
ab60bab84a * Source/GSString.m: Move the method _unicodeString from here...
* Tests/base/NSString/test00.m: ...to here.
2018-07-01 23:50:05 +02:00
fredkiefer
760d6ad990 * Source/GSString.m: Remove code that was identical to super class. 2018-07-01 23:27:09 +02:00
fredkiefer
3b63a0d1f4 * Source/NSString.m: Small cleanup for printf registration. 2018-06-28 23:04:45 +02:00
Richard Frith-Macdonald
ea95ff1f59 Merge branch 'master' of ssh://github.com/gnustep/libs-base
Conflicts:
	ChangeLog
2018-06-28 15:37:38 +01:00
Richard Frith-Macdonald
9bcef37ae0 Surrogate pair handling fix 2018-06-28 15:35:56 +01:00
Fred Kiefer
a6106f550e
Merge branch 'master' into nscalendar-withIdentifier 2018-06-15 10:02:10 +02:00
Richard Frith-Macdonald
3b1324d73d Add GSExceptionStackTrace user default setting 2018-06-12 16:43:15 +01:00
Riccardo Mottola
62511eeca2 fix missing parenthesis 2018-05-30 00:40:34 +02:00
Richard Frith-Macdonald
793e5cd5c9 portability tweak for lock initialisation 2018-05-29 10:36:50 +01:00
fredkiefer
168d2c91e8 * Source/GSConcreteValueTemplate.m: Add hack to make point and
size subclasses for NSValue interchangable.
2018-05-21 01:47:34 +02:00
Ivan Vučica
0e6865a3fd 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-20 12:40:24 +01:00
Richard Frith-Macdonald
ed286536e2 Add GSTLSServerName option 2018-05-18 20:26:35 +01:00
Graham Lee
c5fac90b86 add +[NSCalendar calendarWithIdentifier:] 2018-04-30 18:02:28 +01:00
Richard Frith-Macdonald
5c7713cacc Minor tidyups plus config update 2018-04-24 12:24:37 +01:00
Riccardo Mottola
6f7e480913 Detect if platform is missing spin locks and provide an dummy implementation. Emit warning during compilation and runtime (in debug) 2018-04-23 20:37:28 +02:00
Richard Frith-Macdonald
635b71e442 initialise before use 2018-04-16 13:18:36 +01:00
Richard Frith-Macdonald
c2fb3a0954 avoid compiler warning by declaring variable at start of block 2018-04-13 10:55:12 +01:00
Richard Frith-Macdonald
b88e69dceb improve -symbols method on platform without backtrace symbols support 2018-04-13 07:11:15 +01:00
Richard Frith-Macdonald
0043a7be8d Improve workaround; use NSAllocateObject() 2018-04-12 21:41:15 +01:00
Richard Frith-Macdonald
57f78a6a7a temporary workaround for crash 2018-04-12 21:35:48 +01:00
Richard Frith-Macdonald
72ad2656c8 don't create NSLock instances during initialisation 2018-04-12 18:21:19 +01:00
Richard Frith-Macdonald
bc2dd4b627 try to improve startup reliability 2018-04-12 18:08:53 +01:00
Richard Frith-Macdonald
bb85bd426c defer setting lock name to try to avoid crash on bsd 2018-04-10 20:27:05 +01:00
Richard Frith-Macdonald
3ced3237e8 Use standard locks rathere than obsolete lazy lock classes 2018-04-10 14:59:35 +01:00
Richard Frith-Macdonald
6c3d99ea3f fix method name error 2018-04-10 14:29:57 +01:00
Richard Frith-Macdonald
cc410b6bbc Fix for recursive thread registration on one platform. 2018-04-10 09:19:50 +01:00
David Chisnall
847c1a54b7 Avoid memory allocation in NSString -hash.
Use the incremental hash function for long strings.
2018-04-09 16:49:44 +01:00
Richard Frith-Macdonald
7274cbaa55 Minor unicode range handling improvements 2018-04-09 11:55:46 +01:00
David Chisnall
7bf1179f60 Reapply 3b1e94ec5d correctly
This time without accidentally-included files...

If compiling without backtrace or BFD support, we initialise the
location to store return addresses incorrectly, leaving a dangling
pointer which we then right over.

Most consumers never read this, so it seemed to work most of the time by
just overwriting a random bit of memory.

This probably has security implications, because throwing an exception
can clobber random bits of memory, though not with attacker-controlled
data.
2018-04-07 20:04:14 +01:00
David Chisnall
970c8cbd05 Revert "Fix memory corruption in NSException."
Accidentally included unrelated changes.

This reverts commit 3b1e94ec5d.
2018-04-07 20:03:33 +01:00
David Chisnall
3b1e94ec5d Fix memory corruption in NSException.
If compiling without backtrace or BFD support, we initialise the
location to store return addresses incorrectly, leaving a dangling
pointer which we then right over.

Most consumers never read this, so it seemed to work most of the time by
just overwriting a random bit of memory.

This probably has security implications, because throwing an exception
can clobber random bits of memory, though not with attacker-controlled
data.
2018-04-07 11:02:04 +01:00
David Chisnall
0ebb50f984 Fix logic error in GSPrivateRangeOfString.
We were checking if the receiver was a specific class, then directly
accessing an ivar of target.  We were then checking if target is a
specific class and, if so, accessing the ivar or target.

This mostly worked because most GNUstep strings have the same
underlying implementation and so the check was passing and by
coincidence giving the correct value.  This breaks when GSTinyStrings
are used more often and was picked up by teaching the compiler to
generate GSTinyStrings for small string literals.
2018-04-06 10:43:10 +01:00
Gregory Casamento
ced3b27144 Correct minor mispelling of NSLog. Compilation error. 2018-04-04 18:48:41 -04:00
Richard Frith-Macdonald
cc7a146796 More changes to make lock tracking more robust 2018-04-04 14:42:20 +01:00
Richard Frith-Macdonald
603c3b1103 indicate trace by use of subclass rather than flag 2018-04-04 12:58:06 +01:00
Richard Frith-Macdonald
efb4ec5f22 Tweak return value to definitely be YES or NO rather than true/false 2018-03-30 10:45:57 +01:00
Richard Frith-Macdonald
437df42b87 Bugfix for getting stacktrace 2018-03-30 10:43:27 +01:00
Richard Frith-Macdonald
b2f821bb36 make lock tracing safer 2018-03-28 09:28:56 +01:00
Richard Frith-Macdonald
c1f96a1cf4 Simplify locking for time zones 2018-03-27 10:37:53 +01:00
Richard Frith-Macdonald
d6612ef880 Fixes in experimental code 2018-03-27 09:55:29 +01:00
Richard Frith-Macdonald
ebfe915619 Fixups for stack handling 2018-03-27 07:06:17 +01:00
Richard Frith-Macdonald
82675cd3d9 more lock tracing tweaks 2018-03-26 16:35:17 +01:00
Richard Frith-Macdonald
75bf489aec Allow for waiting on a mutex we already own 2018-03-26 16:05:18 +01:00
Richard Frith-Macdonald
05439fe15d Experimental deadlock detection code 2018-03-26 15:20:48 +01:00
Richard Frith-Macdonald
43673452a5 locking debug/performance tweaks 2018-03-26 15:05:01 +01:00
Richard Frith-Macdonald
2d3039694f Stack tyrace generation optimisation 2018-03-26 14:49:13 +01:00
David Chisnall
9b7e3a8fff Make the NSXMLNode ivar a union.
Having the same ivar exposed as different types in different compilation
units is probably a bad idea in general and will break with the new ObjC
ABI, where we have link-time checks for this.  It would also confuse
reflection and any languages that use reflection for bridging in
exciting ways.
2018-03-20 17:44:16 +00:00
Richard Frith-Macdonald
81102fae85 improve logging of http comms and of deadlocks 2018-03-16 15:11:02 +00:00
Richard Frith-Macdonald
7c1b9b4d15 fix style errors 2018-03-15 14:09:14 +00:00
Richard Frith-Macdonald
4233915c06 Fix boundary issues 2018-02-27 15:06:27 +00:00
Richard Frith-Macdonald
c6e4220409 Add _unicodeString method to return GSUnicodeString subclass instance for tests 2018-02-27 15:00:52 +00:00
Richard Frith-Macdonald
776c0bbcd8 Fix boundary checks searching for unicode strings 2018-02-25 22:30:08 +00:00
Richard Frith-Macdonald
984803d922 Put characterset data on one line to avoid misleading line-count of source 2018-02-11 17:07:25 +00:00
Richard Frith-Macdonald
a6c7492c42 avoid checker warning 2018-02-11 17:03:24 +00:00
Richard Frith-Macdonald
b3ce87ff4f tweaks to keep static checker happy 2018-02-11 12:03:52 +00:00
Richard Frith-Macdonald
f72708742a Avoid compiler warnings 2018-02-11 09:46:07 +00:00
Richard Frith-Macdonald
64732ce825 add comment and cast to void 2018-02-09 08:41:11 +00:00
Richard Frith-Macdonald
96e16ba825 improve comment and compiler hint 2018-02-09 08:37:25 +00:00
Richard Frith-Macdonald
006160ebc3 Merge branch 'master' of ssh://github.com/gnustep/libs-base
Conflicts:
	ChangeLog
2018-02-09 08:33:30 +00:00
Richard Frith-Macdonald
c9a1d39055 Fix potential buffer overrun 2018-02-09 08:32:22 +00:00
fredkiefer
2901390d0f * Source/NSXMLElement.m(-addAttribute:): Correct linear list code
for name spaces. This fixes the last remaining Coverity issue.
2018-02-09 00:07:53 +01:00
Richard Frith-Macdonald
323f9abace cast -scanString: return to void where we don't need to check it. 2018-02-08 06:10:47 +00:00
Richard Frith-Macdonald
ab822a35a3 check and warn about failure to set reuseaddr 2018-02-08 06:08:41 +00:00
Richard Frith-Macdonald
a211bb4aee improve warnings about loss of infomration converting scalar type sizes 2018-02-08 06:05:25 +00:00
Richard Frith-Macdonald
d95203c968 Tweka for overflow of negative number calculation 2018-02-07 15:13:48 +00:00
Richard Frith-Macdonald
c515993d45 avoid checker warning 2018-02-07 13:31:26 +00:00
Richard Frith-Macdonald
6ad1b0e7b2 add security checks on port file 2018-02-07 13:26:38 +00:00
Richard Frith-Macdonald
8420eeed03 keep checker happy 2018-02-07 13:02:08 +00:00
Richard Frith-Macdonald
fec1eafa32 cast to void to avoid warning 2018-02-07 11:40:34 +00:00
Richard Frith-Macdonald
9968a13711 temporarily ifdef out some code thast's not yet used 2018-02-07 11:36:59 +00:00
Richard Frith-Macdonald
93a961304a casts to avoid spurious warnings 2018-02-07 10:53:13 +00:00
Richard Frith-Macdonald
73f3fb78ab raise on character conversion failure 2018-02-07 10:49:02 +00:00
Richard Frith-Macdonald
0d61b42215 remove dead code 2018-02-07 10:45:08 +00:00
Richard Frith-Macdonald
ad87ff5462 raise exception on character conversion failure 2018-02-07 10:38:57 +00:00
Richard Frith-Macdonald
14c2d9402d Remove dead code and improve testing 2018-02-07 09:48:56 +00:00
Richard Frith-Macdonald
3edc201239 Patch by Yavor Doganov to send message id in port messages 2018-02-07 07:02:40 +00:00
Richard Frith-Macdonald
033b921903 improve error checking 2018-02-06 18:05:28 +00:00
Richard Frith-Macdonald
c0d6599def use double type for average 2018-02-06 16:59:49 +00:00
Richard Frith-Macdonald
fcd464f118 Help checker know that we don't need return value 2018-02-06 16:49:07 +00:00
Richard Frith-Macdonald
df6d65accc check step in function before use 2018-02-06 12:51:25 +00:00
Richard Frith-Macdonald
f7c71c695e fix possible nul pointer deref 2018-02-06 12:43:55 +00:00
Richard Frith-Macdonald
3d98433cc7 log failure to turn on keepalive 2018-02-06 12:37:03 +00:00
Richard Frith-Macdonald
0f7a6d58d3 log if we fail to turn on keepalive 2018-02-06 12:34:04 +00:00
Richard Frith-Macdonald
ccd2fb1ac0 Tell compiler we don't care about rreturn value 2018-02-06 12:26:32 +00:00
Richard Frith-Macdonald
1937b36b86 Update assertion macros to support multiple arguments 2018-02-06 09:35:34 +00:00
Richard Frith-Macdonald
8450b94bc8 logic fig for overflow becoming underflow when using negated values 2018-02-05 13:26:41 +00:00
Richard Frith-Macdonald
0d6d01bc00 use cast when masking 64bit value 2018-02-05 13:14:31 +00:00
Richard Frith-Macdonald
96dcac7a74 remove dead code 2018-02-05 13:07:59 +00:00
Richard Frith-Macdonald
a29213a3a2 remove unused code 2018-02-05 13:03:58 +00:00
Richard Frith-Macdonald
7e7d71d63e remove redundant code 2018-02-05 08:14:41 +00:00
Richard Frith-Macdonald
493eb2cf2f remove unused code 2018-02-05 08:11:46 +00:00
Richard Frith-Macdonald
546deb4604 check for failure of dup/dup2 even though it will never happen 2018-02-04 11:36:06 +00:00
Richard Frith-Macdonald
54bf6598ed make sure the hour we read from the time zone file is constrained to 0-23 2018-02-04 11:21:47 +00:00
Richard Frith-Macdonald
b135bc8ae0 suppress warning using cast 2018-02-04 11:17:33 +00:00
Richard Frith-Macdonald
ab670fd27a improive handling of failed character conversion 2018-02-04 11:10:07 +00:00
Richard Frith-Macdonald
113867e9e6 fix for collation alone being set 2018-02-04 10:51:01 +00:00
Richard Frith-Macdonald
5277bf7043 Keep checker happy by avoiding possible null pointer deref 2018-02-04 10:35:15 +00:00
Richard Frith-Macdonald
890eaa9d32 don't copy address info ifg getpeername fails 2018-02-04 10:10:57 +00:00
Richard Frith-Macdonald
4f50f358c3 more fixups for unicode and to avoid warnings 2018-02-04 08:38:20 +00:00
Richard Frith-Macdonald
78087d0aa4 tweak to keep checker happy 2018-02-04 08:28:51 +00:00
Richard Frith-Macdonald
f1b1c1c754 fix bad type in assignment 2018-02-03 16:03:32 +00:00
Richard Frith-Macdonald
41fd87ce35 potential resource leak fix 2018-02-03 15:57:04 +00:00
Richard Frith-Macdonald
8a66507f29 changer memcpy to memmove 2018-02-03 10:11:30 +00:00
fredkiefer
e69450400a * 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-02-01 22:31:15 +01:00
Richard Frith-Macdonald
dcd3b8c5a9 fix possible error with negative time zone offset. 2018-01-31 14:31:37 +00:00
Richard Frith-Macdonald
c30166c612 add missing va_end 2018-01-31 14:28:44 +00:00
Richard Frith-Macdonald
9d21ee5671 check for null pointer 2018-01-31 14:24:46 +00:00
Richard Frith-Macdonald
9a8c3486ff fix bad copy/paste 2018-01-31 14:17:50 +00:00
Richard Frith-Macdonald
5a2506dca9 Remove unused line 2018-01-31 14:15:32 +00:00
Richard Frith-Macdonald
f718aa30c9 Make it clear that we are doing a standard binary search and allow for changes
to character composition/decomposition in future.
2018-01-31 07:42:59 +00:00
Richard Frith-Macdonald
c31c6a87b8 fix uninitialised variable 2018-01-30 15:01:01 +00:00
Richard Frith-Macdonald
92f961dbb6 remove redundant close 2018-01-30 14:40:12 +00:00
Richard Frith-Macdonald
ee8bb1fbeb Fix possible deref of null pointer 2018-01-30 14:34:27 +00:00
Richard Frith-Macdonald
56aaa72d3d be more careful about closing iconv handle on errors 2018-01-30 14:03:01 +00:00
Richard Frith-Macdonald
06ff76d882 fix use after free 2018-01-30 07:57:36 +00:00
Richard Frith-Macdonald
22d7d2428a warn about corrupt archive 2018-01-30 07:54:23 +00:00
Richard Frith-Macdonald
65ac0eca15 fix potential unterminated buffer and leak on failure 2018-01-30 07:43:58 +00:00
Richard Frith-Macdonald
b76089f0cd fix potential unterminated string 2018-01-30 07:39:25 +00:00
Richard Frith-Macdonald
86af4da784 fix possible resource leak on conversion failure 2018-01-30 07:38:08 +00:00
Richard Frith-Macdonald
3884a82c7a comment on why descriptor is NOT leaked 2018-01-30 07:36:53 +00:00
Richard Frith-Macdonald
ba7c5086d1 gix handle leak on write failure 2018-01-30 07:26:05 +00:00
Richard Frith-Macdonald
6b1f8f7962 fix very minor descriptor leak (one descriptor in subtask) 2018-01-30 07:21:39 +00:00
Richard Frith-Macdonald
3281c0f6b6 fix potentially unterminated buffer 2018-01-30 07:12:32 +00:00
Richard Frith-Macdonald
7045f84acc OSX compatibility fixes for zero width space character and initialising an NSURL
with bad strings.
2018-01-26 12:53:47 +00:00
Richard Frith-Macdonald
d8e7607582 Tweaks to let comp[iler know that methods to raise an exception don't return. 2018-01-25 10:05:52 +00:00
Richard Frith-Macdonald
cc97172bdd check for nul pointer when destroying zone 2018-01-23 16:34:26 +00:00
Richard Frith-Macdonald
746f2a2a1a ndentation fixups 2018-01-23 16:17:57 +00:00
Richard Frith-Macdonald
07ba3ec932 add comments 2018-01-23 14:07:46 +00:00
Richard Frith-Macdonald
c7ba537c75 fix issues picked up by automated checker 2018-01-23 11:32:36 +00:00
Richard Frith-Macdonald
5f7e53c175 Re-enable optimisation on NSConnection/NSInvocation 2018-01-19 08:44:50 +00:00
Richard Frith-Macdonald
c7fc9c4b65 notify immediately if in correct thread 2018-01-15 11:57:23 +00:00
Richard Frith-Macdonald
28048a5947 Don't try to notify about task termination on the thread that started the task
if it has already finished executing.
2018-01-15 11:42:04 +00:00
Richard Frith-Macdonald
7fd95c877f Improve message in exception when we perform on a finished thread 2018-01-15 10:08:13 +00:00
Richard Frith-Macdonald
925f1dd5e1 Add Yavor Doganov's patches for tests and config. Add fixes for GSXML
validation of xml documents
2018-01-14 12:30:13 +00:00
Richard Frith-Macdonald
31257785d6 External entity resolution turned off by default for security 2018-01-11 16:39:21 +00:00
Richard Frith-Macdonald
93389bb357 Minore xml parsing fixes 2018-01-11 13:50:39 +00:00
Richard Frith-Macdonald
4efa322ca2 Fix bug in object allocation when ARC is available 2018-01-04 09:08:36 +00:00
Richard Frith-Macdonald
dae9b8973e OSX compatibility tweaks based on running testcases on 10.13.2 (high sierra). 2018-01-03 15:42:09 +00:00
Richard Frith-Macdonald
6150b3fd62 Fix for bug #51592 2018-01-02 12:48:18 +00:00
Richard Frith-Macdonald
6ec34b4df4 Merge branch 'master' of ssh://github.com/gnustep/libs-base
Conflicts:
	ChangeLog
2017-12-21 13:56:34 +00:00
Richard Frith-Macdonald
4ce7a25541 Changes to avoid possible hang in connection reply mode due to race condition. 2017-12-21 13:51:01 +00:00
Riccardo
ae335197f4 cleanup previous commit 2017-12-21 13:11:08 +01:00
Riccardo
d28a000877 Compatibility for OS/compiler not supporting weak symbols 2017-12-21 08:34:46 +01:00
Richard Frith-Macdonald
f319725536 copying the local time zone just, returns it 2017-12-19 11:42:53 +00:00
Graham Lee
186d840ce6
Merge branch 'master' into json-signed-integers 2017-12-18 12:56:28 +00:00
David Chisnall
25e67bd107 Refactor weak symbol usage.
The Linux run-time linker doesn't allow weak references in one library
to be overridden by ones in another.  To work around this, we now
declare the runtime functions as weak and perform dynamic checks on
whether the symbols have been resolved and call the fallbacks as local
static functions if they are not present.
2017-12-17 10:57:25 +00:00
David Chisnall
e35eb61dbc Make object allocation and deallocation use the runtime.
All objects are now created and destroyed by the runtime, so we have
clean layering between -base and libobjc.
2017-12-13 18:22:08 +00:00
David Chisnall
c3921ee1f7 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-13 17:19:43 +00:00
David Chisnall
98205ac266 Fix a bug in NSMapTable.
In the simple constructors, we were using the pointer functions that use
pointer equality and a hash derrived from the pointer, rather than -isEqual:
and -hash.  This led to some subtle and confusingly broken behavior.
2017-12-11 16:30:18 +00:00
fredkiefer
97f9a02308 Add new symbolic link method to NSFileManager. 2017-12-03 21:55:33 +01:00
Graham Lee
05184a7e1a fix overflow of integer types when writing large unsigned long longs to JSON 2017-11-25 21:23:46 +00:00
Zenny Chen
fd5744356f
Update blocks_runtime.m 2017-11-19 13:14:17 +08:00
Zenny Chen
d0d7238172
Update GSBlocks.m
Compatible to the new-updated GSBlocks.h
2017-11-19 01:19:44 +08:00
Zenny Chen
4c0dc51305
Update blocks_runtime.m
Get compatible with new-updated Blocks API
2017-11-19 01:01:39 +08:00
Richard Frith-Macdonald
9bbcd75d16 Fix for failure to check insertion point is at an existing item. 2017-11-16 14:56:20 +00:00
fredkiefer
7c68c30928 Protect against GSPrivateNativeCStringEncoding() corrupting the return
value of setlocale(). Bug #52331 reported by Jakub Wilk <jwilk@jwilk.net>.
2017-11-04 23:53:12 +01:00
stefanbidi
8eed1d780c * Source/NSDateFormatter.m: Fix how UDateFormat is created. Fixes bug #52011. 2017-10-24 18:15:44 -04:00
Richard Frith-Macdonald
8bd7c048ac Improve handling of messaging to blocked thread 2017-09-06 09:32:07 +01:00
Stefan Bidigaray
952884dd6a Fix bug in NSLocale ISO codes methods. 2017-08-24 11:03:11 -04:00
Richard Frith-Macdonald
f170693bca Fix error with Location header 2017-08-21 11:25:44 +01:00
Wolfgang Lux
bc285396da Characters outside the BMP cannot be converted to Latin 1 string encoding 2017-07-10 10:16:27 +02:00
Riccardo
6b455a589d Fix GetTickCount()/GetTickCount64() for different Windows versions 2017-07-07 10:50:10 +02:00
Richard Frith-Macdonald
cc2ee1d59b Improve diagnostic if reference count is incremented too far. 2017-07-03 14:33:32 +01:00
Richard Frith-Macdonald
c82dd20280 Avoid bogus compiler warning about string literal comparison 2017-06-30 07:37:05 +01:00
Daniel Ferreira
270c1bcea9 NSFileManager: implement -attributesOfFileSystemForPath:withError:
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 21:18:16 +01:00
Daniel Ferreira
7636967f30 api: generate stubs for new classes
Generate class stubs (without any method definition) for
NSFileCoordinator, NSFilePresenter, NSFileVersion and NSURLSession.
2017-06-29 21:18:16 +01:00
Daniel Ferreira
8bd630f004 NSURLCredential: add stub for keychain-stored credential
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 21:18:16 +01:00
Daniel Ferreira
814c19ecce NSURLProtectionSpace: improve authentication method handling
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 21:18:16 +01:00
Daniel Ferreira
d49db3ab29 NSProcessInfo: add stubs for new APIs
Add stubs for sudden termination APIs and for application activity
management methods.
2017-06-29 21:18:16 +01:00
Daniel Ferreira
cbfa4d8cc9 NSProcessInfo: implement getting system uptime
Introduce the systemUptime property to NSProcessInfo, which can compute
platform-independently what is the uptime of the system.
2017-06-29 21:18:16 +01:00
Daniel Ferreira
277ae581a6 NSHTTPCookie: fix bug in Set-Cookie parser
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 21:18:16 +01:00
Daniel Ferreira
644b676949 NSHTTPCookie: add support for HTTPOnly cookies
Add support for parsing HTTPOnly cookies (those that cannot be accessed
by clients). Implement -[NSHTTPCookie isHTTPOnly].
2017-06-29 21:18:16 +01:00
Daniel Ferreira
3111003ca1 NSFileManager: create NSFileManagerDelegate
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 21:18:16 +01:00
Daniel Ferreira
2ec3c7bc27 NSURL: create stub for -getResourceValue:forKey:error:
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 21:18:16 +01:00
Daniel Ferreira
064df5ba69 NSURL: add stubs for alias functions
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 21:18:16 +01:00
Daniel Ferreira
e813dde02c NSURL: implement +fileURLWithPath:isDirectory:
Implement +[NSURL fileURLWithPath:isDirectory:], a class method added in
OSX 10.5, which was missing from the implementation.
2017-06-29 21:18:16 +01:00
Daniel Ferreira
314f437f43 NSCoder: implement NSSecureCoding stub
Implement stubs for NSSecureCoding which do not break projects that rely
on it.
2017-06-29 21:18:16 +01:00
Daniel Ferreira
be874e5d8f NSDate: declare system clock change notification
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 21:18:16 +01:00
Daniel Ferreira
5ab00e2c49 NSCalendar: add new calendar identifier constants
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 21:18:16 +01:00
Daniel Ferreira
a9df1b104a NSGeometry: create NSEdgeInsets struct
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 21:18:16 +01:00
Richard Frith-Macdonald
383c3246ee partial fix for compiler without properties 2017-06-25 15:17:12 +01:00
Richard Frith-Macdonald
e1e0315e34 Use new NSFileManager behavior rather than operating system specific calls. 2017-06-21 11:25:05 +01:00
Richard Frith-Macdonald
24d29934cf Fix directory creation to match actual OSX sematics as determined by adding
a few testcases ...
The basic method should fail if the directory already exists.
The intermediate directories method should fail if the directory exists unless
the option to create intermediate directories is selected, in which case a
pre-existing directory is counted as a success.
2017-06-18 09:13:57 +01:00
Richard Frith-Macdonald
ed721bf4da Fix directory creation to use low level methods which consider the presence
of an existing directory to be an error, rather than the NSFileManager methods
that consider it a success.  The logic of distributed locking requires us to
fail if a directory already exists.
2017-06-17 06:52:05 +01:00
Richard Frith-MacDonald
a5a2e85423 improve debug log
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40510 72102866-910b-0410-8b05-ffd578937521
2017-05-19 16:20:17 +00:00
Richard Frith-MacDonald
9400f9105d Make TLS client certificate issuer/owner names available
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40508 72102866-910b-0410-8b05-ffd578937521
2017-05-19 11:38:48 +00:00
Richard Frith-MacDonald
1f786ad7a8 fixes for #47618
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40462 72102866-910b-0410-8b05-ffd578937521
2017-04-09 12:45:18 +00:00
Richard Frith-MacDonald
073fb54804 apply bug #49021
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40461 72102866-910b-0410-8b05-ffd578937521
2017-04-09 09:56:55 +00:00
Richard Frith-MacDonald
c6b8f4fb03 fix memory leak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40433 72102866-910b-0410-8b05-ffd578937521
2017-04-03 20:23:31 +00:00
Riccardo Mottola
b5b9126290 Correct format specifier to char*
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40432 72102866-910b-0410-8b05-ffd578937521
2017-04-01 14:09:01 +00:00
Richard Frith-MacDonald
71d1d5c42b implement methods to create a stream to read from a URL
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40420 72102866-910b-0410-8b05-ffd578937521
2017-03-27 09:44:13 +00:00
Richard Frith-MacDonald
173079f8f5 fix swapped arguments (spotted by Fred in testplant changes)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40419 72102866-910b-0410-8b05-ffd578937521
2017-03-27 09:27:12 +00:00