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
|