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