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