forked from gnustep/libs-base
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
21737 lines (16684 loc) · 748 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2019-02-16 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Source/NSDateFormatter.m:
* configure:
* configure.ac:
Decrease ICU version requirements to 49 to support Windows 2000.
2019-03-25 Sergii Stoian <[email protected]>
* Resources/Lanuages/Ukrainian:
Fix wrong \U sequence for letter 'i' and short weekdays.
2019-03-18 Wolfgang Lux <[email protected]>
* Tools/gdomap.c:
Fix crash in donames() when getaddrinfo returns an error.
2019-02-27 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Tests/base/GSTLS/basic.m: Update testcase to use correct guard.
2019-02-12 Ivan Vucica <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Source/Additions/Unicode.m: Move variable u to the correct scope
and initialize it.
2019-01-06 Ivan Vucica <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* config/icu.m4:
* configure.ac:
Merge the change to use pkg-config to detect ICU. Patch by Hugh
McMaster <[email protected]>.
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 <[email protected]>
* Documentation/news.texi: Update release notes for 1.26.0.
* ChangeLog: Fix typos in this document.
2019-01-03 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* Headers/Foundation/NSObject.h:
Remove reference to the copyWithZone: implementation of NSObject,
which was removed ages ago.
2018-12-05 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* NSTimeZones/NSTimeZones.tar: Updated zone info and corrected preferred
abbreviation mappings to match OSX.
2018-07-14 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* configure.ac:
* configure:
When using clang, we now supply -fobjc-runtime=gcc to target the
gnu/gcc runtime ABI.
2018-07-07 Fred Kiefer <[email protected]>
* Source/NSString.m: Add primitive implementation for
rangeOfComposedCharacterSequencesForRange:.
2018-07-06 Fred Kiefer <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Source/NSCalendar.m (calendarWithIdentifier:):
New convenience method implemented by Cocoa.
2018-05-29 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
2018-05-21 Fred Kiefer <[email protected]>
* Source/GSConcreteValueTemplate.m: Add hack to make point and
size subclasses for NSValue interchangable.
2018-05-20 Ivan Vucica <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Tests/base/NSNumberFormatter/basic10_4.m: Avoid test failure on
big-endian platforms by converting unichar to an NSString.
2018-05-10 Fred Kiefer <[email protected]>
* Tools/pl2link.m (main): Don't write deprecated fields to desktop
link file.
Patch by: Josh Freeman <[email protected]>
2018-04-24 Richard Frith-Macdonald <[email protected]>
* configure: regenerate
* NSObject.m: tiny cosmetic whitespace tidyup
* NSThread.m: move declarations to avoid compiler warning
2018-04-23 Riccardo Mottola <[email protected]>
* 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 <[email protected]>
* Source/NSThread.m: ensure that the thread specific memory key is
initialised before use.
2018-04-15 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Source/NSException.m: Fix second argument to backtrace()
2018-03-28 Richard Frith-Macdonald <[email protected]>
* Source/NSException.m: Use pthread mutexes directly to avoid
recursive interactions with tracking NSL:ock activity.
2018-03-27 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Source/GSeq.h: Fix boundary checks searching for unicode strings.
2018-02-16 Yavor Doganov <[email protected]>
* Tests/base/NSNumberFormatter/basic10_4.m: Extend test expression
to fix test failure with ICU 60.2.
2018-02-11 Richard Frith-Macdonald <[email protected]>
* Tools/gdomap.c: Fix strncat length limits.
2018-02-09 Richard Frith-Macdonald <[email protected]>
* Source/NSTimeZone.m: fix missing fieldwidth specified in fscanf call
2018-02-09 Fred Kiefer <[email protected]>
* Source/NSXMLElement.m(-addAttribute:): Correct linear list code
for name spaces. This fixes the last remaining Coverity issue.
2018-02-08 Richard Frith-Macdonald <[email protected]>
* Source/NSPortCoder.h
* Source/NSUnarchiver.h
Improve checks for loss of data converting sizes of scalar types.
2018-02-07 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Source/NSFileManager.m:
* Tests/base/NSFileManager/general.m:
Added <[email protected]> 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Source/NSObject.m:
Cleanup previous commit.
2017-12-21 Riccardo Mottola <[email protected]>
* Source/NSObject.m:
Compatibility for OS/compiler not supporting weak symbols.
2017-12-20 Richard Frith-Macdonald <[email protected]>
* configure.ac: Remove obsolete --enable-objc-nonfragile-abi flag
when building for ng.
* configure: regenerate
2017-12-19 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Headers/Foundation/NSFileManager.h
* Source/NSFileManager.m: Correct setting the delegate.
Add new symbolic link method.
2017-11-16 Richard Frith-Macdonald <[email protected]>
* Source/NSArray.m: Fix for bug reported on github by zneak.
2017-11-04 Fred Kiefer <[email protected]>
* Source/GSLocale.m: Protect against
GSPrivateNativeCStringEncoding() corrupting the return value of
setlocale(). Bug #52331 reported by Jakub Wilk <[email protected]>.
2017-10-26 Stefan Bidigaray <[email protected]>
* Source/NSDateFormatter.m: Fix how UDateFormat is created. Fixes
bug #52011.
2017-09-06 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* Source/NSLocale.m: Fix bug in ISO code methods.
2017-08-21 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Headers/Foundation/NSTextCheckingResult.h:
Define missing constants in the NSTextCheckingResult header.
2017-08-04 Daniel Ferreira <[email protected]>
* Headers/Foundation/NSObjCRuntime.h:
Add empty definitions for OSX Availability macros for compatibility
purposes.
2017-07-10 Wolfgang Lux <[email protected]>
* 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 <[email protected]>
* Source/NSProcessInfo.m:
Fix GetTickCount()/GetTickCount64() for different Windows versions.
2017-07-04 Richard Frith-Macdonald <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Headers/Foundation/NSProcessInfo.h
* Source/NSProcessInfo.m:
Add stubs for sudden termination APIs and for application activity
management methods.
2017-06-29 Daniel Ferreira <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* Headers/Foundation/NSURL.h
* Source/NSURL.m