summaryrefslogtreecommitdiff
path: root/CHANGES
blob: e99420beefabee611e7717d6ab0a49a3ba3ae4f0 (plain)
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
20110628
	version: 1.0.0
20110630
	doc: in libstddjb/index.html, corrected strerr.h -> webipc.h
	bug: when not HASSIGNALFD, selfpipe_trap.c and selfpipe_untrap.c did not compile
	  fix: change "i" to "sig". Silly me.
	version: 1.0.1
20110705
	bug: wrong test for "after" banner in skaclient2_startf.c
	  fix: test readbanner() < afterlen
	version: 1.0.2
20110711
	bug: sig_restoreto.o wasn't in deps-lib/stddjb
	  fix: add it
	portability: some OSes have an off-by-one NSIG (65).
	  fix: don't rely on NSIG, always test whether sigismember() < 0
	  in the future: consider making SKALIBS_NSIG a sysdep
	internal: removed sig_nostack, made sig_catcha and sig_restore macros.
	version: 1.0.3
20110712
	bug: localtmn_scan didn't scan the nano part properly
	  fix: change *s to *s++
	version: 1.0.4
20110718
	code: changed short_scan, int_scan and long_scan behaviour according
	  to prj's advice
	build: changed internal targets to mode 755 instead of 555
	ui: gensetdyn_p sets errno when returning NULL
	bug: genset_new() didn't set the newly allocated bit
	  fix: trivial
	bug: static initialization of gensetb and avltreeb didn't work
	  fix: impossible to make them work in all cases -> scrap the API
	  workaround: declare them statically, but init them dynamically
	ui: changed uintcmpfunc_t to accept a callback argument
	    modified avlnode/avltree(n) in consequence
	ui: changed gensetdyn_new() and avltree_newnode() interfaces
	bug: avlnode_insert and avlnode_delete() didn't work in all cases
	  fix: went over the logic again, added missing logic (subspin...)
	version: 1.1.0
20110726
	bug: avltree_newnode() segfaulted in some cases
	  fix: don't deref before the gensetdyn_new, duh.
	version: 1.1.1
20110815
	ui: clarified avlnode, avltree and avltreen interfaces
	version: 1.2.0
20110820
	ui: added lolstdio.h
	doc: documented lolstdio.h
20110822
	version: 1.2.1
20110906
	bug: absolutepath sometimes added a stray '\0'
	  fix: adjust tmp length when exiting the loop
	internal: exposed buffer_0/1/2 objects; buffer_0/1/2 now is a macro
	code: added genwrite
	doc: documented genwrite
20110915
	internal: separated genwrite write into put and flush, added bufalloc handles
	doc: reflected changes
	internal: changed EINVAL to EOVERFLOW when localtm_from_ltm64() finds a date > 32 bits
	  todo: 2038 is fast approaching, we need to push for tai64 adoption
20110919
	version: 1.2.2
20110929
	ui: changed openwritenclose_unsafe* and openwritenclose_suffix* to macros
	ui: changed socket_accept4* to macros, same thing
	ui: changed ipc_accept* to macros, same thing
	ui: added more macros in tai.h to help with static init
	version: 1.2.3
20111108
	bug: TAI_INFINITE was incorrectly defined
	  fix: trivial
	bug: potential security hole in stralloc_ready_tuned
	  fix: check for uint overflows
20111207
	internal: reworked nbcoe to accommodate new Linux socket() options
	ui: socket_* and ipc_* are now often macros
20111208
	version: 1.2.4
20120206
	bug: missing const in taia_clockmon() stub definition when !HASCLOCKMON
	  fix: trivial
20120213
	internal: changed all bools from unsigned char to int
	ui: some APIs are affected by the unsigned char to int change
20120220
	version: 1.2.5
20120310
	code: added options to envdir(), renamed it envdir_internal()
	ui: envdir() is now a macro, for compatibility
	version: 1.2.6
20120311
	data: updated leapsecs.dat to include the 2012-06-30 leap second
20120312
	bug: some sysdeps tested libc behaviour instead of kernel behaviour
	  impact: some kernel/libc combinations would get the wrong sysdeps
	  fix: added more run tests instead of relying on load tests
	version: 1.2.7
