Comment and errno changes
[runtime.git] / CHANGES.RUNTIME
1 Sun Jan 13 17:11:26 EET 2008  Pekka Riikonen <priikone@silcnet.org>
2
3         * Added silc_buffer_memcmp and silc_buffer_tail.  Fixed SilcBuffer
4           reallocation when reducing the buffer size.  Affected file is
5           lib/silcutil/silcbuffer.h.
6
7         * Added SILC_STR_REPLACE.  Removed SILC_STR_STRING_APPEND.
8           Fixed various SILC_STR_REGEX bugs.  Affected files are
9           lib/silcutil/silcbuffmt.[ch] and silctypes.h.
10
11         * Added silc_subst.  Regex matching and substitution with the
12           familiar Sed syntax.  Affected files are 
13           lib/silcutil/silcregex.[ch] and lib/silcutil/silcerrno.[ch].
14
15 Tue Jan  8 17:08:28 EET 2008  Pekka Riikonen <priikone@silcnet.org>
16
17         * Moved SILC protocol ID specific utility functions to SILC
18           core library from utility library.  Affected files are
19           lib/silcutil/silcutil.[ch].
20
21 Tue Jan  8 09:41:57 EET 2008  Pekka Riikonen <priikone@silcnet.org>
22
23         * Fixed printable fingerprint bufferoverlfow, RedHat bug 372021.
24           Affected file is lib/silcutil/silcutil.c.
25
26 Sat Jan  5 20:19:28 EET 2008  Pekka Riikonen <priikone@silcnet.org>
27
28         * Added SILC_STR_DELETE buffer format macro.  Added support for
29           deleting data after regex match with SILC_STR_REGEX.  Affected
30           files are lib/silcutil/silcbuffmt.[ch].
31
32         * Handle regex anychar (.) with bounded repeat correctly.
33           Affected file is lib/silcutil/silcregex.c.
34
35 Sat Jan  5 18:00:06 EET 2008  Pekka Riikonen <priikone@silcnet.org>
36
37         * Added silc_buffer_equal to lib/silcutil/silcbuffer.h.
38
39         * Added SILC_STR_STRING and SILC_STR_STRING_APPEND buffer format
40           macros.  Affected files are lib/silcutil/silcbuffmt.[ch].
41
42         * Added support for matching and appending with SILC_STR_REGEX
43           and SILC_STR_STRING_APPEND.  Affected files are
44           lib/silcutil/silcbuffmt.[ch].
45
46 Thu Jan  3 18:37:42 EET 2008  Pekka Riikonen <priikone@silcnet.org>
47
48         * Added SilcStack support to silc_regex and silc_regex_buffer
49           calls.  Affected files are lib/silcutil/silcregex.[ch].
50
51 Wed Jan  2 22:39:57 EET 2008  Pekka Riikonen <priikone@silcnet.org>
52
53         * Added silc_stack_[set|get]_global to set/get global per-thread
54           SilcStack.  Affected files are lib/silcutil/silcstack.[ch].
55
56         * Imported new improved free regex implementation.  Added (again)
57           support for SILC_REGEX_NOTBOL and SILC_REGEX_NOTEOLF flags.
58           Added also support for POSIX bounded repeat expression (a{n,m}) 
59           to make it more POSIX compliant.  Added SilcStack support to
60           the regex too.  Affected files are lib/silcutil/silcregex.[ch].
61
62         * Added silc_buffer_printf to lib/silcutil/silcbuffer.h.
63
64         * Changed silc_srealloc to allocate new memory block if reallocation
65           from stack fails, and to copy the old data to the new one.
66           Affected files are lib/silcutil/silcmemory.[ch].
67
68 Tue Jan  1 19:40:15 EET 2008  Pekka Riikonen <priikone@silcnet.org>
69
70         * Added SILC_REGEX_NOTBOL and SILC_REGEX_NOTEOL flags to
71           lib/silcutil/silcregex.[ch].
72
73 Tue Jan  1 18:00:47 EET 2008  Pekka Riikonen <priikone@silcnet.org>
74
75         * Added silc_regex and silc_regex_buffer, routines that provide
76           convenient use of regular expressions.  Affected files
77           are lib/silcutil/silcregex.[ch].  Deprecated the
78           silc_string_regex_match.  Affected files are
79           lib/silcutil/silcstrutil.[ch].
80
81         * Added SILC_STR_REGEX macro to SILC Buffer Format API.  It
82           provides powerful regular expression matching within the
83           SilcBuffer.  Combined with SILC Buffer Format API it can turn
84           the API into a Stream Editor (sed) and Awk like, providing
85           powerful ways to match and edit the buffer in myriad of ways.  
86           The SILC_STR_REGEX can also mimic the behavior of sed (match
87           and edit line by line).  Affected files are
88           lib/silcutil/silcbuffmt.[ch], silctypes.h.
89
90 Mon Dec 31 15:50:31 EET 2007  Pekka Riikonen <priikone@silcnet.org>
91
92         * Added SILC_STR_OFFSET_START and SILC_STR_OFFSET_END to
93           lib/silcutil/silcbuffmt.[ch].
94
95 Mon Dec 31 01:30:17 EET 2007  Pekka Riikonen <priikone@silcnet.org>
96
97         * Added SILC regular expression API to lib/silcutil/silcregex.[ch].
98
99 Sun Dec 30 14:35:33 EET 2007  Pekka Riikonen <priikone@silcnet.org>
100
101         * Implemented asynchronous events to SILC Scheduler.  Added
102           silc_schedule_task_add_event, silc_schedule_event_connect,
103           silc_schedule_event_dissconnect, silc_schedule_task_del_event
104           and silc_schedule_event_signal.  Affected files are
105           lib/silcutil/silcschedule.[ch], silcschedule_i.h.
106
107         * Added concept of child and parent scheduler to SILC Scheduler
108           API.  silc_schedule_init now takes optional parent argument.
109           Each child scheduler is still independent, only the event tasks
110           are shared among parent and children.  Affected files are
111           lib/silcutil/silcschedule.[ch].
112
113         * The SILC FSM real thread now adds the created SilcSchedule
114           as the thread's global scheduler.  Affected file is
115           lib/silcutil/silcfsm.[ch].
116
117         * Moved generic string and data hashing and comparison functions
118           from lib/silcutil/silcutil.[ch] to lib/silcutil/silchashtable.[ch]
119           as they are usable by the hash table.  Added case sensitive
120           and insensitive string hashing and comparison funtions.
121           Changed string and data hashing to use Bob Jenkin's one-at-a-time
122           hash function.
123         
124         * Moved SILC_PARAM_* types from silcbuffmt.h to silctypes.h
125           under a generic SilcParam type.  Affected files are
126           lib/silcutil/silcbuffmt.[ch] and lib/silcutil/silctypes.h.
127
128 Wed Dec 26 13:10:30 EET 2007  Pekka Riikonen <priikone@silcnet.org>
129
130         * Added silc_schedule_[set|get]_global to
131           lib/silcutil/silcschedule.[ch].
132
133         * Changed many APIs to call silc_schedule_get_global if provided
134           scheduler argument is NULL.
135
136 Tue Dec 25 18:44:27 EET 2007  Pekka Riikonen <priikone@silcnet.org>
137
138         * silc_stack_alloc now automatically aligns the requested
139           stack size.  Affected files are lib/silcutil/silcstack.[ch].
140
141 Tue Dec 25 13:53:07 EET 2007  Pekka Riikonen <priikone@silcnet.org>
142
143         * Added silc_getopt to lib/silcutil/silcgetopt.[ch].
144
145 Sat Dec 22 19:55:28 EET 2007  Pekka Riikonen <priikone@silcnet.org>
146
147         * Added SILC errno API to lib/silcutil/silcerrno.[ch].  Added
148           SilcResult, generic error code and return value type.  Added
149           global silc_errno that returns last error in that thread.
150
151         * Deprecated SilcSocketStreamStatus, SilcResult replaces it.
152           Backwards support remains.  Affected files are
153           lib/silcutil/silcsocketstream.[ch].
154
155         * Deprecated SilcNetStatus, SilcResult replaces it.  Backwards
156           support remains.  Affected files are lib/silcutil/silcnet.[ch].
157
158         * Added errno setting to almost all Runtime Tooolkit routines
159           in error conditions.
160
161 Sun Dec 16 16:18:04 EET 2007  Pekka Riikonen <priikone@silcnet.org>
162
163         * Added SILC Bit Operations API to lib/silcutil/silcbitops.[ch].
164
165 Sat Dec 15 19:59:53 EET 2007  Pekka Riikonen <priikone@silcnet.org>
166
167         * Added SILC Tls API for Thread-local storage in
168           lib/silcutil/silcthread.[ch].  Added all platform specific
169           implementations.  Added SilcTls structure to 
170           lib/silcutil/silcthread_i.h that is now in all threads' Tls.
171
172 Thu Dec 13 17:37:21 EET 2007  Pekka Riikonen <priikone@silcnet.org>
173
174         * Clear the locked flag before unlocking mutex, not after.
175           Affected files are lib/silcutil/unix/silcunixthread.c and
176           lib/silcutil/symbian/silcsymbianthread.c.
177
178         * Fixed thread pool locking dealing with thread stopping to
179           prevent deadlocks and crashes.  Affected file is 
180           lib/silcutil/silcthread.c.
181
182 Tue Nov  6 17:09:42 EET 2007  Pekka Riikonen <priikone@silcnet.org>
183
184         * Added '%@' formatting to silc_snprintf and variants.  It
185           can be used to render data and structures.  Affected files
186           are lib/silcutil/silcsnprintf.[ch].
187
188 Sat Oct 27 18:12:40 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
189
190         * Added silc_net_tcp_create_listener2.  Affected files are
191           lib/silcutil/silcnet.h and platform specific implementation.
192
193 Sat Sep  1 12:09:32 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
194
195         * Rewrote parts of the SILC Atomic API to not use volatile
196           members in structures but to handle the memory accesses
197           volatily, the right way to do it.  Affected file is
198           lib/silcutil/silcatomic.h.
199
200         * Added silc_timer_tick and silc_timer_synchronize functions
201           to SILC Timer API.  Affected files are 
202           lib/silcutil/silctimer.[ch] and silctimer_i.h.
203
204         * Use clock_gettime in place of gettimeofday, if it is
205           available.  Affected files are configure.ad and
206           lib/silcutil/unix/silcunixutil.c.
207
208         * Added silc_offsetof, silc_likely and silc_unlikely to public
209           API.  Added silc_attribute compiler specific definition.
210           Affected file is lib/silcutil/silctypes.h.
211
212         * Added silc_prefetch and silc_prefetch_block functions that
213           provide routines for prefetching data to CPU cache.  Affected
214           file is lib/silcutil/silctypes.h.
215
216         * Added --with-alignment for specifying default memory alignment
217           used in the compiled code.  Currently only SilcStack respects
218           this value.  Affected files are lib/configure.ad,
219           lib/silcutil/silcstack_i.h and includes/silc.h.in.
220
221 Tue Aug  7 21:00:00 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
222
223         * Fixed alignment issues on 64-bit CPUs.  Affected files are
224           lib/silcutil/silcschedule.c and unix/silcunixschedule.c.
225
226 Sat Aug  4 19:09:14 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
227
228         * Added assembler optimized versions of SILC_[GET|PUT]XX_MSB
229           macros, and SILC_SWAB_XX macros.  Added new functions
230           silc_rol, silc_ror, silc_rol64 and silc_ror64, all of which
231           have assembler optimizations also.  Affected file is
232           lib/silcutil/silctypes.h.
233
234 Thu Jul 26 18:13:59 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
235
236         * Changed thread pool call queues thread specific and changed
237           queues to be consumed in last-in-first-out order.  These
238           are optimizations to the thread pool.  Affected file is
239           lib/silcutil/silcthread.c.
240
241 Wed Jul 25 19:32:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
242
243         * Added silc_mime_assembler_purge to lib/silcutil/silcmime.[ch]
244           to purge unfinished fragments from MIME assembler.
245
246 Sat Jul 21 14:47:28 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
247
248         * Added silc_data2hex and silc_hex2data to
249           lib/silcutil/silcutil.[ch].
250
251 Thu Jul 19 17:07:02 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
252
253         * Added silc_buffer_strchr to lib/silcutil/silcbuffer.h.
254
255 Tue Jul 17 20:10:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
256
257         * Added silc_hexdump to lib/silcutil/silcutil.[ch].
258
259 Fri Jul 13 23:01:45 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
260
261         * Added SILC_GET32_X_MSB macro to lib/silcutil/silctypes.h.
262
263 Wed Jul 11 17:10:11 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
264
265         * Added SILC Timer API to lib/silcutil/silctimer.[ch],
266           silctimer_i.h, tests/test_silctimer.c.
267
268 Tue Jul 10 20:02:04 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
269
270         * Added queue entry free list to thread pool instead of
271           allocating new entry everytime new entry is needed.  Affected
272           file is lib/silcutil/silcthread.c.
273
274 Mon Jul  9 20:21:13 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
275
276         * Changed thread pool completion callback to SilcTaskCallback so
277           that it can be given directly to destination scheduler.
278           Affected files are lib/silcutil/silcthread.[ch].
279
280 Sun Jul  8 20:20:22 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
281
282         * Moved Base64 routines to lib/silcutil/silcbase64.[ch].  Added
283           SilcStack support to the API.
284
285         * Inherit the lock from parent in SilcStack child.  If child
286           doesn't find stack blocks, check from parent.  Added
287           silc_stack_purge.  Affected file is lib/silcutil/silcstack.c.
288
289 Wed Jul  4 20:20:05 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
290
291         * Unified the SILC_STR_FUNC callback.  Affected files are
292           lib/silcutil/silcbuffmt.[ch].
293
294         * Added SilcStack support to SILC File Util API.  Affected files
295           are lib/silcutil/silcfileutil.[ch].
296
297         * Added SilcStack support to SILC FD Stream API.  Affected files
298           are lib/silcutil/silcfdstream.[ch].
299
300         * Added SilcStack support to SILC Scheduler API.  The scheduler
301           now creates stack always.  It can be retrieved by
302           silc_schedule_get_stack.  Affected files are
303           lib/silcutil/silcschedule.[ch], silcschedule_i.h.
304
305         * Added SilcStack child creation and use multi-thread support.
306           Added OOM handler, silc_stack_set_oom_handler.  Affected
307           files are lib/silcutil/silcstack.[ch].
308
309 Tue Jul  3 22:45:56 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
310
311         * Added concept of child stacks to SilcStack, allowing to create
312           true memory pools using SilcStack.  It is now possible to
313           create childs from the parent, without consuming the parent's
314           memory.  The child's memory is returned back to parent when
315           it is freed.  Affected files are lib/silcutil/silcstack.[ch],
316           silcstack_i.h.
317
318 Tue Jul  3 18:17:54 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
319
320         * Added SILC DLL API for loading and using shared objects and
321           DLLs.  Affected files are lib/silcutil/sildll.[ch].  Added
322           also test program lib/silcutil/tests/test_silcdll.c.
323
324         * Added SILC Environment manipulation API to
325           lib/silcutil/silcenv.[ch] and test program to
326           lib/silcutil/tests/test_silcenv.c.
327
328         * Renamed silc_hash_table_replace to silc_hash_table_set.
329           Added SilcStack support to SilcHashTable.  Affected files are
330           lib/silcutil/silchashtable.[ch].
331
332         * Added SilcStack support to SilcDList.  Added new function
333           silc_dlist_sinit.  Affected file is lib/silcutil/silcdlist.h.
334
335 Mon Jul  2 21:07:34 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
336
337         * Removed unaligned memory allocation from SilcStack.  Moved
338           silc_stack_malloc and silc_stack_realloc to public API from
339           private API.  Added silc_stack_[set|get]_alignment that is
340           used to get/set memory alignment with SilcStack.  Affected
341           files are lib/silcutil/silcstack.[ch], silcstack_i.h.
342
343         * Added silc_sfree to lib/silcutil/silcmemory.[ch].
344
345         * Removed silc_smalloc_ua and silc_srealloc_ua.  Affected files
346           are lib/silcutil/silcmemory.[ch].
347
348 Mon Jul  2 17:13:51 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
349
350         * Added SILC Thread Pool API to lib/silcutil/silcthread.[ch],
351           and test program in lib/silcutil/tests/test_silcthread.c.
352
353 -----------------------------------------------------------------------------
354
355 For older changes please see the CHANGES file from the CVS tree.