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