20120518
	ui: changed skagetlnsep to handle non-empty target strallocs
	  (used in execline-1.1.5's forbacktickx)
20120527
	bug: off-by-10 TAI values with some libcs
	  fix: tai_unix() is now sysclock-agnostic
20120606
	bug: splice() (in iobufferk) sometimes blocks
	  fix: add non-blocking handling in iobufferk and SPLICE_F_NONBLOCK
	  also fixed include files order for proper _GNU_SOURCE scope
	portability: no HASOPENAT detection with newer glibcs
	  fix: change _ATFILE_SOURCE to _GNU_SOURCE, modify tryopenat.c
20120612
	version: 1.2.8
20120712
	code: added ipv6 sysdep
20120818
	code: added ipv6 fmt, scan and socket functions
20120824
	code: added ip6_scanlist, changed ip4_scanlist API
20120827
	code: added support for flag-noipv6 and flag-forcedevr
20120905
	ui: simplified libancillary UI by autoallocating buffers
20121015
	portability: some libcs still mess up basename and dirname prototypes
	  fix: forget trying to write "standard" (oh the irony) stuff,
	  just get rid of basename.o, dirname.o and realpath.o in libstddjb.
	code: added ip46 lesser evil
20121215
	bug: strerr_warn functions didn't preserve errno
	  fix: obvious
20121218
	internal: renamed strerr_die.c to strerr.c
20121231
	ui: added STAMP global and _g macros to timed functions
	ui: marked non-STAMP-compatible functions as deprecated
	ui: marked dns_random* as deprecated
20130103
	portability: added support for uint64_t
	ui: rewrote libbiguint UI for arbitrary size handling.
	  (Still no heap. Heap is for noobs.)
20130111
	bug: stralloc_cat and stralloc_copy were incorrectly defined
	  fix: obvious
20130124
	build: added non-slashpackage support
	doc: added rants about the change
20130206
	ui: defined PROG global in libstddjb
20130212
	version: 1.3.0
20130320
	code: added freelist
	code: changed genset(dyn) bits from bitarray to freelist
	  impact: more space taken, but adding a new cell is now
          amortized O(1) instead of O(n).
20130403
	code: added ip46_scanlist and a bit more ip46 stuff
	bug: ip6_fmt didn't collapse trailing 0s
	 fix: add final iszero test in find_colcol
20130413
	bug: alloc() was incorrectly defined as gccattr_malloc
	  impact: could leak 0-sized cells (yeah...)
	  fix: remove the attribute
	ui: made alloc_re a macro
20130415
	ui: removed unused SKACLIENT_BANNER_MAXLEN macro
	internal: increased SKACLIENTIN_BUFSIZE to 4096
20130422
	internal: used sin_addr.s_addr instead of s_addr in socket_*
	ui: removed deprecated socket_deadlineconn()
20130709
	ui: removed socket_ipoptionskill()
	  rationale: IP_OPTIONS is not POSIX and the value isn't
	  even proto-standardized - it's not 1 anymore on Linux
	code: more stuff in ip46.h
20130710
	ui: removed pflocal.h
	ui: added nonposix.h
	internal: cleaned up ipc_* and socket_*
	licensing: cleaned up a lot of legacy "public domain" in sysdeps
20130711
	internal: gathered most portability problems into nonposix.h
20130912
	internal: reworked scan architecture to avoid uint64 pointers
	ui: added ushort.h, uint.h, ulong.h
	ui: removed deprecated stuff in fmtscan.h and librandom
	internal: cleaned up legacy code relying on it
	internal: /dev/(u)random is now bufferized
	internal: rrandom_readint now only reads the necessary amount
20130913
	ui: removed deprecated deepsleep and deepmillisleep
	ui: changed taia's nano and atto to uint32
20130918
	doc: pretended to add stralloc and genalloc pages
20130926
	version: 1.4.0
20130927
	bug: ulong-64 defined UINT_* instead of ULONG_*
	  fix: trivial
	version: 1.4.1
20131003
	code: added siovec and its uses in stralloc/netstring/skaclient
20131012
	bug: ip46_t instead of ip46full_t in ip46_scanlist.c
	  fix: trivial
20131019
	version: 1.4.2
20140214
	doc: minor fixes
	code: added kolbak and skaclient4
20140301
	code: added skaclient3 and needed infrastructure
	internal: ancil sandwich protocol changed to pass # of fds in before
20140322
	bug: typos in bitarray_clearsetn
	  impact: freelist-based iterators failed
	  fix: trivial
	internal: scrapped complex byte optimizations in freelist. unsigned ints ftw.
	ui: removed freelist.h
	version: 1.5.0
20140327
	bug: sysdeps.h missing in sysdeps/ - important for crosscompilation
	  fix: meh. It belongs in include/. Quick and dirty fix: added a copy
          to sysdeps/ with a line in package/sysdeps.
	version: 1.5.1
20140409
	portability: MacOSX echo doesn't support -n.
	  fix: replace echo -n with echo | tr -d '\n'.
	build: moved to 4-number versioning
20140413
	ui: better avltree API
20140429
	code: added correct supplementary group management in prot
	ui: prot_gid() and prot_uid() are now macros
20140430
	doc: updated
20140503
	internal: cleaned up sysdeps usage in exported headers
	ui: added setgroups.h, gidstuff.h, and *_fmtlist/scanlist
	ui: sysdeps.h removed from stddjb.h
20140504
	ui: timed_ancil_* now reports actual # of fds sent/received
20140506
	internal: netstring_get cleanup
	ui: made buffer_getall and netstring_get interfaces more consistent
	internal: this impacts skaclient2+
	ui: added timed_netstring_get
20140508
	internal: better timeout rounding for poll()
	ui: added ppoll sysdep
	internal: added ppoll() iopause backend
20140514
	internal: made time*_from_tai_relative work with IA-32
	version: 1.6.0.0
20140515
	portability: getpeereid uses unsigned types on MacOS X
	  fix: change getpeereid signature to use uid_t and gid_t
20140612
	build: fixed libexec installation