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