1 Thu May 10 18:21:10 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
3 * Fixed silc_net_tcp_connect crash on Unix and Win32. Handle
4 the socket async operation correctly. Changed that DNS lookup
5 is now done during connecting. Affected files are
6 lib/silcutil/[unix|win32]/silc[unix|win32]net.c.
8 * Changed also silc_net_tcp_connect on Symbian to do DNS lookup.
9 Affected file is lib/silcutil/symbian/silcsymbiannet.c.
11 * Optimize silc_net_gethostbyname to check if the name is already
12 IP address. Affected file is lib/silcutil/silcnet.c.
14 Wed May 9 19:51:28 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
16 * Print filename instead of empty function name in debug output
17 on WIN32. Affected files are lib/silcutil/silclog_i.h and
20 * Rewrote WIN32 SILC Scheduler. It now handles non-blocking file
21 descriptors and sockets better. Though, room for optimization
22 remains. Affected file is lib/silcutil/win32/silcwin32schedule.c.
24 * Removed silc_net_win32_[init|uninit]. They are called now
25 automatically when SILC Scheduler is allocated. Wrote IPv4
26 address parser because inet_addr seemed not to work on my WIN32.
27 Affected file is lib/silcutil/win32/silcwin32net.c.
29 * Improved socketstream.h and stream.h documentation.
31 Tue May 8 18:13:38 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
33 * Changed private message waiting API in client library to make
34 it work better with multiple waiting threads. The waiting is
35 not always per client entry instead of per connection. Affected
36 files are lib/silcclient/client_prvmsg.c, client.h and
39 * Changed silc_packet_wait_init function to accept the the expected
40 Source ID of the packet as argument. If specified only packets
41 with the specified types and Source ID are delivered. Affected
42 files are lib/silccore/silcpacket.[ch].
44 * Fixed file transfer disconnection crash when closing the session
45 directly in the monitor callback after disconnection. Affected
46 file is lib/silcclient/client_ftp.c.
48 * Make Toolkit compile on WIN32. Affected files in win32/
49 and in lib/silcutil/win32/.
51 * Changed silc_compare_timeval to return negative, zero or
52 positive instead of just TRUE or FALSE. This fixes 0 timeout
53 task dispatching on Windows. Affected files are
54 lib/silcutil/silctime.[ch] and silcschedule.c.
56 Mon May 7 18:18:48 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
58 * Fixed CMODE channel auth public key retrieval. Affected
59 file is lib/silcclient/command.c.
61 * Fixed CMODE command reply to return channel public keys
62 correctly. Affected files are lib/silcclient/command_reply.c
65 Sun May 6 12:43:19 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
67 * Added current channel key cipher name and HMAC name to
68 SilcChannelEntry. Fixed channel private key creation.
69 Affected files are lib/silcclient/client_channel.c,
70 client_entry and silcclient_entry.h.
72 * Allow formatted nicknames as input to silc_client_get_clients
73 and silc_client_get_clients_whois. Affected file is
74 lib/silcclient/client_entry.c.
76 * Fixed silc_message_payload_free crash. Affected file is
77 lib/silccore/silcmessage.c.
79 * Added SILC_STATUS_ERR_NO_SUCH_PUBLIC_KEY to
80 lib/silccore/silcstatus.h.
82 Thu May 3 18:07:50 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
84 * Imported libtommath 0.41. Renamed all mp_* functions to
85 tma_mp_* functions to avoid rare linking problems on systems
86 with mp_* functions. Affected files are in lib/silcmath/.
88 Wed May 2 17:46:25 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
90 * SILC Toolkit 1.1 Beta1.
92 Wed May 2 11:38:17 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
94 * Set the server and router operator modes to local entry after
95 successful OPER or SILCOPER commands. Affected file is
96 lib/silcclient/command_reply.c.
98 Tue May 1 14:17:06 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
100 * Ported SILC Socket Stream API, SILC Net API, SILC Schedule API,
101 and other smaller APIs to WIN32. Affected files are in
104 * Changed the various regex APIs as generic code in util library.
105 Affected files are lib/silcutil/silcstrutil.[ch].
107 Sat Apr 28 13:47:47 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
109 * Ported SILC Server to the new Toolkit API, working towards
110 SILC Server 1.1. Affected files are in apps/silcd/.
112 * Added silc_skr_del_public_key, silc_skr_[ref|unref]_public_key
113 to lib/silcskr/silcskr.[ch].
115 * Fixed SILC public key copying to copy the identifier also.
116 Affected file is lib/silccrypt/silcpk.c.
118 * Added silc_packet_error_string to lib/silccore/silcpacket.[ch].
120 * Fixed OPER and SILCOPER passphrase asking in Client library.
121 Affected file is lib/silcclient/command.c.
123 Tue Apr 24 17:55:24 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
125 * Fixed command queue enabling after connecting to server.
126 The comparisons was from after changing to silc_utf8_strcasecmp.
127 Affected file is apps/irssi/src/silc/core/silc-servers.c.
129 * Fixed nickname setting with own client entry with 1.3 protocol
130 version server. Affected file lib/silcclient/client_register.c.
132 * Ignore error notify for local client entry. Affected file is
133 lib/silcclient/client_notify.c.
135 * Implemented responder rekey to SKE library. Affected files are
136 lib/silcske/silcske.[ch].
138 * Fixed connection auth protocol completion sending. Affected
139 file lib/silcske/silcconnauth.c.
141 Mon Apr 23 17:20:01 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
143 * Do not call TCP network listener callback with any error
144 status, as documented. Affected file is
145 lib/silcutil/unix/silcunixnet.c.
147 Sun Apr 22 21:13:28 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
149 * Preliminary SILC Server 1.1 changes committed to apps/silcd/.
151 * Added SILC_SKR_USAGE_SERVICE_AUTHORIZATION SKR key usage type.
152 Changed silc_skr_find to have SilcSchedule argument and removed
153 it from silc_skr_[alloc|init]. Affected files are
154 lib/silcskr/silcskr.[ch].
156 * Allow NULL id for silc_idcache_add. Affected file is
157 lib/silcapputil/silcidcache.c.
159 * Added silc_packet_stream_is_valid, silc_packet_get_ids and
160 silc_packet_engine_get_streams to lib/silccore/silcpacket.[ch].
161 Fixed also channel message encryption with router-to-router
164 * Added silc_id_str2id2 to lib/silccore/silcid.[ch].
166 * Added silc_net_get_error_string, silc_net_listener_get_ip and
167 silc_net_listener_get_hostname to lib/silcutil/silcnet.[ch].
169 Tue Apr 10 15:55:42 CEST 2007 Jochen Eisinger <coffee@silcnet.org>
171 * Add option --enable-silc-plugin. Affected files are
172 apps/irssi/configure.{ad,in}
174 * Only compile the SILC Plugin if required. Affected files are
175 apps/irssi/src/Makefile.am, apps/irssi/src/fe-common/Makefile.am
177 * Conditionally build the SILC Plugin. Affected files are
178 apps/irssi/src/silc/core/Makefile.am,
179 apps/irssi/src/fe-common/silc/Makefile.am
181 * Backout delayed protocol exit and replace with a lame busy
182 wait. Affected files are apps/irssi/src/fe-text/silc.c,
183 apps/irssi/src/silc/core/silc-core.c
185 * Fix key generation for SILC Plugin. Affected file
186 apps/irssi/src/silc/core/clientutil.c
188 Tue Apr 10 12:40:19 CEST 2007 Jochen Eisinger <coffee@silcnet.org>
190 * Only pass -rpath to libtool when building shared libraries.
191 Affected file lib/Makefile.ad
193 * Removing the stray "s" in configure.ad
195 Sat Mar 24 19:13:58 CET 2007 Jochen Eisinger <coffee@silcnet.org>
197 * Redraw the screen after creating a new key. Affected file
198 apps/irssi/src/silc/core/clientutil.c
200 Sun Mar 18 15:54:10 EET 2007 Pekka Riikonen <priikone@silcnet.org>
202 * Added SILC Client setting /set nickname_format that specifies
203 the nickname format string. Changed default nickname format
204 string to "%n#%a". Affected file is
205 apps/irssi/src/silc/core/silc-core.c, apps/irssi/silc.conf.
207 * Fixed nickname parsing with WHOIS command to accept formatted
208 nicknames. Changed the silc_client_get_clients_local to allow
209 the searched nickname to be formatted nickname. Removed %s and
210 %S nickname formatters. Affected files are in lib/silcclient/.
212 * Added silc_client_nickname_parse to Client library API. Affected
213 file is lib/silcclient/silcclient.h.
215 * Fixed nickname parsing and resolving with /MSG, /FILE and /KEY
216 commands. Affected file are
217 apps/irssi/src/silc/core/silc-servers.c and silc-channels.c.
219 Sat Mar 17 19:07:15 CET 2007 Jochen Eisinger <coffee@silcnet.org>
221 * Incorporate SILC Plugin patches. Affected files are
222 apps/irssi/src/fe-common/silc/module-formats.{c,h},
223 apps/irssi/src/silc/core/clientutil.{c,h},
224 apps/irssi/src/silc/core/silc-core.c,
225 apps/irssi/src/silc/core/silc-chatnets.{c,h},
226 apps/irssi/src/fe-common/silc/fe-silcnet.c, and
227 apps/irssi/src/fe-common/silc/module.h
229 Wed Mar 14 17:31:28 EET 2007 Pekka Riikonen <priikone@silcnet.org>
231 * In notify handling resolve user entries many times if the
232 resolving timedout. Affected file lib/silcclient/client_notify.c.
234 * silc_client_get_clients_local do not return any invalid entries.
235 Affected file is lib/silcclient/client_entry.c.
237 * Do not print "there are now xx user on this channel" for users
238 that actually aren't anymore on the channel. Affected file
239 is apps/irssi/src/client_ops.c.
241 Sun Mar 11 17:43:18 CET 2007 Jochen Eisinger <coffee@silcnet.org>
243 * When joining channels with a password given in the config file,
244 use it. Also use it when cycling (it would be better to get
245 the password from the server, but this isn't possible in SILC).
246 Affected files apps/irssi/src/silc/core/silc-servers.c,
247 apps/irssi/src/silc/core/silc-channels.c
249 Sun Mar 11 15:22:42 CET 2007 Jochen Eisinger <coffee@silcnet.org>
251 * Import perl script for sign_messages from silc-plugin. Affected
252 file apps/irssi/scripts/silc.pl
254 Sun Mar 11 15:19:10 CET 2007 Jochen Eisinger <coffee@silcnet.org>
256 * Only wait for a nick on connecting, when it differs
257 (not counting case) from the username. Affected file
258 is apps/irssi/src/silc/core/silc-servers.c
260 Sun Mar 11 13:50:53 CET 2007 Jochen Eisinger <coffee@silcnet.org>
262 * Use time settings for lag settings. Affected file is
263 apps/irssi/src/silc/core/silc-lag.c
265 Tue Feb 27 17:07:34 EET 2007 Pekka Riikonen <priikone@silcnet.org>
267 * Added silc_thread_yield. Affected file is
268 lib/silcutil/silcmutex.h.
270 Wed Feb 21 17:01:01 EET 2007 Pekka Riikonen <priikone@silcnet.org>
272 * Fixed WHOIS command and requested attributes handling in
273 client library. Affected files are lib/silcclient/command.c
274 and lib/silcclient/client_attrs.c.
276 * Fixed silc_time_value to actually work. Added new function
277 silc_timezone. Affected files are lib/silcutil/silctime.[ch].
279 Tue Feb 20 08:31:28 EET 2007 Pekka Riikonen <priikone@silcnet.org>
281 * SILC Client 1.1 beta2.
283 Mon Feb 19 16:06:27 EET 2007 Pekka Riikonen <priikone@silcnet.org>
285 * Fixed client to properly abort TCP stream creation when
286 giving /QUIT. Affected file
287 apps/irssi/src/silc/core/silc-servers.c.
289 * Fixed several connecting aborting crashes from the client
290 library, packet engine and socket stream. Affected files
291 are in lib/silclient/, lib/silccore/silcpacket.c and
292 lib/silcutil/unix/silcunixsocketstream.c.
294 * Fixed private key export double free crash in key generation.
295 Affected file is lib/silccrypt/silcpk.c.
297 * Fixed FSM event waiting when there are multiple signallers
298 and the waiter goes away after the first signal. Affected
299 file in lib/silcutil/silcfsm.c.
301 Sun Feb 18 22:02:22 EET 2007 Pekka Riikonen <priikone@silcnet.org>
303 * Fixed FSM event signalling to check if the waiter has gone
304 away already. Affected file is lib/silcutil/silcfsm.c.
306 * Fixed counter mode encryption/decryption to handle non-padded
307 SILC packets correctly. The silc_cipher_set_iv now
308 in counter mode resets for a new block. Affected files are
309 in lib/silcske/, lib/silccrypt/, lib/silcpacket/.
311 Sun Feb 18 12:15:21 EET 2007 Pekka Riikonen <priikone@silcnet.org>
313 * SILC Client 1.1 beta1.
315 * Memory leak fixes around the libraries.
317 Fri Feb 16 16:53:16 EET 2007 Pekka Riikonen <priikone@silcnet.org>
319 * Added better check for epoll() in configure. Affected file
322 Thu Feb 15 16:50:34 EET 2007 Pekka Riikonen <priikone@silcnet.org>
324 * Fixed per scheduler data input buffer in packet engine. Use
325 list of inbufs instead of just one so that multiple streams
326 can do partial reads to different buffers. Affected file is
327 lib/silccore/silcpacket.c.
329 * Fixed WATCH notify handling in client library. Affected file
330 is lib/silcclient/client_notify.c.
332 Wed Feb 14 17:05:38 EET 2007 Pekka Riikonen <priikone@silcnet.org>
334 * Fixed packet wrapper stream API to support encoder/decoder
335 for packets, and to handle partial reading correctly. Fixed
336 also inbuf size checking in reading to have enough space before
337 reading. Affected files are lib/silccore/silcpacket.[ch].
339 * Rewrote file transfer in client library. Affected files are
342 * Added TCP/UDP listener (internal) API to client library to have
343 generic way of dealing with listeners. Fixed Key Agreement and
344 file transfer to use it. Affected files are in lib/silcclient/.
346 * Fixed SKE to process SUCCESS packets synchronously and to call
347 completion synchronously. Affected file is lib/silcske/silske.c.
349 * Fixed pthread rwlock detection. Affected file includes/silc.h.in.
351 * Implemented SILC_ATTRIBYUTE_PHONE_NUMBER. Affected files are
352 lib/silccore/silcattrs.[ch]. SILC Protocol version 1.3 change.
354 Fri Feb 2 22:24:11 EET 2007 Pekka Riikonen <priikone@silcnet.org>
356 * Added support for SILC protocol version 1.3 NEW_CLIENT packet
357 to client library. Affected file is
358 lib/silcclient/client_register.c.
360 * Serialize NICK and JOIN commands to avoid problems locally
361 with changing ID while joining to channel. Affected file is
362 lib/silcclient/command.c.
364 * Fixed entry resolving while handling incoming JOIN notify.
365 Handle properly cases, in re-processing of notify packets, where
366 the IDs may become invalid while resolving the entry (like nick
367 change). Entry is invalid if it doesn't have nickname, and such
368 entries are not delivered to application anymore. These fixes
369 problems of not seeing JOINs when remote user changes nickname
370 at the same time. Affected files are in lib/silcclient/.
372 Thu Feb 1 18:35:58 EET 2007 Pekka Riikonen <priikone@silcnet.org>
374 * Added support for computing message payload MAC in new way
375 (SILC Protocol version 1.3). Bakcwards support for old way
376 remains. Affected files are lib/silccore/silcmessage.[ch].
378 Sat Jan 27 22:37:30 EET 2007 Pekka Riikonen <priikone@silcnet.org>
380 * Added SilcRwLock API, a read/write lock. Affected files are
381 lib/silcutil/silcmutex.h and in lib/silcutil/[unix|win32|symbian]/.
383 Wed Jan 24 18:55:21 EET 2007 Pekka Riikonen <priikone@silcnet.org>
385 * Merged Irssi SVN (irssi 0.8.11). Affected files in apps/irssi/.
387 Tue Jan 23 16:05:27 EET 2007 Pekka Riikonen <priikone@silcnet.org>
389 * The silc_schedule_set_listen_fd now returns boolean value.
390 Fixed FD task adding to check correctly for already added
391 FD tasks. Added stricter error checking for FD scheduling
392 with epoll(). Affected files are lib/silcutil/silcschedule.[ch]
393 and lib/silcutil/unix/silcunixschedule.c.
395 * The silc_stream_set_notifier now returns boolean value. Changed
396 all streams to support and check for the error condition.
397 Affected files are in lib/silcutil/.
399 * Fixed SKE library session aborting and deletion. Affected
400 file are lib/silcske/silcske.c.
402 Tue Jan 16 18:22:08 EET 2007 Pekka Riikonen <priikone@silcnet.org>
404 * Implemented PKCS #1 with appendix with hash OID in the
405 signature. Affected files are lib/silccrypt/silcpkcs1.[ch],
406 lib/silccrypt/silchash.[ch] and
407 lib/silcasn1/silcasn1[_encode|decode].[ch].
409 Sun Jan 14 23:12:41 EET 2007 Pekka Riikonen <priikone@silcnet.org>
411 * Added support for Version (V) SILC public key identifier.
412 Affected files are lib/silccrypt/silcpk.[ch].
414 Tue Jan 9 19:37:51 EET 2007 Pekka Riikonen <priikone@silcnet.org>
416 * Rewrote connection auth request in client library. It is now
417 done automatically by the library and the resolved method given
418 as a hint to get_auth_method client operation. Affected files
421 Wed Jan 3 18:06:33 EET 2007 Pekka Riikonen <priikone@silcnet.org>
423 * Added silc_packet_stream_wrap into lib/silccore/silcpacket.[ch].
424 It can be used to wrap SilcPacketStream into SilcStream.
426 * Fixed %p formatting from silc_snprintf. Affected file is
427 lib/silcutil/silcsnprintf.c.
429 * Ported SFTP library to new utility library. Ported also
430 the SFTP testers. Affected files in lib/silcsftp/.
432 Tue Jan 2 17:18:46 EET 2007 Pekka Riikonen <priikone@silcnet.org>
434 * Added lib/silcutil/silcsnprintf.[ch]. Added in addition
435 of silc_snprintf, silc_vsnprintf, silc_asprintf and
438 Sat Dec 30 23:23:17 EET 2006 Pekka Riikonen <priikone@silcnet.org>
440 * Added preliminary Symbian support. Changes around the source
441 tree. The symbian/ directory now includes Carbide.c++ project
442 files to compile the sources.
444 * Added silc_snprintf. Affected files are
445 lib/silcutil/silcstrutil.[ch].
447 Thu Dec 21 18:01:51 EET 2006 Pekka Riikonen <priikone@silcnet.org>
449 * Changed SILC_FSM_[CONTINUE|YIELD|WAIT|FINISH] enums to
450 macros. SILC_FSM_CONTINUE macro now immediately calls the
451 next state instead of first returning back to FSM. Helps
452 in debugging crashes etc.
454 Removed FSM Semaphores. Introduced FSM Event which is
455 asynchronous event. Affected files are in lib/.
457 * Added epoll(7) support to SILC Scheduler. It is used by default
458 if it is available. Affected files are
459 lib/silcutil/silcschedule.[ch],
460 lib/silcutil/unix/silcunixschedule.c.
462 Tue Dec 19 20:39:35 EET 2006 Pekka Riikonen <priikone@silcnet.org>
464 * Added CTR mode to AES. Simplified cipher implementation API
465 more. Affected files are in lib/silccrypt/.
467 Sun Dec 17 16:46:55 EET 2006 Pekka Riikonen <priikone@silcnet.org>
469 * Removed `detach' client operation. The detachment data is
470 now delivered in SILC_COMMAND_DETACH command reply to
471 application. Affected file in lib/silcclient/.
473 * Rewrote resuming/detaching in client library.
475 * Added boolean encryption indicator for silc_cipher_set_key.
476 Affected files lib/silccrypt/silccipher.[ch].
478 Wed Dec 13 18:05:50 EET 2006 Pekka Riikonen <priikone@silcnet.org>
480 * Added silc_likely and silc_unlikely macros for GCC branch
481 prediction optimizations. Affected file lib/silcutil/silctypes.h.
483 * Added assembler AES optimization. Cleaned up the SILC Cipher
484 implementation API. Affected files are in lib/silccrypt/.
486 Tue Dec 12 18:56:14 EET 2006 Pekka Riikonen <priikone@silcnet.org>
488 * Changed back the SILC_FSM_THREAD_WAIT operation to not
489 continue to next state if thread is finished already. That
490 check is not done anymore. Affected files are
491 lib/silcutil/silcfsm.[ch].
493 Sun Dec 10 13:54:52 EET 2006 Pekka Riikonen <priikone@silcnet.org>
495 * Removed silc_packet_[get|set]_ciphers and
496 silc_packet_[get|set]_hmacs. Added silc_packet_set_keys that
497 handle REKEY_DONE packet sending in rekey. Affected files
498 are lib/silccore/silcpacket.[ch].
500 * Added silc_fsm_is_started. Affected files are
501 lib/silcutil/silcfsm.[ch].
503 * Added settings sign_channel_message, sign_private_message
504 and key_exchange_rekey_pfs to SILC Client. Added UDP transport
505 support for key agreement in /KEY command. Affected files
506 in apps/irssi/src/silc/core/.
508 * During SILC Client initialization forward log messages to
509 stderr. Affected files in apps/irssi/src/silc/core/.
511 Thu Dec 7 19:07:21 EET 2006 Pekka Riikonen <priikone@silcnet.org>
513 * Added silc_ske_get_key_material. Affected files are
514 lib/silcske/silcske.[ch].
516 * Added silc_packet_stream_is_udp. Affected files are
517 lib/silccore/silcpacket.[ch].
519 * Added SKE packet retransmission support with UDP transport.
520 Affected file is lib/silcske/silcske.c.
522 Sun Dec 3 22:00:12 EET 2006 Pekka Riikonen <priikone@silcnet.org>
524 * Added silc_socket_stream_is_udp. Affected file is
525 lib/silcutil/silcsocketstream.[ch].
527 * Added UDP transport support to packet engine. Affected file
528 is lib/silccore/silcpacket.c.
530 * Added silc_socket_stream_is_udp. Affected file is
531 lib/silcutil/silcsocketstream.[ch].
533 Sat Nov 18 11:33:03 EET 2006 Pekka Riikonen <priikone@silcnet.org>
535 * Added silc_packet_send_va[_ext] to send variable argument
536 formatted buffers. Affected files lib/silcore/silcpacket.[ch].
538 * Timeout freelist garbage collection added to scheduler.
539 Affected file lib/silcutil/silcschedule.c.
541 Thu Nov 9 18:12:15 EET 2006 Pekka Riikonen <priikone@silcnet.org>
543 * Added silc_show_public_key_file to
544 lib/silcapputil/silcapputil.[ch].
546 * Added SILC_STR_ADVANCE support for buffer unformatting.
547 Affected file lib/silcutil/silcbuffmt.c.
549 Tue Nov 7 18:04:36 EET 2006 Pekka Riikonen <priikone@silcnet.org
551 * Added silc_string_split to lib/silcutil/silcstrutil.[ch].
553 * Added silc_mutex_assert_locked to lib/silcutil/silcmutex.h.
555 * silc_fsm_continue[_sync] now cancels erlier timeout set with
556 silc_fsm_next_later. Affected file lib/silcutil/silcfsm.c.
558 Sat Nov 4 21:50:37 EET 2006 Pekka Riikonen <priikone@silcnet.org
560 * Added SILC_STR_FUNC to buffer format API. Affected files
561 are lib/silcutil/silcbuffmt.[ch].
563 * Added silc_buffer_[s]enlarge to lib/silcutil/silcbuffer.h.
565 * No more memory allocation for message payload parsing.
566 Pre-allocated buffer can be used with message payload encoding.
567 Affected files lib/silccore/silcmessage.[ch].
569 Fri Oct 27 21:01:26 EEST 2006 Pekka Riikonen <priikone@silcnet.org
571 * Added silc_buffer_sunformat and silc_buffer_sunformat_vp
572 to silcutil/silcbuffmt.[ch].
574 Sun Oct 22 13:03:07 EEST 2006 Pekka Riikonen <priikone@silcnet.org
576 * Added SILC_STR_BUFFER to format and unformat SilcBuffer.
577 Affected file lib/silcutil/silcbuffmt.[ch].
579 * Removed silc_schedule_signal_[un]register and
580 silc_schedule_signal_call. Added silc_schedule_task_add_signal
581 to add signal task. Only one callback per signal may be
582 added. The signals are now automatically called back to
583 caller. Affected files lib/silcutil/silcschedule.[ch] and
584 silcutil/[unix/win32]/silc[unix/win32]schedule.c.
586 * Added silc_time_msec and silc_time_usec to silcutil/silctime.[ch].
588 * Added SilcSKEParams for SKE parameters and simplied even more
589 the SKE interface. Affected files are lib/silcske/silcske.[ch].
590 Added support for IV included and session port handling with
593 * Added Secure ID (SID) support with IV Included flag (for UDP/IP)
594 in lib/silccore/silcpacket.[ch]. Added silc_packet_set_sid
595 which is called after every rekey when IV Included flag is used.
596 See SILC specifications for details.
598 Thu Oct 19 10:03:03 EEST 2006 Pekka Riikonen <priikone@silcnet.org
600 * Added lib/silcapputil and moved SILC application specific
601 utility routines from the generic util library lib/silcutil
602 to the new library. Removed lib/silcidcache and moved that
603 to lib/silcapputil as well.
605 Tue Sep 19 00:14:11 EEST 2006 Pekka Riikonen <priikone@silcnet.org>
607 * Added SILC_STR_ADVANCE. Affected file is
608 lib/silcutil/silcbuffmt.[ch].
610 * The silc_buffer_strformat preserves buffer locations now.
612 * Added lib/silcutil/silcatomic.h for atomic operations.
614 Sat Sep 16 11:23:06 EEST 2006 Pekka Riikonen <priikone@silcnet.org>
616 * Added lib/silchttp, SILC HTTP server, a very simple HTTP
619 * Fixed MIME deocing when data portion is not present.
620 Affected file lib/silcutil/silcmime.c.
622 Wed Jul 19 12:06:38 EEST 2006 Pekka Riikonen <priikone@silcnet.org>
624 * Moved lib/silccore/silcidcache.[ch] to lib/silcutil/.
626 * Added IV Included support to packet routines, to allow
627 packet sending and receiving on UDP/IP. Affected files are
628 lib/silccore/silcpacket.[ch].
630 * Added SILC_FSM_YIELD. Affected files lib/silcutil/silcfsm.[ch].
632 Tue Jul 18 20:10:28 EEST 2006 Pekka Riikonen <priikone@silcnet.org>
634 * Added UDP support to network and socket stream library.
636 Sat Jun 24 22:33:18 EEST 2006 Pekka Riikonen <priikone@silcnet.org>
638 * Added conditional variables. New files are
639 lib/silcutil/silcondvar.h and platform specific implementations.
641 Thu Jan 5 20:02:31 CET 2006 Patrik Weiskircher <pat@icore.at>
643 * make sure session->hostname and session->port are valid before the
644 application callback is done, since things will go wrong if the
645 application immediately calls silc_client_file_receive. Affected
646 file lib/silcclient/client_ftp.c.
647 Patch received from Stefan Siegel <stesie@brokenpipe.de>, thanks!
649 Fri Dec 30 22:54:21 EET 2005 Pekka Riikonen <priikone@silcnet.org>
651 * New SILC PKCS API enabling support for other public keys
652 and certificates, lib/silccrypt/silcpkcs.[ch], silcpk.[ch].
654 * Separated SILC Public Key Payload routines from the PKCS API
655 to lib/silccore/silcpubkey.[ch].
657 Wed Dec 28 13:55:22 EET 2005 Pekka Riikonen <priikone@silcnet.org>
659 * Added SILC Key Repository library, lib/silcskr.
661 * Added SILC Server library, lib/silcserver.
663 Mon Dec 19 18:04:24 EET 2005 Pekka Riikonen <priikone@silcnet.org>
665 * MIME objects in attributes now use SilcMime. Affected files
666 are lib/silccore/silcattrs.[ch].
668 Sat Dec 17 20:13:31 EET 2005 Pekka Riikonen <priikone@silcnet.org>
670 * Synchronize semaphore posting for real threads in FSM.
671 Affected files are lib/silcutil/silcfsm.c, silcfsm_i.h.
673 Mon Nov 28 17:06:54 EET 2005 Pekka Riikonen <priikone@silcnet.org>
675 * Added silc_file_set_nonblock. Affected file is
676 lib/silcutil/silcfileutil.h.
678 * Added silc_fd_stream_file to lib/silcutil/silcfdstream.[ch].
680 Sat Nov 26 16:13:40 EET 2005 Pekka Riikonen <priikone@silcnet.org>
682 * FSM based implementation of SILC SKE. Simpler interface also.
683 Affected files are in lib/silcske/.
685 * Added SilcBool type. Affected file lib/silcutil/silctypes.h.
687 Sat Nov 19 17:34:51 EET 2005 Pekka Riikonen <priikone@silcnet.org>
689 * Added SilcMime API to lib/silcutil/silcmime.[ch]. The old
690 silc_mime_parse is available but deprecated.
692 * Check that packet is valid when processing key exchange,
693 authentication and rekey protocols. Fixes a crashbug.
694 Affected files are apps/silcd/protocol.c and
695 lib/silcclient/protocol.c.
697 * Added SILC_HASH_MAXLEN to lib/silccrypt/silchash.h, and changed
698 all hash buffers to use that instead of fixed values.
700 Wed Nov 16 15:47:12 EET 2005 Pekka Riikonen <priikone@silcnet.org>
702 * Added SHA-256 to crypto library. The SHA-256 takes now
703 precedence over SHA-1.
705 Thu May 26 20:31:06 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
707 * Check for valid return value from regcomp. Affected file
708 lib/silcutil/unix/silcunixutil.c.
710 Tue May 10 23:11:17 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
712 * Fixed silc_hash_uint to work with integers. Affected
713 file lib/silcutil/silcutil.c.
715 Tue May 10 15:11:53 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
717 * Rewritten SILC Log API. Affected files lib/silcutil/silclog.[ch].
719 Mon May 9 12:00:08 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
721 * Fixed channel public key list saving on JOIN command reply
722 on backup router. Affected file apps/silcd/command_reply.c.
724 Mon May 2 10:42:49 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
726 * Added default limit how many channels client can join,
727 default is 50. Added 'channel_join_limit' configuration
728 option to server too. Affected files are apps/silcd/command.c
729 and serverconfig.[ch].
731 Sun May 1 17:42:55 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
733 * --without-silc -> --with-silc, --without-irssi -> --with-irssi.
734 On Toolkit the server and client are not compiled by default.
735 Affected file configure.ad.
737 Thu Apr 28 15:57:37 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
739 * Added lib/contrib/getopt.[ch] for platforms that don't
740 have it (it is not GPL implementation).
742 * Fixed compilation when pkg-config is used.
744 Wed Apr 27 11:49:41 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
746 * A comma in invite/ban string is invalid, check for it.
747 Affected file apps/silcd/server_util.c.
749 * Added SERVICE command to the server. It parses the command
750 request but SILC Server does not support services for the
751 time being. Affected file apps/silcd/command.[ch].
753 * Added SERVICE command and command reply to client library.
754 It is however incomplete. Updated Toolkit documentation.
755 Affected files are lib/silcclient/command[_reply].[ch].
757 * Fixed IDENTIFY/WHOWAS command reply to send the username
758 correctly (uninitialized buffer). Affected file is
759 apps/silcd/server_query.c.
761 Mon Apr 25 14:25:24 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
763 * Moved silcer/, silc/, silcd/ and irssi/ to apps/. This
764 finalizes the major restructuring of the CVS tree.
766 Mon Apr 25 00:39:30 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
768 * Send empty MOTD reply if MOTD file cannot be read.
769 Affected file silcd/command.c.
771 Sun Apr 24 12:01:37 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
773 * Optimized primer number generator to use simpler conversion
774 routines. Also assure that the prime number will have the
775 highest bit set after modifying it. Affected file is
776 lib/silcmath/silcprimegen.c.
778 * Added LibTomMath to SILC Math library (SILC_DIST_TMA).
780 * Added FastTomMath to SILC Math Library (SILC_DIST_TFM),
781 for now only for testing purposes, it will not be delivered
782 in any distribution for now.
784 * Removed NSS MPI from the source tree. Due to upcoming
785 license change for the SILC Toolkit, we cannot deliver the
786 NSS MPI anymore. I decided to replace it in all distributions
787 with public domain library.
789 * Removed GNU regex from lib/contrib and introduced free
790 GNU compatible regex, lib/contrib/regexpr.[ch]. Added
791 GNU regex compatible API to it (only partial).
793 * Removed getopt routines from lib/contrib.
795 Fri Apr 22 12:21:44 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
797 * Use silc_server_send_command_reply to send replies instead
798 of encoding packet itself. Affected file silcd/command.c.
800 * Added command sending and receiving statistics to server.
801 Affected files in silcd/.
803 * GCC 4 warning fixes. -Wno-pointer-sign option is now used
804 with GCC, for it not to warn about pointer signedness.
806 Tue Apr 19 11:57:35 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
808 * Added context to the SilcIDCache destructor. Affected
809 files are lib/silccore/silcidcache.[ch],
810 lib/silcclient/client.c and silcd/server.c.
812 Mon Apr 18 09:53:28 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
814 * Added pkg-config check to configure.
816 * The PublicKeyDir must not be used with Admin block in server
817 config. Affected file silcd/serverconfig.c.
819 Sat Apr 16 20:23:48 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
823 Thu Apr 14 20:25:08 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
825 * Handle empty LIST command reply correcttly in server. Affected
826 file silcd/command_reply.c.
828 * Handle empty LIST command reply correctly in client library.
829 The application will now receive one LIST command reply with
830 all arguments set to NULL if there are no channels. Updated
831 Client Library documentation accordingly. Affected file
832 lib/silcclient/command_reply.c.
834 Tue Apr 12 00:02:09 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
836 * Added channel name string stringprep profile to the protocol
837 and implementation to allow a little free'er channel name
838 strings. Affected files are lib/silcutil/silcstringprep.[ch].
840 * Added silc_channel_name_[check|verify] to check and verify
841 channel name strings. Affected files are
842 lib/silcutil/silcstrutil.[ch].
844 * Added support for the new channel name preparation in client
845 library and server. Affected files in lib/silcclient and
848 Mon Apr 11 13:40:27 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
850 * Added the Autodist into the source tree. It replaces the
851 old ./prepare. It can be used to create distributions as
852 previously. See README.CVS and README.DIST. See
853 distributions in distdir/.
855 Sun Apr 10 11:30:56 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
857 * Make sure query sends at least an error back if nothing
858 more is sent. Affected file silcd/server_query.c.
860 Thu Apr 7 14:50:01 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
862 * During query, check if the original command caller goes
863 away. If it does, stop the query. Affected file
864 silcd/server_query.c.
866 * Check for valid channel creation in JOIN command reply.
867 Affected file lib/silcclient/command_reply.c.
869 * Handle the resolver counter in silc_client_get_users_by_channel
870 callback correctly. Fixed auto-join bug in Gaim. Affected
871 file lib/silcclient/idlist.c.
873 Wed Apr 6 16:56:53 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
875 * Added some better error messages. Affected file
876 silcd/command_reply.c and packet_receive.c.
878 * Handle error in WATCH command propely on backup router.
879 Affected file silcd/command.c.
881 * Fixed freeing of unfreeable variable in WHOIS command reply.
882 Affected file silcd/command_reply.c.
884 Wed Apr 6 09:10:31 CEST 2005 Pekka Riikonen <priikone@silcnet.org>
886 * Added pkg-config .pc file creation for silc core library
887 and silcclient library. A patch by c0ffee.
889 * Removed the need for GNU Libidn. Added the simple stringprep
890 from libidn into lib/contrib/. It is now used also on Windows
893 Mon Apr 4 15:15:46 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
895 * Simplified the invite and ban string handling in the
896 server. Check for valid invite and ban arguments also.
897 Affected file silcd/server_util.c.
899 Sun Apr 3 14:58:53 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
901 * Added WATCH list announcing in backup router protocol.
902 Affected files are silcd/command.c, server.c, server_backup.c.
904 * Do not change users mode to founder on normal server/backup
905 if the founder mode is set, and user is first one to join.
906 Affected file silcd/pcaket_receive.c.
908 * Do not send CUMODE_CHANGE notify back to sender. Affected
909 file silcd/packet_receive.c.
911 * Added getrusage() to take noise in SILC RNG. A patch by
912 Mika Boström. Affected files are configure.in.pre,
913 includes/silcincludes.h.in, lib/silccrypt/silcrng.c.
915 Sat Apr 2 18:09:30 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
917 * Splitted the SILC libraries configuration into a configure
918 fragment into lib/configure.ad. It is now possible, once
919 this feature is added, to specify whether to compile or not
920 compile included SILC libraries. Affected files are
921 configure.in.pre, lib/silcmath/mpi/configure.ad,
922 lib/configure.ad, Makefile.defines.pre and
923 Makefile.defines_int.pre.
925 * Added --with-silc-includes and --with-silc-libs to configure.
926 If specified the included libs are not compiled, but the
927 specified libs are used. Pkg-config is not yet supported.
928 Affected file configure.in.pre.
930 * Fixed WATCH command handling on backup router. Router does not
931 send the watch command any more to backup if it originates from
932 backup. Affected file silcd/command.c.
934 Fri Apr 1 18:52:47 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
936 * Changed announcing to not announce unregistered clients.
937 Affected file silcd/server.c.
939 * Fixed username handling in command reply. Affected file
940 silcd/command_reply.c.
942 * Log files are now 0600. Affected file lib/silcutil/silclog.c.
944 Thu Mar 31 22:34:22 CEST 2005 Patrik Weiskircher <pat@icore.at>
946 * Added new define SILC_MACOSX, if __APPLE__ and __MACH__ is defined.
947 Affected file: includes/silcincludes.h.in
949 * bool is defined as _Bool on Mac OS X now.
950 Affected file: lib/silcutil/silctypes.h
952 Thu Mar 31 08:52:06 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
954 * Added support for UTF-8 nicknames, channel names and
955 server names in client library. Affected files in
958 * Added __SILC_HAVE_PTHREAD, __SILC_HAVE_SIM, __SILC_HAVE_LIBIDN,
959 and __SILC_ENABLE_DEBUG to include/silcclient.h for third-party
960 software to check how Toolkit has been compiled.
962 Wed Mar 30 22:16:35 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
964 * Added silc_utf8_str[n]casecmp into lib/silcutil/silcutf8.[ch].
966 * Use silc_utf8_str[n]casecmp instead of strcmp routines
967 in library and in SILC Client when dealing with nicknames
968 and other identifier strings. Affected file in client lib
971 * Convert nickname to UTF-8 in /msg and /smsg. Affected file
972 irssi/src/silc/core/silc-servers.c.
974 Wed Mar 30 10:50:02 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
976 * Fixed idcache to work with the new identifier strings.
977 Affected file lib/silccore/silcidcache.c.
979 * Added UTF-8 hash and compare function for SilcHashTable.
980 Affected file lib/silcutil/silcutil.[ch].
982 * Added casefolding stringprep, SILC_CASEFOLD_PREP.
983 Affected file lib/silcutil/silcstringprep.[ch].
985 * Changed the identifier string handling to include the original
986 format in client, server, channel entries and normalized
987 format in cache. Affected files in silcd/.
989 Tue Mar 29 16:51:35 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
991 * Added support for the new identifier strings and their
992 validity checking. Nicknames, channel names and usernames
993 can now include practically any kind of letters and various
994 other characters. Affected files in silcd/ and in libraries.
996 NOTE: comparing these strings should now be done with memcmp()
997 to check binary compatibility. All these strings are normalized
998 and casing is irrelevant.
1000 * Added silc_identifier_check to lib/silcutil/silcstrutil.[ch]
1001 as easy function for applications to check whether identifier
1004 Tue Mar 29 00:45:11 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
1006 * Fixed SILC_STRING_LDAP_DN encoding and decoding. Affected
1007 file lib/silcutil/silcutf8.c.
1009 * Added SILC_STRING_UTF8_ESCAPE to lib/silcutil/silcstrutil.h.
1011 Mon Mar 28 22:46:23 CEST 2005 Jochen Eisinger <jochen@penguin-breeder.org>
1013 * Make public key in getkey reply mandatory. Affected file
1014 lib/silcclient/command_reply.c
1016 Sun Mar 27 19:03:31 CEST 2005 Patrik Weiskircher <pat@icore.at>
1018 * Added Parameter dont_register_crypto_library to
1019 SilcClientParam. If set to TRUE, silcclient library will
1020 not initalize the Crypto Libraries and application
1021 will need to do it. Affected file lib/silcclient/silcclient.h,
1022 lib/silcclient/client.c.
1024 Sun Mar 27 19:02:48 EEST 2005 Pekka Riikonen <priikone@silcnet.org>
1026 * Imported new silc_utf8_[encode|decode] routines from
1027 my internal SILC 1.1 source tree. New encodings added:
1028 SILC_STRING_LOCALE (SILC_STRING_LANGUAGE is deprecated),
1029 SILC_STRING_UTF8, SILC_STRING_PRINTABLE, SILC_STRING_VISIBLE,
1030 SILC_STRING_TELETEX, SILC_STRING_NUMERICAL and
1031 SILC_STRING_LDAP_DN.
1033 * Splitted UTF-8 routines into lib/silcutil/silcutf8.[ch].
1035 * Implemented stringprep (RFC 3454) API. Internally we use
1036 GNU Libidn's stringprep, for now, so it is required now to
1037 compile SILC sources. Added lib/silcutil/silcstringprep.[ch].
1039 * Added checking for GNU Libidn and --with-libidn to configure.
1041 Wed Mar 23 11:20:33 CET 2005 Jochen Eisinger <jochen@penguin-breeder.org>
1043 * If the passphrases entered do not match while generating a new key,
1044 completly start over instead of going into an infinite loop asking
1045 the user to re-enter the passphrase correctly. Affected file
1046 lib/silcutil/silcapputil.c
1048 Sun Jan 9 14:28:51 CET 2005 Pekka Riikonen <priikone@silcnet.org>
1050 * Make sure server is removed from backup list when it is
1051 deleted. Affected files silcd/command.c, server.c,
1054 * Close socket when connecting to router fails. Affected
1055 file silcd/server.c.
1057 Tue Jan 4 13:06:26 CET 2005 Jochen Eisinger <jochen@penguin-breeder.org>
1059 * Adopt configuration toolchain to current auto-tools.
1060 Affected files prepare, irssi/configure.in
1061 * Revert most of the UTF-8 fixes to SILC Client 1.0.1. Will
1062 redo that. Affected files irssi/src/silc/core/client_ops.c,
1063 irssi/src/fe-common/silc/fe-silc-channels.c
1064 * Take over command line options into silcclient data structure.
1065 Affected file irssi/src/silc/core/silc-core.c
1067 Wed Dec 8 16:15:11 CET 2004 Pekka Riikonen <priikone@silcnet.org>
1069 * Do not try to initiate backup resuming protocol forever.
1070 Affected file silcd/server_backup.c.
1072 Wed Nov 24 18:24:05 CET 2004 Pekka Riikonen <priikone@silcnet.org>
1074 * ID change in resuming has to be done before changing
1075 detached client's modes, since the ID change may fail and
1076 leave ghosts on the network. Affected file is
1077 silcd/packet_receive.c.
1079 Tue Nov 23 16:54:35 CET 2004 Pekka Riikonen <priikone@silcnet.org>
1081 * Fixed Win32 scheduler to not stuck anymore. A patch from
1082 Juha Räsänen. Affected file is
1083 lib/silcutil/win32/silcwin32schedule.c.
1085 * Fixed QoS parsing for connection blocks in server. Affected
1086 file is silcd/serverconfig.c.
1088 * Fixed server statistics increasing in server. Affected file
1091 * The CLOSE command now marks backup router as self disconnected
1092 to avoid resuming problems. Affected file silcd/command.c.
1094 Wed Sep 22 19:46:32 CEST 2004 Patrik Weiskircher <pat@icore.at>
1096 * When using silc_net_create_connection[_async], and your system can
1097 create IPv6 sockets, it will try to connect to the IPv6 host.
1098 Now it tries to connect to an IPv4 host if IPv6 fails. Affected
1099 file lib/silcutil/unix/silcunixnet.c
1101 Fri Jun 18 19:26:58 CEST 2004 Pekka Riikonen <priikone@silcnet.org>
1103 * Check for valid route when receiving packet from router and
1104 when routing it to local server in the cell. A patch from
1105 Matt Miller. Affected files silcd/router.c and server.c.
1107 Sat May 1 13:55:54 CEST 2004 Patrik Weiskircher <pat@icore.at>
1109 * Couldn't detach and reattach twice, because of the previous
1110 commit. Affected file silcd/packet_receive.c
1112 Fri Apr 30 19:40:28 CEST 2004 Patrik Weiskircher <pat@icore.at>
1114 * Added check to ignore Port value if Initiator is FALSE.
1115 Remote router coudln't connect if Port was set. Affected file
1116 silcd/serverconfig.c
1118 * If some client tries to resume more than once at the same time,
1119 server crashed. Router didn't crash, but showed odd behaviour
1120 (didn't allow clients to join anymore, ..). Affected files
1121 silcd/packet_receive.c silcd/idlist.h
1123 Mon Mar 15 21:10:08 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1125 * Destroy the file transfer session in silc_client_file_close
1126 with timeout. Affected file lib/silcclient/client_ftp.c.
1128 * Call SFTP server monitor in READ and WRITE after the actual
1129 operations. Affected file lib/silcsftp/sftp_server.c.
1131 Wed Mar 10 21:30:02 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1133 * Create one configure script from configure fragments
1134 (configure.ad). This is a first step towards new distribution
1135 system. Affected files prepare, configure.in.pre,
1136 lib/silcmath/mpi/configure.ad.
1138 Wed Mar 10 18:35:24 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1140 * Removed expiring of client key pair. Affected file is
1141 irssi/src/silc/core/clientutil.c
1143 Tue Mar 9 17:11:58 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1145 * Check the number of connections from real number of
1146 connections instead of socket number, when deciding if
1147 server is full. Affected files are silcd/server.c,
1148 server_internal.h and silcd.c.
1150 * Clarified the connections_max meaning in General section
1151 in doc/example_silcd.conf.in.
1153 * The reconnect_keep_trying default value set to TRUE
1154 if it is not defined in the config file. Affected file
1155 silcd/serverconfig.c.
1157 Wed Mar 3 15:13:49 CET 2004 Pekka Riikonen <priikone@silcnet.org>
1159 * Fixed crashbug in connection closing, after a protocol
1160 completion callback, which might have closed it already.
1161 Affected file silcd/server.c.
1163 * Fixed rekey with PFS in backup router. It did not allow
1164 rekeys with PFS, and when the rekey protocol timedout
1165 it crashed the backup router without the above fix. Affected
1166 file silcd/packet_send.c and server.c.
1168 Sat Feb 28 16:25:09 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1170 * The silc_client_add_channel_private_key now returns the
1171 private key context if pointer is given as argument.
1172 Affected files are lib/silcclient/silcclient.h and
1175 * Added support for using channel private keys in SILC
1176 Client Library even if the private key mode is not set
1177 on the channel. Affected file lib/silcclient/client_channel.c.
1179 * The channel private key used to decrypt message is now
1180 delivered to the application in the 'channel_messageÃ' client
1181 operation. Affected files are lib/silcclient/silcclient.h
1182 and client_channel.c.
1184 * Fixed wrong arg type for user limit in CMODE command reply.
1185 Affected file silcd/command.c.
1187 * The user limit is now taken and saved to SilcClientEntry in
1188 JOIN and CMODE command replies and in CMODE_CHANGE notify.
1189 Affected files lib/silcclient/silcclient.h, command_reply.c
1190 and client_notify.c.
1192 * Added support to the new private message key indicator
1193 packet. Added a new function to the client library:
1194 silc_client_send_private_message_key_request. The sender
1195 indicates to be initiator, and receiver is responder.
1196 Added the indicator to the SilcClientEntry as 'prv_resp'
1197 boolean. Affected files are lib/silcclient/silcclient.h
1198 client.[ch], and client_prvmsg.c.
1200 Fri Feb 27 11:25:26 CET 2004 Pekka Riikonen <priikone@silcnet.org>
1202 * Fixed the JOIN command calling when called with both
1203 -auth and -founder. Affected file is lib/silcclien/command.c.
1205 Wed Feb 25 23:12:11 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1207 * Check watcher list for resumed clients as well. Affected
1208 file is silcd/packet_receive.c.
1210 Tue Feb 24 16:49:10 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1212 * Implemented the user limit to the CMODE_CHANGE notify,
1213 CMODE command reply and JOIN command reply in server.
1214 Affected files are silcd/server.c, command.c, command_reply.c,
1215 packet_send.c and packet_receive.c.
1217 Mon Feb 23 23:31:15 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1219 * Defined SILC_STRFMT_END that must be used now with
1220 silc_buffer_strformat, instead of SILC_STR_END. Fixes
1221 crashes on AMD64. Affected files are lib/silcutil/silcbuffmt.h,
1222 lib/silcclient/silcvcard.c, silcd/server_util.c.
1224 * Fixed the adding of public key to the WATCH list in server.
1225 Fixed the WATCH notify sending to client. Affected files
1226 are silcd/packet_send.[ch], command.c, server_util.c.
1228 * Implemented the watching by public key in the SILC Client
1229 Library and SILC Client. Affected files are
1230 lib/silcclient/command.c and client_notify.c.
1232 Mon Feb 23 09:30:30 CET 2004 Pekka Riikonen <priikone@silcnet.org>
1234 * Added support for public key watching in server. Affected
1235 files are silcd/server.c, server_internal.h, command.c,
1238 Sun Feb 22 19:03:59 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1240 * Added public key to the SIlcClientEntry. Affected files
1241 are lib/silcclient/silcclient.h, command_reply.c, idlist.c
1243 * Fixed the get_clients_whois reply processing to return
1244 exactly same entries server returned. Makes it possible
1245 to search using attributes. Affected file is
1246 lib/silcclient/idlist.c.
1248 Sat Feb 21 19:21:57 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1250 * Save founder key to SilcChannelEntry. Affected files are
1251 lib/silcclient/silcclient.h, command_reply.c, idlist.c.
1253 Fri Feb 20 20:37:38 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1255 * Call the monitor callback with _CLOSED status from the
1256 silc_client_file_close. Affected files are
1257 lib/silcclient/client_fpt.c, silcclient.h
1259 * Added silc_client_get_clients_whois which resolves using
1260 WHOIS, and supports requested attributes as well.
1261 Affected files are lib/silcclient/silcclient.h, idlist.c.
1263 Fri Feb 19 21:09:22 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1265 * Added support for asking the destination filename where
1266 the downloaded file is saved in the file transfer. Affected
1267 files are lib/silccilent/silcclient.h, client_ftp.c.
1269 Wed Feb 18 02:46:17 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1271 * Fixed error handling in resuming data processing. Affected
1272 files are lib/silcclient/client_resume.c and client.c.
1274 Tue Feb 17 19:34:30 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1276 * Fixed silc_client_send_private_message to return TRUE correctly.
1277 Affected file lib/silcclient/client_prvmsg.c.
1279 * Added topic to the SilcChannelEntry. Affected files are
1280 lib/silcclient/silcclient.h, command_reply.c, client_notify.c.
1282 Fri Feb 13 14:19:14 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1284 * Use conn->cmd_ident for all silc_client_command_call()s. Affected
1285 file lib/silcclient/command.c
1287 Fri Feb 13 13:53:45 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1289 * Convert all commands to UTF-8 before passing them to the
1290 client library. Still need to convert replies from UTF-8 to
1291 the locale encoding. Affected file
1292 irssi/src/silc/core/silc-cmdqueue.c
1294 Fri Feb 13 13:13:07 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1296 * redirect all silc_client_command_calls through a queueing framework.
1297 This fixes /CYCLE and the annoying "nick change after auto-joining
1298 a channel". Furthermore it defines one central point where
1299 command parameters can be UTF-8-ified. Affected files
1300 irssi/src/silc/core/Makefile, client_ops.c, silc-channels.c,
1301 silc-servers.[ch], silc-core.c, silc-cmdqueue.[ch], silc-lag.c
1303 Fri Feb 13 12:04:41 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1305 * use asynchronous connect() to establish router connections.
1306 Fixes problem when the primary router goes down. Affected files
1307 silcd/server.c, silcd/server_backup.c
1309 Thu Feb 12 20:09:59 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1311 * Added SILC_[32|64]_TO_PTR and SILC_PTR_TO_[32|64] macros.
1312 Fixed various compilation warnings when type casting ints
1313 to pointers or vice versa, of different size. Updates around
1316 Tue Feb 3 23:25:17 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1318 * Surrogates not allowed in UTF-8 strings, updated decoder.
1319 Affected file lib/silcutil/silcstrutil.c. Added UTF-8
1320 testers in lib/silcutil/tests/ directory.
1322 Wed Jan 14 18:42:44 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1324 * Added SILC_CLIENT_CONN_ERROR_KE, ERROR_AUTH, ERROR_RESUME and
1325 ERROR_TIMEOUT SilcClientConnectionStatus errors. Affected
1326 files are lib/silcclient/silcclient.h, client.c.
1328 Mon Jan 12 13:01:10 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1330 * When resuming a session fails, notify the user that the session
1331 file needs to be removed eventually. Affected files
1332 irssi/src/fe-common/silc/module-formats.[ch],
1333 irssi/src/silc/core/client_ops.c.
1335 Tue Jan 04 12:16:04 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1337 * Added DIST_SUBDIRS symbols to include all subdirs in distributions.
1338 Affected files lib/silcutil/Makefile.am, lib/silcmath/Makefile.am
1340 * Typofix in Irssi::Silc module. Affected file
1341 irssi/src/perl/silc/Silc.xs.
1343 Tue Jan 04 02:43:44 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1345 * Changed the way NOTICE flagged messages are treated. Added support
1346 for notices in queries and signing notices. Affected files
1347 irssi/default.theme; irssi/docs/help/in/notice.in;
1348 irssi/src/fe-common/silc/module-formats.[ch], fe-silc-messages.c;
1349 irssi/src/silc/core/client_ops.c, silc-channels.c, silc-servers.c
1351 * Fixed typo in /ACTION help. Affected file
1352 irssi/docs/help/in/action.in
1354 Mon Jan 03 23:26:38 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1356 * Fixed typo in perl module. Affected file
1357 irssi/src/perl/silc/Server.xs
1359 * Changed the way ACTION flagged messages are treated. Added support
1360 for actions in queries and signing actions. Affected files
1361 irssi/default.theme; irssi/docs/help/in/action.in;
1362 irssi/src/fe-common/silc/module-formats.[ch], fe-silc-messages.c,
1363 fe-silc-queries.c; irssi/src/silc/core/client_ops.c, silc-channels.c,
1366 Mon Jan 03 16:04:29 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1368 * Incorrectly reported error when client had to be resolved from
1369 server in /SMSG. Affected file irssi/src/silc/core/silc-servers.c
1371 Sat Jan 3 16:37:15 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1373 * Fixed whois public key hash table deleting and adding in
1374 detached client case. Affected file silcd/packet_receive.c.
1376 Sat Jan 03 12:15:38 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1378 * Changed filenames of silc/fe module not to collide with filenames
1379 from core/fe. Also seperated public messages printing from
1380 query messages printing. Affected files are all in
1381 irssi/src/fe-common/silc.
1383 Sat Jan 3 12:18:07 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1385 * Fixed the invite process handling during joining to use
1386 correct server name for the client that is matched against
1387 the invite string for the channel. Wrong server name caused
1388 inability to join the channel. Affected file is
1391 Fri Jan 2 23:34:17 EET 2004 Pekka Riikonen <priikone@silcnet.org>
1393 * Fixed the CUMODE channel founder authentication on normal
1394 server to not remove the founder rights on existing founder
1395 before checking that router accepts the mode change. Affected
1396 files are silcd/command.c and silcd/packet_receive.c.
1398 * Remove the server entry correctly when rekey timeouts and
1399 remote router connection on normal server is closed. Fixes
1400 a crash where server uses the freed server entry. Affected
1401 file silcd/server.c.
1403 Fri Jan 02 10:28:15 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1405 * Add /SILCNET [ADD|REMOVE|LIST] command to manage different SILC
1406 networks. This is the first step in solving the bug about
1407 /SERVER ADD -silcnet <silcnet>. Affected files
1408 irssi/docs/in/silcnet.in; irssi/src/fe-common/silc/Makefile.am,
1409 fe-silcnet.c, fe-common-silc.c, module-formats.[ch];
1410 irssi/src/silc/core/silc-chatnets.[ch], silc-core.c, Makefile.am
1412 Thu Jan 01 20:11:32 CET 2004 Jochen Eisinger <jochen@penguin-breeder.org>
1414 * /SMSG and /MMSG now correctly create new queries. Affected files
1415 irssi/src/fe-common/silc/fe-messages.c, irssi/scripts/silc-mime.pl
1417 * Add basic support for SILC protocol specific variables in perl.
1418 Affected files irssi/src/perl/silc/*, irssi/configure.in,
1419 irssi/src/perl/Makefile.am
1421 Wed Dec 31 17:06:55 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1423 * Don't use silc_get_input, it's obviously not reliable. Fixes
1424 issue when the current key expires. Affect file
1425 irssi/src/silc/core/clientutils.c
1427 * Make the session data filename configurable. This makes it
1428 possible to have different session files for different
1429 SILC networks. Affected files irssi/src/silc/core/silc-core.c,
1430 client_ops.[ch], silc-servers.c,
1431 irssi/src/silc/fe-common/silc/module-formats.[ch]
1433 * Use the same set of libtool files for the MPI lib as for the
1434 rest of the toolkit. Affected files lib/silcmath/mpi/config.guess,
1435 config.sub, configure.in, install-sh, missing, mkinstalldirs
1437 Sun Dec 28 21:57:39 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1439 * Fixed server statistics decrementing error to not go to
1440 negative. Affected file silcd/packet_receive.c.
1442 Sat Dec 20 14:42:36 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1444 * Use silc_server_query_add_error to add error in public key
1445 search error. Added support in send_reply to send errors
1446 without specific argument. Affected file silcd/server_query.c.
1448 * Fixed the WHOIS, IDENTIFY and WHOWAS error handling in SILC
1449 Client for NO_SUCH_NICK. It was against the protocol specs.
1450 Affected file irssi/src/silc/core/client_ops.c.
1452 * Added backwards support for the wrong NO_SUCH_NICK error sending
1453 in server. To be removed in SILC Server 1.0. Both old clients
1454 and clients with fixed error handling now works. Affected file
1455 silcd/server_query.c.
1457 Sat Dec 20 00:44:47 CET 2003 Patrik Weiskircher <pat@icore.at>
1459 * fixed a bug in the whois using attributes function where no
1460 error was sent if no nickname and client id but the attributes were
1461 given to whois. Affected file silcd/server_query.c
1463 Tue Dec 16 21:34:59 CET 2003 Patrik Weiskircher <pat@icore.at>
1465 * remove public key from public key hashtable on detach. Affected
1466 file silcd/packet_receive.c
1468 * free public key hashtable before removing clients on server
1469 shutdown. Affected file silcd/server.c
1471 * remove public key prior deleting client-data on killing a client.
1472 Affected file silcd/server_util.c
1474 Sat Dec 06 21:35:14 CET 2003 Patrik Weiskircher <pat@icore.at>
1476 * Getting the MOTD from other servers works now. Affected
1477 files are silcd/command.c and silcd/command_reply.c
1479 Thu Dec 04 11:33:46 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1481 * Initialize the variable idletag, since it is tested in
1482 silc_core_deinit for its default value. Affected file
1483 irssi/src/silc/core/silc-core.c
1485 Sun Nov 30 19:47:02 CET 2003 Patrik Weiskircher <pat@icore.at>
1487 * Fixed signed channel messages across cells. Affected file
1490 Fri Nov 28 19:13:21 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1492 * Changed the SILC_LOG_* macros to not be empty if SILC_DEBUG
1493 is not defined. They can now be safely used in if-statements
1494 without braces. Affected file lib/silcutil/silclog.h.
1496 * Added the checks for backup closing connection due to error
1497 (local or remote) and thus not allow the resuming to occur
1498 in reconnect. Affected files are silcd/packet_send.c
1501 Tue Nov 25 15:20:59 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1503 * Help file updates. Affected files in irssi/src/docs/help/in/.
1505 Wed Nov 23 20:51:21 CET 2003 Patrik Weiskircher <pat@icore.at>
1507 * Fixed channel messages across cells. Affected file
1510 Wed Nov 12 11:34:56 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1512 * Fixed file transmission accepting in client library to not
1513 start the negotiation if user hasn't accepted the transfer,
1514 instead create new session for resent transfer. Affected
1515 file lib/silcclient/client_ftp.c.
1517 * Show the session ID in the file transmision list. Remove
1518 session from list that failed to transfer. Switch the current
1519 session automatically after transmission, and in errors, to new
1520 session if other sessions exists in the transfer list. Affected
1521 files are irssi/src/silc/core/silc-servers.c,
1522 irssi/src/fe-common/silc/modfule-formats.c.
1524 Mon Nov 10 14:41:40 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1526 * Fixed MIME header parsing for the hopefully last time. Affected
1527 file lib/silcutil/silcstrutil.c
1529 Mon Nov 10 13:03:46 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1531 * Rewrote the PKCS#1 routines. Added lib/silccrypt/silcpkcs1.[ch].
1533 * The SILC RNG is now gauranteed to return non-zero random
1534 values. Affected files are lib/silccrypt/silcrng.[ch].
1536 Sun Nov 9 20:44:56 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1538 * Fixed nickname formatting when changing only case of the
1539 nickname. Affected file lib/silcclient/idlist.c.
1541 Sun Nov 9 19:33:59 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1543 * Fixed a memory leak and incorrect printing of the "appears as"
1544 message. Affected file irssi/src/silc/core/client_ops.c
1546 Sun Nov 9 17:45:11 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1548 * Added CRT (Chinese Remainder Theorem) supported RSA
1549 private keys and private key operations. This significantly
1550 increases private key operation efficiency. No compatibility
1551 issues with new or old private keys. Affected files are
1552 lib/silccrypt/rsa.[ch], rsa_internal.h and pkcs1.c.
1554 Sat Nov 8 13:08:53 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1556 * Fixed GCC-3.3.2 related compilation warnings from the
1559 Fri Nov 7 23:01:47 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1561 * Removed RC6 from distributions.
1563 Fri Nov 7 19:38:42 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1565 * Added some better comments to lib/silccrypt/silcpkcs.h,
1566 optimized some routines in lib/silccrypt/silcpkcs.c.
1567 Added test_silcpkcs into lib/silccrypt/tests/.
1569 * Fixed silc_rng_global_init to actually init the global RNG
1570 if RNG wasn't provided for it. Affected file is
1571 lib/silccrypt/silrng.c.
1573 Thu Nov 6 21:08:28 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1575 * Added silc_hash_table_find_by_context_ext. Affected files
1576 lib/silcutil/silchashtable.[ch].
1578 * Save the public key on normal server in WHOIS command reply
1579 from attributes, if present, and add it to public key hash
1580 table. Fixes WHOIS resolving by public key on normal server.
1582 Optimized the attributes resolving on normal server to not
1583 resolve if we resolved them already from router.
1585 Affected files are silcd/server_query.c, command_reply.c.
1587 Wed Nov 5 19:36:30 CET 2003 Patrik Weiskircher <pat@icore.at>
1589 * Added support for whois using attributes.
1590 Affected files silcd/command_reply.c, silcd/packet_receive.c,
1591 silcd/server.c, silcd/server_internal.h, silcd/server_query.c,
1594 * Added support for whois using public key attribute to /WHOIS i
1595 client command. Affected files irssi/docs/help/in/whois.in,
1596 irssi/src/silc/core/silc-servers.c, lib/silcclient/command.c
1598 Wed Nov 5 23:37:36 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1600 * Fixed UMODE setting in server when the client has anonymous
1601 mode set. The mode setting was not working. Affected file
1604 Mon Nov 2 11:36:08 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1606 * Fixed some bugs and typos related to sending split messages.
1607 Print notification when sending messages with /MMSG. Affected
1608 files irssi/scripts/silc-mime.pl, irssi/src/silc/core/client_ops.c
1610 Fri Oct 31 12:33:59 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1612 * Optimized the socket referencing in packet routines, client
1613 library and server. Affected files are lib/silccore/silcpacket.c,
1614 lib/silcclient/client.c and silcd/server.c.
1616 * If silc_socket_set_qos is given with NULL arguments the QoS is
1617 reset from the socket. Affected files are
1618 lib/silcutil/silcsockconn.[ch].
1620 Thu Oct 30 21:23:24 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1622 * Add a /LISTKEYS command which lists the locally cached
1623 client and server keys. Affected files
1624 irssi/src/fe-common/module-formats.[ch],
1625 irssi/src/silc/core/silc-{channels,servers}.c
1626 irssi/docs/help/in/listkeys.in
1628 Thu Oct 30 20:23:40 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1630 * Check that packet queue purging was successful. Affected
1631 files lib/silcclient/client.c and silcd/packet_send.c. Related
1632 to MAC failed errors.
1634 * Do not clear the inbuf even if it is empty if QoS was applied
1635 to it. Otherwise the QoS data is cleared and MAC failed error
1636 will occur. Affected file lib/silccore/silcpacket.c.
1638 * Use the rekey period time as rekey protocol timeout value.
1639 If the rekey does not succeed during the rekey period there's
1640 something very wrong, and we most likely end up with wrong keys,
1641 do graceful reconnect then. Affected file silcd/server.c.
1643 * Take reference of the socket in the parser context, as it's
1644 possible to have the parsers in queue after the socket is
1645 disconnected and this may cause crash. Affected files are
1646 lib/silccore/silcpacket.c, lib/silcclient/client.c and
1649 Thu Oct 30 17:01:01 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1651 * Fixed KICK command reply sending, it sent to replies.
1652 Affected file silcd/command.c.
1654 Wed Oct 30 14:06:52 CET 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1656 * Finish the silc-mime.pl script. It now supports MIME type
1657 guessing using magic files, signing data messages, executing
1658 MIME handlers in background. Affected files
1659 irssi/scripts/silc-mime.pl and irssi/docs/help/in/mmsg.in
1661 * Changed MIME signal handler to make things easier for the perl
1662 script. Affected files irssi/src/silc/core/client_ops.c,
1663 silc-servers.c, and irssi/docs/signals.txt
1665 * Cleaned up the silc_mime_parse function and fixed detection
1666 of wrapped header lines. Affected file lib/silcutil/silcstrutil.c
1668 Sun Oct 26 21:19:02 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1670 * Resolve the IP for file transfer listener from the connection
1671 socket. Affected file lib/silcclient/client_ftp.c.
1673 * Accept NULL hostname parameter in the functions
1674 silc_net_check_[local|remote]_by_socket. Do not reverse lookup
1675 if hostname is not wanted.
1677 Fri Oct 24 21:24:12 CEST 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1679 * Fixed race condition between silc_client_init and
1680 my_silc_scheduler. Affected file irssi/src/silc/core/silc-core.c
1682 Fri Oct 24 16:43:40 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1684 * Fixed file transfer connection closing when SIGNOFF for
1685 the client is received from server. Affected file is
1686 lib/silcclient/client_ftp.c.
1688 Tue Oct 21 13:35:57 CEST 2003 Pekka Riikonen <priikone@silcnet.org>
1690 * Check for disconnected socket in QUIT callback. Affected
1691 file silcd/command.c.
1693 Thu Oct 21 09:43:17 CEST 2003 Jochen Eisinger <jochen@penguin-breeder.org>
1695 * Modified the MIME parsing to allow \n and \r\n as delimiters.
1696 Affected files lib/silcutil/silcstrutil.c
1698 * Cleaned up the escape/unescape functions for correctness and
1699 speed. Affected file irssi/src/silc/core/client_ops.c
1701 * Removed handling for data messages with Content-Type: text/*,
1702 moved parsing of MIME headers to the signal handler, added
1703 support for signing and verifying data messages. Affected
1704 files are irssi/docs/signals.txt, irssi/src/silc/core/client_ops.c,
1705 irssi/src/silc/core/silc-{servers,channels}.c
1707 * Added a perl script for handling data messages based on
1708 information read from Mailcap files. New file
1709 irssi/scripts/silc-mime.pl
1711 Mon Oct 20 16:08:22 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1713 * Added new SILC_MESSAGE_FLAG_ACK that can be used to
1714 acknowledge recepetion of a message to the sender. Updated
1717 Sat Oct 18 11:55:33 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1719 * Unregister channel key saving callback when deleting channel.
1720 Affected file lib/silcclient/idlist.c.
1722 * Do not remove the client from channels in NOTIFY_TYPE_SIGNOFF
1723 before calling notify client operation. Affected file is
1724 lib/silcclient/client_notify.c.
1726 * Unregister QoS tasks when deleting the socket connection.
1727 Affected files lib/silcutil/silcsockconn.[ch],
1728 unix/silcunixsockconn.c.
1730 * Implemented latest presence-attrs draft changes. Affected
1731 files lib/silccore/silcattrs.h and
1732 irssi/src/silc/core/silc-queries.c.
1734 Tue Oct 14 18:24:53 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1736 * Save old channel keys in list to allow more rapid change
1737 of channel keys if server for some reason does that. This
1738 avoids loosing so many channel messages due to not having
1739 key to decrypt. Affected file lib/silcclient/silcclient.h,
1740 idlist.c and client_channel.c.
1742 Mon Oct 13 21:37:47 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1744 * Continued backup router tests and fixes. Affected files
1745 silcd/server_backup, server_util.c, server.c. See TODO.
1747 Sun Oct 12 19:58:18 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1749 * Fixed SERVER_SIGNOFF handling in servers. The client
1750 was removed from wrong list thus not removing the client
1751 at all. Affected file silcd/packet_receive.c.
1753 * Do not execute rekey protocol for disabled connections as
1754 it would never go through. Affected file silcd/server.c.
1756 * Added timeout for rekey protocol to catch if the protocol
1757 never executes successfully. Affected files silcd/server.c
1760 Sat Oct 11 15:39:22 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1762 * Abandon packet processing for disconnected sockets. Check
1763 this always after calling packet processing callback.
1764 Affected file lib/silccore/silcpacket.c.
1766 * Fixed double registration disconnection code in server.
1767 Closed wrong connection. Affected file silcd/packet_receive.c.
1769 Fri Oct 10 16:27:12 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1771 * On normal server reconnect to primary during resuming 4
1772 times, then give up. Affected file silcd/server_backup.c.
1774 * If during reconnecting to routers we notice we have router
1775 connection but no primary router set, the server is in desync.
1776 Reconnect to primary to restore network. Affected file
1779 * Assure that only one protocol is exeucting at the same time.
1780 Added checks for all protocols. Affected files are
1781 silcd/server.c and server_backup.c.
1783 Thu Oct 9 20:24:09 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1785 * Check that a string is not already part on invite/ban
1786 string when processing it. Affected file silcd/server_util.c.
1788 Thu Oct 9 12:06:40 CEST 2003 Pekka Riikonen <priikone@silcnet.org>
1790 * Fixed the CUMODE_CHANGE for founder mode changes to comply
1791 with 1.2 version of the protocol. Affected file is
1792 silcd/packet_receive.c.
1794 Wed Oct 8 19:41:15 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1796 * ERR_BAD_PASSWORD now returns the Channel ID of the channel
1797 where the passphrase was given. Affected file is
1800 Wed Oct 8 09:32:12 CEST 2003 Pekka Riikonen <priikone@silcnet.org>
1802 * INVITE and BAN notifys are now delivered from routers to
1803 servers (but not clients) on the channel. Updated specs and
1804 code. Affected files silcd/packet_[send|receive].[ch],
1805 command.c, server.c and server_util.c.
1807 * Implemented INVITE and BAN announcing. Affected files are
1808 silcd/server.[ch], server_util.c.
1810 * Implemented SilcStatus error type argument returning in
1811 command reply error in server. Affected file silcd/command.c.
1813 * Implemented SilcStatus argument returning in comand reply
1814 in client library. The command_reply client operation now
1815 returns error specific arguments as well. Affected files
1816 are lib/silcclient/command_reply.[ch], client_resume.c,
1817 lib/silccore/silcstatus.[ch].
1819 Sun Oct 5 20:22:08 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1821 * Backup router protocol version 1.2 implemented. Testing still
1822 required. Affected files in silcd/server_backup.[ch], server.c,
1823 packet_receive.c and server_internal.h.
1825 Sun Oct 5 12:36:37 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1827 * silc_client_send_[channel|private]_message now return TRUE
1828 or FALSE. Affected file lib/silcclien/client_channel.c and
1831 Thu Oct 2 17:03:09 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1833 * Check for explicit nickname in INVITE and BAN processing
1834 during join as well (and don't expect only wildcards in
1835 invite/ban strings). Affected file silcd/command.c.
1837 * Fixed the INVITE and BAN by public key. The public key saved
1838 is the PK payload (as specified) not the raw data. Affected
1839 file silcd/server_util.c.
1841 Wed Oct 1 20:29:06 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1843 * UTF-8 text message support for actions and notices in SILC
1844 Client. Affected file irssi/src/silc/core/client_ops.c.
1846 * silc_get_username and silc_get_real_name now returns sensible
1847 data on Win32. Patch by Toni Willberg. Affected file is
1848 lib/silcutil/win32/silcwin32util.c.
1850 Sun Aug 24 23:35:19 CEST 2003 Jochen Eisinger <c0ffee@penguin-breeder.org>
1852 * Provide a signal handler to send MIME encoded messages and emit
1853 a signal when a MIME encoded message is received. Also document
1854 the signals for usage with the perl interface.
1856 A sample perl script will be supplied at a later point.
1858 Affected files are irssi/docs/signals.txt,
1859 irssi/src/silc/core/client_ops.[ch],
1860 irssi/src/silc/core/silc-{channels,servers}.c
1862 Sun Aug 24 12:58:30 CEST 2003 Jochen Eisinger <c0ffee@penguin-breeder.org>
1864 * Use SILC_COMMAND_PING to estimate the round-trip time to the
1865 server. Use this time to display a lag and disconnect when it
1866 exceeds a specified limit.
1868 Affected files are irssi/src/silc/core/silc-{lag,core}.c.
1870 Mon Aug 11 17:14:17 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1872 * Remove the channel auth list in normal server if router
1873 encofrces its list during connecting. Send notify to channel
1874 to remove the mode to remove the list. Affected files are
1875 silcd/server_util.c and silcd/packet_receive.c.
1877 Wed Aug 6 14:52:04 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1879 * Added support for channel public keys. Updated protocol specs
1880 and implemented it. Affected files are
1881 silcd/command.c, command_reply.c, lib/silcclient/command.c,
1882 lib/silcclient/command_reply.c.
1884 Wed Jul 23 12:17:01 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1886 * Ignore SIGXFSZ and SIGXCPU signals in server. They can
1887 terminate the process on Linux. Affected file silcd/silcd.c.
1889 Mon Jun 2 19:13:27 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1891 * Check for NULL buffer in silc_buffer_clear. Affected file
1892 is lib/silcutil/silcbuffer.h.
1894 * Simplified the backup router protocol by removing the _GLOBAL
1895 types. Updated protocol specs and the code. Affected files
1896 are silcd/server_backup.[ch].
1898 Thu Apr 24 19:50:25 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1900 * Deny '@' and '!' from nicknames since they are reserved
1901 by the SILC_COMMAND_INVITE and SILC_COMMAND_BAN commands.
1902 Updated protocol specs and the code.
1904 Affected files are silcd/server_util.[ch].
1906 Wed Apr 9 18:51:59 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
1908 * Fixed stack overflow in Irssi SILC client. Affected
1909 file irssi/src/silc/core/client_ops.c.
1911 * Check that Host is set in ServerConnection and RouterConnection
1912 in silcd.conf. Affected file silcd/serverconfig.c.
1914 * Fixed crash in server with protocol completion callbacks,
1915 namely rekey and backup resuming protocols. Affected files
1916 are silcd/server_backup.c and silcd/server.c.
1918 * Fixed rekey protocol to not restart if it is started already.
1919 Affected files are lib/silcclient/client.c and
1922 Mon Mar 17 18:35:24 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1924 * Rewrote SilcList, affected file lib/silcutil/silc*list.h.
1926 * Fixed EOF handling in SILC Config, affected file
1927 lib/silcutil/silcconfig.c.
1929 * Fixed buffer overflows in lib/silcutil/silcstrutil.c.
1931 * Fixed RESOLVING flag handling in JOIN notify and other
1932 notifys to handle the resolvings correctly in client library.
1933 Affected file lib/silcclient/client_notify.c.
1935 * Do not send full INVITE and BAN lists in INVITE and BAN
1936 notifys, only the changed information. Affected file
1939 * Fixed INVITE notify sending in INVITE command, send it
1940 only when needed. Affected file silcd/command.c.
1942 * Handle the founder key change properly in CMODE_CHANGE
1943 notify. Bug #122. Affected file silcd/packet_receive.c.
1945 Sun Mar 9 16:29:20 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1947 * Remove the mark for output (mark it only for input) after
1948 purging outgoing queue. Prevents the "Error in select()"
1949 floods. Affected file silcd/packet_send.c.
1951 * Fixed incorrect connection deletion from client library
1952 after calling "connect" client operation. Could cause
1953 crashes for example during reconnect timeouts. Affected
1954 files are lib/silcclient/client.c and
1955 irssi/src/silc/core/client_ops.c.
1957 * Check server private key file permissions before starting
1958 the server. Affected file silcd/serverconfig.c.
1960 Tue Feb 4 22:53:26 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1962 * NULL terminate allocated string in silc_buffer_strformat.
1963 Affected file lib/silcutil/silcbuffmt.c.
1965 * Rewrote the invite/ban list string handling in server to
1966 use SilcBuffer instead. Affected files are silcd/command.c
1967 and silcd/server_util.c.
1969 Mon Feb 3 14:43:52 CET 2003 Pekka Riikonen <priikone@silcnet.org>
1971 * Fixed double free in CMODE command when setting new HMAC
1972 for channel. Affected file silcd/command.c.
1974 * Added couple of missing memset's to zero sensitive memory.
1975 Affected files silcd/command.c, lib/silcclient/command.c.
1977 Sun Jan 26 12:20:30 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1979 * Fixed a double free in INVITE command error handling in
1980 server. Affected file silcd/command.c.
1982 * Added macros SILC_SWAB_[16|32] to swab byte order of
1983 16-bit and 32-bit unsigned integers. Affected file
1984 lib/silcutil/silctypes.h.
1986 * Use the SILC_SWAB_16 instead of htons() in server when
1987 handling ports since the ports in structures are always
1988 in little-endian order (regardless of platform). Affected
1989 file silcd/serverid.c and silcd/server_backup.c.
1991 Tue Jan 21 17:18:04 EET 2003 Pekka Riikonen <priikone@silcnet.org>
1993 * Send DISCONNECT in close admin command in server. Affected
1994 file silcd/command.c.
1996 * Check whether we are already connecting to a remote router
1997 (in addition of checking whether we are already connected)
1998 before creating new connection. Affected file silcd/server.c.
2000 Thu Jan 16 18:47:00 EET 2003 Pekka Riikonen <priikone@silcnet.org>
2002 * Added better compiler and compiler flags checking in
2005 * Check that socket is valid after QoS is applied to data.
2006 Affected file lib/silcutil/unix/silcunixsockconn.c.
2008 * Make sure the socket connecetion is not closed to early
2009 when closing connection in server. Also make sure the
2010 connection is always closed after error in a protocol.
2011 Affected file silcd/server.c.
2013 Wed Jan 15 11:03:36 CET 2003 Pekka Riikonen <priikone@silcnet.org>
2015 * Removed --session and --dummy options from Irssi SILC Client.
2016 -d option is available only if --enable-debug was given.
2017 Affected files are irssi/src/silc/core/silc-core,
2018 irssi/src/core/session.c and irssi/src/fe-text/silc.c.
2020 Tue Jan 14 12:25:09 CET 2003 Pekka Riikonen <priikone@silcnet.org>
2022 * Added silc_buffer_steal to steal the data from the buffer.
2023 Affected file lib/silcutil/silcbuffer.h.
2025 Sat Jan 11 18:16:29 CET 2003 Giovanni Giacobbi <giovanni@giacobbi.net>
2027 * Fixed server crash with double Primary block in config file.
2029 Fixed also various memory leaks around the config file
2030 parser. Affected files lib/silcutil/silcconfig.c,
2031 silcd/serverconfig.c.
2033 * Changed my nickname (Johnny Mnemonic) to my real name, this
2034 means that bugs introduced by him were actually introduced
2037 Tue Jan 7 21:58:53 CET 2003 Jochen Eisinger <c0ffee@penguin-breeder.org>
2039 * Don't display "foo appears as foo\nYou're now known as foo"
2040 messages. Affected file irssi/src/silc/core/client_ops.c
2042 Tue Jan 7 20:08:15 EET 2003 Pekka Riikonen <priikone@silcnet.org>
2044 * Fixed error handling of invalid client entry when calling
2045 commands in server. Fixes a crash. Affected file
2048 Thu Dec 26 14:19:29 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2050 * Added some sanity checks in server for correctness of the
2051 server configuration. Affected file silcd/serverconfig.c.
2053 Fri Dec 20 10:47:59 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2055 * Prevent endless resolving of user informations in USERS
2056 command by checking the command reply status correctly.
2057 Affected file lib/silcclient/command_reply.c.
2059 Tue Dec 17 10:05:00 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2061 * Fixed file writing on WIN32 to use O_BINARY flag. Affected
2062 file is lib/silcutil/silcfileutil.c. A patch by Matthew
2063 Aldous <Matthew@Aldous.com>.
2065 * Added better implementation using CriticalSection of
2066 SilcMutex on WIN32. A patch by Mikko Lähteenmäki
2067 <mikko.lahteenmaki@pikabaana.net>.
2069 * Added some Winsock WIN32 compatiblity defines into
2070 includes/silcwin32.h.
2072 Mon Dec 16 19:33:05 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2074 * Fixed double free in async host lookup code. Affected file
2075 lib/silcutil/silcsockconn.c.
2077 * On backup router handle now the SERVER_SIGNOFF from router
2078 for local connected servers too, and close the connections.
2080 Do not process them as normally signing off servers when they
2081 really signoff by sending EOF fe, but always assume that
2082 router sends the SERVER_SIGNOFF.
2084 Affected files silcd/server.c and silcd/packet_receive.c.
2086 * Fixed socket unsetting when closing connections. Affected
2087 files silcd/server.c and silcd/packet_send.c.
2089 * Do not print the nickname in SERVER_SIGNOFF if we do not
2090 have it. Prevents asserts in Irssi core. It is possible we
2091 don't have the nick if it was just being resolved when server
2092 signoff. Affected file irssi/src/silc/core/client_ops.c.
2094 Thu Dec 12 23:22:50 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2096 * Fixed autonick crashbug in client library. Affected file
2097 lib/silcclient/client.c.
2099 * Fixed Unix implementation of SilcMutex to really assert if
2100 the mutex is locked/unlcoked already. Affected file
2101 lib/silcutil/unix/silcunixmutex.c.
2103 * Fixed locking in silc_schedule_uninit. It didn't lock
2104 when dispatching timeout tasks. Affected file is
2105 lib/silcutil/silcschedule.c.
2107 * Changed Win32 implementation of SilcThread to use modern
2108 Win32 interface. Affected file is
2109 lib/silcutil/win32/silcwin32thread.c A patch by Mikko L.
2111 Thu Dec 12 12:06:59 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2113 * Don't print signed messages when sending failed. Affected files
2114 irssi/src/silc/core/silc-[servers.c/commands.h]
2116 * Send adquate signal when founding a channel by joing it. Affect
2117 file irssi/src/silc/core/client_ops.c
2119 Wed Dec 11 21:46:19 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2121 * Fix theme abstracts parsing. Affected files irssi/default.theme,
2122 irssi/src/fe-common/core/themes.c
2124 Wed Dec 11 20:20:07 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2126 * Fixed close command to use the port correctly when closing
2127 server connections. Affected file silcd/idlist.c.
2129 * Check for NULL outbuf in silc_socket_write. It is possible
2130 that it is NULL is some odd case. Affected files are
2131 lib/silcutil/[unix/win32]/silc[unix/win32]sockconn.c.
2133 * Do not call final protocol callback for backup router
2134 resuming protocol when closing connection. It is closed
2135 by timeout in case of error. Affected file silcd/server.c.
2137 * Backup reconnect to router if backup resuming protocol
2138 failed. Affected file silcd/server_backup.c.
2140 Wed Dec 11 10:01:26 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2142 * Fixed double free in SKE library error hadling when signature
2143 error occurred. Affected file lib/silcske/silcske.c.
2145 * Save the fingerprint to new SilcClientEntry after changing
2146 nickname. Affected file lib/silcclient/client_notify.c.
2148 * Print SIGNOFF in Irssi SILC client only if the nickname is
2149 known. Prevents asserts in Irssi core. It is possible we
2150 don't have the nick if it was just being resolved when it
2151 quit. Affected file irssi/src/silc/core/client_ops.c.
2153 Tue Dec 10 21:47:56 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2155 * Fixed double free in invite list adding code when adding
2156 invite strings. Affected file silcd/server_util.c.
2158 Fri Dec 6 17:40:24 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2160 * More log printing during backup router protocol. Affected
2161 file silcd/server_backup.c.
2163 * Removed backwards support for old private key file format.
2164 Affected file lib/silccrypt/silcpkcs.c.
2166 * Removed backwards support for not-so-strict decryption length
2167 check, it's strict now. Affected lib/silccrypt/silccipher.c.
2169 * GETKEY to update the client entrys fingerprint too.
2170 Affected file lib/silcclient/command_reply.c.
2172 * Added --without-libtoolfix for package builders using weird
2173 wrappers around libtool (BSD at least).
2175 Thu Dec 5 22:29:46 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2177 * Fixed backup router bugs: When backup resumes router and
2178 receives a CHANNEL_MESSAGE packet the backup must not act
2179 as router since the packet header decryption would be
2180 different. Also, when relaying packets to channel, do
2181 not re-encrypt packets on backup that came from the primary
2182 since the connection isn't really router-router connection.
2183 Affected files silcd/server.c, silcd/packet_send.c.
2185 * Added checks in encryption/decryption that encryption/decryption
2186 length sent as argument really is multiple by block size. Helps
2187 catching really weird bugs like the above backup router bugs
2188 when packets are being decrypted in wrong way. Affected files
2189 lib/silccore/silcpacket.c, and lib/silccrypt/silccipher.c.
2191 * Fixed padding generation in private key file encryption.
2192 Affected file lib/silccrypt/silcpkcs.c.
2194 Thu Dec 5 16:35:23 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2196 * Added ignore_message_signatures setting which can be used
2197 to ignore signatures in messages. Affected files are
2198 irssi/src/silc/core/client_ops.c, silc-core.c.
2200 * Fixed the libtoolfix to use command line options instead of
2201 environment variables. They didn't work as expected. Now,
2202 the libtool is fully run-time configurable.
2204 Wed Dec 4 21:08:52 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2206 * Verify signature payload for signed messages. Affected files
2207 irssi/src/silc/core/client_ops.h, irssi/src/silc/core/silc-servers.c,
2208 irssi/src/silc/core/silc-core.h
2210 * Display signature verification result in public and private
2211 messages using theme abstracts. See irssi/default.theme for
2212 examples on their usage. Affected files
2213 irssi/default.theme, irssi/src/fe-common/silc/fe-messages.h,
2214 irssi/src/fe-common/silc/module-formats.[ch],
2215 irssi/src/fe-common/silc/fe-common-silc.c,
2216 irssi/src/fe-common/silc/Makefile.am
2217 irssi/src/fe-common/core/fe-messages.[ch]
2219 * Fixed bugs in Irssi's theme parsing. Affected files
2220 irssi/src/fe-common/core/themes.c
2222 Wed Dec 4 18:29:13 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2224 * Calculate the correct length for signed messages before
2225 encrypting, it must be multiple by block size. Affected
2226 file lib/silccore/silcmessage.c.
2228 * silc_message_signed_get_public_key returns now both
2229 decoded and encoded public key. Affected files are
2230 lib/silccore/silcmessage.[ch].
2232 * Added libtoolfix script that makes the libtool more generic
2233 and configurable in run-time. Now we can specify in run-time
2234 if what kind of libraries we want to create, regardless of
2235 configuration. SIMs are now creates even if --disable-shared
2236 was explicitly given.
2238 Tue Dec 3 23:26:55 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2240 * Fixed founder key sending in CMODE command in client.
2241 Affected file lib/silcclient/command.c.
2243 * Fixed CUMODE founder authentication in server to not check
2244 for client's public key since it's not supposed to do that.
2245 Affected file silcd/command.c.
2247 Tue Dec 3 12:02:41 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2249 * Set realname and hostname in NICK_REC records. Affected file
2250 irssi/src/silc/core/silc-nicklist.c
2252 Mon Dec 2 20:50:20 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2254 * Remove 1.0 protocol backwards compat code from client
2257 * Added more reliable check for whether nickname did change
2258 or not, or whether only Client ID changed in NICK_CHANGE
2259 notify. Affected file lib/silcclient/client_notify.c.
2260 Fixes bug in '@' character handling in a nickname.
2262 * Added support for automatically parsing signature from
2263 the message payload. Added new function
2264 silc_message_get_signature to return the payload to
2265 application. Affected files lib/silccore/silcmessage.[ch].
2267 * Changed the private_message and channel_message client
2268 operations to deliver the SilcMessagePayload to the
2269 application too. Application can use it fe. to get the
2270 signature from the message for verification. Affected
2271 file lib/silcclient/silcclient.h, client_channel.c and
2274 * Redefined the signed payload for message payloads.
2275 Updated protocol specs and implemented.
2277 Mon Dec 2 16:28:29 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2279 * Fixed wrong invite and ban list handling in server command
2280 reply. Affected files are silcd/command_reply.c,
2281 silcd/server_util.[ch].
2283 Sun Dec 1 20:48:17 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2285 * Fixed CMODE setting in server when founder mode was set.
2286 Affected file silcd/command.c. Bug #95.
2288 * Added support to setting specific public key in CMODE in
2289 Irssi SILC client. Affected file lib/silcclient/command.c.
2291 * Added support to use specific public key in CUMODE in
2292 Irssi SILC Client. Affected file lib/silcclient/command.c.
2294 * Added support for inviting and banning by public key in
2295 Irssi SILC client. Affected file lib/silcclient/command.c.
2297 * Fixed fingerprint/babbleprint showing in invite and ban
2298 list command replys. Affected file is
2299 irssi/src/silc/core/client_ops.c.
2301 Sun Dec 1 16:32:03 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2303 * Format CMODE +c and +h to display both the mode and the argument
2305 Sun Dec 1 18:17:22 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2307 * Added test vectors and test programs for SHA-1, MD5,
2308 HMAC-SHA1 and HMAC-MD5. New tests are located in
2309 lib/silccrypt/tests/. Fixed also argument decoding bug in
2310 MD5 implementation. Affected file lib/silccrypt/md5.c.
2312 * Changed the channel private key and private message key
2313 generation (with static keys) to use SHA1 instead of MD5,
2314 as SHA1 is the mandatory hash function in SILC. Affected
2315 file lib/silcclient/client_[channel/prvmsg].c.
2317 * Changed the private key file encryption to use SHA1 instead
2318 of MD5. Added support for the old generation and added
2319 automatic change of the key (to be removed later). Affected
2320 files lib/silccrypt/silcpkcs.c.
2322 Sat Nov 30 19:07:52 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2324 * Load only files with .pub suffix in PublicKeyDir. Affected
2325 file silcd/serverconfig.c.
2327 Sat Nov 30 14:29:34 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
2329 * Extended the SILC_SERVER_LOG_ERROR macro to all available logging
2330 channels. Affected files silcd/silcd.c, silcd/server.h.
2332 * Added the config directive PublicKeyDir for the client block.
2333 Affected files doc/exampe_silcd.conf.in, silcd/serverconfig.[ch].
2335 Sat Nov 30 09:30:55 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2337 * Merged Toni's irssi/silc.conf patch.
2339 * ROBODoc cleanup patch to lib/silccrypt/silcpkcs.h by johnny.
2341 * Max alloc tests in allocation routines. Affected file
2342 lib/silcutil/silcmemory.c.
2344 Fri Nov 29 23:44:29 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2346 * Fixed a typo in resuming code that fixed detach/resume code
2347 in server. Bug #93. Affected file silcd/packet_receive.c.
2349 Thu Nov 28 17:17:11 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2351 * Do reverse lookups for server when /connecting. Affected files
2352 irssi/silc.conf, irssi/src/core/servers.c, irssi/src/core/network.c,
2353 irssi/src/core/net-nonblock.*
2355 Thu Nov 28 16:19:18 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2357 * Added library versioning for shared libraries. Affected
2358 files configure.in.pre and lib/Makefile.am.pre.
2360 Wed Nov 27 21:51:52 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2362 * Display INVITE and BAN lists as specified by SILC 1.2
2364 Wed Nov 27 16:01:11 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2366 * Do not send invite list back unless asked (when sending
2367 no arguments) or when list was modified. Affected file
2370 * Remove client from invite list in KILLED notify and in
2371 KILL command. Affected file silcd/command.c and
2374 * Fixed bugs in invite list handling in INVITE command.
2375 Affected files silcd/command.c and silcd/server_util.c.
2377 * Merged with Irssi 0.8.6.
2379 * Fixed UTF-8 in Irssi SILC Client, setlocale was missing.
2380 Affected file irssi/src/fe-text/silc.c.
2382 Mon Nov 25 18:21:43 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2384 * The silc_argument_get_[first/next] now return the argument
2385 type to caller. Added silc_argument_payload_encode_one.
2387 Affected files are lib/silccore/silcargument.[ch].
2389 * Added support for the SILC 1.2 INVITE command and new
2390 invite lists to server. Affected files are silcd/command.c,
2391 silcd/server_util.[ch] and silcd/packet_[receive/send].[ch].
2393 * Added support for the SILC 1.2 BAN command and new
2394 ban lists to server. Affected files are silcd/command.c,
2395 silcd/server_util.[ch] and silcd/packet_[receive/send].[ch].
2397 * Added support to client sending new INVITE command. Affected
2398 file is lib/silcclient/command.c.
2400 * Added support to client sending new BAN command. Affected
2401 file is lib/silcclient/command.c.
2403 * Added support for removing client from invite list when kicked
2404 from channel, as SILC 1.2 dictates. Affected files are
2405 silcd/packet_receive.c and silcd/command.c.
2407 Sun Nov 24 18:26:42 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2409 * If iv argument to silc_cipher_[encrypt/decrypt] is NULL, use
2410 automatically the cipher's internal IV. Affected files
2411 lib/silccrypt/silccipher.[ch].
2413 * Assure the RESUME_CLIENT packet is not sent to twice to
2414 backup router if the detached client was originated from
2415 the backup. Affected file silcd/server.c. Bug #76.
2417 * Changed silc_sim_symname to not allocate memory. Affected
2418 file lib/silcsim/silcsimutil.c.
2420 * Fixed memory leaks with SIMs in server. Affected files
2421 silcd/serverconfig.c, silcd/server.c.
2423 * Fixed channel key distribution after resuming detached
2424 client. Affected files silcd/packet_receive.c.
2426 * Fixed channel's global_user boolean checking after detaching.
2427 Check it after changing the owner of the client not before.
2428 Affected file silcd/packet_receive.c.
2430 * Fixed few double frees from client library. Fixes at least
2431 Bug #81, possibly others too.
2433 * UTF-8 decode topics also in JOIN command reply and TOPIC_SET
2434 notifys in Irssi SILC Client. Affected file is
2435 irssi/src/silc/core/client_ops.c. Bug #82.
2437 * Applied Ville Räsänen's manual page and --mandir bugfix
2438 patch. Affected files are configure.in.pre and Makefile.am.pre.
2441 Fri Nov 22 18:34:20 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2443 * Added support to backup router protocol for backup to tell
2444 normal server that it cannot use the backup router as primary
2445 because the primary isn't really down. Updated protocol
2448 * Added support for primary router to tell backup router that
2449 resuming is not possible because the backup really isn't primary
2450 in the cell. For example if backup disconnected itself the
2451 resuming is not allowed since the primary really did not
2452 go down. Updated protocol specs.
2454 * Removed MARS from crypto library.
2456 * Defined the CTR mode and Randomized CBC mode in SILC. The
2457 CTR mode is RECOMMENDED now in specification. Defined also
2458 Serpent cipher as optional cipher. Updated the protocol specs.
2460 Thu Nov 21 12:43:28 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2462 * Added support for inviting/banning by IP/MASK, public key,
2463 and explicit Client ID. Redefined the command and notify
2464 types to allow easier forwards support for other methods
2465 of inviting/banning. Updated protocol specs.
2467 * Remove the client from channel's invite lists if the client
2468 is kicked or killed. Updated protocol specs.
2470 * Unified the Channel Message Payload and Private Message
2471 into one Message Payload. Updated protocol specs and
2474 Tue Nov 19 22:30:56 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2476 * Don't wait for EOF after socket error has occurred, but
2477 close the connection. Affected file is silcd/server.c.
2479 Mon Nov 18 18:58:26 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2481 * Added support for setting FOUNDER mode on channel with
2482 specific public key which can be set with CMODE command.
2483 Updated protocol specs and implemented in client and server.
2485 * Fixed the Irssi SILC client to correctly shutdown the client
2486 library to avoid memory leaks. Affected files are
2487 irssi/src/silc/core/silc-core.c and silc-servers.c.
2489 * Deprecated the No Reply flag in SKE protocol and introduced
2490 "IV Included" flag which can be used to indicate that the IV
2491 is included in the ciphertext. This makes it possible to use
2492 SILC on unreliable transport, such as UDP which may cause
2493 packet reordering and losses. Updated protocol specs, did
2496 Sun Nov 17 15:50:57 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2498 * Fixed the MPI implementation of silc_mp_sizeinbase to return
2499 < 32 bit values in correct size. Affected file is
2500 lib/silcmath/mp_mpi.c.
2502 Sat Nov 16 13:14:45 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2504 * Fixed the KE Start Payload parsing to check that mandatory
2505 fields are present. Affected file lib/silcske/payload.c.
2507 * Fixed compilation warnigs in Irssi SILC Client. Affected
2508 files are irssi/src/silc/core/silc-query.c. client_ops.c.
2510 Thu Nov 14 19:33:28 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2512 * Print "nick now appears as newnick" and update Irssi's nicklist
2513 when you change your nick to "nick". Closes #62
2515 * Never format your own nick. Closes #63
2517 Thu Nov 14 09:44:54 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2519 * SILC_UMODE_GONE changes are now propagated correctly to the
2520 Irssi client. Closes #54
2522 Tue Nov 12 19:42:18 CET 2002 Jochen Eisinger <c0ffee@penguin-breeder.org>
2524 * Fixed example in /HELP KEY
2526 * Added expando $j which expands to current SILC Client version
2528 Tue Nov 12 19:46:39 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2530 * Fixed public key decoding in crypto library.
2532 * Added better error printing to SKE library.
2534 Tue Nov 12 08:50:12 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2536 * Fixed NICK command to not crash if nickname was not sent.
2538 Mon Nov 11 19:32:00 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2540 * Added Encrypt-Then-MAC order to SILC packet MAC generation.
2541 Deprecated the old Encrypt-And-MAC order. Updated protocol
2542 specs and implemented.
2544 * Added Encrypt-Then-MAC order to Channel Message Payload MAC
2545 generation. Updated specs and implemented.
2547 Sun Nov 10 12:20:56 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2549 * Added support for rekey before 2^32 sequence number wraps.
2550 Affected files in server and client library.
2552 * Padding must be at least 8 bytes now. Implemented and updated
2555 * Compute maximum padding for authentication packets to make
2556 passphrase approximation attacks impossible. Affected files
2557 in client library and in server.
2559 * Fixed PING command sending in client library and handling in
2560 server. The server ID must be ID Payload, not raw ID data.
2561 Affected files in server and client library.
2563 * Defined that all public keys sent in commands and notify
2564 payloads are actually Public Key Payloads not raw public key
2565 data. Updated protocol specs and implemented.
2567 * Updated protocol version to 1.2. Updated specs and code.
2569 * Added ERR_UNSUPPORTED_PUBLIC_KEY and ERR_OPERATION_ALLOWED
2570 status types. Updated specs and the code.
2572 * Added support for normal client to kill its own entries from
2573 the network. Updated protocol specs and the code.
2575 * Defined the SILC_MESSAGE_FLAG_SIGNED. Updated protocol specs
2576 and added initial implementation.
2578 * Added MAC field to the Private Message Payload to protect
2579 against chosen ciphertext attacks. Updated the protocol specs
2582 * Added idle and signon fields to the ATTRIBUTE_SERVICE
2583 attribute to indicate the user's current idle and signon time
2584 of a service. Updated protocol specs and implemented.
2586 Thu Nov 7 19:21:10 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2588 * Added "do_not_bind" argument to silc_client_file_send what
2589 can be used to not bind locally but assume the file receiver
2590 provides the point of connect. Usefull when sender is behind
2591 NAT device. Affected file lib/silcclient/silcclient.h and
2594 * Added -no-listener option to FILE SEND command in Irssi SILC
2595 client. Affected file irssi/src/silc/core/silc-servers.c.
2596 Renamed FILE RECEIVE to FILE ACCEPT.
2598 * Confirm passphrase for private key encryption in
2599 silc_create_key_pair and silc_change_private_key_passphrase.
2600 Affected files are lib/silcutil/silcapputil.c.
2602 Thu Nov 7 10:05:28 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2604 * Move silc_client_packet_send back to internal, added
2605 silc_client_send_packet, a bit simpler function for application.
2606 Affected files lib/silcclient/silcclient.h, client.c and
2609 * Moved the SilcClientEntry, SilcChannelEntry and
2610 SilcServerEntry to silcclient.h to be public and documented
2611 them for application. Affected files are
2612 lib/silcclient/silcclient.h and idlist.h.
2614 Wed Nov 6 17:18:13 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2616 * Fixed manual page installation patch by Ville Räsänen.
2617 USERS help page fix patch by Ville Räsänen
2619 * Changed the silc_client_command_call interface to make
2620 the command call simpler for the application. The library
2621 now handles the command line parsing, command finding and
2622 execution. Application only needs to call the function
2623 with the command line. Affected files are
2624 lib/silcclient/silcclient.h, command.[ch].
2626 * Fixed silc_get_input to NULL-terminate the returned input.
2627 Affected file lib/silcutil/silcutil.c.
2629 * Resolve the client's public key in JOIN command if the
2630 founder auth data is being requested but we don't know the
2631 client's public key. Affected file silcd/command.c.
2634 Mon Nov 4 16:02:59 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2636 * Print notify for server opers when backup router comes
2637 online. Affected file silcd/server.c.
2639 * Fixed the INVITE command to send the invite list in
2640 command reply. Affected file silcd/command_reply.c.
2642 * Fixed MOTD command reply sending. Affected file
2645 * UTF-8 decode the topic in TOPIC command reply and LIST
2646 command reply in Irssi SILC client. Affected file is
2647 irssi/src/silc/core/client_ops.c.
2649 Sun Nov 3 17:59:15 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2651 * Fixed the INVITE command to not crash Irssi SILC client
2652 when given without nickname argument. AFfected file
2653 irssi/src/silc/core/client_ops.c.
2655 * Fixed double free in WHOIS query on normal server when
2656 forwarding query to router. Affected file is
2657 silcd/server_query.c.
2659 * Fixed WATCH command reply handling on normal server which
2660 was missing altogether. Affected file silcd/command_reply.c.
2663 Sun Nov 3 00:42:05 EET 2002 Mika Boström <bostik@lut.fi>
2665 * Added man-pages for silc(1), silcd(8) and silcd.conf(5).
2666 Included yodl sources for each of these. Also modified
2667 Makefile.am prototype to install these files to proper
2668 locations. Updated CREDITS. Affected file Makefile.am.pre,
2669 new files doc/*.yo, doc/silc.1, doc/silcd.conf.5,
2672 Sat Nov 2 21:26:56 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2674 * Added support for encrypted private key files. Now
2675 passphrase must be provided when new key pair is created
2676 (can be empty though), and prompted when loading the
2677 private key. Added support for loading the old-style
2678 non-encrypted private keys as well. Affected files
2679 lib/silccrypt/silcpkcs.[ch], Irssi SILC client and
2682 * Fixed silc_get_input to accept input on all terminals.
2683 Affected file lib/silcutil/silcutil.c.
2685 * Moved the Irssi SILC client key loading and other stuff
2686 to be called after the arguments and UI is initialized.
2687 Affected file irssi/src/silc/core/silc-core.c. Bug #31.
2689 * Added -P option to Irssi SILC client which can be used
2690 to change the passphrase of the private key. Affected
2691 file irssi/src/silc/core/silc-core.c.
2693 * Added silc_change_private_key_passphrase apputil routine
2694 to lib/silcutil/silcapputil.[ch].
2696 Sat Nov 2 12:53:09 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2698 * Fixed connection closing in client library to not crash.
2699 Moved the connection freeing totally to function
2700 silc_clinet_del_connection. Affected file
2701 lib/silcclinet/client.c.
2703 Fri Nov 1 18:57:02 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2705 * Changed includes/silcincludes.h to silcincludes.h.in to
2706 include configuration specific information. The silcdefs.h
2707 is not included in to installation anymore (it's only
2708 compilation time header).
2710 Fri Nov 1 10:30:26 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2712 * Moved the SilcClient and SilcClientConnection from client.h
2713 to the public lib/silcclient/silcclient.h. Changed the
2716 Thu Oct 31 22:44:07 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2718 * If version string in silc_clinet_alloc is NULL the library
2719 puts it automatically. Affected file lib/silcclient/client.c.
2721 * Changed the version strings from variables to #define's
2722 in includes/silcversion.h.
2724 Wed Oct 30 16:17:30 CET 2002 Pekka Riikonen <priikone@silcnet.org>
2726 * Added shared library complation support.
2728 Tue Oct 29 21:48:55 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2730 * Added lib/silcutil/silcapputil.[ch] for application
2731 utility functions. It includes routines for applications'
2732 convenience. Added silc_create_key_pair, silc_show_public_key
2733 and silc_load_key_pair functions.
2735 Tue Oct 29 17:36:44 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2737 * Send RESUME_CLIENT packet from router to backup routers
2738 to in resuming. Affected file silcd/packet_receive.c.
2740 Mon Oct 28 21:23:39 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2742 * In IDENTIFY command parsing, send all other IDs except
2743 Client IDs explicitly to router for resolving on normal
2744 server. Also check that ID received in WHOIS command is
2745 always Client ID, others are not allowed. Affected file
2746 silcd/server_query.c.
2748 * Merged latest changes from irssi.org CVS.
2750 Sun Oct 27 11:44:32 EET 2002 Pekka Riikonen <priikone@silcnet.org>
2752 * Merged c0ffee's /set heartbeat patch to Irssi SILC client.
2753 Affected files irssi/src/silc/core/silc-core, silc-server.c.
2755 * Fixed the heartbeat sending in Irssi SILC client. Moved
2756 the silc_client_packet_send to silcclient.h for application
2757 usage. Affected files lib/silcclient/client_internal.h
2758 lib/silcclient/silcclient.h.
2760 * Fixed a bug in query resolving in server. Used wrong
2761 variable in a for loop and crashed. Affected file is
2762 silcd/server_query.c.
2764 * Server constructs requested attributes only to locally
2765 connected clients. Affected file silcd/server_query.c.
2768 * Fixed a bug when sending resolving from router to server
2769 with requested attributes. The constructed WHOIS command
2770 was incorrect. Affected file silcd/server_query.c.
2773 * Fixed Requested Attributes saving in WHOIS command reply.
2774 The length of the data buffer must be saved too. Affected
2775 file silcd/command_reply.c.
2777 * Update the client entry's servername after detaching is
2778 over. Affected file silcd/packet_receive.c. Bug #37.
2780 * Resolve incomplete client entrys in CUMODE_CHANGE and
2781 CMODE_CHANGE notifys. Affected file is
2782 lib/silcclient/client_notify.c. Bug #42.
2784 Thu Oct 24 12:22:35 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2786 * Fixed channel key packet processing bug on backup router
2787 during backup resuming protocol. Affected file is
2788 silcd/packet_receive.c.
2790 * Fixed memory leaks in server. Affected files are
2791 silcd/server.c and silcd/packet_receive.c.
2793 * Fixed packet decryption problem when backup router encrypted
2794 channel message with wrong key during backup resuming
2795 protocol. Affected file silcd/packet_send.c.
2797 * ROBODoc documented lib/silccrypt/silccipher.h. A patch by
2798 Toni Willberg (toniw@iki.fi)
2800 * Changed the SilcCipher context to be private. Changed the
2801 silc_cipher_get_iv to just return pointer to the IV. Added
2802 silc_cipher_get_name to return the name of the cipher.
2803 Fixed code all around to support these changes. Affected
2804 files are lib/silccrypt/silccipher.[ch], client library and
2807 Wed Oct 23 19:01:41 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2809 * Fixed unaligned access in lib/silccore/silcattrs.c.
2811 * Fixed libtool linking in lib/silcsim/Makefile.am.
2813 * Fixed services attribute printing. Affected files is
2814 irssi/src/silc/core/silc-queries.c.
2816 Wed Oct 23 09:51:04 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
2818 * Fixed a crashbug in incoming server accepting. Affected
2819 file silcd/server.c.
2821 Tue Oct 22 13:02:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2823 * Added automatically generated index to Toolkit Reference
2826 * Added support for Postscript Toolkit Reference Manual.
2828 Mon Oct 21 21:30:40 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
2830 * Merged DISCONNECT fix, and autoconn port fix from Irssi
2833 Sun Oct 20 19:54:55 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2835 * Added 'send_events' boolean argument to the function
2836 silc_schedule_set_listen_fd which sends the set events to
2837 the application explicitly if set to TRUE. Default action
2838 should be FALSE. Affected file lib/silcutil/silcschedule.[ch],
2839 lib/silcclient/client_internal.h and silcd/server_internal.h.
2841 * Added silc_compare_timeval to determine which time values
2842 is smaller. Affected file lib/silcutil/silcutil.[ch].
2844 * Added sort-of "Quality of Service" (QoS) support to
2845 SilcSocketConnection. Data reception can be controlled with
2846 rate limit per second and/or read data length limit.
2847 Added silc_socket_set_qos. Affected files are
2848 lib/silcutil/silcsockconn.[ch] and unix/silcunixsockconn.c.
2850 * Added the QoS configuration to SILC Server configuration
2851 file. Affected files are silcd/serverconfig.[ch] and
2854 Sun Oct 20 14:12:24 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
2856 * Merged with irssi.org CVS.
2858 * Failed OPER and SILCOPER authentications are now logged.
2859 Affected file silcd/command.c. Bugs #25.
2861 Sat Oct 19 13:32:15 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
2863 * ROBODoc documented lib/silcutil/silcbuffer.h and
2864 lib/silcutil/silcdlist.h. Patch by Ville Räsänen
2865 <ville.rasanen@iki.fi>.
2867 Fri Oct 18 10:51:04 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2869 * Added support for auto-passphrase authentication from the
2870 config file during connecting which was not implemented
2871 yet. Affected file irssi/src/silc/core/client_ops.c.
2873 * Fixed a bug in authentication protocol failure handling which
2874 was processing wrong callback context. Affected files
2875 are lib/silcclient/client.c and protocol.c.
2877 * Fixed the /ATTR allow off to actually work. Affected file
2878 is irssi/src/silc/core/silc-queries.c.
2880 * Fixed the /ATTR -del to work. Affected file is
2881 irssi/src/silc/core/silc-queries.c.
2883 Thu Oct 17 23:45:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2885 * Fixed string formatting crashbug in lib/silccore/silcattrs.c.
2887 * Fixed mask attribute adding in Irssi SILC client. Affected
2888 file irssi/src/silc/core/silc-queries.c.
2890 Thu Oct 17 16:40:39 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2892 * Added support for saving the requested attributes in
2893 WHOIS to directory. Affected file is
2894 irssi/src/silc/core/silc-queries.c.
2896 Wed Oct 16 17:40:56 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2898 * Added support for parsing VCard fields that do not have
2899 the TYPE= for types. Affected file lib/silcutil/silcvcard.c.
2901 * Fixed a double free bug in hash table foreach function
2902 if the entry was deleted in the foreach callback. Affected
2903 file lib/silcutil/silchashtable.c.
2905 Tue Oct 15 18:05:24 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2907 * Added silc_attribute_get_verify_data to return the signature
2908 verification data for either user digital signature or
2909 server digital signature in Requested Attributes. Affected
2910 files are lib/silccore/silcattrs.[ch].
2912 * Added silc_vcard_alloc which is used to allocated dynamic
2913 SilcVCard context. The silc_vcard_free now checks whether
2914 the context is dynamically allocated or not. Affected files
2915 are lib/silcutil/silcvcard.[ch].
2917 Mon Oct 14 17:55:44 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2919 * Periodically remove the NOATTR status from client entry
2920 so that the client may take the attributes in use even after
2921 server has resolved them unsuccessfully earlier. Affected
2922 file silcd/server_query.c and idlist.h.
2924 * Moved sha1hash and md5hash from client->internal to
2925 SilcClient for application usage. Affected files are
2926 lib/silcclient/client.h and client_internal.h.
2928 * Fixed attribute encoding and decoding bugs. Affected
2929 files lib/silccore/silcattrs.[ch].
2931 * Added ATTR command to Irssi SILC Client which is used to
2932 manage user's Requested Attributes sending and values for
2933 WHOIS command. Affected files around Irssi SILC client.
2935 Mon Oct 14 14:33:54 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2937 * Added silc_buffer_strformat which can be used to format
2938 strings into a buffer which size is automatically increased.
2939 Affected file lib/silcutil/silcbuffmt.[ch].
2941 * Added implementation of VCard (RFC 2426) which can be used
2942 as part of Requested Attributes in WHOIS command. Affected
2943 file lib/silcutil/silcvcard.[ch].
2945 Fri Oct 11 23:52:17 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2947 * Some strncat -> silc_strncat changes our the core and
2950 * Added SILC_SKE_STATUS_SIGNATURE_ERROR and OUT_OF_MEMORY
2951 errors. Added better error printing to SKE library.
2952 Affected files lib/silcske/silcske.c, silcske_status.h and
2955 * Save the PKCS key length even if only private key is set to
2956 SilcPKCS. Affected file lib/silccrypt/silcpkcs.[ch] and rsa.c.
2958 * Fixed the usage of silc_pkcs_get_key_len since it returns the
2959 length in bits not in bytes. Affected files are
2960 lib/silcske/silcske.c, lib/silccore/silcauth.c and
2961 silcd/server_query.c.
2963 Wed Oct 9 17:22:57 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2965 * Added silc_attribute_payload_encode_data to directly encode
2966 the data into the attributes buffer. Renamed function
2967 silc_attribute_payload_parse_list to silc_attribute_payload_parse.
2968 Affected files are lib/silccore/silcattrs.[ch].
2970 * silc_hash_table_find_foreach calls the foreach function now
2971 once even if the nothing was found with context set to NULL.
2972 Affected file lib/silcutil/silchashtable.[ch].
2974 * Remove the RESOLVING flag from client entry after received
2975 the Requested Attributes from the client. Fixed memory leak
2976 in client entry freeing. Affected files silcd/server_query.c
2979 * Added Requested Attributes support into SILC Client Library.
2980 It is not able to send requested attributes in WHOIS command,
2981 and also receive and process requested attributes. Added
2982 silc_client_attribute_[add|del] and silc_client_attributes_get
2983 functions. Added also `ignore_requested_attributes' to the
2984 SilcClientParams to not use attributes in client. Affected
2985 files are lib/silcclient/command.c, client_attrs.[ch],
2986 silcclient.h, client_internal and client.[ch].
2988 * Changed the silc_client_get_client_by_id to support Requested
2989 Attributes, it takes them as argument now. Affected file
2990 is lib/silcclient/silcclient.h, and idlist.c.
2992 * Added -details option to WHOIS command in Irssi SILC Client
2993 to support the requested attributes. By default it requests
2994 all attributes. Affected file lib/silcclient/command.c and
2995 irssi/doc/help/in/whois.in.
2997 Tue Oct 8 17:58:28 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
2999 * Add also SERVICE attribute for server-constructed attribute
3000 data. Also digitally sign the attributes and add
3001 SERVER_DIGITAL_SIGNATURE attribute. Affected file is
3002 silcd/server_query.c.
3004 Mon Oct 7 18:25:35 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3006 * Changed the silc_attribute_payload_encode to support list
3007 of attributes (function may be called several times to add
3008 a new attribute). Removed the silc_attribute_payload_encode_list
3009 function. The encoding function now also automatically encodes
3010 the data, so the caller does not need to do that. Affected
3011 files lib/silccore/silcattrs.[ch].
3013 * Added support for replying on behalf of the user to the
3014 Requested Attributes in WHOIS command in the server. Affected
3015 file silcd/server_query.c.
3017 * SILC_NOT_IMPLEMENTED macro use SILC_LOG_INFO now instead of
3018 SILC_LOG_DEBUG. Affected file lib/silcutil/silclog.h.
3020 Sun Oct 6 16:48:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3022 * Don't swtich to become primary router if we are backup if
3023 decryption error has occurred. Affected file silcd/server.c.
3025 * Fixed a bug in backup router IP address comparison in
3026 silc_server_backup_get.
3028 Save now also the port of the server/router and use that
3029 in comparison as well. Affected file silcd/server_backup.c.
3031 * Normal server now reconnects to backup router automatically
3032 if connection is lost to it. Affected file silcd/server.c.
3034 Thu Sep 26 13:51:02 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3036 * If packet processing fails (like integrity check fails)
3037 the connection is closed now. Affected files are
3038 lib/silccore/silcpacket.c and silcd/server.c.
3040 Mon Sep 23 10:59:39 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3042 * Fixed double free in RSA public key set function
3043 silc_rsa_set_public_key. Affected file lib/silccrypt/rsa.c.
3046 Sun Sep 22 14:54:05 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3048 * Rewrote WHOIS, WHOWAS and IDENTIFY commands in the server.
3049 Added server_query.[ch] which provides one interface for
3050 querying information using all three commands.
3052 * Changed all "typedef unsigned char" in core library to
3053 "typedef SilcUInt8".
3055 Sat Sep 21 21:36:45 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3057 * Added silc_strncat into lib/silcutil/silcstrutil.[ch].
3059 * Renamed silc_server_get_client_resolve to
3060 silc_server_query_resolve and moved to server_query.[ch].
3062 Wed Sep 18 18:28:04 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3064 * Resumed client packet handling from server put the resumed
3065 client on wrong list on router and caused the client not
3066 be present on the network anymore. Now fixed to put the
3067 client to correct list. Affected file silcd/packet_receive.c.
3069 Wed Sep 18 15:13:48 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
3071 * Various cleanup in error message output in config parsing code
3072 and in server init code. Fixed error log files containing
3073 too many newlines ('\n') in some situations. Affected files are
3074 silcd/serverconfig.c, silcd/silcd.c, and silcd/server.c.
3076 Wed Sep 18 10:51:23 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3078 * Use the reverse lookupped hostname in client internals
3079 instead of one user provided us as remote server name.
3080 Affected file lib/silcclient/client.c.
3082 Mon Sep 16 12:02:54 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3084 * Added 'app_context' to silc_schedule_init. It is an
3085 application specific context that is delivered to application
3086 in task callback functions. Affected files are
3087 lib/silcutil/silcutil.[ch].
3089 * The hb_context in SilcSocketConnection is not freed
3090 automatically anymore (application must free it). Freeing
3091 it automatic is inconsistent. Affected files are
3092 lib/silcutil/silcsockconn.[ch].
3094 Sun Sep 15 22:16:19 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3096 * Added support for removing explicitly added client connections
3097 in rehash and closing the client connections if they were
3098 unconfigured in the rehash. Affected file silcd/server.c.
3100 * Added support for aborting automatically pending commands
3101 that never receives the reply (to avoid memory leaks).
3102 Added also silc_server_command_pending_timed to set the
3103 specific timeout for pending command. Affected files are
3104 silcd/command[_reply].[ch].
3106 * Added SILC_STATUS_ERR_TIMEDOUT status. Updated protocol
3107 specs and lib/silccore/silcstatus.h.
3109 Sun Sep 15 12:25:10 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3111 * Changed the silc_get_time to accept time value as argument
3112 or if zero is sent return current local time. Affected
3113 file lib/silcutil/silcutil.[ch].
3115 * Added STATS command to client library and Irssi SILC client.
3116 Patch provided by Ville Räsänen <ville.rasanen@iki.fi>.
3118 Wed Sep 11 09:22:00 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3120 * Assure that channel key is set before sending it. May
3121 crash server otherwise. Affected file silcd/packet_send.c.
3123 Tue Sep 10 09:50:08 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3125 * Assure that endless loop cannot happen with detached client
3126 resolving on normal server. Added idlist status
3127 SILC_IDLIST_STATUS_RESUME_RES. Affected files are
3128 silcd/idlist.h and silcd/packet_receive.c.
3130 Mon Sep 9 12:18:18 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3132 * Incoming file transfer request cannot use same session as
3133 the sending session. This can happen when sending file to
3134 yourself. Crashed the client on quit. Affected file
3135 lib/silcclient/client_ftp.c. Bug #24.
3137 Sun Sep 8 18:39:25 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3139 * Implemented the draft-riikonen-precense-attrs draft and
3140 the Attribute Payload into the lib/silccore/silcattrs.[ch].
3142 Sun Sep 8 13:13:44 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3144 * Distribute the SERVER_SIGNOFF notify also to local backup
3145 routers from the primary router. The backup router may not
3146 have the signing of local server directly connected and need
3147 to know about the signoff. Affected file silcd/server_util.c.
3149 * Use the primary router as the origin of the locally connected
3150 server when it is disconnecting from the backup router since
3151 that's where it really is coming from. Now the clients from
3152 the disconnecting server are removed correctly and "shadow"
3153 clients are not left to the backup router. Affected file
3156 Sat Sep 7 22:26:50 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3158 * If normal server is standalone and found existing but disabled
3159 channel, do not re-create the channel since it creates
3160 duplicate same channels. Affected file silcd/server.c.
3162 * Added anonymous client connections support to server. New
3163 "anonymous" configuration option to ConnectionParams section
3164 added. If set to true, the username and hostname information
3165 of the client will be scrambled and anonymous user mode is
3166 set automatically to the user. Affected files are
3167 silcd/serverconfig.[ch], silcd/packet_receive.c and server.c.
3169 Sat Sep 7 16:02:09 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3171 * In JOIN notify handling, mark that the cache entry of the
3172 client cannot be expired. Can cause crashes on normal
3173 server (asserts client->channels). Affected file is
3174 silcd/packet_receive.c.
3176 * From now on distribution versions are used as protocol versions
3177 instead of by default using the Toolkit base version as protocol
3178 version. Affected file prepare.
3180 * Do not set the locally resolved hostname for local client
3181 entry but take what server sends. This way the real hostname
3182 is showed in WHOIS for yourself. Affected file is
3183 lib/silcclient/idlist.c and lib/silcclient/client.c.
3185 * Resolve local info with IDENTIFY when connecting to server.y
3187 Sat Sep 7 14:22:43 CEST 2002 Lubomir Sedlacik <salo@silcnet.org>
3189 * Rewritten check for POSIX threads. Use --with-pthreads[=DIR]
3190 for implied search (not needed on platforms which has native
3191 pthreads library). Use --without-pthreads to disable threads.
3192 Affected file is configure.in.pre
3194 * Fixed --with-iconv on platforms which need to bypass (broken)
3195 native iconv(). Affected file is configure.in.pre
3197 Sat Sep 7 15:08:13 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3199 * Moved -C option parsing in Irssi SILC client at same time
3200 as other options. The UI was initialized earlier and caused
3201 problems on command line. Bug #16. Affected file is
3202 irssi/src/silc/core/silc-core.c.
3204 Mon Sep 2 23:00:30 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
3206 * Added global variable silc_log_timestamp that tells silclog
3207 wether to print or not the timestamp in the logging files.
3208 Affected file lib/silcutil/silclog.[ch].
3210 * Added silcd configuration option Timestamp in the Logging
3211 section. Affected file silcd/serverconfig.[ch],
3212 doc/example_silcd.conf.in.
3214 Fri Aug 30 08:57:33 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3216 * Fixed fingerprint checking to check for entirely empty
3217 fingerprint instead of two first bytes when determining
3218 if it is set. Bug #18. Affected file silcd/command.c.
3220 * Fixed duplicate PKCS name registering to not allow it.
3221 Bugs #17. Affected file lib/silccrypt/silcpkcs.c.
3223 Sun Aug 25 08:02:04 CEST 2002 Lubomir Sedlacik <salo@silcnet.org>
3225 * Conditionalize non-gcc compiler optimizations for various
3226 platforms, enable those commented out. Cleanups.
3227 Affected file lib/silcmath/mpi/configure.in
3229 Sat Aug 24 15:11:32 EEST 2002 Timo Sirainen <tss@iki.fi>
3231 * silc_rng_exec_command() left zombie processes if command
3232 didn't generate any output. Affected file
3233 lib/silccrypt/silcrng.c
3235 Fri Aug 23 22:05:44 CEST 2002 Lubomir Sedlacik <salo@silcnet.org>
3237 * Rewrote iconv checking, introduce --with-iconv for systems
3238 which rely on libiconv. Check if iconv() provided by libc
3239 is good enough, otherwise demand libiconv. Affected file
3242 Fri Aug 23 07:10:52 CEST 2002 Lubomir Sedlacik <salo@silcnet.org>
3244 * Search for ldopen() also in libc. This enables SIM support
3245 on *BSD systems. Based on patch from Alex Zepeda. Affected
3246 file configure.in.pre
3248 Sun Aug 18 04:44:30 CEST 2002 Lubomir Sedlacik <salo@silcnet.org>
3250 * Don't call AM_CONDITIONAL conditonally for SILC_THREADS.
3251 This fixes prepare on *BSD systems. Affected file
3254 Sun Aug 4 15:55:40 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3256 * More fixed for not having purge timeout for global clients
3257 that are on channel. Affected files silcd/command_reply.c
3260 * Fixed the rekey protocol to work with backup router connections.
3261 Rekey packets are now allowed on disabled connections as
3262 well. Affected files silcd/packet_send.c and server.c.
3264 * Do not switch to be as backup router when shutting down and
3265 closing the primary connection. Affected file silcd/server.c.
3267 * Fixed memory leaks in backup router deleting. Added
3268 silc_server_backup_free to free all data during shutdown of
3269 server. Affected files silcd/server_backup.[ch].
3271 Sun Jul 14 21:33:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3273 * Do not process commands if the sock->user_data is NULL.
3274 Affected file silcd/command.c.
3276 Tue Jul 9 19:03:11 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3278 * Fixed buffer overflow and security problems (loosing bits
3279 in CFB encryption) in SILC RNG. Problems reported by
3280 Markku-Juhani O. Saarinen <mjos@saturn.tcs.hut.fi>.
3282 Sun Jul 7 13:10:01 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3284 * Added yet more checks that client is not expired on global
3285 list if it is on channels. Affected file is
3286 silcd/command_reply.c.
3288 Sat Jul 6 11:45:11 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3290 * Merged c0ffee's MIME signal patch which adds support for
3291 sending also MIME messages in Irssi SILC Client, and handling
3292 received MIME messages in a signal (and perhaps doing something
3293 to non-textual MIME messages).
3295 Sun Jun 30 01:30:22 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3297 * Fixed pending command deletion in server and client library
3298 to check the whole list instead of breaking after first found.
3299 The affected files are silcd/command.[ch] and
3300 lib/silcclient/command.[ch].
3302 Sat Jun 29 17:40:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3304 * Return NO_SUCH_CHANNEL error in USERS for channel that is
3305 secret or private, otherwise it's possible to find out
3306 whether a secret channel exists or not. Affected file
3309 * If CMODE change fails during the mode setting, assure that
3310 the old mode mask is set for the channel back. Affected
3311 file silcd/command.c.
3313 * Fixed passphrase saving on +a channel on normal server
3314 after successful JOIN command. Affected file silcd/command.c.
3316 Fri Jun 28 11:53:25 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3318 * Remove server/router operator privileges in DETACH command,
3319 since it's possible to resume to server where these
3320 privileges would not be allowed for the client. Affected
3321 file silcd/command.c.
3323 * Do not set to wait for backup in rehash of the server.
3324 Affected file silcd/server.c.
3326 * Do not check listener sockets when counting how many
3327 socket connections we have. Affected file is
3328 silcd/server_util.c.
3330 * Do not announce disconnected clients that are remaining
3331 in history (for WHOWAS). This is because SIGNOFF notify
3332 for these has been sent earlier already. Affected file
3335 Thu Jun 27 20:07:27 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3337 * Buffer overflow with CUMODE command's mode->mode character
3338 conversion. Reported by Ville Räsänen. Affected file
3339 lib/silcutil/silcutil.c.
3341 Thu Jun 27 16:54:33 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3343 * Allow heartbeat packets to go disabled connections anyway.
3344 Affected files silcd/server.c and silcd/packet_send.c.
3346 * Do not broadcast New Channel packets with List flag set
3347 in the packet to backup routers. The router must check
3348 for the correctness of the packets before sending them.
3349 It is possible that router will have enforce Channel ID
3350 change and this would cause desync in the backup router.
3351 Affected file silcd/packet_receive.c.
3353 * Remove SILC_PACKET_FLAG_LIST from the temp packets that
3354 are handled in list parsing. They are not list packets
3355 anymore. Affected file silcd/packet_receive.c.
3357 Thu Jun 27 11:27:07 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3359 * Stop waiting for backup router through the timeout, not
3360 directly after backup router has arrived. Affected file
3363 * Do not re-create channel keys and send them when removing
3364 clients in server shutdown. Affected files are
3365 silcd/server_internal.h and silcd/server_util.c.
3367 * Notify distribution to backup routers was missing from
3368 the silc_server_send_notify_dest function which caused
3369 desyncing problems with backup router. Affected file is
3370 silcd/packet_send.c.
3372 * The client's channel removing was working wrong on
3373 backup router. It assumed that it doesn't know global
3374 information but backup router does know. For this reason
3375 it could remove channel when it wasn't supposed to do that.
3376 Affected file silcd/server.c and silcd/server_util.c.
3378 Wed Jun 26 15:14:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3380 * Stop for a couple seconds after badkup router has become
3381 primary router. Affected file silcd/server.c.
3383 * Added silc_server_remove_servers_by_server, which is used
3384 to remove servers originated from some other server. Also
3385 clients of those servers can be removed too. Affected file
3386 silcd/server_util.[ch].
3388 * When removing clients after a server has signed of remove
3389 also all servers behind that server (unless they are known
3390 to be available locally), and send SERVER_SIGNOFF for each
3391 of the server separately. Also the signed off clients are
3392 sent now separately per signed off server. The affected files
3393 are silcd/server.c and silcd/server_util.[ch].
3395 * All servers added with silc_idlist_add_server must always
3396 have both "router" and "connection" pointers set. Otherwise,
3397 bad server entries may be left around in the cache.
3398 Affected file silcd/command_reply.c.
3400 * Do not create the channel key in NEW_CHANNEL packet
3401 processing if the channel is empty. Affected file
3402 silcd/packet_receive.c.
3404 * Completed backup router support for standalone routers.
3405 Supports also servers in the cell that do not use the backup
3408 Wed Jun 26 10:38:11 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3410 * Fixed a bug in silc_string_regexify which did not add '^'
3411 at the start of each string, and thus the matching was
3412 not explicit. For example ban list iikone@*!*@* would
3413 match also "priikone", which is wrong, it would have to be
3414 *iikone@*!*@* to match also "priikone". Affected
3415 file lib/silcutil/unix/silcunixutil.c.
3417 Tue Jun 25 18:47:39 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3419 * Enable all local server connections before updating client
3420 caches when we've become backup router. Otherwise, signoff
3421 packets may not reach the clients. Affected files are
3422 silcd/server.c and silcd/server_util.[ch].
3424 * Fixed a bug in version string parsing which could crash
3425 the program with specially formatted version string.
3426 Bug reported and patch provided by Ville Räsänen. Affected
3427 file lib/silcutil/silcutil.c.
3429 * Handle the disconnection immediately when DISCONNECT
3430 packet is received in server. Affected file silcd/server.c.
3432 * Primary router now waits a short time (10 seconds) for
3433 backup router connection before accepting any other
3434 connection (except local). Affected file silcd/server.c,
3437 * Fixed a crash in client libary in NICK_CHANGE notify when
3438 NICK_CHANGE arrived for client entry we are resolving
3439 currently. Affected file lib/silcclient/client_notify.c.
3441 * Call the sconn->callback completion even if error had
3442 occurred. Start reconnecting always if connection to
3443 primary router fails during backup router protocol.
3444 Affected files silcd/server.c and server_backup.c.
3446 Mon Jun 24 17:47:52 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3448 * Added functions silc_server_send_opers and
3449 silc_server_send_opers_notify to send packets stricly
3450 to operators. Added macro SILC_SERVER_SEND_OPERS macro
3451 to send variable argument notify to operators.
3452 Affected files silcd/packet_send.[ch] and silcd/server.h.
3454 * Removed UMODE rights checking with UMODE_CHANGE notify.
3455 Affected file silcd/packet_receive.c.
3457 * Server/router operator now receives notify when network
3458 switches to backup router and when it resumes the use of
3459 primary router. Affected file silcd/server.c and
3460 silcd/server_backup.c.
3462 * Fixed the updating of client information after backup
3463 resuming protocol is over; update all except local clients
3464 to the new primary router. The affected file is
3465 silcd/server_util.c.
3467 * Added support for closing active connections in rehash
3468 that were unconfigured by the user. Supports currently
3469 closing server and router connections. Affected file
3472 * Rewrote some SILC_LOG_DEBUG's in silcd/server_backup.c.
3474 Sun Jun 23 17:32:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3476 * Don't do SILC_STRING_LANGUAGE encoding if the outbuffer
3477 is NULL since seems that on some platforms NULL is allowed
3478 and on some it's not. Fallback encoding is used instead.
3479 Affected file lib/silcutil/silcstrutil.c.
3481 * Fixed statistics updating for incoming server connection
3482 which could cause problems when re-connecting. Affected
3483 file silcd/server.c.
3485 * Preliminary backup router support for standalone router
3486 added. Affected files in silcd/.
3488 * Mark server connections in backup router disabled before
3489 and after backup protocol. Affected file is
3490 silcd/server_backup.c.
3492 * Added support for reconnecting to remote server connection
3493 even if the protocol fails, and if the configuration wants
3494 us to keep trying to connect anyway.
3496 Server connection is not allowed to backup router if
3497 backup router does not have connection to primary router yet.
3499 Affected file is silcd/server.c.
3501 Sat Jun 22 21:34:59 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3503 * Added silc_client_udpate_server function to update changed
3504 server info. Affected file lib/silcclient/idlist.[ch].
3506 * Added check for server entries that are being resolved when
3507 notify is received. If being resolved, handle the received
3508 notify only after it's resolved so that all notifys are
3509 handled in same order as received from the server.
3511 Added similar resolver check to channel entries. Every
3512 notify that cause resolving of any information that affects
3513 channel entry marks the channel entry in waiting state.
3514 After whatever resolving is over the waiters are signalled
3515 and only then the notifys are handled in the same order
3516 as delivered from the server.
3518 Affected files are lib/silcclient/idlist.[ch], and
3521 * Fixed KILLED notify handling in normal server. Affected
3522 file silcd/packet_receive.c.
3524 * Added SILC_IDLIST_STATUS_LOCAL which indicates that entry
3525 is locally connected, or was locally connected (but may
3526 be detached and connection is not active). Added also
3527 SILC_IS_LOCAL for checking this status. Affected files
3528 silcd/idlist.h, silcd/packet_receive.c, silcd/server_util.c,
3529 silcd/server.c and silcd/server_internal.h.
3531 Sat Jun 22 17:06:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3533 * Don't send or handle TOPIC_SET if topic is already set and
3534 is same as being set. Affected files silcd/command.c and
3535 silcd/packet_receive.c.
3537 * Fixed CMODE change rights checking to work correctly when
3538 removing modes by operator. Affected file is
3539 silcd/server_util.c.
3541 * Fixed some handling with New Channel packet in router and
3542 fixed some CMODE_CHANGE notify handling in server and router.
3543 Affected file is silcd/packet_receive.c.
3545 * Changed "disconnect" client operation to include the
3546 reason of the disconnection and optional disconnection
3547 message. Affected file lib/silcclient/silcclient.h.
3549 * Made the compilation of lib/contrib/ stuff conditional.
3550 Affected files configure.in.pre, lib/contrib/Makefile.am.
3552 Sat Jun 22 12:49:21 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3554 * All CMODE_CHANGE and CUMODE_CHANGE notifys are now sent back
3555 to the sender of the notify too, to avoid situation where two
3556 notifys are in the network at the same time going to oppsite
3557 directions. Affected file silcd/packet_receice.c.
3559 Fri Jun 21 10:00:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3561 * Delete the client from channel even if the cilent->id is
3562 NULL. It was possible that client was deleted without
3563 removing from channels (theoretically at least). Affected
3564 file silcd/server.c and silcd/server_util.c.
3566 * Free the client data too when resuming is not successful.
3567 Affected file silcd/packet_receive.c.
3569 * Merged some code from c0ffee's silc-plugin. Affected files
3570 irssi/src/silc/core/silc-channels.c and silc-expandos.c.
3572 * Added SILC_PRIMARY_ROUTE and SILC_BROADXAST macros to
3573 silcd/server_internal.h. SILC_PRIMARY_ROUTE Returns pointer
3574 to the primary router connection, the other one returns
3575 TRUE if packet must be broadcasted to network.
3577 * All notifys that are destined to primary router (to network)
3578 are now automatically sent to backup routers even if the
3579 router is standalone (and has backup router). Affected files
3582 * Added --without-irssi and --without-silcd configuration
3583 options for disabling the compilation of these applications.
3584 Affected file configure.in.pre and prepare.
3586 Thu Jun 20 13:48:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3588 * Implemented SILC_STRING_BMP and SILC_STRING_UNIVERSAL for
3589 UTF-8 encoding and decoding. Added also new encodings
3590 SILC_STRING_BMP_LSB and SILC_STRING_UNIVERSAL_LSB.
3592 Added also SILC_STRING_LANGUAGE which is language and charset
3593 specific encoder and decoer for those platforms that support
3594 iconv(). It can convert the UTF-8 to and from the locale
3595 specific character set.
3597 Affected file lib/silcutil/silcstrutil.[ch].
3599 * Added macro SILC_NOT_IMPLEMENTED to lib/silcutil/silclog.h.
3601 * Added function silc_get_command_name to the file
3602 lib/silcutil/silcutil.[ch].
3604 * Improved the server debug output a bit. Affected files are
3607 Wed Jun 19 17:46:31 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3609 * Save the channel passphrase when received succesful JOIN
3610 command reply from router, on normal server. Otherwise
3611 joinig +a channels from normal server is not possible.
3612 Affected file silcd/command.c.
3614 * Fixed a bug in TOPIC_SET notify handling. The notifier
3615 may be other than client too, like server or channel.
3616 It expected it to always be only client and ignored the
3617 notify. Affected file silcd/packet_recieve.c.
3619 * Removed some (unnecessary) debug printing from
3620 lib/silccore/silcid.c and lib/silccore/silcargument.c.
3622 * Do not force CMODE_CHANGE when server is announcing new
3625 Router announces stuff only after server reannounces channel
3626 after CHANNEL_CHANGE notify.
3628 These fixes optimizes the announcing procedure, and perhaps
3629 fixes some problems too. Affected file silcd/packet_receive.c.
3631 * Fixed SERVER_SIGNOFF sending to local clients. It was
3632 totally broken and sent the notify to all local clients,
3633 instead of only to those that was on same channel as the
3634 signing off clients. Affected file silcd/server_util.c.
3636 * Added -D option to server. It can be used to give debug
3637 level. The levels are from 0 - 99, and are predefined for
3638 smooth server debugging. (see silcd.c for the predefined
3639 levels). Affected file silcd/server.c.
3641 Wed Jun 19 16:01:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3643 * Fixed a bug in Irssi SILC client to close the connection
3644 properly when disconnecting from server. Affected file
3645 irssi/src/silc/core/client_ops.c.
3647 Tue Jun 18 17:14:52 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3649 * When authenticating as founder during JOIN command, check
3650 that the one authenticating becomes the only founder on the
3651 channel. Affected file silcd/command.c.
3653 * Better checking for founder mode setting when CUMODE_CHANGE
3654 notify is received. Affected file silcd/packet_receive.c.
3656 * Close all connections when shutting down the server by sending
3657 DISCONNECT packet. Close all listeners too when shutting
3658 down the server. Affected file silcd/server.c.
3660 * Handle DISCONNECT packet correctly in client library by
3661 calling the "disconnect" client operation. Affected file
3662 lib/silcclient/client.c.
3664 * Handle local errors correctly during resuming. Affected
3665 file lib/silcclient/client.c.
3667 Tue Jun 18 10:26:27 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3669 * The log file is not dupped internally anymore in
3670 lib/silcutil/silclog.c. Fixed memory leaks too.
3672 * The scheduler now dispatches all pending timeout tasks
3673 when it is uninitialized with silc_schedule_uninit.
3674 Affected file lib/silcutil/silcschedule.c.
3676 Mon Jun 17 21:30:55 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3678 * Added --enable-stack-trace option to configure. Added
3679 memory allocation stack trace support. Added files
3680 lib/silcutil/stacktrace.[ch]. Affected files are
3681 lib/silcutil/silcmemory.[ch].
3683 * Fixed memory leaks from libraries and server. Affected
3684 files around the tree.
3686 * Reverted back a fix made to CUMODE which broke it.
3687 Affected file silcd/command.c.
3689 Sun Jun 16 11:49:45 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3691 * Added SILC_MESSAGE_FLAG_UTF8 to the protocol specs and the
3692 core library, and implemented it. All textual messages SHOULD
3693 use this flag and the message MUST be UTF-8 encoded.
3694 All text messages sent by Irssi SILC client are now UTF-8
3695 encoded (regardless whether the terminal supports UTF-8 or not).
3696 Affected files are lib/silccore/silcchannel.h,
3697 irssi/src/silc/core/silc-servers.c, silc-channels.c and
3700 Sat Jun 15 18:23:39 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3702 * Added lots of new statistics updating that was missing from
3703 the server and router code. Affected files in silcd/.
3705 * Sending SIGUSR1 signal to server now dumps the current
3706 server statistics into /tmp directory. Affected file is
3709 * ROBODoc documented the lib/silccrypt/silchash.h. Improved
3710 the SILC Hash Interface also. Added new functions
3711 silc_hash_get_name, silc_hash_init, silc_hash_update and
3712 silc_hash_final. Affected file lib/silccrypt/silchash.c.
3714 Sat Jun 15 12:09:14 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3716 * Added some better info printing for client during connecting.
3717 Affected file silcd/server_util.c.
3719 * Implemented the SILC_CHANNEL_UMODE_QUIET mode that can be used
3720 to silence a user on a channel. Affected files are
3721 lib/silcclient/client_channel.c, irssi/src/silc/core/client_ops.c,
3722 irssi/src/fe-common/silc/module-formats.[ch], silcd/command.c
3723 and silcd/packet_receive.c.
3725 * Fixed a fatal bug in handling of malformed command payload.
3726 Affected file silcd/command.c.
3728 * Fixed a double free when announcing channel users to router.
3729 Affected file silcd/server.c.
3731 * After successful authentication to channel founder mode, check
3732 that there isn't anyone else with founder mode on the channel.
3733 The one that authenticated will become founder and anyone
3734 else is demoted. Affected file silcd/command.c.
3736 * Added error printing of any error that has occurred during
3737 any command in client library. Affected file is
3738 irssi/src/silc/core/client_ops.c.
3740 * Removed some error printing from the client library and left
3741 it for the application to worry (from the error status it
3742 receives in 'command' client operation. Affected file is
3743 lib/silcclient/command.c.
3745 Fri Jun 14 22:59:02 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3747 * Added new status types KEY_AGREEMENT_ALREADY_STARTED and
3748 KEY_AGREEMENT_SELF_DENIED to lib/silcclient/silcclient.h.
3749 Starting key agreement with itself is denied. Affected file
3750 is lib/silcclient/client_keyagr.c.
3752 * Fixed some error checkings from the SFTP library which caused
3753 misbehaviour. Affected files are lib/silcsftp/sftp_client.c
3754 and lib/silcsftp/sftp_util.c.
3756 * Added new "debug" and "debug_string" settings to Irssi SILC
3757 client which can be used to print runtime debugging on the
3758 Irssi's screen. Available when compiled with --enable-debug
3759 option. Affected file irssi/src/silc/core/silc-core.c.
3761 Tue Jun 11 16:36:02 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
3763 * Fixed a missing variadic parameter in a function call that
3764 caused server crash when a non-allowed connection arrived.
3765 Reported by Richard Becker. Affected file silcd/server.c.
3767 Mon Jun 10 16:29:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3769 * Added WATCH list sending to backup routers from router.
3770 The WATCH command is sent by the router to the backup
3771 router. Affected file silcd/command.c.
3773 * Mark the backup_router flag for RouterConnection entry
3774 if the backup router stuff is defined in the config file.
3775 Affected file silcd/serverconfig.c.
3777 * Fixed some backup data sending around the code to work better
3778 if the router is standalone router. Not all places were fixed.
3779 Affected file silcd/packet_receive.c, silcd/packet_send.c,
3782 * Fixed the router connecting when connecting to multiple
3783 routers. It ignored every other router except the first
3784 one. Affected file silcd/server.c.
3786 Mon Jun 10 09:28:21 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3788 * Made the private key generation after expiration optional.
3789 If not created after expiration the old key will re-expire
3790 at a later time (and thus key pair is not necessary to
3791 change). Affected file irssi/src/silc/core/clientutil.c.
3793 Sun Jun 9 18:58:25 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3795 * The length arguments in bind() and connect() were wrong
3796 and fixed now to used SIZEOF_SOCKADDR in the
3797 lib/silcutil/unix/silcunixutil.c.
3799 Tue Jun 4 18:36:05 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3801 * Fixed detach timeout handling to use Client ID and not
3802 the actual client entry which may be freed in the callback.
3803 Affected file silcd/command.c.
3805 Thu May 30 15:53:45 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3807 * Merged c0ffee's multiple interface support patch.
3808 Affected files in silcd/.
3810 Wed May 29 18:08:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3812 * Cleanup keys properly. Affected file is
3813 irssi/src/silc/core/clientutil.c.
3815 Tue May 28 20:11:41 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3817 * Display the user mode on the status bar. Affected file
3818 irssi/src/silc/core/silc-expandos.c.
3820 Tue May 28 13:56:26 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3822 * If private message key is not set, but the flag is set in
3823 the packet, ignore the packet since it cannot be decrypted.
3824 Affected file lib/silcclient/client_prvmsg.c.
3826 Thu May 23 12:00:14 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3828 * When resuming client, remove the old client entry from
3829 the watcher list too. Affected file silcd/packet_receive.c.
3831 * Do not allow normal server to force founder mode away
3832 from router if the founder mode is already set. Affected
3833 file silcd/packet_receive.c.
3835 * Remove the client entry with watch notify types with short
3836 timeout, and not directly, so that other notifys can be
3837 retrieved too. Affected file lib/silcclient/client_notify.c.
3839 * Display notification about data messages that cannot be
3840 displayed. Affected files irssi/src/silc/core/client_ops.c,
3841 irssi/src/fe-common/silc/module-formats.[ch].
3843 Sun May 19 18:59:00 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3845 * Fixed the CHANNEL_CHANGE notify handling in client libary
3846 to not use freed memory. Affected file is
3847 lib/silcclient/client_notify.c.
3849 * Fixed CUMODE_CHANGE notify handling in server. Affected
3850 file silcd/packet_receive.c.
3852 * Fixed USERS command to support empty channels. Affected
3853 file silcd/command.c.
3855 Sat May 18 11:35:19 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3857 * Allow multiple identical pending commands to be registered
3858 in client library. Affected file is lib/silcclient/command.c.
3860 * Call the completion for resolving client information only
3861 after all resolvers has finished. This fixes a crash in
3862 the client. Added support for checking when the resolvers
3863 are finished. Affected file is lib/silcclient/idlist.c.
3865 * Wait by default 3 seconds before reconnecting to the server
3866 after being disconnected. Makes the /detach command a bit
3869 Fri May 17 17:23:45 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3871 * Check the watcher list before sending signoff notifys
3872 when closing client connection. Affected file is
3875 * Added better CMODE command rights checking. Affected file
3876 silcd/server_util.c.
3878 Fri May 17 08:33:41 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3880 * Fixed watcher list checking during server signoff. It
3881 crashed the server. Affected file silcd/server_util.c.
3883 * The JOIN command reply returns now the founder's public
3884 key. Affected file is silcd/command.c.
3886 * Announce the channel mode, and the mode properties with
3887 CMODE_CHANGE notify. Affected file silcd/server.c.
3889 * Mark new channels by default disabled, untill at least
3890 one user joins the channel. Affected file is
3891 silcd/packet_receive.c.
3893 Thu May 16 13:05:13 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3895 * The nickname argument to watch notify can be optional.
3896 Fixes a crash in server. Affected file silcd/packet_send.c.
3898 * Remove the client entry from cache if the WATCH notify type
3899 is KILLED, SERVER_SIGNOFF or SIGNOFF. Affected file is
3900 lib/silcclient/client_notify.c.
3902 * Check the watcher list before and after changing nickname
3903 when the NICK_CHANGE notify is received. Affected file is
3906 * Fixed a crash in OPER and SILCOPER command sending. Empty
3907 passphrase caused the crash. Affected file is
3908 lib/silcclient/command.c.
3910 Wed May 15 19:01:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3912 * Merged with Irssi CVS for Irssi SILC client.
3914 Tue May 14 19:37:48 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3916 * Completed the protocol specifications.
3918 Tue May 7 20:41:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3920 * Merged with Irssi CVS for Irssi SILC client.
3922 Tue May 7 11:07:16 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3924 * Added the founder's public key delivery to the
3925 CUMODE_CHANGE notify type as well. Updated the protocol
3926 specs and the code. Affected files are silcd/packet_send.[ch],
3927 silcd/packet_receive.c and silcd/command.c.
3929 Mon May 6 19:46:12 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3931 * Added silc_pkcs_public_key_copy function into the
3932 lib/silccrypt/silcpkcs.[ch].
3934 * Remove the `iv' from the SilcChannelEntry since we can
3935 live without it. Affected files are silcd/idlist.h and
3936 silcd/packet_receive.c.
3938 * Added support for sending the founder's public key in
3939 the CMODE_CHANGE notify packet in the server. Affected
3940 files are silcd/packet_send.[ch], silcd/packet_receive.c,
3941 silcd/command.c and silcd/server.c.
3943 * Changed the FOUNDER_AUTH authentication to use only
3944 public key authentication as defined by new protocol
3945 specs. Passphrase authentication with that mode cannot
3946 be used anymore. It is now possible to reclaim founder
3947 mode from any server in the network. Affected files are
3948 silcd/command.c, silcd/idlist.h and silcd/command_reply.c.
3950 * Added permanent channels support by making the channel
3951 permanent when FOUNDER_AUTH mode is set on the channel.
3952 The channel will not be destroyed even if channel is empty
3953 when that mode is set. Protocol TODO #17. Affected
3954 files are silcd/server.[ch], server_util.[ch],
3955 silcd/command.c, silcd/packet_receive.c and
3956 lib/silcclient/command.c.
3958 Fri May 3 18:36:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3960 * Added reference counter to the command reply context in
3961 the client library. Affected files are
3962 lib/silcclient/command_reply.[ch].
3964 Fri May 3 11:37:10 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3966 * Fixed rekey protocol with PFS in the client library.
3967 Affected file is lib/silcclient/protocol.c.
3969 * Added support for list of errors in client library
3970 command reply handling. Affected file is
3971 lib/silcclient/command_reply.c.
3973 * Defined that the WHOIS and IDENTIFY commands can send
3974 list of errors. Updated the protocol specs. Protocol
3977 * Added support for sending list of errors to WHOIS and
3978 IDENTIFY commands in server. Added support for receiving
3979 list of errors in server. Affected files are
3980 silcd/command.c and silcd/command_reply.c.
3982 * Fixed client info resolving on LEAVE command in client
3983 library to not crash. Affected file is
3984 lib/silcclient/client_notify.c.
3986 Thu May 2 08:45:11 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
3988 * Defined that the NICK command replies with thew changed
3989 nickname too, to make the nickname changing simpler at
3990 the client's end. Updated protocol specs and the code
3991 in client and server. Affected files are
3992 silcd/command.c, lib/silcclient/command_reply.c and
3993 lib/silcclient/command.c.
3995 Mon Apr 29 20:10:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
3997 * Added `Compressed' packet flag to indicate that the packet
3998 payload is compressed by the sender. Updated the protocol
3999 specs and the core library. The compression still is not
4000 implemented in the sources. Affected file is
4001 lib/silccore/silcpacket.h.
4003 Mon Apr 29 09:48:12 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
4005 * Remove pending command callbacks also if the connection
4006 to the server is destroyed. Affected file is
4007 lib/silcclient/client.c.
4009 Sat Apr 27 19:52:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4011 * Added new QUIET channel user mode that can be used to
4012 quiet a user in a channel. Updated the protocol specs but
4013 it wasn't implemented yet. Protocol TODO #27. Affected
4014 file is lib/silccore/silcmode.h.
4016 Mon Apr 22 09:09:44 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
4018 * Added BLOCK_INVITE user mode to be able to block incoming
4019 invite notifications. Protoocol TODO #26. Affected files
4020 are lib/silccore/silcmode.h, lib/silcclient/command.c and
4023 * SILC Publickey fields MUST be UTF-8 encoded now. Updated
4024 the protocol specs and the code. Affected file is
4025 lib/silccrypt/silcpkcs.c.
4027 Sun Apr 21 19:44:38 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4029 * Disconnect Payload includes now the status type. Updated
4030 the protocol specs and the code. Protocol TODO #25.
4031 Affected files are silcd/server.c, lib/silcclient/client.c.
4033 * Added NOT_AUTHENTICATED, BAD_SERVER_ID, INCOMPLETE_INFORMATION,
4034 KEY_EXCHANGE_FAILED and BAD_VERSION error status types.
4035 Moved the silc_client_command_status_messages table to the
4036 lib/silcutil/silcutil.c and added new funtion
4037 silc_get_status_message, which deprecates function
4038 silc_client_status_message. Affected files are
4039 lib/silccore/silcstatus.h, lib/silcclient/command_reply.[ch],
4040 lib/silcutil/silcutil.[ch].
4042 Fri Apr 19 17:35:15 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4044 * Defined that the nickname hash in Client ID MUST be from
4045 lowercase nickname. This effectively changes nicknames in
4046 SILC to case-insensitive. Updated the protocol specs and
4047 the code. Affected files are lib/silcutil/silcutil.[ch],
4048 silcd/serverid.c, and silcd/idlist.c.
4050 * Added new channel user modes BLOCK_MESSAGES_USERS and
4051 BLOCK_MESSAGES_ROBOTS. Updated the protocol specs and the
4052 code. Affected files are lib/silccore/silcmode.h,
4053 lib/silcclient/command.c, and silcd/packet_send.c.
4055 * Added new error status ERR_RESOURCE_LIMIT. Updated protocol
4056 specs and code. Affected file lib/silccore/silcstatus.h.
4058 * Added support for watch list. It is possible to add nicknames
4059 to be watched, and when they come to network, leave network
4060 or user mode changes the watcher will be notified of this
4061 change. Added SILC_COMMAND_WATCH command, added new
4062 notify type SILC_NOTIFY_TYPE_WATCH to deliver the watch
4063 notifications. Updated the protocol specs and implemented
4064 this to library, client and server. Protocol TODO #21.
4065 Affected files are lib/silccore/silccomand.h,
4066 lib/silccore/silcnotify.h, lib/silcclient/command[_reply].[ch],
4067 silcd/command[_reply].[ch], lib/silcclient/client_notify.c,
4068 silcd/packet_send.[ch], silcd/packet_receive.c, and
4069 irssi/src/silc/core/client_ops.c.
4071 * Added user mode SILC_UMODE_REJECT_WATCHING to reject
4072 somebody watching you. Updated the protocol specs and the
4073 code. Affected files are lib/silccore/silcmode.h, and
4074 lib/silcclient/command.c.
4076 Fri Apr 19 09:02:20 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
4078 * Added service support to SILC protocol. Added new command
4079 SILC_COMMAND_SERVICE. Updated the protocol specs and the
4080 core library. Services are not implemented in server or
4081 client for now. Protocol TODO #20. Affected files are
4082 lib/silccore/silcstatus.h, lib/silccore/silccommand.h.
4084 * Added SilcStatus argument to `command' client operation
4085 to return the error status when command sending fails
4086 locally. Changed all command in client library to return
4087 correct command status. Affected files are
4088 lib/silcclient/command.c, lib/silcclient/silcclient.h and
4089 irssi/src/silc/core/client_ops.c.
4091 Thu Apr 18 14:09:51 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
4093 * Added silc_mime_parse function to parse MIME headers.
4094 Affected files are lib/silcutil/silcstruti.[ch].
4096 * Added MIME header parsing in Irssi SILC Client. It displays
4097 all textual MIME objects, others it ignores. Affected file
4098 is irssi/src/silc/core/clien_ops.c.
4100 Wed Apr 17 22:07:59 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
4102 * Fixed a bug in the pid writing function, which couldn't be
4103 written in a root-owned directory.
4105 Tue Apr 16 09:34:40 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4107 * Defined that channel message to unknown Channel ID must
4108 cause SILC_NOTIFY_TYPE_ERROR notify message to the sender.
4109 Updated the protocol specs and the code in server. The
4110 affected file is silcd/packet_receive.c.
4112 Mon Apr 15 19:57:57 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4114 * Added new notify type SILC_NOTIFY_TYPE_ERROR and specified
4115 that it is used to send error notifys if error occurs during
4116 some SILC packet processing, except commands. The error
4117 types are same as for command reply types. Defined that
4118 if private message is sent to unknown Client ID the error
4119 is sent in SILC_NOTIFY_TYPE_ERROR instead of command reply.
4120 Updated the protocol specs and code. Affected files are
4121 lib/silccore/silcnotify.h, added lib/silccore/silcstatus.h,
4122 lib/silcclient/client_notify.c, silcd/packet_receive.c,
4123 and irssi/src/silc/core/client_ops.c. Renamed the
4124 SilcCommandStatus to SilcStatus.
4126 * Defined the use of extra WHOIS attributes in WHOIS command.
4127 The <Requested Attributes> (defined in a separate document)
4128 can be used to request additional information about user
4129 not returned by standard WHOIS command. Defined that server
4130 can send WHOIS command directly to client. Client provides
4131 the requested attributes to the server. Updated the protocol
4132 specs. Protocol TODO #4. Implementation is not done yet
4133 (Protocol TODO #24).
4135 * Renamed function silc_client_command_status_message to
4136 silc_client_status_message. Affected files are
4137 lib/silcclient/command_reply.[ch].
4139 Sun Apr 14 21:13:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4141 * Changed the WHOIS, IDENTIFY and WHOWAS count arguments to
4142 32 bit integers. Updated the protcol specs and the code.
4143 Affected files are silcd/command.c and
4144 lib/silcclient/command.c.
4146 Sun Apr 14 19:49:02 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
4148 * Fixed a bug in library where sending a bogus authentication
4149 payload would lead to a crash. Affected file is
4150 lib/silccore/silcauth.c.
4152 Sat Apr 13 13:09:24 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4154 * Added detach_disabled and detach_timeout server config
4155 options to the server. Affected files silcd/serverconfig.[ch],
4156 silcd/command.c and silcd/packet_receive.c.
4158 Fri Apr 12 20:09:08 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4160 * Added resolve_cmd_ident field to the SilcClientEntry structure
4161 too so that if the entry is for example being resolved so
4162 another command may attach to the same pending command reply
4163 without requiring to resolve the same entry again. Added
4164 support for adding multiple pending commands for one
4165 command idenfier. Affected files lib/silcclient/command.[ch],
4166 lib/silcclient/command_reply.[ch], lib/silcclient/idlist.h.
4168 Fri Apr 12 10:17:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4170 * Defined that server receives WHOIS command reply for private
4171 and secret channels too. Updated protocol specs and the
4172 code in server. Affected file silcd/command.c.
4174 * Defined <channel user mode list> argument to WHOIS command
4175 reply for returning user modes on the channels. The
4176 channel list now doesn't include the user mode anymore but the
4177 actual channel mode. Updated protocol specs and the code in
4178 client and server. Affected files are silcd/command_reply.c,
4179 silcd/command.c, silcd/server.c, irssi/src/silc/core/client_ops.c,
4180 and lib/silcclient/command_reply.c.
4182 * Save the channels list in WHOIS command reply in normal server
4183 so that WHOIS always shows joined channels also in normal
4184 server and not just on router. Affected file is
4185 silcd/command_reply.c.
4187 Thu Apr 11 22:29:33 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4189 * Defined that server receives USERS command reply for private
4190 and secret channels too. Updated protocol specs and the
4191 code in server. Affected file silcd/command.c.
4193 Thu Apr 11 16:32:08 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4195 * Changed the UMODE's mode mask argument to be optional. If
4196 not provided then the command merely returns the current mode
4197 mask to the client. Updated protocol specs and the server.
4198 Affected file is silcd/command.c.
4200 * Added SILC session detachment/resuming support. It is possible
4201 to detach by closing the network connection and then re-connect
4202 and resume to the old client session. Added DETACHED user
4203 mode that server will set for detached client. Added new
4204 packet RESUME_CLIENT which is used to perform the resuming
4205 process. Added DETACH command. Updated the protocol specs,
4206 core library, client and server. Protocol TODO #22. Very
4207 many affected files around the tree.
4209 Wed Apr 10 16:32:01 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4211 * Changed the CMODE's mode mask argument to be optional. If
4212 not provided then the command merely returns the current mode
4213 mask to the client. Updated protocol specs and the server.
4214 Affected file is silcd/command.c.
4216 * Changed the Killer's Client ID in KILLED notify to be just
4217 any ID payload since router server is allowed to kill as well.
4218 Updated protocol specs, client libary and server. Affected
4219 files are lib/silcclient/client_notify.c, silcd/packet_receive.c,
4220 and irssi/src/silc/core/client_ops.c.
4222 Tue Apr 9 17:15:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4224 * Added new user modes ANONYMOUS for special anonymous servers
4225 that may set the mode for client, and BLOCK_PRIVMSG which
4226 client may set to block incoming private messages unless the
4227 Private Message Key flag is set (using private keys to protect
4228 private messages). Updated protocol specs and code in client
4229 and server and core library. Protocol TODO #23. Affected
4230 files are lib/silccore/silcmode.h, silcd/server.[ch],
4231 irssi/src/silc/core/client_ops.c, silcd/packet_receive.c,
4232 irssi/docs/help/in/umode.in, lib/silcclient/command.c.
4234 * Added new channel user mode BLOCK_MESSAGES which the client
4235 may set to itself to tell server not send channel messages.
4236 Other packets such as channel key packets are still sent.
4237 Protocol TODO #23. Updated the protocol specs, client and
4238 server. Affected files are lib/silccore/silcmode.h,
4239 irssi/docs/help/in/cumode.in, lib/silcclient/command.c,
4240 lib/silcutil/silcutil.c, silcd/command.c, and
4241 silcd/packet_send.c.
4243 Mon Apr 8 23:57:32 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4245 * Redefined the Status Payload to include now two 8 bit fields,
4246 instead of one 16 bit field. This now makes it possible to
4247 send list of errors. Updated the protocol specs and the code
4248 in core library, client library and server. Protocol TODO #1.
4249 Affected files are lib/silccore/silccommand.[ch],
4250 lib/silcclient/command_reply.[ch], silcd/command.c,
4251 silcd/command_reply.c and silcd/packet_receive.[ch].
4253 Mon Apr 8 19:57:40 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
4255 * Added config parse status SILC_CONFIG_EPRINTLINE, this status
4256 must be handled by the application and should tell the application
4257 that an error message was already printed, and it should print the
4258 config coords (line, filename, ...). Affected files are
4259 silcd/serverconfig.c, lib/silcutil/silcconfig.[ch].
4261 * Added local macro SILC_SERVER_CONFIG_ALLOCTMP to make the
4262 server config parsing code more readable.
4264 Fixed a bug in the fetch_logging() config callback.
4266 Affected files is silcd/serverconfig.c.
4268 * Drop root privileges when started in foreground. Don't drop them
4269 if debugging also. Affected file is silcd/silcd.c.
4271 Mon Apr 8 17:00:41 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4273 * Added more IM-like features by introducing new user modes
4274 for setting various presence information. Added new modes:
4275 INDISPOSED, BUSY, PAGE, HYPER and ROBOT. Updated protocol
4276 specs and code. Protocol TODO #19. Affected files are
4277 lib/silccore/silcmode.h, irssi/src/silc/core/client_ops.c,
4278 irssi/docs/help/in/umode.in and lib/silcclient/command.c.
4280 Sun Apr 7 17:07:59 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4282 * Added STATS command to the protocol after all, to return
4283 various statistical information about the network. It can
4284 be used by clients to retrieve statistical information, and
4285 servers may use it to to fetch cell and network wide
4286 statistics from router. Updated the protocol specs and
4287 implemented it to the server. Protocol TODO #16.
4288 Affected files are lib/silccore/silccommand, silcd/command.[ch],
4289 silcd/command_reply.[ch].
4291 Sat Apr 6 17:08:58 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4293 * The LIST command reply in client libary now adds new channel
4294 entry if the returned channel doesn't exist yet in cache,
4295 and returns the channel entry to the application in the
4296 command_reply client operation. Affected file is
4297 lib/silcclient/command_reply.c.
4299 * Changed the channel message payload's MAC generation to
4300 include the IV in the MAC as well. This way all relevant
4301 parts of the channel message payload are authenticated also
4302 with the channel message MAC (and not only by packet MAC).
4303 Causes incompatibility with 1.0 protocol. Protocol TODO #7.
4304 Affected file is lib/silccore/silcchannel.c.
4306 * Fixed the SKE to save the remote version, since the
4307 silc_ske_parse_version mistakenly checked wrong version,
4308 after it replaced the start payload. Affected files are
4309 lib/silcske/silcske.[ch].
4311 Fri Apr 5 16:03:03 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4313 * Splitted lib/silcutil/silcutil.h into silcstrutil.h for
4314 string utility functions. Added there also new functions
4315 silc_utf8_[encode/decode/valid] for UTF-8 string encoding.
4316 Affected files lib/silcutil/silcstrutil.[ch].
4318 * Renamed silc_*_pem functions to silc_pem_* functions. Affected
4319 files are lib/silcutil/silcstrutil.[ch].
4321 * Defined that the security property fields in SKE SHOULD be
4322 UTF-8 encoded, defined that version string MUST be US-ASCII
4323 encoded, defined that passphrases sent in connection
4324 authentication protocol MUST be UTF-8 encoded. Implemented
4325 these to the client and server. Defined also that other
4326 passphrases sent in the protocol MUST be UTF-8 encoded.
4327 Affected files are lib/silcske/silcske.c,
4328 lib/silcclient/protocol.c, silcd/protocol.c,
4329 silcd/serverconfig.c, and lib/silccore/silcauth.c.
4331 * Changed the silc_client_close_connection interface to not
4332 need the SilcSocketConnection which should not be visible
4333 to application. Affected files are lib/silcclient/client.c
4334 and lib/silcclient/silcclient.h.
4336 * Rewrote the text for Private Message Key Payload in the
4337 protocol specification. Protocol TODO #11.
4339 Wed Apr 3 16:24:51 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
4341 * Upgraded the protocol version to 1.1, updated protocol specs
4344 * Added the nickname as new argument to NICK_CHANGE notify and
4345 added it to protocol specs and implemented it to client and
4346 server. Protocol TODO #3. Affected files are silcd/idlist.[ch],
4347 silcd/command.c, silcd/packet_receive.c, packet_send.[ch], and
4348 lib/silcclient/client_notify.c.
4350 * Added the killer's client ID to the KILLED notify and added
4351 it to protocol specs and implemented it to client and server.
4352 Protocol TODO #13. Affected files are silcd/command.c,
4353 silcd/packet_receive.c, packet_send.[ch],
4354 lib/silcclient/client_notify.c, irssi/src/silc/core/client_ops.c.
4355 The killer's client entry is now returned to application in
4356 the `notify' client operation.
4358 * Fixed the Max Argument fields that had too large value set
4359 in the protocol specs. Protocol TODO #14.
4361 * Added the LEAVE command reply to return the ID of parted
4362 channel. Updated protocol specs and implemented it to the
4363 client and server. Protocol TODO #15. Affected files are
4364 silcd/command.c, lib/silcclient/command_reply.c. The channel
4365 entry is now returned to application in the `command_reply'
4368 * Rewrote the version SKE version checking in client libary
4369 and in server to use the silc_parse_version_string. Affected
4370 files are lib/silcclient/protocol.c, silcd/protocol.c.
4372 * Added SILC_STATUS_ERR_NO_CHANNEL_FOPRIV error status to few
4373 commands that was missing it, and updated protocol specs and
4374 the server implementation. Protocol TODO #10. The affected
4375 file is silcd/command.c.
4377 * Defined new message flags SILC_MESSAGE_FLAG_REPLY to be
4378 generic reply to a generic request (REQUEST flag), and
4379 SILC_MESSAGE_FLAG_DATA to send any kind of data in a generic
4380 way. A draft-riikonen-silc-flags-payloads-00.txt is written
4381 to define the payload for DATA flag. Added the flags to
4382 the implementation. Protocol TODO #9. Affected file is
4383 lib/silccore/silcchannel.h.
4385 Changed the client library to return the message length
4386 to application as well in the channel_message and private_message
4387 client operations. Affected files are
4388 lib/silcclient/client_prvmsg, lib/silcclient/client_channel.c,
4389 lib/silcclient/silcclient.h, irssi/src/silc/core/client_ops.c,
4390 and lib/silcclient/client_ops_example.c.
4392 * Added two new channel modes: SILC_CMODE_SILENCE_USERS
4393 and SILC_CMODE_SILENCE_OPERS which can be used to moderate
4394 the channel. Updated protocol specs and impelemented this
4395 to client and server. Protocol TODO #6. Affected files are
4396 silcd/packet_receive.c, server_util.c, lib/silcclient/command.c,
4397 lib/silcclient/client_channel.c, lib/silccore/silcmode.h.
4399 Added new options m and M to CMODE command in Irssi SILC
4400 client to set these modes.
4402 * Deprecated all administrative commands from SILC protocol
4403 since they are highly implementation specific commands.
4404 Updated protocol specs. Moved the old commands in
4405 implementations to private range of command types. Affected
4406 files are silcd/command.c, lib/silcclient/command.c and
4407 lib/silcclient/command_reply.c. Protocol TODO #8.
4409 * Fixed a bug in server where sending unknown command crashes
4410 the server. Affected file silcd/command.c.
4412 Wed Apr 3 09:57:47 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
4414 * Added SILC_PROTOCOLVERSION macro to check protocol version
4415 of a socket connection. The affected file is
4416 lib/silcutil/silcsockconn.h.
4418 * Added better error logging in rekey protocol. Affected file
4421 * Do not check public key types in SKE during rekey. Affected
4422 file lib/silcske/payload.c.
4424 * Fixed the rekey protocol with PFS, which was totally broken.
4425 Affected file silcd/protocol.c.
4427 Tue Apr 2 14:55:06 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
4429 * Some client implementations quit network by doing first LEAVE
4430 and then immediately SIGNOFF (like Bombyx). We now do check
4431 after a short time after LEAVE notify and check whether the
4432 client is still valid after LEAVE, and if not we remove it from
4433 cache. Affected file is lib/silcclient/client_notify.c.
4435 Tue Apr 2 13:39:04 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
4437 * Merged version 1.1.4 of zlib. Even if it not currently in use,
4438 it's good not to have security holes here.
4440 * Fixed a negative refcount situtuation for the config context.
4441 Affected file is silcd/serverconfig.c.
4443 Mon Apr 1 20:15:10 CEST 2002 Johnny Mnemonic <johnny@themnemonic.org>
4445 * ROBOdoc documented lib/silcutil/silcutil.h.
4447 Sat Mar 30 21:06:45 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4449 * Optimized even more the SilcPacketContext structure. Now
4450 totally saved 16 bytes of memory per context after optimization.
4451 Affected files are lib/silccore/silcpacket.[ch].
4453 * Made strict checks for valid SILC IDs. Affected file is
4454 lib/silccore/silcid.c.
4456 Sat Mar 30 18:15:55 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4458 * Changed the object argument for silc_cipher_register,
4459 silc_hash_register, silc_hmac_register and silc_pkcs_register
4460 to const. Affected files are lib/silccrypt/silccipher.[ch],
4461 silchash.[ch], silchmac.[ch] and silcpkcs.[ch].
4463 * Changed the silc_get_username and silc_get_real_name to
4464 never fail. Affected file lib/silcutil/unix/silcunixutil.c.
4466 * Fixed the Irssi SILC Client to use the silc_get_username and
4467 silc_get_real_name insted of glib routines since the glib
4468 routines only corrupt stack. Fixes the Irssi SILC to work in
4469 Cygwin. Affected file irssi/src/silc/core/silc-core.c.
4471 * Fixed the Irssi to not use g_get_home_dir since it crashes
4472 or returns garbage on cygwin and corrupts stack. Added function
4473 get_home_dir to Irssi routines. Affected files are
4474 irssi/src/core/misc.[ch] and irssi/src/core/core.c.
4476 Fri Mar 29 21:55:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4478 * Made some structure optimizations. SFTP memory FS MemFSEntry
4479 entry structure. Optimized SilcTask structure. Optimized
4480 SilcPacketContext structure.
4482 Affected files lib/silcsftp/sftp_fs_memory.c,
4483 lib/silcutil/silcschedule.c, lib/silccore/silcpacket.h.
4485 Fri Mar 29 10:41:07 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4487 * And yet again reverted back the config thing since Johnny
4488 screwed it up. Affected file silcd/serverconfig.[ch], server.c,
4491 * Fixed memory leaks from config object. Affected files are
4492 silcd/serverconfig.[ch].
4494 * Added support for adding new connections to the server in rehash.
4495 After rehash they take effect.
4497 Added support for changing the maximum allowed connections in
4498 rehash. The number can grow but going smaller is not supported.
4500 Added function silc_server_num_sockets_by_remote to the
4501 silcd/server_util.[ch].
4503 Affected files are silcd/server.c, and silcd/serverconfig.[ch].
4505 Fri Mar 29 03:26:12 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
4507 * Added preliminary checking during config parsing for a valid
4508 public/private key and removed further checks in the code.
4509 Affected files are silcd/serverconfig.[ch], server.c.
4511 * Moved functions silc_server_drop() and silc_server_daemonise()
4512 from server.c to silcd.c since they are stricly related to
4513 the application activity.
4515 * Reverted a small part of the automatic ref/unref since
4516 it caused a double unref in some situations. Affected
4517 files are silcd/silcd.[ch], server.c, serverconfig.c.
4519 * Added some .cvsignore files in the lib directory.
4521 Thu Mar 28 22:51:15 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4523 * Fixed silc_net_gethostbyaddr to correctly resolve by
4524 address. Affected file lib/silcutil/silcnet.c.
4526 * Fixed the notify relaying to client. The HMAC to be used
4527 with relayed packets ws wrong and caused decryption failure
4528 at the client end. Affected file is silcd/packet_receive.c.
4530 Thu Mar 28 19:02:05 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4532 * Created new branch silc_protocol_1_0_branch.
4534 * Reverted the silc_log_quick change in lib/silcutil/silclog.c.
4536 * Changed the silc_server_config_* routines to be SilcServer
4537 independent. They are now officially application specific code
4538 and not part of generic server implementation. Affected files
4539 are silcd/serverconfig.[ch], silcd/silcd.c, silcd/server.c.
4541 Thu Mar 28 17:01:43 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4543 * Added automatic referencing of config context in the
4544 silc_server_config_alloc, and automatic unreferencing in the
4545 silc_server_config_destroy. Affected files are
4546 silcd/serverconfig.[ch], silcd/silcd.c.
4548 * Fixed the silc_log_quick handling in the logging routines.
4549 It didn't log quickly when it was TRUE. Affected file is
4550 lib/silcutil/silclog.c. Also the flush delay was set even
4551 if it was 0 in config file. Affected file is
4552 silcd/serverconfig.c.
4554 * Added support for changing key pair of the server in rehash.
4555 Affected file silcd/server.c.
4557 Thu Mar 28 12:17:21 CET 2002 Pekka Riikonen <priikone@silcnet.org>
4559 * Fixed the TOPIC_SET notify to not cras. It changed the topic
4560 too early, before getting the channel entry. Affected file
4561 is silcd/packet_receive.c.
4563 Thu Mar 28 09:58:16 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
4565 * Added functions silc_server_config_[ref/unref], these are used
4566 to prevent that the config object is destroyed.
4568 No longer directly affect global variables silc_log_quick and
4569 silc_log_delay, they are first cached inside the config object
4570 and then applied with silc_server_config_setlogfiles().
4572 silc_server_config_set_defaults() is now internal to
4573 serverconfig.c, there are no reasons to show this internal stuff
4576 Affected files are silcd/serverconfig.[ch].
4578 * Added macro SILC_SERVER_LOG_STDERR(), this should replace most
4579 fprintf's to stderr, since some code may be executed again after
4580 the server went into the background. Affected files are
4583 * Added rehash support. Added function silc_server_rehash() that
4584 will perform all the basic tasks of the rehashing procedure.
4586 * Added command line option `-x, --hexdump'. This will enable the
4587 SILC_LOG_HEXDUMP calls that are no longer enabled with `--debug'.
4588 The option `--hexdump' implies `--debug'.
4590 * Fixed a bad bug in the logging APIs (silcutil library) where
4591 the application would crash after calling silc_log_reset_all().
4593 Wed Mar 27 19:43:16 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4595 * Fixed the KICKED notify handling in client library to
4596 correctly remove the channel and all entries from the
4597 channel when I was kicked. This bug crashed the client.
4599 Fixed yet another but in KICKED notify handling to remove
4600 the kicked client correctly from the channel.
4602 Affected file is lib/silcclient/client_notify.c.
4604 * Fixed a minor bug in looking up correct client entry
4605 in KICKED notify in server. Affected file is
4606 silcd/packet_receive.c.
4608 * Fixed the lib/silcmath/Makefile.am to include the MPI and GMP
4609 sources correctly to distribution. Fixes --with-gmp option.
4611 * Removed the manual rehashing from ID Cache, and changed it
4612 to use the SILC Hash Table's auto rehash feature. Affected
4613 file is lib/silccore/silcidcache.c.
4615 Wed Mar 27 00:07:11 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4617 * Fixed a bug in the silc_client_nickname_format function that
4618 handles the multiple same nickname formatting. Two clients
4619 with same nickname caused problems after the first one left
4620 and rejoined. It didn't format the nickname correctly.
4621 Affected file is lib/silcclient/idlist.c.
4623 Tue Mar 26 19:33:03 CET 2002 Pekka Riikonen <priikone@silcnet.org>
4625 * Don't change the topic if olod topic is same as new one.
4626 Affected file is silcd/packet_receive.c.
4628 Mon Mar 25 21:11:35 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4630 * Added cross-reference support to the SILC Documentation
4631 generator. All types across all HTML files are now cross-
4632 referenced. Affected files util/robodoc/generator.c and
4633 scripts/silcdoc/silcdoc.
4635 * Added file lib/silcutil/silctypes.h to include all the
4636 arithmetic type definitions and some macros. Removed
4637 includes/bitmove.h and moved macros to silctypes.h.
4639 Mon Mar 25 17:19:46 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4641 * Merged bugfixes for Irssi SILC client from irssi.org CVS.
4643 Sun Mar 24 11:21:04 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4645 * Added `type' argument to silc_id_payload_parse_id function which
4646 now returns the type of the ID to the sent pointer. Affected
4647 file is lib/silccore/silcid.[ch].
4649 * Added check for CMODE_CHANGE notify type that mode change is
4650 allowed by the sender. Affected file silcd/packet_receive.c.
4652 * Added check for CUMODE_CHANGE notify type that mode change is
4653 allowed by the sender. Affected file silcd/packet_receive.c.
4654 Added the ID type as CUMODE_CHANGE notify type as argument
4655 to the `notify' client operation. Affected files are
4656 lib/silcclient/client_notify.c, irssi/src/silc/core/client_ops.c.
4658 * Added function silc_client_add_server to the client library.
4659 Added support for resolving also channel and server info when
4660 received unknown entity in notify packet. Affected files are
4661 lib/silcclient/idlist.[ch], lib/silcclient/client_notify.c.
4663 * Added function silc_command_get_status to return the command
4664 status from the command reply's argument payload. Affected files
4665 are lib/silccore/silccommand.[ch].
4667 * Added check for KICKED notify type that the kicking is
4668 allowed by the client. Affected file silcd/packet_receive.c.
4670 * Created function silc_get_input which can be used to get input
4671 (echo on or off) from user on command line. Affected files are
4672 lib/silcutil/silcutil.[ch].
4674 Sat Mar 23 09:51:26 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4676 * Optimized silc_server_packet_relay_to_channel function.
4677 Added new function silc_channel_message_payload_encrypt which
4678 can be called directly if channel message payload needs to
4679 be encrypted and is already encoded (no need to call _encode
4680 function). Packet relaying is now done by router without any
4681 extra memory allocations. Affected files are
4682 lib/silccore/silcchanel.[ch], silcd/packet_receive.c and
4683 silcd/packet_send.c.
4685 * Fixed the INVITE notify handling. It took wrong arguments
4686 as invite list and invite delete. Affected file is
4687 silcd/packet_receive.c.
4689 * Added check for TOPIC_SET notify type that the topic change is
4690 allowed by the client. Affected file silcd/packet_receive.c.
4692 * Added check for INVITE notify type that inviting is allowed by
4693 the client. Affected file silcd/packet_receive.c.
4695 * Changed the silc_server_client_on_channel to return the
4696 SilcChannelClientEntry as well. Moved the function
4697 silc_server_check_cmode_rights to server_util.[ch].
4698 Affected files are silcd/server_util.[ch], silcd/command.c.
4700 * Added function silc_server_check_umode_rights to check whether
4701 changing client's user mode is allowed. Added check for
4702 UMODE_CHANGE notify type that the umode change is allowed
4703 by the client. Affected files are silcd/server_util.[ch],
4704 silcd/packet_receive.c and silcd/command.c.
4706 Fri Mar 22 12:25:58 CET 2002 Pekka Riikonen <priikone@silcnet.org>
4708 * Fixed the SILC_PACKET_MAX_ID_LEN to actually be the max
4709 ID length. It ignored that ID can be IPv6 based as well.
4710 Affected file lib/silccore/silcpacket.h.
4712 * Fixed the silc_id_id2str and silc_id_str2id to take the
4713 IPv6 address offset's into consideration. Affecte file is
4714 lib/silccore/silcid.c.
4716 Thu Mar 21 20:44:13 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4718 * Fixed the internal Unix scheduler functions to check for
4719 NULL context they may receive. The affected file is
4720 lib/silcutil/unix/silcunixschedule.c.
4722 Thu Mar 21 19:12:22 EET 2002 Timo Sirainen <tss@iki.fi>
4724 * Changed hardcoded ~/.silc paths to use get_irssi_dir() so you
4725 can specify different directory with --home command line
4726 parameter. Affected files irssi/src/silc/core/client_ops.c,
4729 * SILC-specific commands aren't now executed if the active server
4730 isn't of SILC-type, so there won't be problems with having
4731 IRC and SILC protocol support in same client. Affected files
4732 irssi/src/silc/core/silc-channels.c, silc-servers.c,
4735 Wed Mar 20 11:06:57 CET 2002 Pekka Riikonen <priikone@silcnet.org>
4737 * Improved the signal support in SILC Schedule. Added new
4738 function silc_schedule_signal_call which is used by application
4739 to mark a signal to be called. It is now safe to perform
4740 any kind of tasks in signal callbacks since it is guaranteed
4741 that the application specified signal callback is called
4742 after the signal is over. Affected files are
4743 lib/silcutil/silcschedule.[ch], lib/silcutil/*/silc*schedule.c.
4745 Tue Mar 19 20:42:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4747 * Added `name' field to SilcChannelPrivateKey to represent
4748 application given name for the key. Moved also the context from
4749 lib/silcclient/idlist.h into lib/silcclient/silcclient.h.
4750 Added the `name' argument also to the function
4751 silc_client_add_channel_private_key.
4753 Added function silc_client_current_channel_private_key to set the
4754 current channel private key in use.
4756 Added "change" command to KEY command which can be used to change
4757 the current channel private key. Bound the command also to
4758 alt+K (Alt+Shift+k).
4760 Also affected files lib/silcclient/client_channel.c,
4761 irssi/src/docs/help/in/key.in, irssi/src/silc/core/silc-channel.c.
4763 Tue Mar 19 16:32:43 CET 2002 Pekka Riikonen <priikone@silcnet.org>
4765 * Added silc_rng_get_byte_fast function in to the
4766 lib/silccrypt/silcrng.[ch].
4768 * Changed the interface of silc_packet_assemble and the
4769 silc_packet_send_prepare. If silc_packet_assmble is now
4770 called the application does not call silc_packet_send_prepare
4771 because the library will call it automatically. These
4772 interfaces now also return a reference to the outgoing buffer
4773 which includes the assembled packet, which the application can
4774 use to encrypt the packet.
4776 Affected files are lib/silccore/silcpacket.[ch],
4777 lib/silcclient/client.c, client_channel.c client_prvmsg.c,
4778 silcd/packet_send.c, server_backup.c and packet_receive.c.
4780 * Fixed a packet sending bug on very high load, where outgoing
4781 packet queue wasn't handled correctly and packets got corrupted.
4782 Affected files are lib/silcutil/*/silc*sockconn.c,
4783 lib/silcclient/client.c and silcd/server.c.
4785 Mon Mar 18 21:00:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4787 * Added macro SILC_PACKET_DATALEN which can be used during
4788 packet assembling to check whether the data to be added to
4789 the packet will fit to SILC_PACKET_MAX_LEN. If not the data
4790 len is truncated until it fits it.
4792 Added checks for maximum length of channel message payload and
4793 private message payload also.
4795 Added checks for maximum packet length in server and in
4798 Affected files are lib/silccore/silcpacket.h, silcd/packet_send.c,
4799 lib/silcclient/client.c, lib/silccore/silcchannel.c and
4800 lib/silccore/silcprivate.c, lib/silcclient/client_channel.c and
4801 lib/silcclient/client_prvmsg.c.
4803 Mon Mar 18 14:54:42 CET 2002 Pekka Riikonen <priikone@silcnet.org>
4805 * Added silc_server_packet_queue_purge call to the
4806 silc_server_disconnect_remote to assure that all data in the
4807 queue before disconnecting is sent to the network. Affected
4808 file silcd/server.c.
4810 Sun Mar 17 19:26:16 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4812 * Added the deleting of server's own ID cache entry to the
4813 silc_server_free function. Free also everything else that
4814 has been allocated in silc_server_init. The affected file
4817 Sun Mar 17 15:44:56 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4819 * Added functions silc_parse_version_string, silc_version_to_num,
4820 and silc_ske_parse_version to parse SILC protocol style version
4821 strings. Affected files lib/silcutil/silcutil.[ch] and
4822 lib/silcske/silcske.[ch].
4824 * Added new configuration params: version_protocol, version_software
4825 and version_software_vendor to specify what version the remote
4826 host must at least be to be able to connect to server. The vendor
4827 string can be regex matched too. Added new function
4828 silc_server_connection_allowed to check maximum number of allowed
4829 connections, and allowed versions for incoming connections.
4830 Affected files are silcd/server.c, server_util.[ch] and
4833 Sun Mar 17 10:24:50 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4835 * Added preliminary support for signals in scheduler. The
4836 signals we care about are now blocked always when the scheduler
4837 is locked. This way we can synchronise the use of signal with
4838 scheduler. It is guaranteed that when signal occurs the scheduler
4839 is not locked, and thus new tasks can be safely added to the
4842 Renamed silc_schedule_wakeup_init and silc_schedule_wakeup_uninit
4843 to silc_schedule_internal_init and silc_schedule_internal_uninit.
4844 Added new platform specific routines
4845 silc_schedule_internal_signals_[un]block and
4846 silc_schedule_internal_signal_[un]register.
4848 Added new functions to SILC Schedule API:
4849 silc_schedule_signal_[un]register. Each signal that application
4850 is going to use should be registered to the scheduler.
4852 Affected files are lib/silcutil/silcschedule.[ch],
4853 lib/silcutil/*/silc*schedule.c.
4855 Sat Mar 16 22:39:23 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4857 * Check for unauthenticated client and server in the
4858 silc_server_new_client and silc_server_new_server functions.
4859 Affected file silcd/packet_receive.c.
4861 * Added function silc_string_is_ascii to check whether given
4862 string is 7-bit ASCII string. Affected files are
4863 lib/silcutil/silcutil.[ch].
4865 * Added function silc_id_is_valid_server_id into the
4866 silcd/serverid.c and added checking for valid Server ID's in
4867 silc_server_new_server. The Server ID must always be based
4868 on the server's public IP address.
4870 * Added logging of DISCONNECT packet message in the server.
4871 Affected file silcd/server.c.
4873 Sat Mar 16 18:04:30 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4875 * Changed all library interfaces that use Global RNG to also
4876 accept SilcRng as argument. Affected files are
4877 lib/silcclient/command.c, lib/silccore/silcauth.[ch],
4878 lib/silccore/silcchanel.[ch], lib/silcclient/client_channel.c,
4879 silcd/packet_send.c, lib/silccore/silcprivate.[ch],
4880 lib/silcmath/silcprimegen.c, lib/silcmath/silcmath.h, and
4881 lib/silccrypt/rsa.c.
4883 * Added function silc_pkcs_generate_key to the
4884 lib/silccrypt/silcpkcs.[ch] for applications so that they
4885 don't need to do pkcs->pkcs->init calls anymore.
4887 * Remove SilcSocketConnection from the SFTP API since it really
4888 wasn't needed there. The application has the information
4889 saved in its contexts anyway and the SFTP layer doesn't need
4890 know about it. Affected files lib/silcsft/silcsftp.h and
4891 lib/silcsftp/sftp_[server/client].c.
4893 * Rewrote the SILC SIM (modules) interface in lib/silcsim.[ch].
4894 The SilcSimContext is not SilcSim.
4896 * Fixed possible buffer overflows in silc_id_render in the
4897 lib/silcutil/silcutil.c.
4899 * On EPOC the global crypto module lists are not used at all
4900 in the crypto library. Added support for using the constant
4901 algorithm list on EPOC. Affected files are
4902 lib/silccrypt/silccipher.c, silchash.c, silchmac.c and
4905 * Fixed the handling of third parameter of KICKED notify, since
4906 it was mistakenly updated to SILC Protocol 1.0 even though it
4907 is to be included in 1.1. Since it is not in 1.0 it is not
4908 mandatory, and this fix now handles it only if it is provided,
4909 and it is not error if it is not provided. Affected file
4910 lib/silcclient/client_notify.c.
4912 Sat Mar 16 09:07:27 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4914 * Handled CHANNEL_CHANGE notify (ignore it) in Irssi SILC
4915 client. Affected file irssi/src/silc/core/client_ops.c.
4917 * Merged with Irssi 0.8.4 from irssi.org CVS.
4919 Thu Mar 14 12:53:57 CET 2002 Pekka Riikonen <priikone@silcnet.org>
4921 * Check for valid socket connection in client entries before
4922 sending any messages. Fixes a crash, but doesn't fix some
4923 other underlaying bug that is lurking there. Affected
4924 file silcd/packet_send.c.
4926 Thu Mar 14 13:38:12 EET 2002 Timo Sirainen <tss@iki.fi>
4928 * $usermode, $cumode and $cumode_space expandos shouldn't do
4929 anything with non-SILC server records. Affected file
4930 irssi/src/silc/core/silc-expandos.c
4932 Wed Mar 13 21:38:26 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4934 * Fixed the silc_net_check_[host/local]_by_sock to support
4935 IPv6 bound sockets as well. Now they can return IPv6 addresses
4936 as well. Affected file lib/silcutil/silcnet.c.
4938 * Fixed silc_net_addr2bin to correctly convert IPv6 addresses.
4939 Affected lib/silcutil/unix/silcunixnet.c.
4941 * Fixed ID rendering (at least on some platforms, not NetBSD)
4942 for IPv6 addresses. Affected file lib/silcutil/silcutil.c.
4944 Tue Mar 12 17:58:59 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4946 * Added silc_hash_public_key and silc_hash_public_key_compare
4947 functions to be used with SilcHashTable. They can be used to
4948 hash public keys and compare public keys in hash table. Affected
4949 file lib/silcutil/silcutil.[ch].
4951 * Added support for specifying multiple public keys for Client
4952 connection section in server configuration file. This makes it
4953 possible to accept multiple public keys from same host, or to
4954 make a section that accepts any incoming host, and have the
4955 accepted public keys listed in the section.
4957 Added functions silc_sever_[find/get]_public_key, added the
4958 support for this actually to all connection sections but only
4959 the Client section is currently allowed to specify multiple
4962 Affected files are silcd/server.c, server_internal.h,
4963 command.c, protocol.c, server_util.[ch], packet_receive.c.
4965 Mon Mar 11 23:37:38 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4967 * Merged Irssi 0.8.2 from irssi.org CVS.
4969 Sun Mar 10 23:34:48 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
4971 * If silc_debug is TRUE, also output standard logging messages
4972 to stderr with the debug output.
4974 Made silc_log_reset_all() flushing all channels before returning.
4975 Also fixed some documentation typos.
4977 Affected files are lib/silcutil/silclog.[ch].
4979 Sun Mar 10 20:07:49 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4981 * Fixed the server to check correctly the amount of connections
4982 from single host, by checking also the type of the connection.
4983 Fixed also the comparison of number of connections and number
4984 of allowed connections. Affected files are silcd/server.c,
4987 Fri Mar 8 17:16:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
4989 * Fixed the USERS command reply to save the user's mode on the
4990 channel as well. Fixed JOIN command reply to check whether a
4991 client is on channel already and not join it twice. Affected
4992 file lib/silcclient/command_reply.c.
4994 * Added new file silc-expandos.c into irssi/silc/core/ to return
4995 various stuff for various signal for the statusbar etc. updating.
4996 Now Irssi SILC client prints channel user modes etc. on the
4999 * The user mode (like server/router operator changes) is now shown
5000 on the Irssi SILC client's statusbar. The affected files are
5001 irssi/src/silc/core/client_ops.c, silc-expandos.c.
5003 Thu Mar 7 19:21:22 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5005 * Changed silc_mutex_[un]lock calls in lib/silcutil/silcschedule.c
5006 to SILC_SCHEDULE_[UN]LOCK macros.
5008 * Added more error printing to logs in server code. Affected
5009 files silcd/server.c and silcd/protocol.c.
5011 * Fixed -S option parsing in Irssi SILC Client. Affected file
5012 irssi/src/silc/core/silc-core.c.
5014 * Added silc_buffer_alloc_size function. Affected file is
5015 lib/silcutil/silcbuffer.h.
5017 Tue Mar 5 14:37:27 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5019 * Changed all silc_[hash|hmac|cipher|pkcs]_default tables to
5020 constants. Affected files in
5021 lib/silccrypt/silcpkcs.[ch], silchash.[ch], silchmac.[ch] and
5024 * Changed the internal SFTP Memory FS table to const. Affected
5025 file lib/silcsftp/sftp_fs_memory.c.
5027 Sun Mar 3 18:37:13 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5029 * Fixed the buffer formatting and unformatting routines to
5030 check the size of 64 bits types with sizeof(). Affected
5031 file is lib/silcutil/silcbuffmt.c.
5033 Mon Feb 25 17:19:05 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5035 * Removed 0.6.x backwards support.
5037 Sun Feb 24 12:53:25 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5039 * Changed all integer type names:
5040 [u]int[8/16/32/64] -> Silc[UInt/Int][8/16/32/64]. This is
5041 to avoid collisions with other libraries using same type names
5044 Sat Feb 23 20:31:43 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5046 * Added `prefer_ipv6' argument to the functions
5047 silc_net_gethostbyname[_async]. If it is TRUE it will return
5048 IPv6 address over IPv4. If FALSE IPv4 address is returned
5049 even if IPv6 address was found. Affected files
5050 lib/silcutil/silcnet.[ch].
5052 * Added support silc_net_create_connection[_async] to fallback
5053 to IPv4 address if IPv6 address could not be used (like if
5054 it doesn't work on a specific system). Affected file in
5055 lib/silcutil/unix/silcunixnet.c.
5057 Sat Feb 23 15:20:30 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5059 * Added silc_schedule_reinit function to do the enlarging
5060 of the max tasks handling capabilities of the scheduler.
5061 Affected files lib/silcutil/silcschedule.[ch].
5063 Wed Feb 20 20:41:01 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5065 * Added automatic extern "C" { ... } for C++ compilers so the
5066 application does not need to define them. Affected file
5067 includes/silcincludes.h.
5069 * Renamed lib/silcclient/silcapi.h to silcclient.h as the
5070 old name went against naming convention. Applications now
5071 include "silcclient.h" instead of "clientlibincludes.h".
5072 Removed includes/clientlibincludes.h, it is redundant now.
5074 * Renamed includes/version.h to silcversion.h.
5076 * Added really preliminary support for OS/2 into the util
5077 library. Only thread & mutex API is implemented, others
5078 are still to be implemented. Created the lib/silcutil/os2/
5079 directory. Created also file includes/silcos2.h.
5081 Wed Feb 20 18:48:49 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5083 * Added preliminary BeOS support into the util library.
5084 Created lib/silcutil/beos/, and implemented all the needed
5085 functions to support SILC on BeOS. Created also file
5086 includes/silcbeos.h.
5088 Mon Feb 18 15:49:22 EET 2002 Timo Sirainen <tss@iki.fi>
5090 * Added proper initializations to silc's irssi code, so it's
5091 now possible to load it as module. Affected files
5092 irssi/src/silc/core/silc-core.c,
5093 fe-common/silc/fe-common-silc-core.[ch] and fe-text/silc.c
5095 Sun Feb 17 19:02:56 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5097 * Merged latest Irssi (0.8.1) from the irssi.org's CVS into
5100 * Fixed the silcdoc document generator to correct generate
5101 docs from all kinds of filenames. Affected files are
5102 util/robodoc/Source/generator.c, scripts/silcdoc/silcdoc
5104 * ROBOdoc documented lib/silcutil/silcmemory.h.
5105 Added also new function silc_memdup.
5107 * Removed lib/silcutil/silcbufutil.h and moved those routines
5108 to the lib/silcutil/silcbuffer.h.
5110 Sun Feb 17 15:52:30 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5112 * Added `user_count' to the SilcChannelEntry which now tells the
5113 number of users on the channel. The user count is now saved
5114 in normal server of global channels as well. Affected files
5115 silcd/server.c, idlist.h, packet_receive.c and command.c.
5117 * Splitted lib/silcutil/silcutil.[ch] into silcfileutil.[ch] to
5118 include file utility functions.
5120 * Fixed the lib/silcsftp/sftp_fs_memory.c to use silcutil routines
5121 instead of calling directly OS routines.
5123 * Fixed NICK change printing in Irssi SILC Client. Fixed
5124 KICKED notify printing in Irssi SILC Client. Affected file
5125 irssi/src/silc/core/client_ops.c.
5127 * Fixed a NICK change bug in client library, to not recreate the
5128 client_entry->channels hash table everytime nick is changed.
5129 Affected file lib/silcclient/client.c.
5131 Sun Feb 17 10:10:14 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5133 * ROBOdoc documented the lib/silcske/silcske.h, and improved
5134 the SKE interface a bit.
5136 * Fixed padding problem in PKCS#1. The padding was not actually
5137 random since the random number generator was used incorrectly.
5138 This security bug affects only when encrypting with PKCS#1, and
5139 it is not currently used at all in SILC. SILC only use signing
5140 with PKCS#1. Affected file lib/silccrypt/pkcs1.c.
5142 Sat Feb 16 13:44:24 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5144 * Rewrote the notify handling in Irssi SILC client to not call
5145 the events as signals. Fixes problems with Perl support.
5146 Affected files irssi/src/silc/core/client_ops.c, silc-channels.c.
5148 * Send the auto-nicking NICK command in client library with
5149 little timeout after connecting. The affected file is
5150 lib/silcclient/client.c.
5152 * Added following new config file settings:
5153 channel_rekey_secs, key_exchange_rekey, key_exchange_pfs,
5154 key_exchange_timeout, conn_auth_timeout, connections_max,
5157 Implemented all the new config settings handling in the server.
5159 Optimized the use of SKE Mutual flag usage. Use it only
5160 if connection authentication protocol is not based in public
5163 Renamed all SilcServerConfigSection* to SilcServerConfig*
5164 to have a bit shorter names.
5166 Affected files silcd/serverconfig.[ch], server.[ch], and
5169 Sat Feb 16 02:46:43 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
5171 * Cleaned up the listening sockets code, preparing for the rehash
5172 support. Affected file is silcd/server.c.
5174 * Fixed some output messages. Affected files are silcd/silcd.c,
5177 Fri Feb 15 19:10:20 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5179 * Create lib/doc/silcrng_intro.html document as introduction
5180 to SILC RNG. ROBOdoc documented lib/silccrypt/silcrng.h.
5182 Fri Feb 15 13:23:03 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
5184 * Fixes to the silcd config template. Affected file is
5185 doc/example_silcd.conf.in.
5187 * Removed type casts from silc_calloc(), conforming to the
5188 CodingStyle. Affected file is lib/silcutil/silcconfig.c.
5190 * Removed param_name member from client, server, and router
5191 section structs, now identifying the param directly.
5193 Added CONFIG_FREE_AUTH macro in config file parsing.
5195 Affected files are silcd/serverconfig.[ch].
5197 Fri Feb 15 12:24:08 EET 2002 Timo Sirainen <tss@iki.fi>
5199 * Fixed command line parameter handling. All SILC initialization
5200 is now done in silc_core_init() which also fixes autoconnecting
5203 Affected files irssi/src/silc/core/silc-core.c,
5204 irssi/src/fe-text/silc.c.
5206 Thu Feb 14 22:03:58 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5208 * Added new configuration options and blocks:
5209 keepalive_secs, reconnect_count, reconnect_interval,
5210 reconnect_interval_max, reconnect_keep_trying and
5211 require_reverser_lookup. Added ConnectionParam block, and
5212 implemented the connection parameters when connecting as
5213 initiator and when accepting connections as responder.
5215 Added CONFIG_IS_DOUBLE macro in config file parsing, to check
5216 whether given configuration value has been given already.
5218 Affected files silcd/serverconfig.[c], server.[c].
5220 * Splitted the doc/example_silcd.conf.in. Separated the crypto
5221 algorithm parts and created new file silcalgs.conf, that
5222 is now included from the example_silcd.conf.in.
5224 * Optimized the silc_server_connect_to_router_second to take
5225 the connection configuration object from the SilcServerConnection
5226 object instead of finding it during the connecting phase.
5227 Added the configuration object to SilcServerConnection struct.
5228 Affected files silcd/server_internal.h, server.c.
5230 Thu Feb 14 16:02:26 CET 2002 Pekka Riikonen <priikone@silcnet.org>
5232 * Add the client on channel after it was resolved at the
5233 channel message receiving, and it was not already on the
5234 channel. Affected file lib/silcclient/client_channel.c.
5236 Wed Feb 13 23:16:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5238 * Fixed the public key authentication to allocate always the
5239 destination signature buffer instead of using static buffer.
5240 Affected file silcd/protocol.c.
5242 Wed Feb 13 20:51:13 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5244 * Unified the serverconfig.[ch]'s helper function interface.
5245 Affected file silcd/serverconfig.[ch].
5247 * Removed doc/example_silc.conf.in since it is redundant.
5248 The make install will now install irssi/silc.conf file.
5250 * Added new Passphrase and Publickey authentication methods to
5251 config file, allowing both public key and passphrase based
5252 authentication to be set at the same time.
5254 Added `prefer_passphrase_auth' setting in config file which
5255 can be used to set to prefer passwd auth if both passwd and
5256 public key is set. If not set, public key is preferred.
5257 This has effect only when being initiator (responder will try
5260 Added support for authentication with passphrase and public key
5261 at the same time. The passphrase is tried first always since
5262 it is faster to check.
5264 Affected file silcd/serverconfig.[ch], server.c, protocol.[ch].
5266 Wed Feb 13 12:46:25 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
5268 * Merged the new SILC Config library, with the server parsing
5269 support. Read the header file silcconfig.h or the toolkit
5270 documentation for the news. Affected files are
5271 doc/example_silcd.conf.in lib/silcutil/silcconfig.[ch]
5272 silcd/command.c silcd/packet_receive.c silcd/packet_send.c
5273 silcd/protocol.c silcd/server.c silcd/server_backup.c
5274 silcd/serverconfig.[ch] silcd/silcd.c.
5276 * Fixed some silclog documentation. Affected file is
5277 lib/silcutil/silclog.h.
5279 Sun Feb 10 18:11:30 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5281 * The silc_cipher_register, silc_hash_register and
5282 silc_hmac_register now checks if the object to be registered
5283 is registered already. Affected files are
5284 lib/silccrypt/silccipher.c, silchash.c and silchmac.c.
5286 Sun Feb 10 15:48:38 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5288 * Merged new irssi from irssi.org's CVS, the version 0.7.99.
5290 Sat Feb 9 14:54:33 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5292 * Allow zero length channel messages inside the Channel Message
5293 Payload. Affected file lib/silccore/silcchannel.c.
5295 * Fixed scripts/silcdoc/silcdoc to support all kinds of filenames
5296 as header filenames.
5298 * Removed lib/silcclient/README and created HTML file
5299 lib/silcclient/silcclient_using.html, which is now included
5300 as part of Toolkit documentation.
5302 Thu Feb 7 10:12:25 CET 2002 Pekka Riikonen <priikone@silcnet.org>
5304 * Fixed CUMODE_CHANGE notify handling to change the mode of
5305 correct client. Affected file lib/silcclient/client_notify.c.
5307 * Make silc_rng_alloc fail if it cannot allocate the sha1
5308 hash algorithm. Affected file lib/silccrypt/silcrng.c.
5310 Sun Feb 3 17:20:52 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5312 * Fixed the file transfer's key agreement payload to include
5313 zero port also if the hostname is NULL because it could not
5316 Call file transfer monitor callback now also if error occurs
5317 during key agreement protocol.
5319 Changed the silc_client_file_send interface to return the
5320 SilcClientFileError instead of session id. The session ID
5321 is returned into pointer provided as argument.
5323 Check that the file exists locally before sending the
5324 file transfer request at all.
5326 Affected file lib/silcclient/client_ftp.c, silcapi.h.
5328 * Added SILC_CLIENT_FILE_KEY_AGREEMENT_FAILED file transfer
5329 error than can occur while key agreement protocol. Affected
5330 file lib/silcclient/silcapi.h.
5332 * Fixed the event_mode CMODE handler to not crash when mode
5333 is changed and +k mode is set in the channel. Affected file
5334 irssi/src/silc/core/silc-channels.c.
5336 * Fixed SILC_LOG_ERROR to give out Error and not Warning, and
5337 SILC_LOG_WARNING to give out Warning and not Error. Affected
5338 file lib/silcutil/silclog.c.
5340 * Fixed the channel message payload decryption in the function
5341 silc_channel_message_payload_decrypt to not modify the original
5342 buffer before it is verified that the message decrypted
5343 correctly. Otherwise, next time it is called with correct
5344 channel key it won't encrypt since the payload is corrupted.
5345 Affected file lib/silccore/silcchannel.c.
5347 Sun Feb 3 11:46:12 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5349 * Do not constantly resize the window. A fix patch by cras.
5350 Affected file irssi/src/fe-text/screen.c.
5352 Sat Feb 2 16:54:18 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5354 * Applied IPv6 fix patch from Jun-ichiro itojun Hagino.
5355 Affected file lib/silcutil/silcnet.c.
5357 Fri Feb 1 22:33:11 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5359 * Fixed a bug in hash table internal routine for traversing
5360 the table with foreach callback. The current entry may
5361 become invalid in the callback but it was referenced after
5362 the callback returned.
5364 Do not allow auto rehashing of hash table during the
5365 silc_hash_table_foreach operation, for same reasons as it is
5366 not allowed for SilcHashTableList. Affected files are
5367 lib/silcutil/silchashtable.[ch].
5369 Fri Feb 1 14:55:00 CET 2002 Pekka Riikonen <priikone@silcnet.org>
5371 * Defined DLLAPI into silcincludes.h and silcwin32.h for
5372 Win32 DLL. extern's in header files are now declared with
5375 Thu Jan 31 23:34:33 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5377 * Fixed private message handling. It used some old code that
5378 caused the client to crash. Affecte file is
5379 lib/silcclient/client_prvmsg.c.
5381 Thu Jan 31 19:06:22 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5383 * Added function silc_client_add_channel,
5384 silc_client_replace_channel_id, and removed functions
5385 silc_client_new_channel_id and silc_idlist_get_channel_by_id
5386 from client library.
5388 * Added cross reference of the joined channels to the
5389 SilcClientEntry, and changed the SilcChannelEntry's
5390 users list to SilcHashTable. The affected files are
5391 lib/silcclient/idlist.[ch].
5393 * Fixed a bug in hash table tarversing. While the hash table
5394 is traversed with SilcHashTableList the table must not be
5395 rehashed. It is now guaranteed that auto rehashable tables
5396 are not rehashed while tarversing the list. Also defined that
5397 silc_hash_table_rehash must not be called while tarversing
5398 the table. Added function silc_hash_table_list_reset that must
5399 be called after the tarversing is over. The affected files are
5400 lib/silcutil/silchashtable.[ch].
5402 * Changed all hash table traversing to call the new
5403 silc_hash_table_list_reset in server and in client library.
5405 * Added function silc_client_on_channel to return the
5406 SilcChannelUser entry if the specified client entry is joined
5407 on the specified channel. This is exported to application as
5408 well. Affected files lib/silcclient/client_channel.c, silcapi.h.
5410 Wed Jan 30 19:14:31 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5412 * Fixed founder regaining problem with JOIN command on normal
5413 server. The notify for mode change must be sent always and
5414 not only if !cmd->pending. Affected file silcd/command.c.
5416 * Fixed the WHOWAS command's reply sending to support the
5417 lists correctly. Affected file silcd/command.c.
5419 Wed Jan 30 11:11:47 CET 2002 Pekka Riikonen <priikone@silcnet.org>
5421 * When sending JOIN command to router for processing the
5422 sender's old command identifier was not saved back to the
5423 sender's command context, fixed now. The affected file is
5426 * Create the key in JOIN command of the router did not return
5427 the channel key, added check for this. Affected file is
5430 * Fixed a channel ID update bug in JOIN command reply. Do
5431 not directly upgrade the ID but call the function
5432 silc_idlist_replace_channel_id if the ID was changed.
5433 Affected file silcd/command_reply.c.
5435 * Fixed memory leaks from command calling if it would fail.
5436 Affected file silcd/command.c.
5438 Tue Jan 29 19:49:31 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5440 * Applied patches from cras:
5442 Memory leak fixes around libaries, irssi window resize fix,
5443 new silclist.h and silcdlist.h, all extern inline changed to
5446 * Removed dotconf from lib/dotconf, not needed anymore.
5448 * Removed TRQ from lib/trq, not needed anymore.
5450 * Do more frequent heartbeats (5 minutes instead of 10 minutes)
5451 with server connections. Later this will be configurable
5452 in config file after new config file is done. Affected file
5455 Tue Jan 29 10:35:03 CET 2002 Pekka Riikonen <priikone@silcnet.org>
5457 * Fixed a crash in server related to channel announcements.
5458 Affected file silcd/server.c.
5460 Mon Jan 28 17:49:42 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5462 * Fixed memory leaks in silc_server_create_new_channel*
5463 functions. Affected file silcd/server.c.
5465 * Fixed the CHANNEL_CHANGE notify to re-announce the channel
5466 which ID was changed. This way the router will send the
5467 user list for the channel again, and server won't be in
5468 desync in some rare circumstances. Affected file is
5469 silcd/packet_receive.c.
5471 Sun Jan 27 21:04:19 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5473 * Check for NULL socket pointer in the function
5474 silc_server_packet_send_to_channel_real. Affected file
5475 silcd/packet_send.c.
5477 * Fixed the BAN notify handling to correctly remove ban
5478 list. Affected file silcd/packet_receive.c.
5480 Sat Jan 26 23:01:03 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5482 * Fixed some header addition to Toolkit distribution in
5483 lib/silcutil/Makefile.am and lib/trq/Makefile.am.
5485 * Added lib/silcclient/client_ops_example.h as an template
5486 file for application programmers to quickly start using
5487 the SilcClientOperation functions in their application.
5488 Updated the lib/silcclient/README as well to tell about this
5489 nice file made available.
5491 Sat Jan 26 10:45:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5493 * Call silc_server_remove_from_channels when removing client
5494 entry when NO_SUCH_CLIENT_ID was received. Affected file
5495 is silcd/command_reply.c.
5497 Fri Jan 25 19:12:36 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5499 * Added server & router operator statistics updating. Affected
5500 file silcd/packet_receive.c and silcd/command.c.
5502 * Fixed the SERVER_SIGNOFF notify handling on normal server
5503 not to save the history information for clients. Same was
5504 fixed earlier in remove_clients_by_server function, but not
5505 here. Affected file silcd/packet_receive.c.
5507 * Raised the default connection-retry count from 4 to 7 in
5508 server. Affected file silcd/server.h.
5510 * Cancel any possible reconnect timeouts when we start the
5511 key exchange. Affected file silcd/server.c.
5513 * Do not reconnect on connection failure when SCONNECT was
5514 given. Affected files silcd/server.[ch].
5516 Tue Jan 22 18:19:36 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5518 * Removed assert()'s from the lib/silcclient/client_keyagr.c.
5520 * Fixed the NICK command to always give the unformatted
5521 nickname to the one giving the NICK command. If unformatted
5522 nickname is cached already it will be formatted and the
5523 local entry will always get the unformatted nickname.
5524 Affected file lib/silcclient/idlist.c.
5526 * Fixed some double frees from client library commands.
5527 Affected file is lib/silcclient/command.c.
5529 * Fixed CUMODE command in server to assure that no one can
5530 change founder's mode than the founder itself, there was a
5531 little bug. Affected file silcd/command.c.
5533 Mon Jan 21 19:07:53 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5535 * Removed the SilcClientCommandDestructor from the client
5536 libary, it is not needed anymore. Affected files are
5537 lib/silcclient/silcapi.h, command[_reply].[ch],
5538 client_notify, idlist.c.
5540 * Fixed GETKEY command to first resolve client, and then
5541 resolve the server only if the client was not found, instead
5542 of resolving both at the same time. Affected file is
5543 lib/silcclient/command.c.
5545 * Added silc_client_start_key_exchange_cb and lookup the
5546 remote hostname and IP address before starting the key
5547 exchange with server. The affected file is
5548 lib/silcclient/client.c.
5550 * The server's public key is now saved using the IP address
5551 of the server and not the servername for the filename.
5552 The hostname public key filename is checked as an fall back
5553 method if the IP address based filename is not found.
5555 Fixed the GETKEY command to save the fetched server key
5556 in correct filename.
5558 Print the remote server's hostname now when new key is
5559 received during connection process. Affected file is
5560 irssi/src/silc/core/client_ops.c.
5562 * Return always our own public key to the client if it asks
5563 for it with GETKEY command. Affected file silcd/command.c.
5565 * Removed the use_auto_addr variable from default config
5566 file since it was in wrong section. Affected file is
5569 * Fixed TOPIC_CHANGE notification to not route it when it
5570 was sent using silc_server_send_notify_to_channel function.
5571 Affected file silcd/command.c.
5573 * Fixed silc_server_send_notify_kicked to send the kicker's
5574 Client ID also, it was missing. Affected files are
5575 silcd/command.c, silcd/packet_send.[ch].
5577 Thu Jan 17 18:59:11 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5579 * Do not save client history information in SERVER_SIGNOFF.
5580 Fixes the bug in normal server that it does not detect
5581 the client becoming valid after the server becomes back
5582 online. Affected file silcd/server_util.c.
5584 * Added `sock_error' field into the SilcSocketConnection
5585 context. When error occurs during socket operation (read
5586 or write) the error is saved. Added also new function
5587 silc_socket_get_error to return human readable socket error
5588 message. Affected files are lib/silcutil/silcsockconn.[ch],
5589 lib/silcutil/unix/silcunixsockconn.c, and
5590 lib/silcutil/win32/silcwin32sockconn.c.
5592 * The server now prints the socket error message in the
5593 signoff for client. Affected file silcd/server.c.
5595 * Fixed the `created' channel information sending from router
5596 to server in JOIN command. Checks now whether the channel
5597 really was created or not and set it according that.
5599 Fixed the JOIN command to use the client entry's current
5600 ID during the joining procedure instead of the one it sent
5601 in the command (it is checked though), since it can change
5602 between the packet processing and command processing, and
5603 would just case unnecessary pain in the client end. Affected
5604 file silcd/command.c.
5606 * Fixed a channel key payload sending to use correct channel
5607 ID when the server was forced to change the channel's ID by
5608 router. Router sent the key payload with the old Channel ID.
5609 Affected file silcd/packet_receive.c.
5611 Wed Jan 16 22:26:30 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5613 * Call silc_server_save_channel_key only if the key payload
5614 was provided in the JOIN command's command reply. Affected
5615 file silcd/command_reply.c.
5617 Tue Jan 15 18:49:41 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5619 * Fixed silc_mp_sizeinbase to return the value correctly with
5620 MPI. Affected file lib/silcmath/mp_mpi.c.
5622 * Fixed the stop_server signal to correctly stop the scheduler
5623 and gracefully stop the server when SIGTERM or SIGINT signals
5624 are received. Affected file silcd/silcd.c.
5626 Mon Jan 7 23:38:19 CET 2002 Johnny Mnemonic <johnny@themnemonic.org>
5628 * Simple handling of TERM and HUP signals. Also added some log
5629 flushing call around. Affected file is
5632 * Fixed small bugs in silclog.c. Now buffering output will take
5633 effect after 10 seconds since startup: This will ensure that
5634 no important startup messages are lost. Also output redirection
5635 will preserve original format ([Date] [Type] message).
5636 Affected file is lib/silcutil/silclog.c.
5638 * Added two options to the config file, in the logging section:
5639 quicklogs:<yes/no>: and flushdelay:<seconds>:. Affected files
5640 lib/silcutil/silclog.[ch], silcd/serverconfig.[ch].
5642 Sun Jan 6 12:49:40 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5644 * Do not print the warning about log files not being initialized
5645 more than once to avoid excess logging. Affected file is
5646 lib/silcutil/silclog.c.
5648 * Fixed the SIM compilation in lib/silcsim/Makefile.am. Fixed
5649 the SIM copying in make install in Makefile.am.pre.
5651 Sun Jan 6 01:10:21 CET 2001 Johnny Mnemonic <johnny@themnemonic.org>
5653 * Rewritten silclog APIs. Globally interesting changes follows:
5654 silc_log_set_files() changed to silc_log_set_file().
5655 silc_log_set_callbacks() changed to silc_log_set_callback().
5656 ROBOdoc documented silclog header file.
5657 SilcLogCb now returns bool to wether inihibit the default
5658 handler or not (to keep the old behaviour return always TRUE).
5659 The new APIs should also fix the problem of the
5660 silcd_error.log file that was written in the current directory.
5663 Log files streams will remain opened after silc_log_set_file()
5664 call, means less CPU usage notably on high traffic servers.
5665 File streams are now full buffered, and flushed to the disk
5666 every 5 minutes, lesses HD activity and CPU usage.
5667 Messages can be redirected, allowing admins to configure
5668 one single logfile for all server messages.
5669 the silc_log_quick global variable to activate fast-logging.
5670 Affected files lib/silcutil/silclog.[ch]
5672 * Changed some code to conform new silclog APIs. Affected
5673 files are doc/example_silcd.conf.in, silcd/server.c
5674 irssi/src/silc/core/silc-core.c, silcd/serverconfig.[ch],
5677 * Fixed a memory leak that could occur in some situations.
5678 Affected file silcd/serverconfig.c.
5680 Sat Jan 5 13:37:29 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5682 * Added the silc_client_del_client to remove the client from
5683 all channels as well. Affected file lib/silcclient/idlist.c.
5685 * Fixed the client library to correctly remove the client
5686 from all channels when the client entry is being destroyed.
5687 Affected file lib/silcclient/client_notify.c, command.c.
5689 * Added auto-nicking support to the client library. If the
5690 applicatio now sets client->nickname it will be sent to the
5691 server after connecting by the library. This way for example
5692 SILCNICK (or IRCNICK) environment variables will have effect
5693 and always change the nickname automatically to whatever
5694 it is wanted. Affected file lib/silcclient/client.[ch].
5696 * Renamed silc_server_command_bad_chars to the
5697 silc_server_name_bad_chars and moved it to the
5698 silcd/server_util.[ch]. Added also new function
5699 silc_server_name_modify_bad to return nickname that
5700 includes bad characters as new nickname without those
5701 bad characters. This check and modify is now used in
5702 silc_server_new_client when the username is initially set
5703 as nickname, so it must be checked to be valid nickname.
5704 Affected file silcd/packet_receive.c.
5706 * The nickname length is now taken from the packet for real
5707 and not trusted to strlen() since it clearly can return
5708 wrong length for nickname including bad characters. This
5709 also applies to channel names. Affected file silcd/command.c.
5711 * Removed the lib/silcsilm/modules directory. Modules are now
5712 compiled into the lib/silcsim. Fixed the copying of the
5713 modules to follow symbolic links in Makefile.am.pre.
5715 Wed Jan 2 18:56:21 EET 2002 Pekka Riikonen <priikone@silcnet.org>
5717 * Fixed silc_string_regexify list creation. Fixes bugs with
5718 BAN and INVITE commands in server. The affected file is
5719 lib/silcutil/unix/silcunixutil.c.
5721 Sun Dec 30 13:41:34 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5723 * Removed the command destructor entirely from the server's
5724 command and command reply routines. It is not needed, and
5725 its usage was buggy and caused crashes. Affected files are
5726 silcd/command[_reply].[ch].
5728 Fri Dec 28 12:43:22 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5730 * Cancel protocol and NULL sock->protocol if timeout
5731 occurred during protocol. Affected file silcd/server.c.
5733 * Cancel protocol timeouts always before calling the final
5734 callback, to assure that after final callback is called
5735 no other state will be called for the protocol anymore.
5736 Affected file silcd/protocol.c.
5738 * Print error log if incoming connection configuration could
5739 not be found. Affected file silcd/server.c.
5741 * Fixed JOIN command to correctly save the founder mode
5742 to the client on normal SILC server, when the channel
5743 was created by the router. Affected file silcd/command.c.
5745 * Fixed LIST command (hopefully) to send correct reply
5746 packets. Affected file silcd/command.c.
5748 Thu Dec 20 16:14:52 CET 2001 Pekka Riikonen <priikone@silcnet.org>
5750 * The silc_packet_receive_process now returns FALSE if the
5751 read data was invalid packet, and TRUE if it was ok.
5753 The server now checks that if unauthenticated connection
5754 sends data and its processing fails the server will close
5755 the connection since it could be a malicious flooder.
5757 Affected files lib/silccore/silcpacket.[ch], silcd/server.c.
5759 Wed Dec 19 21:31:25 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5761 * Make sure the warning about error opening a log file is
5762 printed only once and not everytime it fails (produces
5763 too much useless log). Affected file lib/silcutil/silclog.c.
5765 Wed Dec 19 18:21:51 CET 2001 Johnny Mnemonic <johnny@themnemonic.org>
5767 * Made the silc_server_daemonise() function more readable.
5768 Affected file silcd/server.c.
5770 * Pid file is now optional, the user may comment it out from
5771 the config file. Removed define SILC_SERVER_PID_FILE, we
5772 don't need a default any longer. Affected file
5773 configure.in.pre, lib/Makefile.am.pre.
5775 * Make some use of the pid file. The server now dies at startup
5776 if it detects a valid pid file on his path. The server would
5777 die anyway in this circumstance, because of the bind() failure.
5778 Affected file silcd/silcd.c.
5780 * No longer compiling lib/dotconf.
5782 Mon Dec 17 18:24:27 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5784 * Fixed JOIN command parsing not to crash. Affected file
5785 lib/silcclient/command.c.
5787 * Fied the NICK_CHANGE notify to add the new client entry
5788 even it is resolved. This removes an <[unknown]> nick
5789 thingy bug in the client. Affected file is
5790 lib/silcclient/client_notify.c.
5792 * Do not try to allocate 0 bytes (efence does not like it)
5793 in lib/silccore/silccomand.c when encoding payload.
5795 * Do not take IRCNICK as nickname in Irssi SILC client since
5796 it is not possible to set nickname before hand connecting
5797 the server (TODO has an entry about adding auto-nicking
5800 * Changed the silc_server_command_pending to check whether
5801 there already exists an pending entry with the specified
5802 command, command identifier and pending callback. This is
5803 to fix IDENTIFY and WHOIS related crashes that may register
5804 multiple pending commands with same identifier. Affected
5805 file silcd/command.c.
5807 * Fixed the server to reconnect to the router even if it
5808 was already reconnecting and EOF was received. This to
5809 fix a possibility that the server wouldn't ever try to
5810 auto-reconnect to the router. Affected file silcd/server.c.
5812 Sat Dec 15 20:31:50 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5814 * Fixed the server's password authentication to use the
5815 length of the locally saved password, and not the one
5816 sent in the packet. Affected file silcd/protocol.c.
5818 * Fixed same password authentication problem in the
5819 Authentication Payload handling routines in
5820 lib/silccore/silcauth.c.
5822 * Yet another password authentication problem fixed with
5823 channel password handling in silcd/command.c.
5825 Mon Dec 10 19:57:40 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5827 * If first character of string in silc_parse_userfqdn is '@'
5828 then do not parse it. Affected file is
5829 lib/silcutil/silcutil.c.
5831 Sun Dec 9 22:18:50 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5833 * Fixed minor bug in IDENTIFY command reply sending, which
5834 caused various weird problems during JOIN when it was
5835 resolving names for users. Affected file silcd/command.c.
5837 Sun Dec 9 19:18:41 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5839 * Fixed the IDENTIFY command reply sending to chech better valid
5840 clients. It was possible to send incomplete list of replies.
5841 Affected file silcd/command.c.
5843 Sat Dec 8 15:58:31 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5845 * Added silc_client_command[s]_[un]register functions now to
5846 dynamically register the commands in client library. Removed
5847 the static table of commands. This allows the client library
5848 to call commands without causing the application to know about
5849 what commands library has called.
5851 Removed the INFO command reply kludge to detect when the command
5852 was called by library. Now library use its own command reply
5853 function for INFO command.
5855 Added function silc_client_command_call to call a command.
5856 Application can use it to call command, not access the structure
5859 Now all commands that are sent by the client library (not
5860 explicitly sent by application) use own command reply functions.
5862 Affected files around lib/silcclient/ and in
5863 irssi/src/silc/core/.
5865 * Fixed the WHOIS command reply sending to chech better valid
5866 clients. It was possible to send incomplete list of replies.
5868 Fixed the WHOIS and IDENTIFY to send the request to router
5869 if normal server did not do it and did not find any results.
5871 Affected file silcd/command.c.
5873 Thu Dec 6 17:21:06 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5875 * Moved the internal data from SilcClient context into its
5876 own file, not accesible to application. Affected files
5877 lib/silcclient/client.h and lib/silcclient/client_internal.h,
5878 and other files in client library.
5880 Thu Dec 6 10:37:55 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5882 * Added doc/examples installation target in Makefile.am.pre.
5885 Tue Dec 4 17:43:19 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5887 * If NO_SUCH_CLIENT_ID notify is received for WHOIS or IDENTIFY
5888 commands the found client entry will be removed from the
5889 cache, after notifying application about the error. Affected
5890 file lib/silcclient/command_reply.c.
5892 * Changed the /MSG to check for exact nickname user gave, and
5893 not let `nick' match `nick@host' if it is only one found. Now,
5894 user must type the exact nickname (like nick@host2) even if
5895 there are no more than one same nicks found. This is to avoid
5896 a possibility of sending nickname to wrong nickname since
5897 `nick' could match `nick@host'. Affected file is
5898 irssi/src/core/silc-servers.c.
5900 Mon Dec 3 18:49:45 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5902 * Do not print "you are now server operator" or similar when
5903 giving /away command. Affected files are
5904 irssi/src/silc/core/client_ops.c, silc-servers.h.
5906 * Made the silc_server_command_pending_error_check to send
5907 the same command reply payload it received back to the
5908 original sender of the command. This way all arguments
5909 that was received by the server will be received by the
5910 client too. Affected file silcd/command.c.
5912 * Added the silc_idcache_add to return the created cache entry
5913 to a pointer. Affected file lib/silccore/silcidcache.[ch].
5915 * Add global clients to expire if they are not on any channel.
5916 This is because normal server will never know if they signoff
5917 if they are not on any channel. The cache expiry will take
5918 case of these entries. This is done by normal servers only.
5919 The affected files are silcd/command_reply.c,
5920 silcd/idlist.[ch], silcd/server and silcd/packet_receive.c.
5922 * If server receives invalid ID notification for WHOIS or
5923 IDENTIFY and the ID exists in the lists, it is removed.
5924 Affected file silcd/command_reply.c.
5926 * If NO_SUCH_CLIENT_ID is received for WHOIS or IDENTIFY command
5927 in client then client entry that it matches is searched and
5928 the nickname is printed on the screen for user. Affected
5929 file irssi/src/silc/core/client_ops.c.
5931 Mon Dec 3 11:56:59 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5933 * Use cache entry expire time in the LIST command reply to
5934 purge old entries from the cache after the LIST command
5935 reply has been received. This way we don't have non-existent
5936 entries in the cache for too long. Affected file is
5937 silcd/command_reply.c.
5939 Sun Dec 2 23:29:07 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5941 * If we are normal server, and we've not resolved client info
5942 in WHOIS or IDENTIFY from router, and it is global client,
5943 we'll check whether it is on some channel. If it is not
5944 then we cannot be sure about its validity and will resolve it
5945 from router. Fixes a bug in WHOIS and IDENTIFY. Affected
5946 file silcd/command.c.
5948 * Search channel by name (if possible) rather than by ID
5949 in IDENTIFY command's command reply. Affected file is
5950 silcd/command_reply.c.
5952 Sun Dec 2 13:48:46 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5954 * Distribute to the channel passphrase in CMODE_CHANGE notify.
5955 Updated specs and implemented it. Affected file silcd/command.c,
5956 silcd/packet_send.c and silcd/packet_receive.c.
5958 * Implemented the <founder auth> payload handling in the JOIN
5959 command. If provided all conditions for channel joining
5960 except requirement to provide correct passphrase can be
5961 overrided by the channel founder. Updated the protocol specs.
5962 Affected file silcd/command.c.
5964 Added support for founder auth in JOIN command in client
5965 library. Fixed the parsing of the JOIN command now to support
5966 all options as they should be. The affected file is
5967 lib/silcclient/command.c.
5969 * Optimized the WHOIS and IDENTIFY commands to send the request
5970 to router only if it includes nicknames or other names. If
5971 they include only IDs then check the local cache first before
5972 routing. Affected file is silcd/command.c.
5974 * Added channels topic announcements. Affected file is
5975 silcd/packet_receive.c and silcd/server.c.
5977 * Fixed the silc_server_send_notify_topic_set to really destine
5978 the packet to channel. Affected file silcd/packet_send.c.
5980 * Fixed a crash in CHANNEL_CHANGE notify handling in the client
5981 library. Affected file lib/silcclient/client_notify.c.
5983 * Added UMODE announcements. Affected file silcd/server.c.
5985 Sat Dec 1 12:52:39 EET 2001 Pekka Riikonen <priikone@silcnet.org>
5987 * Memory leak fixes in:
5989 lib/silcutil/silcsockconn.c
5990 lib/silcske/silcske.c
5991 lib/silcske/groups.c
5993 lib/silccrypt/silcpkcs.c
5994 lib/silccore/silccommand.c
5995 lib/silccore/silcidcache.c
6000 * ROBOdoc documented the lib/silcske/groups.h file and a
6001 bit changed the interface for better.
6003 Thu Nov 29 22:12:50 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
6005 * Update the client entry context in the ID cache after
6006 nick change. Affected file lib/silcclient/command.c.
6007 Fixes the CUMODE command when regaining founder privileges,
6008 and a little WHOIS problem.
6010 * Fixed silc_net_gethostbyname to correctly call the
6011 inet_ntop. Affected file lib/silcutil/silcnet.c.
6013 Thu Nov 29 19:31:23 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
6015 * Added IPv6 support checking to the configure.in.pre, added
6016 also --enable-ipv6 option to override the check. Affected
6017 file configure.in.pre.
6019 * The silc_thread_create now calls the start function
6020 directly if threads support is not compiled in. Removes
6021 ugly #ifdef's from generic code. Affected files are
6022 lib/silcutil/unix/silcunixthread, win32/silcwin32thread.c.
6024 * Added silc_net_gethostby[name/addr]_async to asynchronously
6025 resolve. Affected files are lib/silcutil/silcnet.[ch].
6027 * Added support for rendering IPv6 based server, client and
6028 channel IDs. Affected file lib/silcutil/silcutil.c.
6030 * Added support for creating IPv6 based server IDs. Affected
6031 file is silcd/serverid.c.
6033 Wed Nov 28 23:46:09 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
6035 * Added silc_net_gethostby[addr/name] into the
6036 lib/silcutil/silcnet.[ch]. Added IPv6 support to Unix network
6037 routines. Added silc_net_is_ip[4/6]. Affected file is
6038 lib/silcutil/unix/silcunixnet.c. All routines that take
6039 address as argument now supports both IPv4 and IPv6 addresses.
6041 Mon Nov 26 18:09:48 EET 2001 Pekka Riikonen <priikone@silcnet.org>'
6043 * Fixed LIST command reply sending in server. Affected file
6046 * Server now sends the kicker's client ID in the KICK notify
6047 to the kicked client. Affected file silcd/command.c.
6049 * The client library now parses the kickers client ID and
6050 UI displays it. Affected files lib/silcclient/client_notify.c
6051 and irssi/src/silc/core/silc-channels.c, module-formats.c.
6053 * Made all payload parsing function prototypes consistent.
6054 They all take now const unsigned char * and uint32 pair as
6055 the payload data instead of SilcBuffer. Changes all around
6056 the source tree. Other unsigned char* -> const unsigned char*
6057 changes around the tree as well.
6059 * Optimized SFTP client and server packet sending not to
6060 allocate new buffer for each packet but to recycle the
6061 first allocated buffer. Affected files are
6062 lib/silcsftp/sftp_client.c, sftp_server.c, sftp_util.[ch].
6064 * Optimized the SFTP client to use SilcList instead of
6065 SilcDList for requests, because it is faster. Affected file
6066 is lib/silcsftp/sftp_client.c.
6068 * Moved the ID Payload routines from lib/silccore/silcpayload.[ch]
6069 into lib/silccore/silcid.[ch].
6071 Renamed silcpayload.[ch] into silcargument.[ch].
6073 Mon Nov 26 15:01:53 CET 2001 Pekka Riikonen <priikone@silcnet.org>
6075 * If client entry is deleted with active key agreement
6076 session, abort the session.
6078 The silc_client_abort_key_agreement now calls the completion
6079 callback with new SILC_KEY_AGREEMENT_ABORTED status.
6081 Affected file lib/silcclient/silcapi.h, client_keyagr.c and
6084 Sun Nov 25 18:01:45 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6086 * Don't use __restrict in older GCC's. Affected file is
6087 lib/silcmath/mpi/mpi-priv.h. A patch by salo.
6089 * silc_net_localhost now attempts to reverse lookup the
6090 IP/hostname. Affected file lib/silcutil/silcnet.c.
6092 * Defined <founder auth> argument to the SILC_COMMAND_JOIN
6093 command. It can be used to gain founder privileges at
6094 the same time when joining the channel.
6096 Defined that the SILC_NOTIFY_TYPE_KICKED send the
6097 kicker's client ID as well. Updated protocol specs.
6099 Defined that the server must send SILC_COMMAND_IDENTIFY
6100 command reply with error status to client who sent
6101 private message with invalid client ID.
6103 Updated the protocol specification.
6105 * Added silc_server_send_command_reply to send any
6106 command reply. Affected file silcd/packet_send.[ch].
6108 * Added silc_id_payload_encode_data to encode ID payload
6109 from raw ID data. Affected file lib/silccore/silcpayload.[ch].
6111 * The server now send IDENTIFY command reply with error
6112 status if client ID in private message is invalid. Affected
6113 file silcd/packet_receive.c.
6115 * Save the server key file with server's IP address in
6116 the filename instead of hostname. The affected file is
6117 irssi/src/silc/core/client_ops.c.
6119 Sat Nov 24 20:08:22 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6121 * Typo fixes in irssi/src/fe-common/silc/module-formats.c.
6124 * Added libtool support for compiling shared objects in
6125 lib/silcsim. Affected file configure.in.pre and
6126 lib/silcsim/Makefile.am. Original patch by cras.
6128 Fri Nov 23 23:30:59 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6130 * Pid file configuration, and server's config file fixes
6131 patch by toma. Updated CREDITS file.
6133 Sun Nov 18 01:34:41 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6135 * Fixed silc_client_channel_message to not try to decrypt
6136 the message twice if it resolved the destination client
6137 information. This could cause of dropping one channel
6138 message. Affected file lib/silcclient/client_channel.c.
6140 Wed Nov 14 23:44:56 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6142 * Added silc_client_run_one into lib/silcclient/silcapi.h and
6143 lib/silcclient/client.c. This function is used when the SILC
6144 Client is run under some other scheduler, or event loop or
6145 main loop. On GUI applications, for example this may be
6146 desired to used to run the client under the GUI application's
6147 main loop. Typically the GUI application would register an
6148 idle task that calls this function multiple times in a second
6149 to quickly process the SILC specific data.
6151 Wed Nov 14 19:16:52 CET 2001 Johnny Mnemonic <johnny@themnemonic.org>
6153 * Fixed silc_server_drop() for dropping the supplementary
6154 groups as well, this could cause a security hole on some
6157 Wed Nov 14 16:22:25 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6159 * __pid_t -> pid_t in lib/silccrypt/silcrng.c. A patch by
6162 * Write PID file after dropping privileges. Added -F option
6163 to run server on foreground. A patch by debolaz.
6164 Affected files silcd/server.c, silcd/silcd.c.
6166 * Fixed MOTD to return the MOTD file server name. Affected
6167 file silcd/command.c.
6169 * Added INFO command reply handling to the Irssi SILC Client.
6170 Affected file irssi/src/silc/core/client_ops.c.
6172 Wed Nov 14 00:18:08 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6174 * Fixed the silc_idcache_list_* routines to really support
6175 the dynamic list. Fixes a crash. Affected file is
6176 lib/silccore/silcidcache.c.
6178 * Fixed the LIST command reply to really call LIST command's
6179 pending callbacks. Affected file silcd/command_reply.c.
6181 Tue Nov 13 00:49:17 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6183 * Update conn->local_entry->nickname after giving NICK
6184 command. Affected file lib/silcclient/command.c.
6186 Sun Nov 11 23:43:02 PST 2001 Brian Costello <bc@wpfr.org>
6188 * Added the [pid] option to the silcd configuration file
6190 Affected files: serverconfig.[ch] and silcd.c
6192 Sun Nov 11 23:56:39 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6194 * Save fingerprint in WHOIS command reply in server.
6195 Affected file silcd/command_reply.c.
6197 * Fixed NICK commands pending callback registration.
6198 Affected file lib/silcclient/command.c.
6200 Sun Nov 11 10:49:10 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6202 * Use ++server->cmd_ident when sending commands in server,
6203 instead of random number. Affected file silcd/command.c.
6205 * Fixed GETKEY command reply to call actually GETKEY pending
6206 command callbacks. Affected file silcd/command_reply.c.
6208 * A bit stricter check for nicknames. Check for same nickname
6209 in NICK command also. Affected file silcd/command.c.
6211 * Do not call INFO command everytime client ID changes, only
6212 during first connecting. Affected file lib/silcclient/client.c.
6214 * Set the new nickname only after successful command reply for
6215 NICK command is returned by server. Affected file
6216 lib/silcclient/command.c.
6218 * Remove nicknames from nicklist during server_signoff notify.
6219 Should fix /NAMES bit more. The affected file is
6220 irssi/src/silc/core/silc-channels.c.
6222 * Added `fingerprint' field to the SilcIDListData in the
6223 silcd/idlist.h to hold the fingerprint of the client's
6226 Send the fingerprint of the client's public key in WHOIS
6229 Affected files silcd/command.c, and silcd/idlist.[ch].
6231 * Added silc_fingerprint into lib/silcutil/silcutil.[ch] to
6232 create fingerprint from given data.
6234 * Show the fingerprint of the client's public key in WHOIS.
6235 Affected files irssi/src/module-formats.[ch] and
6236 irssi/src/silc/core/client_ops.c.
6238 * Format the multiple same nicknames also during JOIN and
6239 NICK_CHANGE notifys. Affected file is
6240 lib/silcclient/client_notify.c.
6242 * Do not print error on screen for invalid private message
6243 payload since it can come if someone is sending private
6244 messages with wrong key. Affected file
6245 lib/silccore/silcprivate.c.
6247 * Fixed multiple concurrent /PING crash. Affected file
6248 lib/silcclient/command.c.
6250 * Changed the wrong ID encoding. All IP addresses must be
6251 in MSB first order in encoded format. They were encoded
6252 wrong and was in LSB format. Affected files are
6253 silcd/serverid.c, lib/silcutil/silcutil.c.
6255 * Remove silc_net_addr2bin_ne from lib/silcutil/silcnet.[ch].
6257 * Call the `connect' client operation through the scheduler
6258 in case of error. Affected file lib/silcclient/client.c.
6260 * Call the `failure' client operation even if the error
6261 occurred locally during a protocol. Affected file is
6262 lib/silcclient/protocol.c.
6264 * Added support of sending LIST command to router from normal
6265 server. This way normal server can get list of all channels
6266 in the network too. Fixed the channel list sending in the
6267 server too. Affected files are silcd/command.c, and
6268 silcd/command_reply.[ch].
6270 * Added silc_server_update_channels_by_server and
6271 silc_server_remove_channels_by_server. They are used during
6272 disconnection of primary router and in backup router protocol.
6273 Affected file silcd/server_util.[ch], silcd/server.c and
6274 silcd/server_backup.c.
6276 * Fixed channel adding to global list in IDENTIFY command
6277 reply in server. Affected file silcd/command_reply.c.
6279 Sat Nov 10 21:39:22 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6281 * If the incoming packet type is REKEY or REKEY_DONE process
6282 that packet always synchronously. Fixes yet another MAC
6283 failed error on slow (dialup) connections. Affected file
6284 lib/silcclient/client.c and silcd/server.c.
6286 Thu Nov 8 22:21:09 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6288 * Call check_version SKE callback for initiator too. Affected
6289 file lib/silcske/silcske.c.
6291 * Implemented fix for security hole found in the SKE that was
6292 fixed in the specification few days back; the initiator's
6293 public key is now added to the HASH value computation.
6294 Added backwards support for the old way of doing it too, for
6295 old clients and old servers. Affected file is
6296 lib/silcske/silcske.c.
6298 * Enabled mutual authentication by default in SKE. If initiator
6299 is not providing mutual authentication the responder will
6300 force it. This will provide the proof of posession of the
6301 private key for responder. The affected files are
6302 lib/silcclient/protocol.c and silcd/protocol.c.
6304 * Do not cache anymore the server's public key during SKE.
6305 We do mutual authentication so the proof of posession of
6306 private key is done, and if the server is authenticated in
6307 conn auth protocol with public key we must have the public
6308 key already. Affected file silcd/protocol.c.
6310 * Added new global debug variable: silc_debug_hexdump. If
6311 it is set to TRUE SILC_LOG_HEXDUMP will be printed. Affected
6312 file lib/silcutil/silclog.[ch].
6314 * Fixed compilation warning due to char * -> const char *.
6315 Affected files lib/silcutil/silcnet.h, and
6316 lib/silccore/silcauth.[ch].
6318 Wed Nov 7 20:43:03 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6320 * Fixed CMODE command when new channel key was created. If
6321 the creation failed the old key was removed. Next time giving
6322 same command would crash the server since the old key was
6323 freed already. Affected file silcd/command.c.
6325 * Fixed the silc_server_announce_get_channels to not crash
6326 on reconnect. Affected file silcd/server.c.
6328 Wed Nov 7 17:15:07 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6330 * Added silc_log_set_debug_string function to set a regex
6331 string to match for debug output. Only the function names,
6332 or filenames matching the given debug string is actually
6333 printed. This way it is possible to filter out those debug
6334 strings that user is not interested in.
6336 Fixed a bug in silc_string_regexify.
6338 Affected files lib/silcutil/silclog.[ch], and
6339 lib/silcutil/unix/silcunixutil.c.
6341 * Changed the -d options in both server and Irssi SILC client
6342 to take the debug string as argument. Affected files
6343 silcd/silcd.c and irssi/src/silc/core/silc-core.c.
6345 Tue Nov 6 21:31:54 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6347 * Added silc_hash_babbleprint to create a Bubble Babble
6348 Encoded fingerprint. The encoding is developed by Antti
6349 Huima (draft-huima-babble-01.txt), and it creates human
6350 readable strings out of binary data. Affected file
6351 lib/silccrypt/silchash.[ch].
6353 * Print the babble print now in addition of fingerprint as well
6354 in Irssi SILC client. Affected files are
6355 irssi/src/fe-common/silc/module-formats.[ch],
6356 irssi/src/fe-common/silc/core/client_ops.c.
6358 Sun Nov 4 23:37:28 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6360 * Fixed a security problem found in SKE. The initiator's
6361 public key too is now added to the HASH hash value creation
6362 which is signed by the responder to create the SIGN value.
6363 This will prevent anyone in the middle to lie to the responder
6364 about the initiator's public key. If this is done now, the
6365 man in the middle will get caught. Updated the protocol
6368 Sun Nov 4 11:43:53 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6370 * Better installation directory handling. Configure module
6371 paths and other paths automatically to example_silc* files
6372 in doc/. A patch by toma.
6374 * Fixed compiler warning from MPI library, and from SILC RNG.
6377 * Added SILC_SERVER_PID_FILE to define the pid file for server.
6378 It can be configured with ./configure. A patch by toma.
6380 Sat Nov 3 23:48:23 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6382 * Find correct make to use in prepare-clean. A patch by
6383 toma. Affected file prepare-clean.
6385 Sat Nov 3 22:04:00 PST 2001 Brian Costello <bc@mksecure.com>
6387 * Added irssi variables use_auto_addr, auto_bind_ip,
6388 auto_bind_port and auto_public_ip.
6390 * Changed the interface for silc_client_send_key_agreement
6391 in lib/silcclient/silcapi.h
6395 irssi/src/silc/core/silc-core.c
6397 lib/silcclient/silcapi.h
6398 irssi/src/silc/core/silc-channels.c
6399 lib/silcclient/client_keyagr.c
6402 Sat Nov 3 17:48:55 EET 2001 Pekka Riikonen <priikone@silcnet.org>
6404 * Added silc_pkcs_public_key_compare to compare two
6405 public keys. Affected file lib/silccrypt/silcpkcs.[ch].
6407 * Check that the client who set the founder mode on the
6408 channel is the same client that is giving the founder
6409 mode to itself. It is done by comparing the saved public
6410 key (it is saved even in the authentication is passphrase).
6411 Affected file silcd/command.c.
6413 Fri Nov 2 18:52:08 EST 2001 Pekka Riikonen <priikone@silcnet.org>
6415 * Do not process packet for disconnected socket connection.
6416 Affected file lib/silccore/silcpacket.c.
6418 * Process the DISCONNECT packet through scheduler in the
6419 client library. Affected file lib/silcclient/client.c.
6421 * Fixed the silc_client_packet_parse to not to increase
6422 the packet sequence number if the conn->sock and the
6423 current socket connection is not same. This can happen
6424 for example during key agreement when the conn includes
6425 multiple socket connections (listeners). Affected file
6426 lib/silcclient/client.c.
6428 * The sender of the file transfer request now provides also
6429 the pointer (listener) for the key exchange protocol. If
6430 the listener cannot be created then it sends empty key
6431 agreement and lets the receiver provide the listener.
6433 Added `local_ip' and `local_port' arguments to the
6434 silc_client_file_send. If they are provided they are used,
6435 if not then it will attempt to find local IP address, if
6436 not found or bind fails then the remote client will provide
6439 Affected files are lib/silcclient/client_ftp.c and
6440 lib/silcclient/silcapi.h.
6442 * Extended the FILE SEND command to support defining the
6443 local IP and port for key exchange listener. They are
6444 optional. Affected file irssi/src/silc/core/silc-servers.c.
6446 Thu Nov 1 22:10:07 EST 2001 Pekka Riikonen <priikone@silcnet.org>
6448 * Defined to WHOIS command reply the sending of fingerprint
6449 of the client's public key (if the proof of posession of the
6450 corresponding private key is verified by the server).
6451 Updated to the protocol specification.
6453 * Added support of receiving the client's public key's
6454 fingerprint in command reply in client library. Affected
6455 file is lib/silcclient/command_reply.c, and
6456 lib/silcclient/idlist.[ch].
6458 Thu Nov 1 18:06:12 EST 2001 Pekka Riikonen <priikone@silcnet.org>
6460 * Do not send over 128 chars long nickname to the server
6461 in NICK command. Affected file lib/silcclient/command.c.
6463 * Do not send over 256 chars long channel names to the server
6464 in JOIN command. Affected file lib/silcclient/command.c.
6466 Tue Oct 30 22:48:59 EST 2001 Pekka Riikonen <priikone@silcnet.org>
6468 * Assure that silc_server_close_connection cannot be called
6469 twice for same socket context. Affected file is
6472 Tue Oct 30 16:58:14 EST 2001 Pekka Riikonen <priikone@silcnet.org>
6474 * Send error message to application if opening file for
6475 writing during file transfer fails. Affected file is
6476 lib/silcclient/client_ftp.c.
6478 Remove all file transfer sessions for a client that we're
6479 removing from ID cache.
6481 Affected file is lib/silcclient/client_ftp.c.
6483 * Fixed silc_net_addr2bin to return correct address. Affected
6484 file lib/silcutil/[unix/win32]/silc[unix/win32]net.c.
6486 * Fixed file transfer session removing on signoff notify.
6487 Affected file irssi/src/silc/core/silc-servers.c.
6489 * Added the SilcClientFileError to be returned in the monitor
6490 callback. Added NO_SUCH_FILE and PERMISSION_DENIED errors.
6491 Affected file lib/silcclient/silcapi.h.
6493 Mon Oct 29 17:43:04 EST 2001 Pekka Riikonen <priikone@silcnet.org>
6495 * Fixed a crash in silc_client_ftp_free_sessions and
6496 silc_client_ftp_session_free_client. Affected file
6497 lib/silcclient/client_ftp.c.
6499 * Added `disabled' field in the SilcChannelEntry in the server
6500 to indicate if the server entry is disabled. Affected file
6501 silcd/idlist.h, silcd/command[_reply].c.
6503 * SILC server adds now /var/run/silcd.pid everytime it is
6504 started. Affected file silcd/silcd.c.
6506 * Added silc_server_packet_send_clients to send a packet to
6507 the provided table of client entries. Affected file
6508 silcd/packet_send.[ch].
6510 * Fixed a crash in client resolving in client_prvmsg.c in
6511 client library. Affected file lib/silcclient/client_prvmsg.c.
6513 * Do not actually remove the client directly from ID cache
6514 during SERVER_SIGNOFF, but invalidate it. This way we
6515 preserve the WHOWAS info for the client. Affected file
6516 silcd/server_util.c.
6518 * Fixed SERVER_SIGNOFF notify handling in the server. The
6519 server is now able to process incoming SERVER_SIGNOFF notify
6520 for a server that it doesn't even know about. It will remove
6521 the clients provided in the notify. Affected file
6522 silcd/packet_receive.c.
6524 * Check for partial packet in data queue after every packet that
6525 was found from the queue. Return and wait for more data if
6526 there is partial data in queue. Affected file is
6527 lib/silccore/silcpacket.c.
6529 Sun Oct 28 18:46:27 EST 2001 Pekka Riikonen <priikone@silcnet.org>
6531 * Added SilcClietFileError enum to indicate error in
6532 file transfer. Added SILC_CLIENT_FILE_MONITOR_KEY_AGREEMENT
6533 and SILC_CLIENT_FILE_MONITOR_ERROR new monitor statuses.
6534 Affected files lib/silcclient/silcapi.h and
6535 lib/silcclient/client_ftp.c.
6537 * Check that newsize in silc_buffer_realloc is larger than
6538 the old buffer's size. Affected file lib/silcutil/silcbufutil.h.
6540 * Added better monitor of file transfers. It now monitors
6541 key agreement protocol during the file transfer too. Added
6542 error reporting too. Affected files
6543 irssi/src/silc/core/silc-servers.c,
6544 irssi/src/fe-common/silc/module-formats.[ch].
6546 * Wrote a help file for FILE command.
6548 * Added silc_rng_global_get_byte_fast to get not-so-secure
6549 random data as fast as possible. Random data is read from
6550 /dev/urandom if available and from the SILC RNG if not
6551 available. It is used in padding generation. Affected file
6552 lib/silccrypt/silcrng.[ch].
6554 * All packets in client library are now processed synchronously.
6555 Optimized packet processing a lot. Affected file
6556 lib/silcclient/client.c.
6558 * All server connection packets are processing synchronously
6559 now in server, to optimize packet processing. Affected file
6562 * Include files are installed now only in Toolkit distribution
6563 if make install is given. Affected files: all Makefile.am's.
6565 Thu Oct 25 22:44:06 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6567 * Assure that silc_client_notify_by_server_resolve does not
6568 resolve the client information multiple times. If it cannot
6569 be found by the first it cannot be found at all. Affected
6570 file lib/silcclient/client_notify.c.
6572 * Fixed WHOWAS command reply calling. Affected file
6573 lib/silcclient/command_reply.c.
6575 * Removed all references to silc_idlist_get_client from the
6576 Irssi SILC client since that call is internal call used by
6577 the library. The Irssi SILC client will use now client
6578 retrieval functions found in silcapi.h.
6580 * Fixed a bug in resolving nickname info before sending
6581 private message. It used freed memory. Affected file
6582 irssi/src/silc/core/silc-servers.c.
6584 Thu Oct 25 19:04:49 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6586 * Assure my_channels statistics cannot go negative in server.
6587 Affected files silcd/server.c, silcd/server_util.c.
6589 Wed Oct 24 19:53:05 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6591 * Upgraded dotconf 1.0.2 to 1.0.6 in lib/dotconf.
6593 Tue Oct 23 13:51:19 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6595 * Win32 Toolkit changes. Affected files
6596 win32/silc.dsw, win32/libsilc/libsilc.def,
6597 win32/libsilcclient/libsilc.def,
6598 lib/silcutil/silcutil.c, and
6599 lib/sftp/sftp_fs_memory.c.
6601 Mon Oct 22 16:35:05 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6603 * Added silc_net_localip to return local host's IP address.
6604 Affected file lib/silcutil/silcnet.[ch].
6606 * If key exchange or rekey protocol is active for a connection
6607 parse all packets syncronously since there might be packets
6608 in packet queue that we are not able to process without first
6609 processing packets before them. Affected file silcd/server,
6610 lib/silcclient/client.c.
6612 * SilcPacketParserCallback now returns TRUE or FALSE to indicate
6613 whether library should continue processing the packet.
6614 Affected file lib/silccore/silcpacket.h.
6616 * Added SilcSFTPMonitor callback, SilcSFTPMonitors and
6617 SilcSFTPMonitorData to SFTP server to monitor various
6618 SFTP client requests. Affected file lib/silcsftp/silcsftp.h,
6619 lib/silcsftp/sftp_server.c.
6621 * Added silc_file_size to return file size. Affected file
6622 lib/silcutil/silcutil.[ch].
6624 * Implemented the file transfer support for the client library.
6625 Added preliminary support for simple client to client one-file
6626 transmission. Affected file lib/silcclient/client_ftp.c,
6627 lib/silccilent/client.[ch].
6629 * Added new local command FILE to the Irssi SILC Client.
6630 It is used to perform the file transfer. It has subcommands
6631 SEND, RECEIVE, SHOW and CLOSE. Affected files
6632 irssi/src/silc/core/client_ops.c,
6633 irssi/src/silc/core/silc-server.[ch].
6635 Mon Oct 22 12:50:08 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6637 * Relay the SILC_PACKET_FTP in the server. Affected files
6638 silcd/server.c and silcd/packet_receive.c.
6640 Sun Oct 21 20:21:02 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6642 * Renamed silc_file_read and silc_file_write to functions
6643 silc_file_readfile and silc_file_writefile. Added function
6644 silc_file_open and silc_file_close. Affected files
6645 lib/silcutil/silcutil.[ch].
6647 Thu Oct 18 20:58:13 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6649 * Resolve the client info when received private message or
6650 channel message for a client which nickname we don't know.
6651 Affected files lib/silcclient/client_prvmsg.c and
6652 lib/silcclient/client_channel.c.
6654 * Do not crash in /KEY if client is not connected. Affected
6655 file irssi/src/silc/core/silc-channels.c.
6657 * Added SilcClientStatus field to the SilcClientEntry in the
6658 lib/silcclient/idlist.h.
6660 Added SILC_CLIENT_STATUS_RESOLVING to mark that the entry
6661 is incomplete and is being resolved, it won't be resolved
6664 Make sure also that USERS command reply does not resolve
6665 twice information. Affected file is
6666 lib/silcclient/command_reply.c.
6668 Make sure that silc_client_get_clients_by_list does not
6669 resolve twice same information.
6671 * Check for valid client->id in the silc_server_free_client_data.
6672 Affected file silcd/server.c.
6674 * Fixed /GETKEY nick@server not to crash if the server entry
6675 is not found. Affected file lib/silcclient/command.c.
6677 * Fixed the silc_server_check_cmode_rights to check the
6678 requested modes correctly. Affected file silcd/command.c.
6680 Thu Oct 18 12:10:22 CEST 2001 Pekka Riikonen <priikone@silcnet.org>
6682 * Better checks for non-printable chars in nick added.
6683 Affected file silcd/command.c.
6685 Thu Oct 18 09:18:58 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6687 * Call the silc_server_udpate_servers_by_server in the
6688 primary router that comes back online in the backup resuming
6689 protocol. Otherwise it routes packets wrong. Affected file
6690 silcd/server_util.[ch], silcd/server_backup.c.
6692 Wed Oct 17 16:51:18 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6694 * Added SILC_STR_UI8_[N]STRING[_ALLOC] formats to the
6695 lib/silcutil/silcbuffmt.[ch].
6697 * Redefined the SILC packet header to include the padding
6698 length. Affected file lib/silccore/silcpacket.[ch].
6700 * Added SILC_PACKET_PADLEN_MAX macro to return the padding
6701 length for maximum padding up to 128 bytes). Affected
6702 file lib/silccore/silcpacket.h.
6704 * Removed all backwards support for old 0.5.x MAC thingies.
6705 The SILC packet header change makes it impossible to be
6706 backwards compatible.
6708 * Send the ENDING packet with timeout in the backup resuming
6709 protocol. This is to assure that all routers has connected
6710 to the primary router. Affected file silcd/server_backup.c.
6712 * Changed the RNG to take the first IV from random data. It
6713 used to take it from zero actually. Changed the RNG also
6714 to use /dev/urandom during session. /dev/random is used
6715 in initialization. Affected file lib/silccrypt/silcrng.[ch].
6717 Tue Oct 16 20:45:49 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6719 * Changed the SILC packet header to have the first two bytes
6720 (the packet length) encrypted. Affected files aroung the
6721 code tree, lib/silccore/silcpacket.[ch]. Removed the
6722 SilcPacketCheckDecrypt callback. It is not needed anymore
6723 since the silc_packet_receive_process will determine now
6724 whether the packet is normal or special.
6726 * Implemented the unidirectional MAC keys. Affected files
6727 lib/silcske/silcske.c, silcd/protocol.c and
6728 lib/silcclient/protocol.c.
6730 * Implemented the packet sequence number to the MAC computation.
6731 Affected files lib/silccore/silcpacket.c, silcd/protocol.c,
6732 silcd/packet_send.c, silcd/server.c, lib/silcclient/client.c,
6733 lib/silcclient/protocol.c.
6735 Mon Oct 15 17:42:55 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6737 * Allow backup router to announce servers. All servers
6738 announced by backup router are added to the global list
6739 automatically. Update hte server's socket to our primary
6740 router also when backup router announces a server.
6741 Affected file silcd/packet_receive.c.
6743 * Do not update the client->router in the function
6744 silc_server_udpate_clients_by_server if the client is on
6745 global list. We might fail to find any specific server
6746 for locally connected clients and local cell clients. They
6747 should still use the `from' and not `to' as client->router.
6748 This fixes backup router resuming protocol. Affected file
6749 silcd/server_util.c.
6751 * Decrease channel statistics count only if the channel
6752 deletion worked. Affected files are silcd/server.c and
6753 silcd/server_util.c.
6755 * Added silc_server_update_servers_by_server to update origin
6756 of all server entries. Used during backup router protocol.
6757 Affected files silcd/server_util.[ch], silcd/server.c. and
6758 silcd/backup_router.c.
6760 * ROBODoc documented the lib/silccrypt/silchmac.h. Added new
6761 function silc_hmac_init, silc_hmac_update, silc_hmac_final,
6762 silc_hmac_get_hash and silc_hmac_get_name. Affected file
6763 lib/silccrypt/silchmac.c.
6765 Sun Oct 14 18:28:22 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6767 * Assure that router cannot reroute the same channel message
6768 to the sender. Affected file silcd/packet_receive.c.
6770 Sat Oct 13 12:46:18 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6772 * Made better checks that the channel message is not sent
6773 to the router it came from. Affected file is
6774 silcd/packet_send.c. Fixed memory leak too.
6776 * Announce informations for incoming router connection, but
6777 only after checking if it is replaced by backup router.
6778 Affected file silcd/packet_receive.c.
6780 Fri Oct 12 18:37:24 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6782 * Fixed the backup resuming protocol to work in multiple
6783 router environment. Affected file silcd/server_backup.c.
6785 * Route packet only to one router in the function
6786 silc_server_packet_send_to_channel. Affected file is
6787 silcd/packet_send.c.
6789 * Fixed silc_server_send_notify_dest to set the broadcast
6790 flag. Fixed the silc_server_send_notify_topic to actually
6791 send the TOPIC_CHANGE notify and not SERVER_SIGNOFF notify.
6792 Affected file silcd/packet_send.c.
6794 * Changed the SFTP Filesystem interface. Changed the
6795 SilcSFTPFilesystemStruct to SilcSFTPFilesystemOps to include
6796 the filesystem operation function. The SilcSFTPFilesystem
6797 is now a context that is allocated by all filesystem allocation
6798 functions and it already includes the operations structure
6799 and filesystem specific context. It is given as argument
6800 now to the silc_sftp_server_start. This made the interface
6801 a bit cleaner. Affected file lib/silcsftp/silcsftp[_fs].h,
6802 lib/silcsftp/sftp_fs_memory.c and sftp_server.c.
6804 Thu Oct 11 22:19:26 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6806 * Changed the backup router adding and getting interfaces
6807 in the server. The router that will be replaced by the
6808 specified backup router is now sent as argument. Affected
6809 files silcd/serverconfig.[ch], silcd/backup_router.[ch], and
6812 * Added silc_net_addr2bin_ne to return the binary form of
6813 the IP address in network byte order. Affected files
6814 lib/silcutil/[unix/win32].silc[unix/win32]net.[ch].
6816 Thu Oct 11 12:14:19 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6818 * Check for existing server ID in silc_server_new_server
6819 and in silc_server_connect_to_router_final and remove the
6820 old entry if it exists. Affected file silcd/packet_receive.c,
6823 * Send the channel message always to only one router, either
6824 in upstream or downstream. Affected file is
6825 silcd/packet_send.c.
6827 Tue Oct 9 17:45:43 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6829 * Wrote the definition of the backup resuming protocol to the
6830 protocol specification.
6832 * Removed one redundant channel key generation from normal
6833 server during joining procedure. Removed one redundant
6834 channel key sending from server to router during joining
6835 procedure. Affected file silcd/command.c.
6837 * Made minor bugfixes to the backup router resuming protocol.
6838 Affected file silcd/server_backup.c, server.c.
6840 Mon Oct 8 16:47:42 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6842 * Added --disable-asm configuration option. Affected files
6843 configure.in.pre, lib/silcmath/mpi/configure.in. A patch
6846 * Implemented the backup resuming protocol that is used to
6847 resume the primary router position in the cell after the
6848 primary router comes back online. Affected files
6849 silcd/server_backup.[ch], silcd/server, silcd/packet_receive.c,
6850 and silcd/server_util.[ch].
6852 Sun Oct 7 12:29:25 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6854 * Sleep two (2) seconds after sending QUIT command to server.
6855 Affected file lib/silcclient/command.c.
6857 * Assure that if outgoing data buffer is pending do not force
6858 send any data. Affected file silcd/packet_send.c.
6860 * Assure that if outgoing data buffer is pending do not force
6861 send any data. Affected file lib/silcclient/client.c.
6863 * Implemented the backup router support when the primary router
6864 goes down. The servers and routers can now use the backup
6865 router as new primary router without loosing connectivity.
6867 Sat Oct 6 21:18:54 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6869 * Added new SILC_IDLIST_STATUS_DISABLED flag for entries
6870 in the server to indicate disabled entry. All data read
6871 from the connection will be ignored and no data is sent
6872 for entry that is disabled. Affected files are
6873 silcd/idlist.h, silcd/server.c.
6875 Fri Oct 5 00:03:29 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6877 * Created SFTP client and server test programs in the
6878 lib/silcsftp/tests directory.
6880 Wed Oct 3 23:31:42 EDT 2001 Pekka Riikonen <priikone@silcnet.org>
6882 * Implemented memory filesystem (virtual filesystem) for
6883 SFTP server. Affected file lib/silcsftp/silcsftp_fs.h,
6886 Sun Sep 30 22:10:57 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6888 * Implemented the SFTP (SSH File Transfer Protocol) to the
6889 lib/silcsftp. It includes SFTP client and SFTP server
6892 Sun Sep 30 10:35:44 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6894 * Moved lib/silccore/silcprotocol.[ch] to the
6895 lib/silcutil library.
6897 * Added silc_buffer_format_vp and silc_buffer_unformat_vp to
6898 take variable argument list pointer as argument. Affected
6899 file lib/silcutil/silcbuffmt.[ch].
6901 * Added silc_buffer_set function that is used to set data
6902 to a SilcBuffer that is not allocated at all (SilcBufferStruct).
6903 Affected file lib/silcutil/silcbuffer.h.
6905 * Changed various routines in the core library to use the new
6906 silc_buffer_set instead of allocating new buffer only for
6909 * Added 64-bit value formatting and unformatting support to the
6910 silc_buffer_[un]format routines. Affected file is
6911 lib/silcutil/silcbuffmt.[ch].
6913 Added also 64-bit macros: SILC_GET64_MSB and SILC_PUT64_MSB,
6914 to includes/bitmove.h.
6916 Fri Sep 28 21:30:10 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6918 * Fixed channel user mode saving in client library. Affected
6919 file lib/silcclient/command[_reply].c.
6921 Thu Sep 27 22:52:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6923 * Defined the file transfer to the SILC Protocol. Added
6924 new packet type SILC_PACKET_FTP and defined File Transfer
6925 Payload. The mandatory file transfer protocol is SFTP
6926 (SSH File Transfer Protocol). Affected file in addition
6927 of the internet draft is lib/silccore/silcpacket.h.
6929 * Deprecated the SILC_PACKET_CELL_ROUTERS and defined new
6930 packet SILC_PACKET_RESUME_ROUTER instead. The new packet
6931 is used as part of backup router protocol when the primary
6932 router of the cell is back online and wishes to resume
6933 the position as primary router.
6935 * Redefined the MAC generation keys in the protocol. The
6936 same key is not used anymore in both direction. Both
6937 direction will now use different keys for sending and
6938 receiving. This fixes a potential security flaw. This
6939 change causes incompatibilities in the protocol.
6941 * Redefined also the MAC computation from the packet.
6942 An packet sequence number is now added to the MAC
6943 computation. This prevents possible replay attacks against
6944 the protocol. This change too causes incompatibilities
6947 Added `sequence' field to the SilcPacketContext to hold
6948 the current sequence number for the packet.
6950 Wed Sep 26 20:15:22 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6952 * Added `created' field to the SilcIDListData in the file
6953 silcd/idlist.h to indicate the time when the entry was
6956 * Added `created' field to the SilcChannelEntry too. Affected
6957 file silcd/idlist.h.
6959 * Added `creation_time' aguments to all the announcement functions
6960 in the server. If it is provided then only the entries that
6961 was created after the provided time frame are actually
6962 announced. Affected file silcd/server.[ch].
6964 * The protocol says that the Channel ID's IP address must be
6965 based on the router's IP address. Added check for this in
6966 the silc_server_new_channel when processing incoming New Channel
6967 Payload. Affected file silcd/packet_receive.c.
6969 * Print out the correct version with --version in SILC client.
6970 Affected file irssi/src/silc/core/silc-core.c.
6972 Mon Sep 24 17:19:00 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6974 * Fixed WHOWAS command to check for completnes of the client
6975 entry always, not just when the command is coming from client.
6976 Affected file silcd/command.c.
6978 * Added new function silc_server_packet_queue_purge to purge the
6979 outgoing data queue to the network. After the function returns
6980 it is guaranteed that the outgoing packet queue is empty.
6981 Affected file silcd/packet_send.[ch].
6983 * Purge the outgoing packet queue in the rekey protocol's final
6984 callback to assure that all rekey packets go to the network
6985 before quitting the protocol. Affected file silcd/server.c.
6987 * Added silc_client_packet_queue_parse as similar function as
6988 in server to the client library. The affected file is
6989 lib/silcclient/client.c.
6991 Sun Sep 23 15:15:53 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
6993 * Splitted silcd/server.c and created silcd/server_util.[ch]
6994 for utility functions.
6996 * Added new socket flag SILC_SF_DISABLED to indicate that the
6997 connection is open but nothing can be sent to or received from
6998 the connection. Affected file lib/silcutil/silsockconn.[ch].
6999 The checking for disabled socket is checked in the low level
7000 silc_socket_write and silc_socket_read functions.
7002 Thu Sep 20 23:11:28 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7004 * Allow only nicknames and channel names that fits into the
7005 7-bit unsigned char ASCII set. Affected file silcd/command.c.
7007 Thu Sep 20 18:04:12 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7009 * When processing JOIN command reply in server check that if
7010 the channel exists in our global list we'll move it the local
7011 list. Affected file silcd/command_reply.c.
7013 * Fixed the check whether client is joined on the channel already
7014 in JOIN command. Affected file lib/silcclient/command.c.
7016 * Fixed the JOIN command reply to check whether the channel
7017 already exists. Affected file lib/silcclient/command_reply.c.
7019 Wed Sep 19 22:58:32 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7021 * Added silc_ske_status_string to map the SKE error numbers
7022 to readable strings. The affected files are
7023 lib/silcske/silcske[_status].[ch].
7025 Tue Sep 18 22:50:41 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7027 * Do not show the private channels on the WHOIS channel list
7028 as it is not allowed by the protocol. The affected file is
7031 Sun Sep 16 12:32:58 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7033 * Assure that the packet length digged from the actual packet
7034 is something sensible in the silc_packet_decrypt_rest_special
7035 in lib/silccrypt/silcpacket.c.
7037 * Free and NULL the allocated pointer in silc_hmac_alloc if
7038 the HMAC allocation fails. The affected file is
7039 lib/silccrypt/silchmac.c.
7041 * Print the selected security properties to the log files in
7042 the server. Affected file silcd/protocol.c.
7044 * Add SKE's reference counter even if calling the completion
7045 callback manually. Otherwise it goes negative, although it
7046 does not cause any problems. The affected file is
7047 lib/silcske/silcske.c.
7049 * Remove the client entry with short timeout after giving the
7050 KILL command. Affected file lib/silcclient/command.c.
7052 * Fixed to send error reply in WHOIS and IDENTIFY commands in
7053 case all found clients are already disconnected (WHOWAS would
7054 found them) in the server. Affected file silcd/command.c.
7056 * Update the last_receive (time of last data received) to be
7057 updated only when received private or channel message so that
7058 the idle time showed in WHOIS makes more sense.
7060 * Added boolean field `valid' in to the SilcClientEntry in the
7061 client library to indicate whether the entry is valid or not.
7062 This fixes the nickname change bug on channel when changing
7063 the nickname to be same than the old (like nick to Nick) the
7064 nickname formatter doesn't set the new nick anymore to Nick@host.
7065 Affected file lib/silcclient/idlist.[ch].
7067 * Now actually fixed the nickname changing on disconnection.
7068 Added new function silc_change_nick to the Irssi SILC Client.
7069 Affected file irssi/src/silc/core/client_ops.c,
7070 irssi/src/silc/core/silc-nicklist.[ch].
7072 Sat Sep 15 13:29:17 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7074 * Check that the public key exists in the GETKEY command before
7075 trying to encode it. Affected file silcd/command.c.
7077 * Print some notifications on received public keys with GETKEY
7078 command in the Irssi SILC Client. Affected files are
7079 irssi/src/fe-common/silc/module-formats.[ch],
7080 irssi/src/silc/core/client_ops.c.
7082 * Use IDENTIFY command to resolve the server information in the
7083 GETKEY command instead of INFO command. Affected file
7084 lib/silcclient/command.c.
7086 * All command reply functions in the client library now calls
7087 the pending command reply callbacks even if an error has
7088 occurred. The server has done this a long time and now it was
7089 time to move the client library to this as well. Now all
7090 errors can be delivered back to the pending command reply
7091 callbacks if necessary. Affected files are
7092 lib/silcclient/command[_reply].[ch].
7094 * Change the nickname on disconnection back to the username
7095 because in reconnect the server will enforce it to it anyway.
7096 Affected file irssi/src/silc/core/silc-servers.c.
7098 * Fixed a config file parsing bug in the Irssi SILC client.
7099 Affected file irssi/src/silc/core/clientconfig.c.
7101 Thu Sep 13 23:11:18 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7103 * When printing the channel mode on JOIN, verify that the
7104 channel key and channel's HMAC are valid. Affected file
7105 irssi/src/silc/core/client_ops.c.
7107 Thu Sep 13 20:24:52 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7109 * Added defines SILC_DEFAULT_CIPHER, SILC_DEFAULT_HMAC,
7110 SILC_DEFAULT_HASH and SILC_DEFAULT_PKCS in the file
7111 lib/silccrypt/[silccipher.h|silchmac.h|silchash.h|silcpkcs.h].
7113 * Removed channel key rekey task deleting from the function
7114 silc_server_save_channel_key. Affected file silcd/server.c.
7115 Added explicit timeout task context instead that is used to
7116 delete the task if we are registering a new task before the
7117 new task has elapsed.
7119 * When channel key rekey occurs the client library now saves
7120 the old channel key for a short period of time (10 seconds) and
7121 is able to use it in case some is still sending channel
7122 messages encrypted with the old key after the rekey. Affected
7123 file lib/silcclient/[idlist.h|client_channel.c].
7125 Sun Sep 9 15:49:16 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7127 * Added check to the silc_server_new_id_real to not accept
7128 new ID if it is the sender's own ID. Affected file is
7129 silcd/packet_receive.c.
7131 * Assure that we do not announce ourself or the one we've
7132 sending our announcements when we're router and are announcing
7133 servers to our primary router. Affected file silcd/server.c.
7135 * Fixed silc_server_command_identify_check_client to assemble
7136 correct WHOIS packet. It send corrupted WHOIS packet and
7137 caused problem with router to router connections. Affected
7138 file silcd/command.c.
7140 Fixed also silc_server_command_whois_check the same way
7141 as for the IDENTIFY command.
7143 * Added new SilcIDListStatus to the server in the SilcIDListData
7144 structure. The status now includes the current status of
7145 the entry (like registered, resolved etc.). Affected file
7146 silcd/idlist.[ch]. Defined a bunch of different status types
7147 as well. This replaced the old boolean registered field as well.
7149 Added resolve_cmd_ident field to the SilcClientEntry structure
7150 too so that if the entry is for example being resolved so
7151 another command may attach to the same pending command reply
7152 without requiring to resolve the same entry again. This concept
7153 should optimize the WHOIS and the IDENTIFY resolving under
7154 heavy load by taking away unnecessary resolving for entries
7155 that are being resolved already.
7157 Added support for adding multiple pending commands for one
7158 command idenfier. Affected file silcd/command[_reply].[ch].
7160 * Fixed WHOIS and IDENTIFY save to remove the cache entry
7161 before deleting the data. Otherwise the hash table will have
7162 freed data in comparison functions. Affected file is
7163 silcd/command_reply.c.
7165 * Fixed silc_idlist_replace_client_id to add the new entry to
7166 the cache with NULL nickname. Otherwise there will be invalid
7167 memory as the nickname after the nickname is freed. Affected
7168 file silcd/packet_receive.c.
7170 * Fixed the silc_idlist_get_clients_by_hash. The entries was
7171 saved into wrong slots because the previous number of entries
7172 was not taken into account. Affected file silcd/idlist.c.
7173 Fixed same thing in silc_idlist_get_clients_by_nickname too.
7175 * If we are router and we receive JOIN notify to a channel that
7176 does not have any users then notified client is marked as the
7177 channel founder, as it is it. The affected file is
7178 silcd/packet_receive.c
7180 * Added to the extended hash table API's table_del_*ext functions
7181 the destructor as argument too, so that the caller can decide
7182 which destructor to use or whether to use destructor at all.
7183 Affected file lib/silcutil/silchashtable.[ch].
7185 * Fixed ID Cache purging. It actually deleted the entries from
7186 the hash table after the data was freed. The hash table ended
7187 up comparing freed memory. The affected file is
7188 lib/silccore/silcidcache.c.
7190 Sat Sep 8 10:22:10 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7192 * Fixed Irssi SILC client's KILL command's HELP syntax.
7194 * The USERS command now resolves the detailed user information
7195 if the userinfo field is missing. Affected file is
7196 lib/silcclient/command_reply.c.
7198 * Do not print error in silc_file_read if the read file does
7199 not exist. Just silently return NULL. Affected file is
7200 lib/silcutil/silcutil.c.
7202 * Fixed the silc_log_output to not wine about NULL filename
7203 and to not create some bogus " " filename. Affected file is
7204 lib/silcutil/silclog.c.
7206 Fri Sep 7 22:16:38 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7208 * Fixed various printing bugs on the user interface in the
7209 Irssi SILC Client. Minor changes that were forgotten from
7212 Fri Sep 7 17:28:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7214 * Fixed the configure.in.pre and the compilation and distribution
7215 environment to support the new autoconf 2.52. That version is
7216 now required to compile the CVS trunk.
7218 Thu Sep 6 12:47:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7220 * Renamed function silc_parse_nickname to silc_parse_userfqdn
7221 to generally parse user@fqdn format strings. Affected file
7222 lib/silcutil/silcutil.c.
7224 * Added nickname_format and nickname_force_format fields to the
7225 SilcClientParams structure. The first one defines the format
7226 for the nicknames that the library will enforce if the receives
7227 multiple same nicknames. The second one is boolean value and
7228 can be used to force the library to always enforce the format
7229 to the nicknames regardles whether there are multiple nicknames
7230 or not. This configurable formatting was employed to flexibly
7231 support accessing multiple nicknames from the user interface.
7232 The userinterface can now set the nicknames to what ever format
7233 they prefer. Affected file lib/silcclient/silcapi.h.
7235 Added function silc_client_nickname_format to the file
7236 lib/silcclient/idlist.c. It performs the nickname formatting.
7238 Added new field `hostname´ to the SilcClientEntry context.
7239 It holds the hostname of the client. Affected file is
7240 lib/silcclient/idlist.h.
7242 * Irssi SILC Client sets the nicknames in nick@hostn format.
7243 Fe. priikone@otaku, priikone@otaku2 etc. Affected file
7244 irssi/src/silc/core/silc-core.c.
7246 The WHOIS printing now also shows both the real nickname and
7247 the formatted nickname so that user knows how to access the
7248 user if there are multiple same nicknames cached. Affected
7249 file irssi/src/silc/core/client_ops.c. Changed the WHOIS
7250 printing formatting too to take the hostname now as a separate
7251 argument. The Affected file is
7252 irssi/src/fe-common/silc/modules-formats.[ch].
7254 * Changed the silc_client_get_clients_local to accept the formatted
7255 nickname as argument. It accepts the real nickname too but the
7256 formatted nickname can be used to find the true entry from
7257 multiple entries. Affected file lib/silcclient/silcapi.h and
7258 lib/silcclient/idlist.c.
7260 * Added nickname_format_parse field to the SilcClientParams.
7261 It is a callback function provided by the application to parse
7262 the nickname out of the formatted nickname string. The library
7263 calls it to get the nickname from the formatted string. Since
7264 the application generally knows better the format of the nickname
7265 string it parses it instead of the library, even though library
7266 encodes the formatted string. If the callback function is not
7267 provided then the library will use the string as is. The
7268 affected file is lib/silcclient/silcapi.h.
7270 * All the nickname strings passed to the client library in
7271 commands are now expected to be formatted nickname strings.
7272 If the command does not support the formatted nickname string
7273 it will assume that the sent string is the actual nickname.
7274 Affected file lib/silcclient/command.c.
7276 Tue Sep 4 22:31:28 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7278 * Added public key authentication support to OPER and SILCOPER
7279 commands in the client library. Affected file is
7280 lib/silcclient/command.c.
7282 Tue Sep 4 12:39:17 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7284 * Changed the get_auth_methdod client operation to be asynchronous.
7285 It can be async if the application resolves the authentication
7286 method from the server during the negotiation. Added new
7287 SilcGetAuthMeth completion callback that the application will
7288 call after resolving the authentication method.
7290 Added function silc_client_request_authentication_method that
7291 the application can use to resolve the authentication method
7292 from the server. Added also SilcConnectionAuthRequest callback
7293 that the library will call after the server has replied. The
7294 application can call this function if it does not know the
7295 current authentication method.
7297 Affected files are lib/silcclient/client.c and
7298 lib/silcclient/silcapi.h.
7300 * The Irssi SILC client now automatically resolves the authentication
7301 method incase any configuration information is not present (and
7302 currently there never is). The affected file is
7303 irssi/src/silc/core/client_ops.c.
7305 * Fixed public key authentication from the client library.
7306 Affected file lib/silcclient/protocol.c. Changed also the
7307 protocol specification about the public key authentication in
7308 the connection authentication protocol. The actual data to be
7309 signed is now computed with a hash function before signing.
7311 * Fixed the public key authentication from the server as well.
7312 Affected file silcd/protocol.c.
7314 * Removed the mlock()'s from the memory allocation routines.
7315 Affected file lib/silcutil/silcmemory.c. The ./configure does
7316 not check anymore for the mlock(). Affected file is
7319 * Fixed USERS command in server to allow the execution of the
7320 command for private and secret channels if the client sending
7321 the command is on the channel. Affected file silcd/command.c.
7323 * Fixed silc_client_get_clients_local to return the clients
7324 count correctly. It could return wrong value. Affected file
7325 lib/silcclient/idlist.c.
7327 Mon Sep 3 20:09:59 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7329 * Fixed the lib/silcmath/mpi/mpi.h to always use 32-bit data
7330 types. The assembler optimizations seemed not to like 64-bit
7331 data types. The assmebler optimizations thus are now enabled
7332 also for BSD systems as opposed to only enable them for Linux.
7334 * Do not check for threads at all on BSD systems. Affected
7335 file configure.in.pre.
7337 * Removed -n and -h options from the Irssi SILC Client since
7338 they are not used in silc.
7340 * Fixed the prime generation to assure that the first digit
7341 of the generated random number is not zero since our conversion
7342 routines does not like number strings that starts with zero
7343 digit. If zero digit is seen the random number is regenerated.
7344 This caused some corrupted RSA keys when the zero first digit
7345 was met. Affected file lib/silcmath/silcprimegen.c.
7347 Sun Sep 2 17:17:24 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7349 * Fixed WIN32 configuration in the ./configure script.
7350 Fixed to include xti.h on environments that has it.
7351 Patches by Carsten Ilchmann and andrew.
7353 Sat Sep 1 00:29:33 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7355 * Changed the silc_id_create_client_id to be collision
7356 resistant. It is now assured that there cannot be created
7357 two same client ID's. I suspect that some weird bugs in
7358 the server were actually caused by duplicate Client IDs.
7359 Affected file silcd/serverid.[ch]. A router receiving
7360 new ID now also assures and informs the sending server
7361 if the ID caused collision.
7363 * Changed the silc_id_create_channel_id to also assure that
7364 there are no collisions.
7366 Wed Aug 29 17:55:01 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7368 * Statement about ignoring the Mutual Authentication flag when
7369 performing rekey with PFS was a bit misleading. It is ignored
7370 if it was set in the initial negotiation, it cannot be even
7371 set in the rekey. Fixed in the ke-auth draft. Started the
7372 new versions of the protocol drafts in the doc/.
7374 Sun Aug 26 14:59:15 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7376 * Fixed a bug in silc_client_command_identify_save when saving
7377 new channel information. The channel name was no duplicated
7378 and caused crash on exit. Affected file is
7379 lib/silcclient/command_reply.c.
7381 Fri Aug 17 23:07:45 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7383 * Fixed the getkey command handling in the server. Send just
7384 empty OK reply to the sender if the key could not be fetched
7385 (but everything else was ok, like the key just was not available).
7386 Changed the public key parameter to optional in the protocol
7387 specs so that empty OK reply can be sent. Affected file
7390 Added a message to Irssi SILC client to tell to user if the
7391 server did not return a public key.
7393 Tue Aug 14 07:29:27 CEST 2001 Pekka Riikonen <priikone@silcnet.org>
7395 * Fixed a channel key regeneration bug. It registered new
7396 timeout tasks exponentially until all system resources were
7397 used. Affected file silcd/server.c.
7399 Sun Aug 12 20:48:14 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7401 * Added the SILC Document generator to the scripts/silcdoc.
7402 It can be used to generate the Toolkit Reference Manual out
7403 of the source tree. Internally it will also use the RoboDoc
7404 generator now imported in util/robodoc.
7406 Sun Aug 12 12:28:17 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7408 * Added couple of return's in rekey protocol if error orccurred
7409 during the protocol. The execution must be terminated.
7410 Affected file silcd/protocol.c. Also, terminate the protocol
7411 always with timeout.
7413 Sat Aug 11 12:36:02 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7415 * The client's Client ID was created initally from the wrong
7416 nickname (it could have been in format nick@host) in the
7417 silc_server_new_client. Affected file silcd/packet_receive.c
7419 Sat Aug 11 00:29:57 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7421 * Added some SILC_LOG_ERROR's to various error conditions
7422 if client could not be added to ID cache. Affected files
7423 silcd/packet_receive.c and silcd/server.c.
7425 * When client's sock->user_data is freed, NULL also the
7426 client->router and client->connection pointers. Added check
7427 for these pointers being NULL to various places around the
7428 code. Affected file silcd/server.c.
7430 * Added client->data.registered == TRUE checks to various
7431 places around the code to assure that unregistered client's
7432 are not handled when it is not allowed. Affected file
7435 * Added `bool registered' fields to all
7436 silc_idlist_[server|client]_get_* routines to indicate whether
7437 the fetched client needs to be registered or not. Affected
7438 file silcd/idlist.[ch].
7440 * Add your own entry as registered to the ID cache in the
7441 server. Affected file server.c.
7443 * Fixed a bug in silc_server_new_server. The SilcServer was
7444 set as the new server's context instead of SilcServerEntry.
7445 This naturally caused some weird bugs.
7447 * Added "updated" field the SilcChannelEntry which indicates
7448 the time since the channel entry was last accessed. This
7449 can be used to determine whether it is necessary to
7450 announce the channel after backup resuming protocol.
7451 Affected files silcd/idlist.[ch].
7453 Thu Aug 9 18:28:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7455 * Do not delete the channel rekey task when adding it
7456 for in silc_server_create_channel_key.
7458 * Changed the silc_server_create_channel_key to return
7459 TRUE or FALSE to indicate the success of the channel key
7462 Thu Jul 26 11:32:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7464 * Fixed MSVC++ project files and added missing files to
7465 Makefiles under win32/.
7467 Wed Jul 25 18:43:54 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7469 * Do not add TCP_NODELAY flag if the operating system
7470 does not have it defined. Affected files are
7471 lib/silcutil/[unix/win32]/silc[unix/win32]net.c.
7473 * Fixed buffer overflow from Irssi SILC Client. Affected
7474 file irssi/src/fe-common/core/themes.c.
7476 * Fixed double free in client library in the file
7477 lib/silcclient/client.c when disconnecting from server.
7479 * Applied double free patch from cras to Irssi SILC client.
7480 Affected files irssi/src/core/[modules/expandos].c
7482 * Fixed the disconnection handling to Irssi SILC Client.
7483 The application must call silc_client_close_connection
7484 in ops->connect client operation in case of failure of
7485 the connection. Affected file is
7486 irssi/src/silc/core/client_ops.c.
7488 * Do not set sock->protocol to NULL in the function
7489 silc_client_close_connection after executing the protocol's
7490 final callback since the sock might not be valid anymore.
7491 Affected file lib/silcclient/client.c.
7493 Wed Jul 25 16:04:35 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7495 * Do not enable SILC_THREADS if the linking with libpthread
7496 did not happen. Affected file configure.in.pre.
7498 * Added notion to protocol specification that server must
7499 verify the sent authentication payload with CMODE when
7500 setting the channel founder key. Implemented it to the
7501 server. Affected file silcd/command.c.
7503 Mon Jul 23 18:31:43 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7505 * Added _EXTRA_DIST SILC distribution variable to the
7506 distributions file. It is used to conditionally add extra
7507 files or directories to the specific distribution. Affected
7508 files ./prepare, Makefile.am.pre and distributions.
7510 Removed the `_' from the start of the distribution names.
7513 * Added README.WIN32 for instructions to compile the Toolkit
7516 Mon Jul 23 10:12:37 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7518 * Fixed a double free in disconnection in the server. Affected
7519 file is silcd/server.c.
7521 * Fixed the lib/silcske/groups.c to work now also with GMP
7522 MP library. The string conversion did not work when using
7523 specific base and the base is indicated in the string as well.
7525 * Created win32/ directory which now includes MSVC++ specific
7526 stuff so that toolkit (DLLs) may be compiled with MSVC++.
7527 It will appear only in the toolkit distribution
7529 Sun Jul 22 19:40:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7531 * Changed the key material distribution function in case when
7532 the hash output is too short. The data is now concatenated
7533 a bit differently than it used to. Made the change to the
7534 SKE protocol specification.
7536 * Added better GMP detection to configure.in.pre. A patch
7539 Fri Jul 20 13:16:00 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7541 * Fixed a minor bug in SKE that might cause some problem on
7542 some platforms. Affected file lib/silcske/silcske.c.
7544 * Added the cookie checking for initiator in the SKE. It checks
7545 that the responder returns the sent cookie unmodified. The
7546 affected file is lib/silcske/silcske.c. Added new SKE
7547 error type INVALID_COOKIE that can be sent during the
7548 negotiation. Fixed some memory leaks as well.
7550 * Added the "invalid cookie" error message to Irssi SILC client's
7553 Thu Jul 19 21:44:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7555 * Added `task_max' field to the SilcClientParams to indicate
7556 the maximum tasks the scheduler can handle. If set to zero,
7557 default values are used. Affected file lib/silcclient/silcapi.h.
7559 * Fixed memory leaks in silc_client_close_connection. Affected
7560 file lib/silcclient/client.c.
7562 * Added silc_client_del_client_entry to client library to free
7563 all memory of given client entry. Affected file is
7564 lib/silcclient/idlist.[ch].
7566 * Added new functions silc_client_del_channel and
7567 silc_client_del_server to delete channel and server entries.
7568 Affected file lib/silcclient/[silcapi.h/idlist.c].
7570 * Removed silc_client_del_client_by_id from silcapi.h.
7572 * Fixed the INFO command to return the server's own info
7573 correctly when querying by Server ID. Affected file is
7576 Thu Jul 19 14:47:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7578 * Removed the non-blocking settings in WIN32 code in the
7579 silc_sock_[read/write] and added SleepEx instead. Affected
7580 file lib/silcutil/win32/silcwin32sockconn.c. The availability
7581 of input data is now checked with FIONREAD and ioctlsocket.
7583 Wed Jul 18 18:34:01 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7585 * Call silc_schedule_task_del_by_context in the
7586 silc_protocol_cancel instead of silc_schedule_task_del_by_callback.
7587 Affected file lib/silccore/silcprotocol.c.
7589 * Call silc_protocol_cancel for active protocols in the
7590 silc_server_close_connection if the funtion
7591 silc_server_free_sock_user_data has not been called.
7592 Affected file silcd/server.c.
7594 * Generic tasks cannot be deleted using the del_by_fd
7595 task deleting function since generic tasks does not match
7596 any specific fd. Affected file lib/silcutil/silcschedule.[ch].
7598 * Added a notion to SILCOPER help file that the SILCOPER works
7599 only on router server, not on normal server.
7601 Wed Jul 18 09:40:04 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7603 * Added for WIN32 support for the new scheduler as well.
7604 Affected file lib/silcutil/win32/silcwin32schedule.c.
7606 * Fixed the SHA1 implementation to work on various platforms.
7608 Tue Jul 17 23:04:10 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7610 * Rewrote the SILC Scheduler entirely. Removed the old SILC Task
7611 API. It is part of the scheduler now. Everything else is
7612 as previously but some functions has changed their names.
7613 Checkout the lib/silcutil/silcschedule.h for the interface.
7614 Updated all applications to use the new interface. Affected
7615 files are lib/silcutil/silcschedule.[ch].
7617 Tue Jul 17 16:53:30 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7619 * Found a bug in the SKE implementation. The HASH value,
7620 specified by the protocol, was not computed correctly. The
7621 public key of the responder was not added to the computation
7622 even though it is mandatory. Affected file lib/silcske/silcske.c.
7623 This unfortunately causes incompatibilities with older
7624 clients and servers.
7626 * Added WIN32 specific network init and uninit functions:
7627 silc_net_win32_init and silc_net_win32_uninit to init and uninit
7628 the Winsock2. Affected file lib/silcutil/silcnet.h and
7629 lib/silcutil/win32/silcwin32net.c.
7631 * Set the socket always to nonblocking mode on WIN32 after
7632 reading data or writing data. Affected file is
7633 lib/silcutil/win32/silcwin32sockconn.c.
7635 Mon Jul 16 22:55:26 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7637 * Fixed various compilation problems under WIN32. Affected
7638 files lib/silcutil/win32/silcwin32thread.c and
7639 lib/silcutil/win32/silcwin32schedule.c.
7641 * Removed all _internal.h #includes from public header
7642 files. Internal headers must never be included from
7645 Removed also the lib/silcske/payload_internal.h file.
7647 * All include files that may be needed (public and some others
7648 included by the public headers) by application developers are
7649 now copied to the ./includes directory. It does not copy any
7650 internal headers. Affected file Makefile.defines.pre and all
7651 Makefile.am's under lib/ and subdirs.
7653 Thu Jul 12 17:49:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7655 * Do not change the ~/.silc directory's permissions automatically.
7656 Affected file irssi/src/silc/core/clientutil.c.
7658 Thu Jul 12 10:18:40 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7660 * Do not cancel the protocol in silc_server_close_connection
7661 it might cause recursion. Now cancelled in the function
7662 silc_server_free_sock_user_data. Affected file silcd/server.c.
7664 * Fixed the silc_server_remove_clients_by_server to regenerate
7665 the channel keys correctly finally. Added also new function
7666 silc_server_remove_clients_channels to actually do it.
7667 Affected file silcd/server.c.
7669 * Fixed the silc_server_new_channel to not crash by giving
7670 wrong router to the new channel. Affected file is
7671 silcd/packet_receive.c.
7673 Wed Jul 11 18:31:57 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7675 * Added SilcClientParams structure to the lib/silcclient/silcapi.h
7676 which is given as argument to the silc_client_alloc now.
7677 It can be used to configure the client and set various parameters
7678 that affect the function of the client.
7680 * The USERS command in server did not check whether the channel
7681 is private or secret. Affected file silcd/command.c.
7683 * Added new argument to the USERS command in protocol specification.
7684 The USERS command now can take the channel name as argument
7685 as well. Added support for this in client and server and
7686 updated the protocol specs.
7688 * Completed the GETKEY command in client. It can be now used
7689 to fetch also servers public key not only some clients.
7690 Affected files lib/silcclient/command[_reply].c.
7692 * Added silc_client_get_server to return server entry by the
7693 server name. Affected files lib/silcclient/silcapi.h and
7696 * Redefined the IDENTIFY command in protocol specification to be
7697 more generic. It now can be used to query information about
7698 any entity in the SILC Network, including clients, servers and
7699 channels. The query may be based either the entity's name
7700 or the ID. Added support for this in both client and server.
7702 Affected files silcd/command.c and lib/silcclient/command.c
7703 and command_reply.c.
7705 * Optimized the WHOIS and WHOWAS commands in the server. Removed
7706 the _from_client and _from_server functions. Affected file
7709 * Added silc_client_get_channel_by_id_resolve to the file
7710 lib/silcclient/silcapi.h to resolve channel information by
7711 its ID. Added also silc_client_get_channel_by_id that
7712 does not resolve it from the server.
7714 Tue Jul 10 18:05:38 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7716 * Added SilcServerEntry context into the client library
7717 to represent one server. The INFO command now allocates
7718 these to save the resolved server info. For now on the
7719 client library will also keep information about servers,
7720 connected and resolved with INFO.
7722 The INFO command now allocates the SilcServerEntry context
7723 and saves the server info there. The COMMAND_REPLY in
7724 the INFO now returns the parameters to application in
7725 same order as defined in the protocol specification.
7727 The entries are cached in the client->server_cache.
7729 * The INFO command is now issued after received the Client ID
7730 from the server. Affected file lib/silcclient/client.c.
7732 * The CMODE_CHANGE notify may now return also an SilcServerEntry
7733 to the application as the mode changer might be server.
7734 It is guaranteed that NULL is not returned anymore to the
7735 application. Affected file lib/silcclient/client_notify.c.
7737 The ID Type is now also passed to the application so that
7738 it can check whether the returned entry is SilcClientEntry
7741 Added new function silc_client_get_server_by_id to return
7742 the server entry by ID. Affected files are the
7743 lib/silcclient/silcapi.h and lib/silcclient/idlist.c.
7745 * Do not create the channel in the Irssi SILC Client when issuing
7746 the JOIN command but when received the sucessful JOIN command
7747 reply. Otherwise the channel might get created even though we
7748 could not join it. The Affected file is
7749 irssi/src/silc/core/[silc-channels.c/client_ops.c].
7751 * Fixed a channel joining bug in router. The router must also
7752 check the channel modes, invite and ban lists etc. when serving
7753 the JOIN command sent by normal server. Affected file is
7754 silcd/command.c. The router now resolves the client's
7755 information from the server who sent the JOIN command if it
7756 does not know it, and processes the JOIN command only after
7759 * Changed the SilcCommandCb to take new argument; void *context2.
7760 Affected file lib/silccore/silccommand.h
7762 The second argument in the command callbacks in the server now
7763 includes the SilcServerCommandReplyContext if the command was
7764 called as pending command callback from the command reply.
7765 Otherwise it is NULL. When called as pending the status of the
7766 command reply will be checked and if it was erronous the
7767 error will be sent to the original sender of the command.
7768 This way the client always receives the error messages even
7769 though the server was actually the one who received the error
7770 when it resent the command to router, for example. Affected
7771 files silcd/command[_reply].[ch].
7773 * Fixed sending WHOWAS command's error message to client if
7774 the requested client could not be found. It was missing.
7777 * Changed the CMODE and CUMODE commands reply arguments in the
7778 protocol specification. The Channel ID is now sent in both
7779 of the commands to identify the channel. Implemented this
7780 new feature to the client and server. Affected files
7781 lib/silcclient/command_reply.c and silcd/command.c.
7783 * Made better checks for invite and ban lists in the JOIN
7784 command in server. Affected file silcd/command.c.
7786 Mon Jul 9 18:28:34 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7788 * The server now performs the incoming host IP/DNS lookup
7789 using the silc_socket_host_lookup and thus does not block
7790 the server anymore. Affected file silcd/server.c.
7792 * Completed the multi-thread support for SILC Scheduler in
7793 the lib/silcutil/silcschedule.c.
7795 * Fixed the configure.in.pre to detect the pthread correctly
7798 * Fixed a deadlock in silc_task_queue_wakeup in the file
7799 lib/silcutil/silctask.c.
7801 Mon Jul 9 13:40:03 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7803 * Added new function silc_schedule_wakeup that is used in
7804 multi-threaded environment to wakeup the main thread's
7805 schduler. It needs to be used when a thread adds a new task
7806 or removes a task from task queues. After waking up, the
7807 scheduler will detect the task queue changes. If threads
7808 support is not compiled in this function has no effect.
7809 Implemented the wakeup mechanism to both Unix and WIN32
7810 systems. Affected files are lib/silcutil/silcschedule.[ch],
7811 lib/silcutil/unix/silcunixschedule.c and the
7812 lib/silcutil/win32/silcwin32schedule.c.
7814 * Added new function silc_task_queue_wakeup to wakeup the
7815 scheduler by the specified task queue. Affected file
7816 lib/silcutil/silctask.[ch].
7818 * The silc_socket_host_lookup_start now wakes up the scheduler
7819 after adding the timeout task. Affected file is
7820 lib/silcutil/silcsockconn.c.
7822 * The silc_socket_host_lookup is synchronous now if the threads
7823 support is not compiled in. However, the callback is still
7824 called asyncronously through the scheduler, anyway. Affected
7825 file lib/silcutil/silcsockconn.c.
7827 Mon Jul 9 00:24:45 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7829 * Added new function silc_socket_host_lookup to perform
7830 asynchronous IP and FQDN lookups for the socket connection.
7831 Affected files lib/silcutil/silcsockconn.[ch].
7833 Sun Jul 8 18:44:53 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7835 * Added SILC_MUTEX_DEFINE to define the mutex on environments
7836 that may or may not compile the mutex support in.
7838 Changed the silc_mutex_alloc interface. It allocates the
7839 mutex now to the sent pointer and returns TRUE or FALSE.
7841 Affected file lib/silcutil/silcmutex.h.
7843 * Wrote the SILC Task Queue interface to support multi-threads.
7844 Affected file lib/silcutil/silctask.[ch].
7846 * Wrote the SILC Scheduler to support multi-threads. Affected
7847 file lib/silcutil/silcschedule.c.
7849 Sun Jul 8 11:16:01 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7851 * Implemented the SILC Mutex API and SILC Thread API for WIN32
7852 in lib/silcutil/win32/.
7854 Sun Jul 8 00:18:15 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7856 * Defined SILC Mutex API and SILC Thread API and implemented
7857 them for Unix. Affected files are
7858 lib/silcutil/silcmutex.h, lib/silcutil/silcthread.h,
7859 lib/silcutil/unix/silcunixmutex.c and
7860 lib/silcutil/unix/silcunixthread.c.
7862 Sat Jul 7 14:40:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7864 * Fixed the silc_server_remove_clients_by_server's channel
7865 key re-generation. The hash table handling was incorrect
7866 and would not work with many channels. Affected file is
7869 * Fixed some memory leaks around the server code.
7871 * Rewrote the silc_server_get_users_on_channel to support IPv6
7872 based Client ID's. Affected file silcd/server.c.
7874 * Defined the SILC_MESSAGE_FLAG_SIGNED to the protocol
7875 specification. However, a separate document must be written
7876 to define the detailed signing procedure and the payload
7877 associated with the flag. Defined the flag to the
7878 lib/silccore/silcchannel.h as well.
7880 Fri Jul 6 18:26:31 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7882 * Changed the dynamic tables to static size tables in the
7883 lib/silccrypt/silchmac.c.
7885 * Removed GCC dependencies from the code. A patch by cras.
7887 Fri Jul 6 09:39:35 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7889 * Do not show the error "Error receiving packet bla bla"
7890 in server if it really was not an error (-2 means that reading
7891 is pending). Affected file silcd/server.c.
7893 Thu Jul 5 21:22:32 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7895 * Fixed a possible crash in silc_server_remove_clients_by_server
7896 in silcd/server.c. Fixed there also some memory leaks.
7898 * Fixed the silc_idlist_replace_client_id. It could replace
7899 wrong key in the hash table. Affected file silcd/idlist.c.
7901 * Do not check whether there are global users on the channel
7902 if the channel->global_users is FALSE. Affected functions
7903 silc_server_remove_from_one_channel and
7904 silc_server_remove_from_channels in silcd/server.c. Also,
7905 do not check if the removed client is local as we can be
7906 sure that global client was not removed from the channel
7907 and checking for global users is not needed.
7909 * The silc_server_remove_clients_by_server now re-generates
7910 the channel keys correctly for those channels that had
7911 clients removed from them. Affected file silcd/server.c.
7913 Tue Jul 3 11:39:20 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7915 * Found the reason of random crashes in the server. We weren't
7916 ignoring the SIGPIPE signal (which can be sent in write())
7917 and it crashed the server. Affected file silcd/silcd.c.
7919 Fri Jun 29 20:05:25 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7921 * Assure that sock->user_data is not NULL in the function
7922 silc_server_packet_send in silcd/packet_send.c.
7924 * Disconnect the remote connection if it could not be added
7925 to any ID lists in the server. The affected file is
7928 * Check in silc_server_packet_send[_real/dest] that the
7929 socket is not disconnecting and ignore the data if it is.
7930 Affected file silcd/packet_send.c.
7932 * Define inline to __inline on native WIN32 compilation.
7933 Affected file includes/silcwin32.h.
7935 * Added some explicit type casts for inline code since MSVC
7936 require them. Affected files lib/silcutil/silcbuffer.h,
7937 lib/trq/silcdlist.h and lib/trq/silclist.h.
7939 * Print warning in log files from now on if the packet
7940 decryption fails. Affected file silcd/server.c.
7942 Thu Jun 28 21:30:39 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7944 * Changed the `say' client operation's interface to accept
7945 new `type' argument to indicate the type of the message sent
7946 by the library. The application may filter the library's
7947 messages according the type. The affected file is the
7948 lib/silcclient/silcapi.h.
7950 * Added two new functions to lib/silcclient/silcapi.h:
7951 silc_client_del_client and silc_client_del_client_by_id.
7952 Affected file lib/silcclient/idlist.c.
7954 * Moved the clientincludes.h from includes/ to silc/ and
7955 serverincludes.h from includes/ to silcd/.
7957 * The modes for the CMODE and CUMODE are now passed as
7958 uint32 for application with COMMAND_REPLY. The affected
7959 file is lib/silcclient/command_reply.c.
7961 Wed Jun 27 22:24:47 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7963 * /WHOIS without arguments shows client's own information.
7964 Affected file lib/silcclient/command.c.
7966 * Changed PING to not accept any arguments. The specs
7967 says that client can ping only the connected server so
7968 requiring an argument is not needed. Affected file is
7969 lib/silcclient/command.c.
7971 Wed Jun 27 00:10:33 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7973 * Fixed a fatal bug in private message sending and reception
7974 encryption and decryption when using private message keys.
7975 The implementation was incorrect and did not follow the
7976 specification. It causd that some of the message were
7977 lost since it did not use the sending and receiving keys
7978 as the protocol suggests. This has been fixed and will cause
7979 incompatibilities with older clients when sending private
7980 message encrypted with private message keys. Affected files
7981 lib/silcclient/client_prvmsg.c, lib/silcclient/client_keyagr.c
7982 and various other in Irssi SILC Client.
7984 Added `responder' boolean argument to the functions
7985 silc_client_add_private_message_key[_ske] to indicate when
7986 the key is added as responder or initiator of the key
7989 Tue Jun 26 19:23:07 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
7991 * Removed the silc_ske_check_version function and created
7992 a SilcSKECheckVersion callback. Added also a function
7993 silc_ske_set_callbacks that is now used to set all SKE
7994 callbacks. The callback functions are not given to
7995 the SKE functions anymore, but this function is used to
7998 * Fixed the WIN32 DLL generation in lib/Makefile.am.pre.
8000 * Added `silc_version' argument to the silc_client_alloc
8001 to define the version of the application for the library.
8002 The library will use the version string to compare it
8003 against the remote host's (usually a server) version
8004 string. Affected file lib/silcclient/silcapi.h
8006 * Added the KE protocol context to Key Agreement context
8007 in client library so that we can abort the SKE if it
8008 is in process when we get timeout. Affected file is
8009 lib/silcclient/client_keyagr.c.
8011 * Do not resolve the client ID forever if it returns in the
8012 first time that such client does not exist. This was done
8013 for example with private message. Affected file is
8014 lib/silcclient/client_prvmsg.c.
8016 Mon Jun 25 21:42:51 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
8018 * Do not add regex.h for WIN32. The affected file
8019 includes/silcincludes.h.
8021 * Added WIN32 DLL generation to lib/Makefile.am.pre. It might
8022 not work yet 100%. It generates the DLL's automatically
8023 when compiling with --with-win32 under cygwin.
8025 Sun Jun 24 19:49:23 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
8027 * lib/contrib/regex.c is not compiled on WIN32.
8029 * Added silc_net_get_socket_opt function to the
8030 lib/silcutil/silcnet.h.
8032 * Added includes/silcwin32.h for WIN32 specific includes
8035 * Do not use ptime structure or any of the posix process
8036 functions on WIN32 in lib/silccrypt/silrng.c.
8038 * Added silc_gettimeofday to provide generic function
8039 for struct timeval on all platforms. Added the function
8040 to lib/silcutil/silcutil.h.
8042 Sun Jun 24 12:19:52 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
8044 * Moved the lib/silccore/silcsockconn.[ch] to the utility
8045 library as they clearly belong there. As a plus side we
8046 can make the actual socket connection routines platform
8049 Added also new generic function silc_socket_read and
8050 silc_socket_write (that used to be silc_packet_[read/write].
8051 The implementation of these are platform specific.
8053 * Added WIN32 specific routines of silc_socket_[read/write]
8054 to lib/silcutil/win32/silcwin32sockconn.c.
8056 Sat Jun 23 16:01:00 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
8058 * Added preliminary support for native WIN32 compilation under
8059 cygwin (using the -mno-cygwin option for GCC) to the
8060 ./configure.in.pre. The --with-win32 now prepares the
8061 compilation for native WIN32.
8063 * Rewrote the SILC Scheduler interface in the file
8064 lib/silcutil/silcschedule.h. The scheduler is now context
8065 based and does not have anymore any global static scheduler.
8066 Moved the Unix scheduler to the lib/silcutil/unix/ directory
8067 and created lib/silcutil/win32 directory for WIN32 based
8070 * Added Unix specific network routines to the
8071 lib/silcutil/unix/silcunixnet.c and the old
8072 lib/silcutil/silcnet.c includes now only generic routines.
8074 Added WIN32 specific network routines to the
8075 lib/silcutil/win32/silcwin32net.c.
8077 * Added Unix specific utility functions from the
8078 lib/silcutil/silcutil.c to lib/silcutil/unix/silcunixutil.c.
8080 * Added WIN32 SILC Scheduler to the file
8081 lib/silcutil/win32/silcwin32schedule.c. The code is of course
8084 Fri Jun 22 10:44:14 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
8086 * Do not handle JOIN notify in the server if the target client
8087 is not registered (idata->registered == FALSE). The affected
8088 file is silcd/packet_receive.c.
8090 * Update the nickrec->founder in event_cumode in the Irssi SILC
8091 client. Affected file irssi/src/silc/core/silc-channels.c.
8093 * Fixed the CUMODE_CHANGE notify handling in the server when
8094 server and router are announcing their clients on channels.
8095 Now the mode changes are saved and notified correctly. The
8096 affected file is /silcd/packet_receive.c.
8098 * Fixed silc_idlit_replace_[server/client/channel]_id functions.
8099 They really did not replace the cache entry in the ID Cache.
8100 Now they do that. Affected file silcd/idlist.c.
8102 * Fixed the KICK notify handling in the Irssi SILC client to
8103 update the channel records so that the kicked client does not
8104 appear to be on the channel. The affected file is
8105 irssi/src/silc/core/silc-channels.c.
8107 * Always update the conn->current_channel when executing command
8108 on a channel. Affected file irssi/src/silc/core/silc-servers.c.
8110 * Fixed the KILL notify handling in Irssi SILC client to remove
8111 the killed client on all channels.
8113 Thu Jun 21 17:10:08 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8115 * Fixed the silc_parse_command_line to remove extra spaces
8116 from the start and end of the arguments. Affected file is
8117 lib/silcutil/silcutil.c.
8119 * Cancel and free any active protocol in the function
8120 silc_server_close_connection. Affected file silcd/server.c.
8122 * Cancel and free any active protocol in the function
8123 silc_client_close_connction. Affected file is
8124 lib/silcclient/client.c.
8126 * Do not execute the KILL command for clients that are in
8127 history (ie. they are not in the network). Affected file is
8130 * Fixed KILL notify handling, client does not crash anymore.
8131 Affected file irssi/src/silc/core/silc-channels.c.
8133 * Reduced the default packet buffer size from 2048 to 1024 in
8134 lib/silccore/silcpacket.c.
8136 * Added SILC_SKE_STATUS_FREED SKE status type and a reference
8137 counter to the SKE context that is incresed when the SKE library
8138 performs async operation outside the library. If the outside
8139 process frees the SKE context and FREED status will be set
8140 and the library will detect after the sync operation that the
8141 libary is freed. The affected files are
8142 lib/silcske/silcske[_status].[ch].
8144 * Resolve the client entry information in the function
8145 silc_client_channel_message to assure that NULL pointer is not
8146 passed as client entry to the application. */
8148 * Fixed the task timeout calculation to assure that there is
8149 never negative timeouts. The affected file is
8150 lib/silcutil/silcschedule.c.
8152 * Fixed the channel user mode notification sending in server.
8153 It was sent point-to-point to the router (or to server by router)
8154 but it needs to be destined to a channel. The routines now
8155 supports sending the channel user mode notifys to the channels
8156 when announcing clients and channels. Affected files are
8157 silcd/server.c and silcd/packet_receive.c.
8159 * Fixed the CHANNEL_CHANGE notify handling in the client libary.
8160 It did not actually replace the old channel entry in the cache.
8161 Affected file lib/silcclient/client_notify.c.
8163 Tue Jun 19 22:10:36 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8165 * Fixed a possible crash in silc_packet_send_prepare. It now
8166 assures always that there is enough space in the buffer and
8167 at the tail area of the buffer (for MAC).
8169 Fixed the inbound buffer reallocation in silc_packet_read.
8170 It was old code and did not handle the reallocation correctly.
8173 The affected file is lib/silccore/silcpacket.c.
8175 * Fixed buffer overflow in silc_parse_nickname in the file
8176 lib/silcutil/silcutil.c.
8178 Tue Jun 19 13:40:09 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8180 * make install generates new server keys only if there is not
8183 Mon Jun 18 18:49:07 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8185 * Set SILC_MESSAGE_FLAG_NOREPLY when sending the away message.
8186 Added check that if the NOREPLY is set then we will not send
8187 the away message. This avoids infinite loop of away messages
8188 if both clients are away. The affected file is
8189 lib/silcclient/client_prvmsg.c.
8191 * Fixed client crash if /NICK was given without arguments.
8192 Affected file lib/silcclient/command.c.
8194 * Server does not send the invite list in INVITE command back
8195 to the client if the list was not altered. Added this notion
8196 to the protocol spec as well. Affected file silcd/command.c.
8198 Fixed possible crash in INVITE command by checking the
8199 value of silc_server_get_client_route command.
8201 * Fixed the INVITE notify type handling. The arguments are now
8202 taken in correct order and client does not crash. The affected
8203 file is irssi/src/silc/core/silc-channels.c.
8205 Removed the "Inviting xxx to channel" message from the
8206 client library away and let the application handle it.
8207 Affected file lib/silcclient/command.c. Added that message
8208 to Irssi SILC client's message formats.
8210 * Fixed CMODE command crash in client. It now checks the
8211 amount of arguments correctly and does not crash. The affected
8212 file is lib/silcclient/command.c.
8214 * Do not create new channel automatically in silc_channels_join
8215 but check whether the channel by that name already exists.
8216 Affected file irssi/silc/core/silc-channels.c.
8218 * Do not send the SERVER_SIGNOFF to router if the disconnected
8219 entity was the router. Affected file silcd/server.c.
8221 * Added the handling of the SERVER_SIGNOFF notify to the Irssi
8222 SILC client as it was missing from there.
8224 Added the handling of the KICK notify to the Irssi SILC client
8225 as it was missing. Added "you have been kicked" message to
8226 Irssi SILC client's message modules formats.
8228 Added the handing of the KILL notify to the Irssi SILC client
8229 as it was missing. Added the kill message module formats
8232 The affected file is irssi/src/silc/core/silc-channels.c.
8234 * The router did not save the channel mode the server announced.
8235 Affected file silcd/packet_receive.c.
8237 * Fixed a possible crash in INFO command in server. If the
8238 server did not provide the server info it crashed. Affected
8239 file silcd/command.c.
8241 Sun Jun 17 15:26:05 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8243 * Fixed the GETKEY command in the server to check also the
8244 global list. Otherwise the GETKEY would not work correctly
8245 in normal SILC server. Affected file silcd/command.c.
8247 Sat Jun 16 18:00:00 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8249 * Fixed GETKEY crash, it crashed if the command did not succseed.
8251 Tue Jun 12 21:36:18 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8253 * Redefined the SILC MP API in lib/silcmath/silcmp.h. The API
8254 is now real and not just an macro interface to GMP.
8256 Removed the entire GMP from the source tree and imported new
8257 NSS MPI library instead. Reason for removing GMP is that it is
8258 extremely large and compiles extremely slow. The NSS MPI
8259 is only a few files and compiles in less than 10 seconds.
8260 The speed is also about the same as GMP. The MPI is imported
8261 to lib/silcmath/mpi.
8263 If the system has GMP installed we will still use the GMP.
8264 If it is not then the NSS MPI will be compiled.
8266 Mon Jun 11 18:07:24 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8268 * Merged a long nickname (127 characters long) crash bugfix from
8269 Irssi CVS tree. Affected file irssi/src/core/misc.c.
8271 * Merged a freed memory reference bugfix from Irssi CVS tree.
8272 Affected file irssi/src/core/commands.c.
8274 Sun Jun 10 16:08:35 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8276 * Added the server's public key sving and verification to the
8277 server when performing the SKE. This was missing and the
8278 remote server's (or router's) public key was accepted without
8279 checking whether we have it previously or trust it at all.
8280 Affected file silcd/protocol.c.
8282 Sat Jun 9 20:17:30 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8284 * Check in the silc_server_timeout_remote if protocol is active
8285 and make sure that the protocol's final callback is called so
8286 that all memory if freed. Affected file silcd/server.c.
8288 Sat Jun 9 12:51:27 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8290 * silc_server_whois_send_reply crashed the server if the nickname
8291 was 127 characters long. Affected file silcd/command.c.
8293 Thu Jun 7 16:29:56 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8295 * Added sanity check to the silc_server_new_client. If the hostname
8296 is provided inside username then check that the provided hostname
8297 really is the same as the resolved one. If the hostname was not
8298 resolved then check it from the public key. Affected file is
8299 silcd/packet_receive.c.
8301 * Fixed a fatal bug in Irssi SILC client. Do not send QUIT command
8302 if the server disconnected us and the connection is not valid
8303 anymore. Affected file irssi/src/silc/core/silc-channels.c.
8305 * Moved the silc_client_[chmode|chumode|chumode_char] away from
8306 the library to the lib/silcutil/silcutil.[ch].
8308 Thu Jun 7 08:57:16 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8310 * Close log file after open. Affected file
8311 lib/silcutil/silclog.c.
8313 * Check whether sock == NULL in silc_client_send_packet and return
8314 if it is. Affected file lib/silcclient/silcclient.c.
8316 * Check rec->entry == NULL in the Irssi SILC Client before
8317 sending the channel message. Affecte file is
8318 irssi/src/silc/core/silc-servers.c.
8320 Tue Jun 5 08:08:21 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8322 * Merged a splitted window bugfix from Irssi CVS tree. The
8323 affected file is irssi/src/fe-text/textbuffer-view.c.
8325 * Fixed the ME, ACTION and NOTICE printing in Irssi Client.
8326 It did not print nickname.
8328 * Improved the distributions system a bit.
8330 Mon Jun 4 17:57:16 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8332 * Merged /WINDOW bugfix from irssi CVS tree. Affected file is
8333 irssi/src/fe-text/gui-window.c.
8335 * Fixed a fatal bug in Irssi SILC client. Crashed if sent message
8336 to in-active server. The affected file is
8337 irssi/src/silc/core/client_ops.c.
8339 * Resolve the client in USERS command reply if the entry does
8340 not have username resolved. The affected file is
8341 lib/silcclient/command_reply.c. Also, changed the IDENTIFY
8342 command to WHOIS command to really resolve stuff. The USERS
8343 is not used any more in any critical section so WHOIS can
8344 be used even though it might be slower than IDENTIFY.
8346 * Changed the lib/silcutil/silchashtable.h header to ROBODoc
8349 Sun Jun 3 14:21:32 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8351 * Changed the protocol API a bit more consistent in the
8352 lib/silccore/silcprotocol.[ch].
8354 * Changed the following headers to ROBODoc format:
8356 lib/silccore/silcpayload.h
8357 lib/silccore/silcprotocol.h
8358 lib/silccore/silcsockconn.h
8360 All core library headers are now formatted.
8362 Sat Jun 2 10:45:09 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8364 * Fixed a bug in Irssi SILC client; do not show that you are
8365 server/router operator if you really are not. Affected file is
8366 irssi/src/silc/core/client_ops.c.
8368 * Renamed silc_command_free_payload to silc_command_payload_free.
8369 Affected file lib/silccore/silccommand.h
8371 * Added silcmath.h to include the prototoypes of various routines
8372 in the lib/silcmath. Removed the old modinv.h, mpbin.h and
8375 * Changed the following headers to ROBODoc format:
8377 lib/silccore/silcchannel.h
8378 lib/silccore/silccommand.h
8379 lib/silccore/silcid.h
8380 lib/silccore/silcidcache.h
8381 lib/silccore/silcmode.h
8382 lib/silccore/silcnotify.h
8383 lib/silccore/silcpacket.h
8384 lib/silcmath/silcmath.h
8386 Fri Jun 1 22:19:37 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8388 * Added checking to the server code not to start the server if
8389 ciphers and stuff are not configured properly. Affected files
8390 silcd/serverconfig.[h] and silcd/server.c.
8392 * Changed the layout of the header files of the public interfaces
8393 in the SILC libraries. The new layout supports ROBODoc
8394 documentation tool (and some others) so that it is easy to create
8395 a library reference manual. All the other headers and source
8396 code must still follow the CodingStyle document. Also source
8397 code must not include these ROBODoc stuffs, only the headers.
8398 Furthermore, all public interface headers must now be named
8399 by using `silc' prefix, example: silcapi.h, silccipher.h.
8400 Some files were renamed due to this. All the other headers
8401 must not be used as public interfaces. I will update the
8402 CodingStyle document later. Changed following headers, so far:
8404 lib/silcclient/silcapi.h
8405 lib/silccore/silcauth.h
8406 lib/silccore/silcprivate.h
8407 lib/silccrypt/silcdh.h
8409 Fri Jun 1 10:28:09 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8413 * Removed silc_client_packet_send_flush from the client library
8414 as it is not needed. Affected file lib/silcclient/client.[ch].
8416 * Added printing of message of unresolved authentication method
8417 to the Irssi SILC client. Added it to the module formats.
8418 Removed the same message from the client library.
8420 Thu May 31 13:57:33 CEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8422 * Added new distribution feature, DISTLABEL. Every distribution
8423 can define own preprocessor label that can be used in the
8424 source code. For example: #ifdef SILC_DIST_CLIENT. Affected
8425 file distributions, acconfig.h.pre and prepare.
8427 Tue May 29 22:16:40 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8429 * Added Makefile.defines_int to include the actual definitions
8430 for Makefile.defines.in. Tested the new distribution system,
8431 created distributions and tested installation.
8433 * Added AWAY message printing to the Irssi SILC client. Added
8434 the messages to the irssi/src/fe-common/silc/module-formats.[ch].
8436 * Added SCONNECT command to call the SILC's CONNECT command.
8437 Cannot use CONNECT directly since Irssi uses that internally.
8438 Affected file irssi/src/silc/core/silc-servers.c.
8440 Added ACTION local command. It is same as ME command but takes
8441 the channel as mandatory argument.
8443 Rewrote some of the Irssi's help files to suite for SILC
8446 Mon May 28 19:05:22 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8448 * Added Makefile.defines[.in] that should for now on be included
8449 in all Makefile.am file in the source tree. That file includes
8450 all common compilation definitions for SILC source tree.
8452 Mon May 28 10:30:51 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8454 * Minor changes to the ./prepare script to change the package
8455 name according the distribution name to the configure.in.
8457 Sun May 27 22:24:57 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8459 * Created new distribution system. Added file `distributions'
8460 that defines all the distributions that can be created out of
8461 the SILC source tree. The ./prepare script now reads that
8462 file to determine how to prepare the distributions. The
8463 first argument to the ./prepare is the name of the distribution
8464 and second is the version of the distribution. If given
8465 without arguments it creates the default (toolkit) distribution
8466 with the default version (defined in ./prepare).
8468 All Makefile.am files that are subject to the distributions
8469 are now named as Makefile.am.pre. These are ./Makefile.am
8470 and lib/Makefile.am. Others may be changed later.
8472 Sun May 27 15:57:17 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8474 * Added invite list, ban list, some key management and connection
8475 error message printing to module formats in the Irssi SILC client.
8477 * Added new silc_client_set_away_message to set the away message
8478 that is back to the person who sent private message. The
8479 affected file lib/silcclient/silcapi.h and the
8480 lib/silcclient/client_prvmsg.c.
8482 Sun May 27 12:39:48 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8484 * Fixed the private message sending in the Irssi SILC client,
8485 added local command KEY to the Irssi SILC client.
8487 Added key management and key agreement message formats to the
8488 irssi/src/fe-common/silc/module-formats.[ch].
8490 Added USERS (alias WHO) printing, server/router operator
8491 indication and LIST command printing to the module formats.
8493 Sat May 26 17:43:42 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8495 * Fixed channel joining notify handling, cumode notify handling
8496 from Irssi SILC client.
8498 * Added SILC specific module-formats to the Irssi SILC client so
8499 that SILC specific message hilighting, colors etc is possible.
8500 Affected file irssi/src/fe-common/silc/module-formats.[ch].
8502 Added channel mode, channel user mode, actions, notices,
8503 whois and whowas printing to the the module-formats.c.
8505 * Fixed a bug in channel deletion in the server. The channel
8506 is not left to the cache even if the channel founder auth mode
8507 is set when there are no users anymore on the channel. Affected
8508 file silcd/server.c.
8510 * The silc_net_localhost now resolves the entire hostname including
8511 the domain name. Affected file lib/silcutil/silcnet.c.
8513 Sat May 26 12:13:37 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8515 * Changed the ask_passphrase client operation to be ascynchronous.
8516 It has now a completion callback and a context that the
8517 application must call after it has got the passphrase from
8518 the user. Affected files lib/silcclient/silcapi.h,
8519 lib/silcclient/protocol.c, lib/silcclient/command.c and
8522 Added SilcAskPassphrase callback that the application calls
8523 to deliver the passphrase to the library.
8525 * Changed the SKE protocol's SilcSKEVerifyCb to be asynchronous.
8526 The public key verification and especially a certificate
8527 verification is asynchronous procedure.
8529 Added new SILC_SKE_STATUS_PENDING status to indicate the
8530 request is pending and a callback will be called to finalize
8533 Added also SILC_SKE_STATUS_PUBLIC_KEY_NOT_PROVIDED status to
8534 indicate that remote end did not send its public key (or
8535 certificate), even though we require it. Added check for this
8536 condition in the SKE. This was a security bug, now fixed.
8538 Defined new SilcSKEVerifyCbCompletion callback that is called
8539 when the verification process is completed.
8541 The affected files lib/silcske/silcske_status.h and
8542 lib/silcske/silcske.[ch].
8544 * Changed the verify_public_key client operation to be async
8545 as well. Defined SilcVerifyPublicKey callback that is used to
8546 indicate the success of the public key verification process.
8548 Changed the server and client to use the new async client
8551 * Changed the Irssi SILC client's internal scheduler to be called
8552 twice as many times as it used to be. As a result the client
8553 should be a bit faster now. Affected file is
8554 irssi/src/silc/core/silc-core.c.
8556 * Added support to Irssi SILC client of asynchronous public key
8557 verification and passphrase inquiry. Affected file is
8558 irssi/src/silc/core/silc-core.c.
8560 Fri May 25 14:38:38 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8562 * Do not say "You have left channel %s" in client library.
8563 Moved it to the application. Affected files are
8564 lib/silcclient/command.c and silc/client_ops.c.
8566 * Fixed silc_client_get_clients. Command context was not
8567 duplicated and was freed memory in the callback. Affected
8568 file lib/silcclient/idlist.c.
8570 * Do not say "you are now talking..." on JOIN command in the
8571 client library. The appliation must handle it.
8573 * Do not say ".. changed topic to" in command reply in the
8574 client libary. The application must handle it.
8576 * Fixed TOPIC command sending in the client library.
8578 * Fixed a memory leak in silc_client_command_free in the file
8579 lib/silcclient/command.c.
8581 Thu May 24 19:08:55 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8583 * Imported a modified version of Irssi client to the source tree.
8584 The Irssi will be used to create a new client called
8585 Irssi SILC. Imported to irssi/.
8587 Added silc_core_init_finish function to the Irssi. Affected
8588 file irssi/configure.in.
8590 A lot changes in the Makefile.ams around the irssi tree.
8592 Tue May 22 22:23:49 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8594 * Do not rehash if the new size is same as the old size of the
8595 hash table, in the silc_hash_table_rehash*. The affected file
8596 lib/silcutil/silchashtable.c.
8598 * Replaced hash_table_del_by_context calls from the server
8599 (when channel->user_list and client->channels) to the
8600 hash_table_del as it is sufficient and faster.
8602 Tue May 22 17:27:16 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8604 * Added silc_hash_table_list, silc_hash_table_get and the
8605 SilcHashTableList structure to provide an alternative way to
8606 traverse the hash table. The affected files are
8607 lib/silcutil/silchashtable.[ch].
8609 * Changed the server's idlist routines to use the hash table
8610 routines to optimize the code.
8612 Mon May 21 21:46:20 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8614 * Replaced the client entry's `channel' list and channel entry's
8615 `user_list' list to hash tables for optimized lookup. Changed
8616 the code to use the hash table interface around the code.
8617 Affected file lib/silcd/idlist.[ch].
8619 * Added `auto_rehash' boolean argument to the function
8620 silc_hash_table_alloc to indicate whether the hash table should
8621 auto-rehash when it thinks is appropriate time. It will
8622 increase the hash table size if the there is twice as much
8623 entries in the table than the size of the table, and will
8624 decrease the size if there are twice as less entries than
8625 the size of the table.
8627 Mon May 21 09:51:11 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8629 * Fixed silc_xxx_get_supported to not crash at some circumstances.
8631 Sun May 20 13:45:58 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8633 * silc_idcache_purge_by_context deletes the entry now by context
8634 as it is supposed to do. Affected file lib/silccore/idcache.c.
8636 * Send the ERR_NO_SUCH_NICK in the WHOIS command reply if the
8637 client is not anymore valid (WHOWAS givens the info) and not
8638 the ERR_NO_SUCH_CLIENT_ID if the nickname still exists.
8640 Sat May 19 16:30:03 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8642 * Removed the `data' and `data_len' arguments from the ID Cache
8643 interfaces and added `name' argument. ID Cache does not handle
8644 anymore the binary data only a names associated with given ID.
8646 * When hashing a Client ID with silc_hash_id the entire ID is
8647 not hashed anymore, instead only the hash of the Client ID is
8648 hashed. This way we can access the Client ID from the cache
8649 with Client ID but with the hash of the ID (which is a hash of
8650 the nickname) as well without any difference in performance.
8652 Added also silc_idcache_find_by_id_one_ext to do one on one
8653 searching when we have the actual ID. Added also function
8654 silc_hash_client_id_compare. The affected files are
8655 lib/silccore/idcache.[ch] and lib/silcutil/silcutil.[ch].
8657 * When hashing the name associated with a ID it is always done
8658 in lowercase. This way we can access the cache without worrying
8659 about case-sensitivity, even though, for example nicknames are
8662 * Fixed a bug in server with channel message sending. It put
8663 wrong ID type as destination ID. The affected file
8664 silcd/packet_send.c.
8666 * silc_idcache_del_by_context now deletes from all hash tables
8667 by context. Affected file lib/silccore/idcache.c.
8669 Fri May 18 17:42:00 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8671 * Changed the client library to use the new ID Cache interface.
8672 Changes around the source tree.
8674 * Added silc_hash_table_rehash_ext to rehash with specific
8675 hash function. Affected file lib/silcutil/silchashtable.[ch].
8677 * Added silc_hash_string_compare to compare two strings in the
8678 hash table. Affected file lib/silcutil/silcutil.[ch].
8680 Fri May 18 11:18:45 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8682 * Added new function silc_idcache_del_by_context into the
8683 lib/silccore/idcache.[ch].
8685 * Changed the server's ID list routines to use the new ID Cache
8686 interface. Changes around the source tree.
8688 Fri May 18 08:35:31 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8690 * Added silc_hash_table_del[_by_context]_ext functions in to the
8691 lib/silcutil/silchashtable.[ch].
8693 Removed silc_hash_table_find_all* routines and added new
8694 silc_hash_table_find_foreach to replace them.
8696 Added silc_hash_table_replace_ext function as extended
8697 replacing function. Separated the simple hash table interface
8698 from the extended hash table interface in the file
8699 lib/silcutil/silchashtable.h.
8701 * Fixed minor bugs and changed it to use some of the new
8702 hash table functions in lib/silccore/idcache.c
8704 Thu May 17 18:15:12 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8706 * Added new function silc_hash_table_find_all to return all keys
8707 in the hash table by the specified key. As the hash table is
8708 collision resistant it also makes it possible to have several
8709 duplicate keys in the hash table. This function may be used to
8710 find all of the keys from the hash.
8712 Added user_context arguments to the SilcHashFunction,
8713 SilcHashCompare and SilcHashDestructor to deliver user specified
8716 Added new fuctions silc_hash_table_find[_all]_ext to do
8717 extended lookup with specified hash and compare functions and
8718 specified user contexts.
8720 Added new function silc_hash_table_add_ext to add the key
8721 with specified hash function and user context.
8723 Added new function silc_hash_table_foreach to traverse all
8724 entrys in the hash table. Added SilcHashForeach callback
8727 Added new function silc_hash_table_del_by_context to delete
8728 the entry only if the context associated with the key matches.
8730 Affected files are lib/silcutil/silchashtable.[ch].
8732 * Removed silc_hash_[server/client/channel]_id and added just
8733 silc_hash_id to the lib/silcutil/silcutil.[ch]. Added also
8734 silc_hash_id_compare to compare two ID's using as the hash table
8735 comparison function. Added also silc_hash_data to hash
8736 binary data and silc_hash_data_compare to compare it.
8738 * Removed silc_idlist_find_client_by_hash as it is not needed
8739 anymore. Affected file silcd/idlist.[ch].
8741 * Rewrote the entire ID Cache system (in lib/silccore/idcache.[ch])
8742 to use internally the SilcHashTable. The new ID Cache is a lot
8743 faster than the old one. Some of the ID Cache interface was also
8744 rewritten and obsolete and stupid functions were removed.
8746 Wed May 16 23:03:30 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8748 * Added entry_count field to the SilcHashTable to keep the number
8749 of the entries in the table. Implemented the function
8750 silc_hash_table_rehash. Added new function
8751 silc_hash_table_count. Affected file lib/silcutil/silchashtable.c.
8753 Fixed a minor bug in silc_hash_table_free.
8755 * Added silc_hash_string, silc_hash_uint, silc_hash_ptr,
8756 silc_hash_client_id, silc_hash_server_id and silc_hash_channel_id
8757 into the lib/silcutil/silcutil.[ch].
8759 Wed May 16 20:02:47 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8761 * Implemented a collision resistant hash table into the
8762 lib/silcutil/silchashtable[ch]. See the header and the source
8763 for the SilcHashTable API.
8765 Tue May 15 22:05:46 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8767 * Merged dotconf version 1.0.2 into lib/dotconf.
8769 Sun May 13 19:32:09 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8771 * Do not compile anything in lib/silcsim/* if the SIM support
8772 is not enabled. The tree should now compile without problems
8775 Thu May 10 22:49:51 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8777 * Compiled the SILC under cygwin. Compiled and tested briefly
8778 without problems. More tests needed. The SIMs didn't compile
8781 * Added various #ifdef HAVE_* stuff to lib/silccrypt/silrng.c.
8783 * Fixed possible crash in silc_get_username in the
8784 lib/silcutil/silcutil.c.
8786 Tue May 8 09:04:03 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8788 * Fixed a va_arg in silc/client_ops.c.
8790 * Oops, RC5 routines were named AES and caused some problems
8791 when not using SIM's. Affected file lib/silccrypt/rc5.c.
8793 Sun May 6 13:59:48 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8795 * Added new SilcIDIP structure into the lib/silccore/id.h and
8796 replaced the old `ip' fields from all SILC ID's to that type.
8797 This is a step towards IPv6 support.
8799 The silc_id_get_len takes now the ID as an extra argument.
8800 The silc_id_id2str, silc_id_str2id and silc_id_dup now supports
8801 both IPv4 and IPv6 based ID's.
8803 The affected files are lib/silccore/id.[ch] and other files
8804 around the tree using these routines.
8806 * Removed the ID length arguments in server from various
8807 silc_server_send_notify_* routines -> they are not needed
8810 Sat May 5 13:56:33 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8812 * Fixed memory leak in silc_encode_pem_file in the file
8813 lib/silcutil/silcutil.c.
8815 Thu May 3 21:23:50 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8817 * Check minor version as well in the SKE. Affected files are
8818 silcd/protocol.c and lib/silcclient/protocol.c.
8820 * Added --identifier option to the server so that an identifier
8821 can be when creating the public key for the server. Affected
8822 file is silcd/silcd.c.
8824 * Fixed minor decoding bug in silc_pkcs_decode_identifier in
8825 lib/silccrypt/silcpkcs.c.
8827 Wed May 2 20:50:49 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8829 * Register default ciphers and stuff when using -C option with
8830 the server. Affected file sildc/silcd.c.
8832 * Put back the servers public key filename format, it is better
8833 than the new one. For now, the client keys are saved with the
8834 new filename format. The affected file silc/client_ops.c.
8836 * Implemented the Cipher API for the rest of the ciphers that
8837 did not implement it or implemented it the wrong way.
8839 Wed May 2 13:31:26 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8841 * Register default ciphers and stuff when using the -S option
8842 in the client. Affected file silc/silc.c. Same also when
8843 creating new key pair with -C option.
8845 Tue May 1 14:18:13 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8847 * Fixed the silc_verify_public_key client operation function to
8848 save the public keys differently. The fingerprint is now
8849 used as filename and not the hostname. This way also the
8850 client keys are saved uniquely and not with hostnames. The
8851 affected file is silc/client_ops.c.
8853 * Trimmed the silc_hash_fingerprint function to remove extra
8854 whitespaces from the end of the fingerprint. The affected
8855 file is lib/silccrypt/silchash.c.
8859 * Added silc_cipher_register_default function to register all
8860 default ciphers. It can be used when configuration files
8861 does not exist and the application does not want any specific
8862 ciphers in any specific order.
8864 The SilcDList is now used as silc_cipher_list dynamically
8865 allocated cipher list. Removed the static list all together
8866 and now all ciphers must be allocated to the dynamic list.
8867 The silc_cipher_alloc routine was changed to check only the
8870 All silc_cipher_* routines that used to return int returns
8873 The affected files lib/silccrypt/silccrypt.[ch].
8875 * The same thing was done to silc_hash_* as for silc_cipher_*
8876 routines. Affected files lib/silccrypt/silchash.[ch].
8878 * The same thing was done to silc_pkcs_* as for silc_cipher_*
8879 routines. Affected files lib/silccrypt/silcpkcs.[ch].
8880 Added also silc_pkcs_[un]register[_default] functions.
8881 Removed the data_context from the PKCS API.
8883 * Added silc_hmac_register_default function to register default
8884 hmacs. Affected files lib/silccrypt/silchmac.[ch]. Added also
8885 SILC_ALL_HMACS macro that can be used with silc_hmac_unregister
8886 to unregister all hmacs at once.
8888 * Register the default ciphers, hash functions, PKCSs and HMACs
8889 if client's configuration file does not exist. The affected
8892 * The client did not load the hash functions from the SIM
8893 modules at all. Added support for this. Affected file is
8894 silc/clientconfig.c.
8896 * When decoding public key with silc_pkcs_public_key_decode, check
8897 the supported algorithm only if PKCS are registered. Affected
8898 file lib/silccrypt/silcpkcs.c. The same was done with the
8899 silc_pkcs_private_key_decode.
8901 * Fixed the SILC List routines to keep the list always in order.
8902 It used to change the list's order when traversing the list but
8903 not it preserves the order. Affected file lib/trq/silclist.h.
8905 Mon Apr 30 17:29:03 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8907 * Added the client library to use the SilcSocketConnection's
8908 reference counter (by silc_socket_dup) to prevent the bug that
8909 the socket object may be freed underneath async operation.
8911 * The name resolv library checking fixes in the configure.in.pre.
8914 * Created new version of the protocol drafts for future
8915 development. The -03 drafts are the ones that will be changed
8916 in the trunk now and the -02 will remain as they are.
8918 * Send list of CUMODE notifys to the router when announcing
8919 the channel users to the router. Affected file silcd/server.c.
8920 If the router receiving channel founder CUMODE for a channel
8921 that already has channel founder it will send CUMODE notify
8922 to the sender to remove the channel founder rights from the
8923 announced client. Affected file silcd/packet_receive.c.
8925 * The CUMODE notify may now use Server ID as well as the entity
8926 who changes the mode. Updated protocool specs.
8928 * Updated INSTALL and README files.
8930 Sun Apr 29 23:17:50 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8932 * New web pages in the http://silc.pspt.fi. The pages was
8937 Sun Apr 29 13:33:41 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8939 * Implemented the [DenyConnectin] config section in the server.
8940 Added silc_server_config_denied_conn to check whether incoming
8941 connection is denied. Affected file silcd/serverconfig.[ch].
8943 * Do not check the ports when checking the incoming configuration
8944 data if the port is 0, meaning any. Affected file is
8945 silcd/serverconfig.c.
8947 Fri Apr 20 18:58:43 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8949 * Fixed buffer overflow in silc_string_compare in the file
8950 lib/silcutil/silcutil.c.
8952 * Fixed double free in silc_server_command_leave in the file
8955 Fri Apr 20 14:00:11 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8957 * Fixed the version checking in the server. Affected file is
8960 Thu Apr 19 19:52:46 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8962 * Fixed the configuration data fetching when accepting new
8963 connections in the server. Affected file silcd/server.c.
8965 Thu Apr 19 11:40:20 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8967 * Added `sender_entry' argument to the function
8968 silc_server_packet_relay_to_channel so that we can check
8969 whether some destination actually belongs to the same route
8970 the sender belongs (ie, we must not resend the packet to the
8971 sender). Affected file silcd/packet_send.[ch].
8973 * Added `servername' field to the SilcClientEntry in the server
8974 to hold the name of the server where client is from. Affected
8975 file is silcd/idlist.h.
8977 Wed Apr 18 22:19:03 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8979 * Moved the channel message encrypting in the router betwen
8980 router connections from silc_server_channel_message to the
8981 silc_server_packet_relay_to_channel since we want to check
8982 whether we have anybody channel before encrypting anything.
8983 Affected files silcd/packet_[receive/send].c.
8985 Tue Apr 17 21:18:19 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
8987 * Fixed the [AdminConnection] server config section to support
8988 multiple entries. Affected file silcd/serverconfig.c.
8990 * Added support into the server to check the validity of the
8991 incoming connection before executing any KE or authentication
8994 * The connection configuration is now saved to the KE and
8995 connection auth protocol contexts and not fetched anymore in
8996 the protocol. Affected files silcd/server.c, silcd/protocol.[ch].
8998 * The local hosts listenning address and port is also resolved
8999 now when starting the server. We want to have the socket object
9000 to include the real address and port for the listener. Added
9001 new function silc_net_check_local_by_sock into the files
9002 lib/silcutil/silcnet.[ch].
9004 * Fixed a broadcast bug in server -> do not broadcast if we
9007 * Fixed a routing bug. Do not route broadcast packets ever.
9008 Broadcast packets must be processed always and not routed since
9009 they may be destined to some other host than yourself and thus
9010 would get routed without no good reason. Affected file is
9013 * Added function silc_server_config_is_primary_route to check
9014 whether primary router connection has been configured (a router
9015 configuration that we are initiating). If there is not, we
9016 will assume that there is only two routers in the SILC network
9017 and we will use the incoming router connection as our primary
9018 route. Affected files silcd/serverconfig.[ch], silcd/server.c.
9020 * Changed the order of the broadcasting. Broadcast _after_ the
9021 packet has been processed not before. Affected file is
9024 * Fixed a [ClientConnection] parsing bug. The port was never
9025 parsed correctly thus resulting to port 0. Affected file
9026 silcd/serverconfig.c.
9028 * Fixed silc_server_send_notify_args -> it ignored the `broadcast'
9029 argument and did not set the broadcast packet flag. Affected
9030 file silcd/packet_send.c. Fixed same bug in the function
9031 silc_server_send_notify as well.
9033 * If we receive NEW_ID packet for our own ID in the server, ignore
9036 Mon Apr 16 12:10:33 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9040 * Removed the nickname from the Private Message Payload.
9041 Updated the code and the protocol specs.
9043 * Updated protocol specs for submitting to the IETF.
9045 * Tweaked the Random Number Generator a bit. Affected file
9046 lib/silccrypt/silcrng.c. Exported a new function
9047 silc_rng_[global]_add_noise which can be used to add more
9050 Sat Apr 14 16:21:32 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9052 * Do not parse packets with different timeout when protocol
9053 is active -> may cause problem with rekey. Affected file
9056 * When server receives signoff notify it must not create
9057 new channel key if the client is on any channels since the
9058 sender of the signoff notify will create it.
9060 Fri Apr 13 17:12:46 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9062 * Added printing of error messages during SKE protocol from the
9063 failure packet sent by server during SKE. Affected file
9066 * Removed the client's failure_callback handling with timeout
9067 and handle it immediately when received.
9069 * The SKE library returned wrong type in SUCCESS and FAILURE
9070 packets. They must be 32 bit MSB not 16 bit MSB.
9072 Fri Apr 13 00:09:08 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9074 * Ok, rewrote the logic of the re-key and now it seems to work.
9075 I tested it on high traffic with frequent re-keys without
9076 problems. Added hmac_receive (and renamed hmac to hmac_send)
9077 in SilcClientConnection in lib/silcclient/client.h and
9078 in SilcIDListData in silcd/idlist.h. Also, removed the
9079 SilcPacketParserContext's cipher and hmac fields as they are
9080 not needed anymore and actually caused some problems when
9081 the ciphers and hmac's changed underneath the packet parser.
9083 Thu Apr 12 14:42:51 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9085 * If re-key protocol is active then process the incoming packets
9086 synchronously since we must assure that icoming packets encrypted
9087 with the old key is processed before the new keys is set to
9088 use. This is true other packets than for REKEY packets.
9089 Affected file silcd/server.c. The same was done to client library
9090 as well, affected file lib/silcclient/client.c.
9092 Thu Apr 12 12:01:52 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9094 * Fixed bug in client and server to accept the force send if
9095 the packet is send from silc_[server/client]_packet_process
9096 function. Otherwise the packets are never delivered, oops.
9098 Wed Apr 11 22:10:15 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9100 * Disable force sending of packets when REKEY protocol is active.
9101 We must assure that no packet is sent directly when rekey is
9102 performed. All packets must be sent through packet queue.
9103 Added macro SILC_SERVER_IS_REKEY to silcd/server.h and
9104 SILC_CLIENT_IS_REKEY to lib/silcclient/client.h. Affected
9105 function is silc_[server/client]_packet_send_real to check
9108 * Replaced the SIM paths from example config files to
9109 /usr/local/modules. Also, make install creates now
9110 /usr/local/silc/logs directory to hold all the SILC server
9113 Wed Apr 11 16:59:59 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9115 * Made the configure.in.pre work on Solaris. Patch by salo.
9117 * Made all ciphers compatible with non-x86 machines. Defined
9118 CBC mode macros into lib/silccrypt/ciphers_def.h.
9120 Tue Apr 10 20:32:44 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9122 * Fixed the make install.
9124 Tue Apr 10 16:20:34 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9126 * When MAC computation fails the silc_packet_decrypt returned 0
9127 even though it was supposed to return -1. Fixed this. The
9128 affected file is lib/silccore/silcpacket.c.
9130 * Do not replace the config files in /etc/silc (in make install)
9131 if they already exist. Affected file ./Makefile.am.
9133 * Do not send re-key packets immediately but through packet queue.
9134 Affected file silcd/protocol.c and lib/silcclient/protocol.c.
9136 * Changed silc_net_check_host_by_sock to return FALSE if the
9137 IP/DNS could not be resolved. Though, it returns the IP address
9138 now even if it could not resolve it (but returns also FALSE).
9139 Affected file lib/silcutil/silcnet.[ch].
9141 Mon Apr 9 21:54:44 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9143 * Added silc_pkcs_decode_identifier to decode the public key's
9144 identifier. Affected file lib/silccrypt/silpkcs.[ch].
9145 Added also silc_pkcs_free_identifier. Added also new context
9146 SilcPublicKeyIdentifier.
9148 * Added -S option to the silc client. It is used to dump the
9149 contents of the specified public key file.
9151 * Changed the PKCS api to return the public key length when
9152 setting the public key.
9154 * Fixed a fatal bug in the public and private key file loading.
9155 Affected file lib/silccrypt/silcpkcs.c.
9157 * Execute the packet parsing for client with zero (0) timeout
9158 if the protocol is active. Affected file silcd/server.c.
9160 Sun Apr 8 19:30:56 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9162 * Made the key generation options to the silcd program. Added
9163 -C option, equivalent to client's option.
9165 * Added new [ServerKeys] config section to the server. It
9166 configures the server's public and private key.
9168 * Defined generic Public Key Payload into the protocol
9169 specification to send specific type of public keys and
9172 * Defined new command SILC_COMMAND_GETKEY to fetch a client's
9173 public key or certificate.
9175 * Implemented the GETKEY command to the server and to the
9176 client library and on user interface.
9178 Sun Apr 8 01:37:21 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9180 * Made preliminary `make install' work.
9182 Thu Apr 5 17:42:30 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9184 * Added SilcServerRekey context into silcd/idlist.h.
9186 * Added the PFS support as defined in the specification to the
9187 SKE protocol. Affected files lib/silcske/*.c.
9189 * Added `ske_group' field to the SilcServerRekey context to hold
9190 the number of the SKE group that is used with PFS in re-key.
9191 Affected file silcd/idlist.h.
9193 * Added PFS re-key support to the server. Affected file is
9196 * Added silc_protocol_cancel to cancel execution of the next
9197 state of the protocol. Affected file is
9198 lib/silccore/silcprotocol.[ch].
9200 * Added the re-key support with and without PFS to the client
9201 library. Re-key is performed once in an hour, by default.
9203 Added new protocol type SILC_PROTOCOL_CLIENT_REKEY.
9204 Added silc_client_rekey_callback and silc_client_rekey_final.
9205 Affected files are lib/silcclient/protocol.[ch] and
9206 lib/silcclient/client.[ch].
9208 * Removed the `hmac_key' and `hmac_key_len' fields from the
9209 SilcClientConnection structure; not needed. Affected file is
9210 lib/silcclient/client.h.
9214 Wed Apr 4 16:32:31 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9216 * Do not ask whether user wants to use the negotiated private key
9217 for private messages, just use it. Affected file is
9218 silc/local_command.c.
9220 * Added `send_enc_key' and `enc_key_len' fields to the
9221 SilcIDListData structure since they are needed in the re-key
9222 phase. Affected file is silcd/idlist.[ch].
9224 * Implemented the simple re-key protocol into the server.
9225 Affected files silcd/server.c and silcd/protocol.[ch]. The
9226 re-key will be performed once in an hour, by default.
9228 Added new protocol type SILC_PROTOCOL_SERVER_REKEY.
9229 Added silc_server_rekey, silc_server_rekey_callback and
9230 silc_server_rekey_final.
9232 * Removed Tunneled flag from the protocol. Updated the code
9233 and the specifications.
9235 * Adde `pfs' field to the SilcIDListData to indicate whether
9236 the PFS is to be performed in the re-key. Affected file is
9239 Tue Apr 3 21:52:42 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9241 * Defined uint8, int8, uint16, int16, uint32, int32, uint64 and
9242 int64 of at least the xintXX size. If void * is less that 4
9243 bytes uint32 * will be used. Defined bool as boolean.
9245 * Changed _ALL_ unsigned long and unsigned int to uint32,
9246 unsgined short to uint16 in the source tree.
9248 * Fixed a fatal bug in silc_server_remove_clients_by_server. Do
9249 not handle clients that has entry->data.registered == FALSE.
9250 They are not in the network anymore. Affected file is
9253 Tue Apr 3 16:39:19 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9255 * Implemented the sending of the SERVER_SIGNOFF notify in the
9256 server. Affected file is silcd/server.c.
9258 * Added silc_server_send_notify_args into silcd/packet_send.[ch].
9259 Added also silc_notify_payload_encode_args into the
9260 lib/silccore/silcnotify.[ch].
9262 * Implemented ther SERVER_SIGNOFF notify handling in the server.
9263 Affected file silcd/packet_receive.c.
9265 * Implemented the SERVER_SIGNOFF notify handling in the client
9266 library. Affected file lib/silcclient/client_notify.c. Also,
9267 implemnted the printing of the SERVER_SIGNOFF info to the
9268 application. Affected file silc/client_ops.c.
9270 * The silc_idlist_del_server now returns TRUE or FALSE to indicate
9271 if the deleting was successful. Affected file silcd/idlist.[ch].
9273 * Added support for public key authentication in the connection
9274 authentication protocol in the client library. Affected file
9275 lib/silcclient/protocol.c.
9277 * Changed the server's silc_idlist_get_clients_by_* interface
9278 to support already allocated array so that new entries may be
9279 added to pre-allocated array. Affected file silcd/idlist.[ch].
9280 This fixes some bugs with WHOIS, WHOWAS and IDENTIFY commands
9281 and command replies.
9283 * All command reply functions in the server now calls the
9284 pending command callback even if error occured. This way the
9285 error will be delivered to the client as well. Affected files
9286 silcd/command.c and silcd/command_reply.c.
9288 * Fixed INFO command to return local server's info if no server
9289 was provided. Affected file lib/silcclient/command.c.
9291 * Removed RESTART command for good. Updated the code and the
9294 * Rewrote parts of the task system. It is a bit simpler now.
9295 Removed unsued task priorities. The affected files are
9296 lib/silcutil/silctask.[ch].
9298 Mon Apr 2 20:02:33 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9300 * Moved the USERS printing from the library to the application.
9301 Affected files lib/silcclient/command.c and silc/client_ops.c.
9303 Mon Apr 2 13:13:23 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9307 * Added channel key re-key support. The re-key is perfomed
9308 only by the router and is done once in an hour. Added `rekey'
9309 field to the SilcChannelEntry in the server. Affected files
9310 silcd/server.c and silcd/idlist.h.
9312 * Added silc_task_unregister_by_context into the file
9313 lib/silcutil/silctask.[ch].
9315 Sun Apr 1 19:49:34 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9317 * Added SILC_UMODE_GONE mode to indicate when the client is not
9318 present in the SILC network. Added also support to the local
9319 command AWAY that will set this mode. Added support of showing
9320 "xxx is gone" in WHOIS command. The USERS command shows the
9321 gone status as well.
9323 * Fixed setting server and router operator privileges in the
9324 server's UMODE command. Affected file silcd/command.c.
9326 * Merged the SKE KE1 and KE2 payloads into one payload. The
9327 new KE payload is equivalent to the old KE2 payload.
9329 Cleaned up the SKE Start Payload parsing. It now uses the
9330 simple buffer unformatting to do the parsing. A lot faster
9333 Added new Mutual Authentication flag (SILC_SKE_SP_FLAG_MUTUAL)
9334 to the SKE that is used to indicate whether both of the SKE
9335 parties should perform authentication. By default only the
9336 responder performs authentication. By setting this flag also
9337 the initiator must do authentication. By default it is unset
9338 since in normal SKE case, client to server connection, only
9339 the responder should do authentication. When doing SKE between
9340 two clients both should perform authentication. Updated the
9341 code and the protocol specs.
9343 * A little fix to IDENTIFY command in the server. Search the
9344 client first by hash not nickname. Affected file is
9347 * Fixed the silc_client_close_connection to support closing
9348 the client to client connections wihtout deleting too much
9349 data. Affected file lib/silcclient/client.c.
9351 * Fixed a fatal bug in server and client; if KE1 or KE2 packets
9352 are received if protocol used to be active but is not anymore
9353 the application would crash due to NULL pointer dereference.
9354 Affected files silcd/server.c and lib/silcclient/client.c.
9356 * Added `hash' field to the SilcClientConnection to include
9357 the hash function negotiated in the SKE protocol.
9359 * Added new channel mode SILC_CMODE_FOUNDER_AUTH that is used
9360 to set the channel founder authentication data. A client can
9361 claim the founder rights later by providing the authentication
9362 data to the CUMODE command using SILC_CUMODE_FOUNDER mode.
9363 This way the channel founder can regain the channel founder
9364 privileges even it is left the channel. This works only on
9365 local server and the client must be connected to the same
9366 server to be able to regain the founder rights. Updated the
9367 protocol specs accordingly.
9369 Added support to the CMODE command in the client to set the
9370 founder auth data. Read the README to see how to set it.
9372 Added support to the CUMODE command to claim the founder
9373 rights. Read the README to see how to do it.
9375 Added support for the founder authentication to the Channel
9376 Entry in the server. Affected file silcd/idlist.h.
9378 Added support for the SILC_CMODE_FOUNDER_AUTH mode in the
9379 server's CMODE command. Affected file silcd/command.c.
9381 * Added the following new functions into lib/silccore/silcauth.[ch]:
9382 silc_auth_get_method and silc_auth_get_data.
9384 * The server now saves the remote hosts public key to the
9385 SilcIDListData pointer. Affected file silcd/protocol.c.
9387 * The normal server now does not remove the channel entry from
9388 the cache if the founder authentication data is set. It used
9389 to remove it if the founder was the last one on the channel on
9390 the server and left the channel. The auth data is saved and
9391 if the channel is re-joined later the old entry is used with
9392 the old auth data. Affected files silcd/command_reply.c and
9395 * Removed the `pkcs' field from the SilcIDListData structure
9396 in the server; it is not used. Affected file silcd/idlist.h.
9398 Sat Mar 31 15:38:36 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9400 * Fixed packet processing on slow links. Partial packets were
9401 never re-processed because the incoming data buffer was cleared
9402 by the application. Application must not directly clear the
9403 sock->inbuf, the packet processing routines handle it. Fixed
9404 this in client library and in server.
9406 Fri Mar 30 16:35:27 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9408 * Fixed the WHOIS and IDENTIFY send reply function to really
9409 check whether to send list or just one entry. Affected file
9412 * Cleaned up the LEAVE command's channel key distribution. The
9413 affected file silcd/command.c.
9415 * Changed CMODE_CHANGE's <Client ID> to <ID Payload> as server
9416 can enforce the channel mode as well. In that case the ID
9417 includes the ID of the server. The code now enforces the
9418 mode change if the router have different mode than the server.
9420 * The notify client operation with CMODE_CHANGE notify can now
9421 return NULL client_entry pointer if the CMODE was not changed
9422 by client. Application must check for this.
9424 * Added <Server ID> argument to INFO command to support server
9425 info fetching by Server ID.
9427 * Added silc_server_announce_get_channel_users to get assembled
9428 packets of channel users of the specified channel. Affected
9429 file silcd/server.[ch].
9431 * Fixed bug in CHANNEL_CHANGE notify in the server. The new ID
9432 was freed underneath the ID Cache.
9434 * Re-announce clients when the server received CHANNEL_CHANGE
9435 notify from the router. Affected file silcd/packet_send.c.
9437 Thu Mar 29 19:10:28 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9439 * Fixed a fatal bug when client does /join 1 2 3 4 5 6 the server
9440 crashed since it did not handle the fact that there is no cipher
9441 called "3" and didn't check the error condition. Now fixed.
9443 * Added SILC_MESSAGE_FLAG_REQUEST message flag as generic request
9444 flag. It can be used to send message requests.
9446 Thu Mar 29 12:26:25 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9448 * Implemented the RESTART command in the client.
9450 * Added SILC_MESSAGE_FLAG_NOTICE message flag for informational
9451 notice type messages. Added notice printing to the user
9454 * The channel keys are not re-generated if the channel's mode
9455 is PRIVKEY, ie private key on the channel exists. Affected
9456 files silcd/server.c and silcd/command.c.
9458 * Fixed a little bug in channel message delivery when channel
9459 private keys are set in the server. Affected file is
9460 silcd/packet_send.c.
9462 * Changed the setting on channel->on_channel = TRUE from the
9463 silc_client_save_channel_key to the JOIN command reply. The
9464 key payload is not received if the private channel key is set.
9465 Affected file lib/silcclient/command_reply.c and the
9466 lib/silcclient/client_channel.c.
9468 * When the CMODE_CHANGE notify is sent and the channel private
9469 key mode is removed the channel key must be re-generated in
9470 other cells as well. Added this support for the router in the
9471 silcd/packet_receive.c.
9473 * Added new local command NOTICE to send notice message on
9474 channel. Affected file silc/local_command.[ch].
9476 Wed Mar 28 23:55:54 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9478 * Added new local command ME to the client. It is used to send
9479 message to a channel with SILC_MESSAGE_FLAG_ACTION to indicate
9480 some action. Affected file silc/local_command.[ch].
9482 * Changed channel_message and private_message client operations
9483 to deliver the message flags to the application. Added also
9484 the `flags' arguments to the silc_client_send_channel_message
9485 and silc_client_send_private_message functions. Affected file
9488 Wed Mar 28 20:50:47 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9490 * Redefined the Private Message Payload to support private message
9491 keys and to support the new private message flags. Updated
9492 the protocol specs. Flags makes it possible to have for example
9493 CTCP style messages.
9495 * Added new type SilcPrivateMessagePayload and defined an API
9496 for it in the lib/silcclient/silcprivate.[ch].
9498 * Tested private message private keys successfully. Tested the
9499 private message key set, unset and list commands with the new
9502 * Redefined the Channel Message Payload to include the channel
9503 message flags (equal with private message flags) to support
9504 for example CTCP style messages.
9506 * Defined some of the message (for channel and private message)
9507 flags. Updated the protocol specs and added the flags to the
9508 lib/silccore/silcchannel.h. The type is SilcMessageFlags.
9510 Wed Mar 28 15:52:36 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9512 * Added SilcKeyAgreementStatus type to the key agreement routines
9513 to indicate the current status and error if one occured.
9514 The status types are defined in the lib/silcclient/silcapi.h.
9516 * Added new local command KEY that is used to set and unset private
9517 keys for channels, set and unset private keys for private messages
9518 with remote clients and to send key agreement requests and
9519 negotiate the key agreement protocol with remote client. The
9520 key agreement is supported only to negotiate private message keys,
9521 it currently cannot be used to negotiate private keys for channels,
9522 as it is not convenient for that purpose.
9524 * Fixed a minor pending callback setting bug in the function
9525 silc_client_get_client_by_id_resolve, now the function works.
9526 Affected file lib/silcclient/idlist.c.
9528 * Added function silc_net_get_local_port to get local bound
9529 port by socket. Added to lib/silcutil/silcnet.[ch].
9531 * Added `sockets' and `sockets_count' fields to the SilcClient
9532 object. They hold the sockets of the listenning sockets in
9533 the client. Listenning sockets may be for example the key
9534 agreement server. Affected file lib/silcclient/client.[ch].
9535 Added functions the silc_client_add_socket and the
9536 silc_client_del_socket. They are exported to the application
9539 * Added ~./silc/clientkeys to support other client's public keys.
9541 * Renamed verify_server_key client operation to verify_public_key
9542 and added one argument to indicate the type of the connection
9543 (server, client etc.).
9545 Tue Mar 27 22:22:38 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9547 * Added silc_server_connection_auth_request to handle the
9548 incoming CONNECTION_AUTH_REQUEST packet. Affected file is
9549 silcd/packet_receive.[ch].
9551 * Added silc_server_send_connection_auth_request into the
9552 silcd/packet_send.c to send the connection auth request packet.
9554 * Cleaned up the silcd/protocol.c a bit and fixed some memory
9557 * Fixed the public key authentication in responder side in the
9558 server. The `auth_data' pointer includes the SilcPublicKey
9559 not the path to the public key. Affected file silcd/protocol.c.
9561 * Implemented the public key authentication in the initiator side
9562 in the server. Affected file silcd/protocol.c.
9564 * Removed the [RedirectClient] config section from the server
9565 configuration. Is not needed and I don't want to implement it.
9567 Tue Mar 27 12:49:56 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9569 * Cleaned up the CMODE command in the server. It now works
9570 correctly and supports all the modes defined in the protocol.
9571 Affected file is silcd/command.c.
9573 * Added `hmac_name' field to the SilcChannelEntry in the server
9574 to hold the default HMAC of the channel. It can be set when
9575 creating the channel (with JOIN command). Affected files
9578 * Added <cipher> and <hmac> argument to the CMODE_CHANGE notify
9579 type to indicate the change of the current cipher and hmac
9580 on the channel. Client can safely ignore the <cipher> argument
9581 (if it chooses to do so) since the CHANNEL_KEY packet will
9582 force the channel key change anyway. The <hmac> argument is
9583 important since the client is responsible of setting the new
9584 HMAC and the hmac key into use.
9586 * Fixed the CMODE command in the client library as well.
9588 * Tested CMODE command in router environment successfully.
9590 Mon Mar 26 14:39:48 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9592 * Show the version of the remote client (or server) when connecting
9593 to the server. It is logged to the log file. Affected file
9594 is silcd/protocol.c.
9596 * Fixed the KILLED notify handling in the client library. The
9597 client must be removed from all channels when receiving the
9600 Also, do not remove the client entry when giving the KILL
9601 command but when the KILLED notify is received.
9603 * Removed silc_idlist_find_client_by_nickname from the server.
9604 Not needed anymore. Affected files silcd/idlist.[ch].
9606 * Implemented the CHANNEL_CHANGE notify type handling to the
9607 server. Affected file silcd/server.c.
9611 Mon Mar 26 12:11:14 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9613 * Added silc_server_send_notify_invite to send the INVITE
9614 notify between routers.
9616 * Implemented the INVITE command correctly to the server.
9618 * Implemented the INVITE notify type handling in the server.
9620 * Implemented the INVITE command to the client library and on the
9623 Sun Mar 25 20:27:09 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9625 * Added function silc_server_get_client_resolve to find the
9626 client entry by ID from all ID lists and then resolve it
9627 (using WHOIS) if it cannot be found. Affected file is
9630 Sun Mar 25 13:52:51 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9632 * Implemented the BAN command to the client library.
9634 * The JOIN command in the server now checks the invite list
9637 * Changed the silc_command_reply_payload_encode_va and the
9638 silc_command_payload_encode_va to support that if argument is
9639 NULL it ignores and checks the next argument. Affected file
9640 lib/silccore/silccommand.c.
9642 * Added silc_server_send_notify_ban to send the BAN notify
9643 type between routers.
9645 * Chaned the silc_notify_payload_encode to support that if
9646 argument is NULL it ignores and checks the next argument.
9647 Affected file lib/silccore/silcnotify.c.
9649 * Tested ban lists in router environment successfully.
9651 Sat Mar 24 14:47:25 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9653 * Implemented BAN command to the server, in silcd/command.[ch].
9655 * Removed the BAN and INVITE_LIST modes from the CMODE command
9658 * Added function silc_string_match to regex match two strings.
9659 Affected files lib/silcutil/silcutil.[ch].
9661 Fri Mar 23 22:02:40 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9663 * Redefined parts of the SilcChannelEntry in the server to support
9664 the new ban and invite lists.
9666 Fri Mar 23 16:25:11 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9668 * Redefined the INVITE command. The same command can be used to
9669 invite individuals to the channel but also to manage the invite
9670 list of the channel (to add to and remove from the invite list).
9671 Updated the protocol specs.
9673 * Added new command SILC_COMMAND_BAN that can be used to manage
9674 the ban list of the channel. Updated the protocol specs.
9676 * Removed the channel modes: the SILC_CMODE_BAN and the
9677 SILC_CMODE_INVITE_LIST as they were a bit kludge to be included
9678 in the CMODE command. The equivalent features are now available
9679 using INVITE and BAN commands. Updated the protocol specs.
9681 * Added new SILC_NOTIFY_TYPE_BAN notify type to notify routers
9682 in the network about change in the current ban list. The notify
9683 type is not used by the client.
9685 * Redefined parts of the SILC_NOTIFY_TYPE_INVITE command to
9686 support the invite lists.
9688 Thu Mar 22 22:52:23 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9690 * Added new function silc_string_regexify that converts string
9691 including wildcard characters into regex string that can
9692 be used by the GNU regex library. Added into the file
9693 lib/silcutil/silcutil.[ch].
9695 Added silc_string_regex_combine to combine to regex strings
9696 into one so that they can be used as one regex string by
9697 the GNU regex library. Added into the file
9698 lib/silcutil/silcutil.[ch].
9700 Added silc_string_regex_match to match two strings. It returns
9701 TRUE if the strings match. Added into lib/silcutil/silcutil.[ch].
9703 Thu Mar 22 15:29:42 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9705 * Imported GNU regex to the soruce tree into lib/contrib.
9706 Fixed some compiler warning from the regex.c.
9708 Wed Mar 21 15:27:58 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9710 * Fixed MOTD command in the server to work in router environment.
9712 * Fixed the MOTD command in the client library to support
9713 the server argument in the command.
9715 * Added `nickname_len' argument to the silc_idlist_add_client
9716 in the server, as the `nickname' argument may be binary data
9719 * Added silc_idlist_get_channels to return all channels from
9722 * Implemented LIST command to the server. Affected file is
9725 * Implemented the LIST command to the client library and on the
9728 * Added [<user count>] argument to the LIST command reply.
9729 With private channels the user count is not shown.
9731 * Updated TODO and README.
9733 Tue Mar 20 21:05:57 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9735 * The client entry's data.registered must be TRUE even with
9736 global client entry on global client list. The data.registered
9737 is used to check whether the client is anymore in the network,
9738 for example with WHOWAS command so it must be valid.
9740 * Fixed the WHOWAS command in the server. It now actually works
9741 in router environment. Added function into silcd/command_reply.c
9742 silc_server_command_reply_whowas_save.
9744 * Added silc_idlist_purge function to the silcd/idlist.c
9745 to periodically purge the ID Cache.
9747 * Fixed INFO command in the server. It works now in router
9748 environment. Added <server name> argument to the INFO command
9749 reply. Updated the protocol specs.
9751 * Fixed minor bug in silc_idcache_purge to not purge if the
9752 expire value is zero.
9754 * Fixed various bugs in WHOIS and IDENTIFY command handling as
9755 they were buggy because of the WHOWAS information.
9757 * Fixed local command MSG to handle the async resolving of
9758 the remote client properly. It used to fail the first MSG.
9759 Affected file silc/local_command.c.
9761 * Added `data_len' field to SilcIDCache context.
9763 Tue Mar 20 16:29:00 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9765 * Update TODO. Todo in commands in the server.
9767 Tue Mar 20 15:45:14 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9769 * Added new notify type SILC_NOTIFY_TYPE_UMODE_CHANGE that is
9770 used by routers as broadcast packet to inform other routers
9771 about the changed user mode.
9773 Implemented the notify handling in the server. Affected file is
9774 silcd/packet_receive.c. Added the function
9775 silc_server_send_notify_umode to the silcd/packet_send.[ch].
9777 * Added new generic Channel Payload and deprecated the New Channel
9778 Payload. The New Channel Payload is now the generic Channel
9781 * Added new argument `mode' to the silc_server_send_new_channel
9782 as it is required in the Channel Payload now.
9784 * Renamed the SilcChannelPayload to SilcChannelMessagePayload
9785 and created a new and real SilChannelPayload to represent the
9786 new generic Channel Payload. Implemented the encode/decode
9787 for Channel Payload. Affected file lib/silccore/silcchannel.[ch].
9789 * Added silc_server_get_client_channel_list to return the list
9790 of channels the client has joined for WHOIS command reply.
9791 Affected file silcd/server.[ch].
9793 * Implemented the channel list sending in the WHOIS command reply
9794 in server and in the client.
9796 Implemented the channel list displaying on the user interface
9797 as well. Affected file silc/client_ops.c.
9799 * Added silc_channel_payload_parse_list to parse list of Channel
9800 Payloads. It returns SilcDList list of SilcChannelPayloads.
9801 Client for example can use this function to parse the list of
9802 channels it receives in the WHOIS command reply. The caller
9803 must free the list by calling silc_channel_payload_list_free.
9804 Affected files lib/silccore/silcchannel.[ch].
9806 Mon Mar 19 21:39:15 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9808 * Added one new argument <user mode> to the WHOIS command reply
9809 to return the mode of the user in SILC. Updated the protocol
9812 Implemented it to the server and client.
9814 Mon Mar 19 18:43:06 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9816 * Fixed the mode printing on the user interface on joining.
9817 Affected file silc/client_ops.c.
9819 * Implemented the UMODE command and user modes in general to the
9820 client library and to the user interface.
9822 * Implemented the UMODE command to the server.
9824 * The server now sends UNKNOWN_COMMAND error status if client sends
9825 unknown command. Affected file silcd/command.c.
9827 * All server commands now handle the command identifier the right
9828 way when sending the command reply to the client. The client can
9829 use to identify the command replies with the identifier.
9831 Mon Mar 19 16:13:07 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9833 * Added silc_server_get_client_route to resolve the route to
9834 the client indicated by the client ID. Affected file is
9837 * Added silc_server_relay_packet as general function to relay
9838 packet to arbitrary destination. This deprecates functions
9839 like _send_private_message_key, _relay_notify etc. Affected
9840 file is silcd/packet_send.[ch].
9842 Removed silc_server_send_key_agreement,
9843 silc_server_send_private_message_key and
9844 silc_server_packet_relay_notify functions from the file
9845 silcd/packet_send.[ch].
9849 * Implemented the SILC_NOTIFY_TYPE_KILLED notify handling in the
9850 server. Affected file silcd/packet_receive.[ch].
9852 * Implemented the KILL command to the client. Implemented the
9853 SILC_NOTIFY_TYPE_KILLED notify handling in the client library.
9854 Affected files lib/silcclient/command[_reply].c and
9855 lib/silcclient/client_notify.c. Implemented the KILL notify
9856 printing in the user inteface.
9858 * Fixed a lot silc_parse_nick memory leaks from the client
9859 library in the file lib/silcclient/command.c.
9861 * Changed the silc_server_send_notify_on_channels's `sender'
9862 argument from SilcSocketConnection to SilcClientEntry to
9863 check the sender as entry and not as connection object and not
9864 to send to the client provided as argument. The affected file
9865 is silcd/packet_send.[ch].
9867 * The notify packets that are destined directly to the client used
9868 to not to be processed by the server. Now changed that and the
9869 server processes all notify packets. After relaying the packet
9870 to the client the notify packet is processed in the server.
9872 * The silc_server_free_client_data now checks whether there is
9873 pending outgoing traffic for the client and purges the data to
9874 the network before removing the client entry.
9876 Sun Mar 18 21:02:47 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9878 * Added SILC_NOTIFY_TYPE_KILLED notify type. It is sent when
9879 an client is killed from the SILC Network. Updated the protocol
9882 Added new function silc_server_send_notify_killed to the
9883 silcd/packet_send.[ch].
9885 * Added function silc_server_packet_relay_notify to relay notify
9886 packets that are destined directly to a client. In this case
9887 the server does not process the notify packets but merely relays
9888 it to the client. Affected file silcd/packet_send.[ch].
9890 Added also silc_server_packet_process_relay_notify to check
9891 whereto relay the notify. Affected file is
9892 silcd/packet_receive.[ch].
9894 * Implemented the KILL command to the server.
9898 * Added the backup schema desgined last fall to the protocol
9899 specs for everyone to see. The specification is in the
9900 *-spec-xx.txt draft and the packet type definitions for the
9901 backup routers is in *-pp-xx.txt draft. Thusly, added also
9902 new packet type SILC_PACKET_CELL_ROUTERS.
9904 * A big security problem in the implementation discovered. The
9905 signoff of an client did not cause new channel key generation
9906 which it of course should've done. The channel keys must be
9907 always re-generated when client leaves (or signoffs) the channel.
9908 The silc_server_remove_from_channels funtion now handles
9909 the channel key re-generation.
9911 * Added `sender' argument to the silc_server_send_notify_on_channels
9912 to not to send the client provided as argument. Affected file
9913 silcd/packet_send.[ch].
9915 Fri Mar 16 15:52:49 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9917 * Implemented OPER and SILCOPER commands into the server and
9920 * Added silc_auth_verify and silc_auth_verify_data to verify
9921 the authentication directly from the authentication payload.
9922 It supports verifying both passphrase and public key based
9923 authentication. Affected file lib/silccore/silcauth.[ch].
9925 * Added `hash' field to the SilcIDListData structure. It is the
9926 hash negotiated in the SKE protocol. Affected file is
9929 * Slight redesigning of the SilcAuthPayload handling routines.
9930 Do not send SilcPKCS but SilcPublicKey as argument.
9932 * Implemented the public key authentication support to the
9933 serverconfig. The public key is loaded from the provided path
9934 and saved as authentication data to void * pointer. Thus,
9935 changed the unsigned char *auth_data to void *auth_data;
9937 * Fixed SHUTDOWN command to send the reply before the server
9938 is shutdown. :) Affected file silcd/command.c.
9940 * Fixed fatal bug in CONNECT command. The hostname was invalid
9941 memory and server crashed. Affected file silcd/command.c.
9943 * Fixed fatal bug in CLOSE command. The server_entry became
9944 invalid but was referenced later in the command. Affected file
9947 Thu Mar 15 12:46:58 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9949 * Fixed fatal bug in failure packet handling. Server ignored
9950 the failure and thus crashed when it came.
9954 Wed Mar 14 20:37:35 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9956 * Added new SILC_CF_LAG_STRICT command flag that strictly forces
9957 that the command may be executed only once in (about) 2 seconds.
9958 The old SILC_CF_LAG flag is same but allows command bursts up
9959 to five before limiting.
9961 Added the support for CF_LAG and CF_LAG_STRICT flags to the
9962 server code. Various commands now includes the CF_LAG_STRICT
9963 flag to disallow any kind of miss-use of the command.
9965 * Fixed the silc_buffer_unformat to not to allocate any data
9966 if the length of the data is zero. It used to allocate the
9967 length + 1. Affected file lib/silcutil/silcbuffmt.c.
9969 Wed Mar 14 16:10:30 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9971 * Changed the format of AdminConnection configuration section
9972 in the server. Added username of the admin to the format.
9973 Affected files silcd/serverconfig.[ch].
9975 Added silc_server_config_find_admin into silcd/serverconfig.[ch]
9976 to return admin configuration data by host, username and/or
9979 Wed Mar 14 13:18:16 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9981 * Implemented WHOWAS command to the server. Added the functions:
9983 silc_server_command_whowas_parse,
9984 silc_server_command_whowas_send_reply,
9985 silc_server_command_whowas_from_client and
9986 silc_server_command_whowas_from_server
9988 * Added <Client ID> argument to the WHOWAS command reply. Updated
9989 the protocol specs accordingly.
9991 * Implemented WHOWAS command and command_reply to the client
9994 Implemented the WHOWAS printing on the user interface.
9996 Tue Mar 13 22:17:34 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
9998 * Added new argument to the WHOWAS command reply, the real name.
9999 It is an optional argument. Updated the protocol specs.
10001 * Added SilcIDCacheDestructor callback that is registered when
10002 the SilcIDCache is allocated. The callback is called when
10003 an cache entry in the ID Cache expires, or is purged from the
10004 cache. Added into lib/silccore/idcache.[ch].
10006 Added silc_idlist_client_destructor to the silcd/idlist.[ch]
10007 to destruct the client entries when the cache entry expires.
10008 Other ID Cache's in server and in the client library ignores
10011 * If the ID Cache entry's `expire' field is zero then the entry
10012 never expires. Added boolean `expire' argument to the
10013 silc_idcache_add function in the lib/silccore/idcache.[ch].
10014 If it is TRUE the default expiry value is used.
10016 * Added silc_server_free_client_data_timeout that is registered
10017 when client disconnects. By default for 5 minutes we preserve
10018 the client entry for history - for WHOWAS command.
10020 Tue Mar 13 13:26:18 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10022 * Added support to the server to enforce that commands are not
10023 executed more than once in 2 seconds. If server receives
10024 commands from client more frequently, timeout is registered
10025 to process the commands. Affected file silcd/command.c.
10026 Added new function silc_server_command_process_timeout.
10028 * Changed NICK_NOTIFY handling in client library to check that
10029 if the client's nickname was changed, so there is no need to
10030 resolve anything from the server.
10032 * Removed error printing from the WHOIS and IDENTIFY commands.
10033 If error occurs then it is ignored silently in the client library.
10034 The application, however, may map the received error to
10035 human readable error string. The application currently maps
10036 the NO_SUCH_NICKNAME error to string.
10038 * Made the command status message public to the application. Moved
10039 them from lib/silcclient/command_reply.c to
10040 lib/silcclient/command_reply.h. The application can map the
10041 received command status to the string with the
10042 silc_client_command_status_message function.
10044 * Added check to the server to check that client's ID is same
10045 as the Source ID in the packet the client sent. They must
10048 Tue Mar 13 12:49:21 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10050 * Added dist-bzip hook to the Makefile.am to make bzip2
10051 compressed distributions.
10053 Mon Mar 12 18:43:38 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10055 * Server now enforces the maximum length for the nickname and
10056 the channel as protocol specification dictates. 128 bytes for
10057 nickname and 256 bytes for channel name.
10059 * Moved the WHOIS printing to the application. The client libary
10060 does not print out the WHOIS information anymore, the application
10061 must do it. Renamed silc_client_command_reply_whois_print to
10062 the silc_client_command_reply_whois_save.
10064 The client's idle time is also sent to the application now, and
10065 the idle is shown on screen.
10067 * Added silc_client_command_reply_identify_save to save the
10068 received IDENTIFY entries.
10070 * Do not check for channel private keys in message sending and
10071 reception if the channel does not have the PRIVKEY mode set.
10072 Affected file lib/silclient/client_channel.c.
10074 Sun Mar 11 20:25:06 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10076 * Fixed a minor bug if WHOIS and IDENTIFY command parsing that
10077 just surfaced after chaning the JOIN procedure.
10079 Sun Mar 11 14:59:05 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10081 * Added silc_client_get_clients_by_list to get client entries
10082 from Client ID list, that is returned for example by JOIN
10083 and USERS command replies. The application should use this
10084 function for example when JOIN command reply is received to
10085 resolve the clients already on the channel (library does not
10086 do that anymore as USERS command reply is not used in the JOIN
10087 procedure anymore). Affected files lib/silcclient/silcapi.h and
10088 lib/silcclient/idlist.c.
10090 * JOIN command reply and USERS command reply returns now SilcBuffer
10091 pointers instead of unsigned char pointers when returning
10092 the client list and mode list.
10094 * Added <Client ID> argument to the JOIN command reply, mainly
10095 for the server to identify for which client the command was
10096 originally sent. Updated protocol specs accordingly.
10098 * Added SilcDlist private_key pointer to the SilcChannelEntry
10099 in the client to support the channel private keys. Affected
10100 file is lib/silcclient/idlist.h.
10102 * Added SilcChannelPrivateKey argument to the function
10103 silc_client_send_channel_message so that application can choose
10104 to use specific private ke if it wants to. If it is not provided,
10105 the normal channel key is used, unless private keys are set.
10106 In this case the first (key that was added first) is used
10107 as the encryption key.
10109 * Implemented the support for channel private key handling.
10110 Implemented the following functions:
10112 silc_client_add_channel_private_key,
10113 silc_client_del_channel_private_keys,
10114 silc_client_del_channel_private_key,
10115 silc_client_list_channel_private_keys and
10116 silc_client_free_channel_private_keys
10118 Affected file lib/silcclient/client_channel.c.
10120 * Added the support for the private keys in the channel message
10121 sending and encryption and in the message reception and
10122 decryption. Affected funtions are
10123 silc_client_send_channel_message and silc_client_channel_message.
10125 Sat Mar 10 21:36:22 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10127 * Added SKE's key verify callback to the client library's
10128 KE protocol context. Affected files lib/silcclient/protocol.[ch].
10130 * Removed the statement that server (or router) must send USERS
10131 command reply when joining to the channel so that the client
10132 knows who are on the channel. Instead, the client list and
10133 client's mode list is now sent in the JOIN command reply to the
10134 client who joined channel. This is better solution.
10136 * Added function silc_server_get_users_on_channel and function
10137 silc_server_save_users_on_channel to the silcd/server.[ch].
10139 * Removed function silc_server_command_send_users from the
10142 * Do not show topic on the client library anymore. The topic is
10143 sent in the command reply notify to the application and the
10144 application must show the topic now.
10146 Sat Mar 10 00:07:37 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10148 * Added client searching by nickname hash into the IDENTIFY and
10149 WHOIS commands in the server as they were clearly missing from
10150 them. Affected file is silcd/command.c.
10152 * Fixed a bug in private message receiving in the client library.
10153 The remote ID was freed and it wasn't supposed, now it is
10156 Fri Mar 9 12:40:42 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10158 * Minor fix to the channel payload; allocate the data area, as it
10159 needs to be of specific length.
10161 * If the key agreement port is zero then the operating
10162 system will define the bound port. Affected files are
10163 lib/silcclient/silcapi.h and lib/silcclient/client_keyagr.c.
10165 * Added new function silc_channel_payload_decrypt into the file
10166 lib/silccore/silcchannel.[ch].
10168 * Moved the channel message etc, check from silc_packet_decrypt
10169 to applications. The library calls now a generic
10170 SilcPacketCheckDecrypt callback which is to return TRUE or FALSE
10171 when the packet is either normal or special. This was done to
10172 allow more wide range of checking that was not allowed when
10173 the code was in library. Now applications can do virtually any
10174 checks to the packet and return to the library the decision how
10175 the packet should be processed. Affected files are
10176 lib/silccore/silcpacket.[ch].
10178 Added silc_server_packet_decrypt_check to the server and
10179 silc_client_packet_decrypt_check to the client library.
10181 * Added silc_server_packet_send_srcdest into silcd/packet_send.[ch]
10182 to send with specified source and destination information.
10184 * Channel message delivery between routers was broken after the
10185 channel key distribution was fixed earlier. The channel key
10186 was used be to distributed to other routers as well which is not
10187 allowed by the protocol. Now this is fixed and channel keys
10188 really are cell specific and the channel message delivery between
10189 routers comply with the protocol specification.
10191 * Fixed various commands in server to check also the global list
10192 for the channel entry and not just the local list. The affected
10193 file silcd/command.c.
10195 Thu Mar 8 21:39:03 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10197 * Added assert()s to buffer formatting and unformatting routines
10198 to assert (if --enable-debug) when error occurs. Affected
10199 file: lib/silcutil/silcbuffmt.c.
10201 * Changed to auto-reconnect to check whether the remote host is
10202 router and register the re-connect timeout if it is. It used
10203 to check that whether we are normal server, but router must do
10204 auto-reconnect with another router as well. Affected file
10207 * Removed the [<key len>] option from CMODE command as the cipher
10208 name decides the key length, nowadays. See the defined ciphers
10209 from the protocol specification.
10211 * Added [<hmac>] option to the CMODE command to define the HMAC
10212 for the channel. Added SILC_CMODE_HMAC channel mode.
10214 * Added [<hmac>] option for the JOIN command so that user can
10215 select which HMAC is used to compute the MACs of the channel
10218 * Added Hmac field to the Channel Message Payload. The integrity
10219 of plaintext channel messages are now protected by computing
10220 MAC of the message and attaching the MAC to the payload. The
10221 MAC is encrypted. Now, it is clear that this causes some
10222 overhead to the size of the packet but rationale for this is that
10223 now the receiver can verify whether the channel message decrypted
10224 correctly and also when private keys are set for the channel the
10225 receiver can decrypt the packet with several keys and check from
10226 the MAC which key decrypted the message correctly.
10228 * Added silc_cipher_encrypt and silc_cipher_decrypt into the
10229 lib/silccrypt/silccipher.[ch].
10231 * Added silc_hash_len to return the digest length into the
10232 lib/silcrypt/silchash.[ch].
10234 * Rewrote parts of Silc Channel Payload interface in the
10235 lib/silccore/silcchannel.[ch]. The encode function now also
10236 encrypts the packet and parse function decrypts it.
10238 Wed Mar 7 20:58:50 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10240 * Fixed a minor formatting bug in the SKE's key material processing.
10241 It actually might have processed the keys wrong way resulting
10244 * Redefined the mandatory HMAC algorithms and added new algorithms.
10245 Added hmac-sha1-96 and hmac-md5-96 which are normal hmac-sha1
10246 and hmac-md5 truncated to 96 bits. The mandatory is now
10247 hmac-sha1-96. Rest are optional (including the one that used
10248 to be mandatory). Rationale for this is that the truncated HMAC
10249 length is sufficient from security point of view and can actually
10250 make the attack against the HMAC harder. Also, the truncated
10251 HMAC causes less overhead to the packets. See the RFC2104 for
10254 * Added new [hmac] configuration section. The SKE used to use
10255 the hash names (md5 and sha1) in the SKE proposal as HMCAS which
10256 is of course wrong. The official names that must be proposed in
10257 the SKE are the ones defined in the protocol specification
10258 (hmac-sha1-96 for example). The user can configure any hmac
10259 using any hash function configured in the [hash] section. At
10260 least, the mandatory must be configured.
10262 Rewrote the HMAC interface in lib/silccrypt/silchmac.[ch].
10264 * Added HMAC list to the SKE proposal list. It has now both
10265 hash algorithm list and HMAC list. This makes the protocol
10266 incompatible with previous versions. The SKE now seems to work
10267 the way it is supposed to work, for the first time actually.
10269 * Defined plain Hash algorithms to the protocol specification.
10270 Added sha1 and md5.
10272 Tue Mar 6 15:36:11 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10274 * Implemented support for key agreement packets into the server.
10275 Added functions silc_server_key_agreement and
10276 silc_server_send_key_agreement. Other than these functions,
10277 server has nothing to do with this packet.
10279 * Added support for private message key packets into the server.
10280 Added functions silc_server_private_message_key and
10281 silc_server_send_private_message_key.
10285 * Changed the silc_[client|server]_protocol_ke_set_keys to be
10286 called in the protocol's final callback instead in the END
10287 protocol state. This makes a little more sense and in the same
10288 time in client we can use the same protocol routines for normal
10289 key exchange and to key agreement packet handling as well.
10291 * Added to both client's and server's KE protocol context the
10292 SilcSKEKeyMaterial pointer to save the key material. We will
10293 bring the key material to the protocol's final callback by doing
10294 this. The final callback must free the key material.
10296 * Added SKE's packet_send callback into client's KE protocol
10297 context so that the caller can choose what packet sending function
10298 is used. This way we can use different packet sending when
10299 doing normal SKE when doing key agreement packet handling (in
10300 the key agreement packet handling we do not want to encrypt
10303 * Implemented the responder side of the key agreement routines
10304 in the client. The client can now bind to specified port and
10305 accept incoming key negotiation. The key material is passed
10306 to the application after the protocol is over.
10308 * Implemented the processing of incoming Key Agreement packet
10309 in the client. Added function silc_client_key_agreement to
10310 process the packet.
10312 * Implemented the intiator side of the key agreement routines
10313 in the client. The client can now initiate key agreement with
10314 another remote client. The key material is passed to the
10315 application after the protocol is over.
10317 * Created client_keyagr.c to include all the key agreement
10320 * Added macro SILC_TASK_CALLBACK_GLOBAL which is equal to the
10321 SILC_TASK_CALLBACK except that it is not static.
10323 * Created client_notify.c and moved the Notify packet handling
10324 from the client.[ch] into that file.
10326 * Created client_prvmsg.c and moved all private message and
10327 private message key routines from the client.[ch] into that file.
10329 * Create client_channel.c and moved all channel message and
10330 channel private key routines from the client.[ch] into that file.
10332 * Changed silc_client_get_client_by_id_resolve to resolve with
10333 WHOIS command instead of IDENTIFY command, in the file
10334 lib/silclient/idlist.c.
10336 Mon Mar 5 18:39:49 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10338 * Implemented the SKE's responder side to the Client library.
10340 * When FAILURE is received to the protocol do not trust it
10341 blindly. Register a timeout to wait whether the remote closes
10342 the connection as it should do it, only after that process the
10343 actual failure. This was changed to both client and server.
10345 * Added client_internal.h to include some of the structures
10346 there instead of client.h in lib/silcclient/.
10348 * Added function silc_task_unregister_by_callback to unregister
10349 timeouts by the callback function.
10351 Sat Mar 3 19:15:43 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10353 * Some "Incomplete WHOIS info" errors has been appearing on the
10354 log files. Took away the entry->userinfo check from WHOIS
10355 reply sending. The entry->userinfo is now " " if client did not
10356 provide one. I thought this was fixed earlier but something
10357 is wrong still. Let's see if the error still appears.
10359 Wed Feb 28 20:56:29 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10361 * Fixed a minor bug in the login when the channel key is
10362 re-generated in the server. It used to generate the key in
10363 wrong order and thus caused problems in the channel traffic.
10365 * Fixed a minor bug in channel key distsribution after
10366 KICK command. The key was not sent to the router even though
10369 Tue Feb 27 20:24:25 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10371 * Added silc_ske_process_key_material_data as generic routine
10372 to process any key material as the SILC protocol dictates. The
10373 function is used by the actual SKE library but can be used by
10374 applications as well. This relates to the private message keys
10375 and the channel private keys since they must be processed the
10376 same way the normal SILC session keys. The protocol dictates
10377 this. Affected files: lib/silcske/silcske.[ch].
10379 Added also silc_ske_free_key_material to free the
10380 SilcSKEKeyMaterial structure.
10382 * Defined silc_cipher_set_key function to set the key for
10383 cipher without using the object's method function. The affected
10384 files: lib/silccrypt/silccipher.[ch].
10386 * Implemented silc silc_client_add_private_message_key,
10387 silc_client_add_private_message_key_ske,
10388 silc_client_del_private_message_key,
10389 silc_client_list_private_message_keys and
10390 silc_client_free_private_message_keys functions in the
10393 Added functions silc_client_send_private_message_key to send
10394 the Private Message Key payload and silc_client_private_message_key
10395 to handle incoming Private Message Key payload.
10397 * Added Cipher field to the Private Message Key payload to set
10398 the cipher to be used. If ignored, the default cipher defined
10399 in the SILC protocol (aes-256-cbc) is used.
10401 Tue Feb 27 13:30:52 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10403 * Removed lib/silcclient/ops.h file.
10405 Redefined parts of the SILC Client Library API. Created new
10406 file silcapi.h that deprecates the ops.h file and defines the
10407 published Client Library API. Defined also private message key
10408 API and channel private key API into the file.
10410 This is the file that the application must include from the
10411 SILC Client Library. Other files need not be included by
10412 the application anymore.
10414 * Added new key_agreement client operation callback and also
10415 defined the Key Agreement library API for the application.
10417 Tue Feb 27 11:28:31 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10419 * Added new packet type: SILC_PACKET_KEY_AGREEMENT. This packet
10420 is used by clients to request key negotiation between another
10421 client in the SILC network. If the negotiation is started it
10422 is performed using the SKE protocol. The result of the
10423 negotiation, the secret key material, can be used for example
10424 as private message key.
10426 Implemented the Key Agreement payload into the files
10427 lib/silccore/silauth.[ch].
10429 Mon Feb 26 12:13:58 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10431 * Redefined ciphers for the SILC protocol. Added some new ciphers
10432 and defined the key lengths for the algorithms. Changed the
10433 code accordingly. The default key length is now 256 bits.
10435 * Fixed SKE key distribution function silc_ske_process_key_material
10436 when the key length is more than 128 bits. The default key
10437 length in SILC is now 256 bits.
10439 * Added new command status type: SILC_STATUS_ERR_UNKOWN_ALGORITHM
10440 to indicate unsupported algorithm.
10442 * Renamed rijndael.c to aes.c and all functions as well.
10444 * Fixed a long standing channel key setting bug in client library.
10445 Weird that it has never surfaced before.
10447 * Fixed bug in channel deletion. If the entire channel is removed
10448 then it must also delete the references of the channel entry
10449 from the client's channel list as the client's channel entry and
10450 the channel's client entry share same memory.
10452 Sun Feb 25 20:47:29 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10454 * Implemented CONNECT and SHUTDOWN commands in the client.
10456 * Implemented CLOSE command to the client.
10458 * Added the function silc_idlist_find_server_by_name into the
10459 files silcd/idlist.[ch].
10461 Added the function silc_idlist_find_server_by_conn into the
10462 files silcd/idlist.[ch].
10464 Sat Feb 24 23:45:49 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10466 * DIE command was renamed to SHUTDOWN. Updated the both code
10467 and protocol specs.
10469 * Defined SILC_UMODE_NONE, SILC_UMODE_SERVER_OPERATOR and
10470 SILC_UMODE_ROUTER_OPERATOR modes into lib/silccore/silcmode.h.
10472 * Implemented CONNECT, CLOSE and SHUTDOWN commands to the server
10475 * Added function silc_server_create_connection function to create
10476 connection to remote router. My server implementation actually
10477 does not allow router to connect to normal server (it expects
10478 that normal server always initiates the connection to the router)
10479 so the CONNECT command is only good for connecting to another
10482 Sat Feb 24 16:03:45 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10484 * Added SILC_NOTIFY_TYPE_KICKED to indicate that the client
10485 or some other client was kicked from the channel.
10487 Implemented the handling of the notify type to both client
10490 Implemented silc_server_send_notify_kicked to send the KICKED
10491 notify. It is used to send it to the server's primary router.
10493 * Implemented the KICK command into server and client.
10495 * Added `query' argument to the silc_idlist_get_client function
10496 to indicate whether to query the client from server or not if
10499 * Added new command status type SILC_STATUS_ERR_NO_CHANNEL_FOPRIV
10500 to indicate that the client is not channel founder.
10504 Sat Feb 24 00:00:55 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10506 * Removed the rng context from SilcPacketContext structure and
10507 changed that the packet routine uses the Global RNG API.
10509 Fri Feb 23 11:22:57 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10511 * Added support for quit message that client can "leave" on the
10512 channel when it quits the SILC. It is ditributed inside the
10513 SILC_NOTIFY_TYPE_SIGNOFF notify type.
10515 Added silc_server_free_client_data that will take the
10516 signoff message as argument.
10518 * Changed SKE routines to use the silc_pkcs_sign/verify routines.
10520 Thu Feb 22 23:05:36 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10522 * Updated parts of the protocol specification to keep it up
10525 Thu Feb 22 15:08:20 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10527 * Added List flag (SILC_PACKET_FLAG_LIST) to indicate list of
10528 payloads in one packet.
10530 * Deprecated following packet types: NEW_ID_LIST, NEW_CHANNEL_LIST,
10531 NEW_CHANNEL_USER_LIST, SET_MODE and SET_MODE_LIST. List packets
10532 use now the new List flag.
10534 * Also deprecated the following packet types: REPLACE_ID,
10535 NEW_CHANNEL_USER and REMOVE_CHANNEL_USER packet types.
10537 * Added list support for Notify packet in server.
10539 * Added silc_server_send_notify_channel_change to send the
10540 CHANNEL_CHANGE notify type to replace channel ID's. Deprecates
10541 the silc_server_send_replace_id.
10543 * Added silc_server_send_notify_nick_change to send the
10544 NICK_CHANGE notify type. Deprecates the function
10545 silc_server_send_replace_id.
10547 * Added silc_server_send_notify_join to send the JOIN notify type.
10548 Deprecates the function silc_server_send_new_channel_user.
10550 * Added silc_server_send_notify_leave to send LEAVE notify type.
10551 Deprecates the function silc_server_send_remove_channel_user.
10553 * Added silc_server_send_notify_cmode and
10554 silc_server_send_notify_cumode to send CMODE and CUMODE notify
10555 types. Deprecates the silc_server_send_set_mode function.
10557 * Added SERVER_SIGNOFF notify type to indicate that server has
10558 quit. This means that all clients on the channel from that
10559 server will drop. This can be also used when netsplit happens.
10561 Deprecated REMOVE_ID packet type since it is not needed anymore
10564 Added silc_server_send_notify_server_signoff to send the
10565 SERVER_SIGNOFF notify type. Deprecates the function
10566 silc_server_send_remove_id.
10568 Added also silc_server_send_notify_signoff to send the
10569 SIGNOFF notify type.
10571 * Employed the PKCS #1. It is the mandatory way to do RSA in the
10572 SILC protocol from this day on. Changed the protocol
10573 specification as well.
10575 * Added silc_server_send_notify_topic_set to send TOPIC_SET
10576 notify type. It is used between routers to notify about
10577 topic changes on a channel.
10579 * Added silc_id_dup into lib/silccore/id.[ch] to duplicate
10582 * Partly updated the protocol specification to comply with the
10583 changes now made. It is still though a bit outdated.
10585 * The JOIN notify type now takes one extra argument <Channel ID>.
10586 The packet used to be destined to the channel but now the
10587 JOIN type may be sent as list thus it is impossible to
10588 destine it to any specific channel. By adding this argument
10589 it is again possible.
10591 Wed Feb 21 22:39:30 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10593 * Added CREDITS file. The CHANGES and CREDITS file will appear
10594 in the distribution as well.
10596 Wed Feb 21 14:17:04 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10598 * Implemented CMODE_CHANGE, CUMODE_CHANGE and TOPIC_SET notify
10599 types in the server's silcd/packet_receive.c.
10601 * Implemented CMODE and CUMODE to work in router environment.
10603 * Fixed minor encoding and decoding buglet from the
10604 lib/silccore/silcmode.c.
10606 * Fixed buffer overflow from lib/silcclient/command.c in USERS
10609 Wed Feb 21 12:44:00 EET 2001 Mika Boström <bostik@lut.fi>
10611 * Changed all SilcConfigServer* and silc_config_server* to
10612 SilcServerConfig* and silc_server_config*, respectively.
10615 Wed Feb 21 00:10:00 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10617 * Associated the ID (client or server ID) to the Authentication
10618 Payload to avoid any possibility of forging. Updated the
10619 protocol specification and the code accordingly.
10621 Tue Feb 20 14:14:14 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10623 * The RSA key length is now save to the RsaKey context in the
10624 key generation process in lib/silccrypt/rsa.c. The key length
10625 is now used to figure out the maximum size of the block allowed
10626 to be encrypted/signed.
10628 * Added silc_mp_mp2bin_noalloc into lib/silcmath/mpbin.[ch]. It
10629 is equivalent to the silc_mp_mp2bin but does not allocate any
10632 * Changed silc_mp_mp2bin API to take length argument. If it is
10633 non-zero then the buffer is allocated that large. If zero, then
10634 the size is approximated using silc_mp_sizeinbase, which however
10637 * Created Global RNG API which is global RNG that application can
10638 initialize. After initializing, any routine anywhere in the
10639 code (including library) can use RNG without allocating a new
10640 RNG object. This was done to allow this sort of use of the
10641 RNG in code that has no chance to allocate RNG object. All
10642 applications currently allocate this and many routines in the
10643 library use this. Affected file lib/silccrypt/silcrng.[ch].
10645 * Removed the RNG kludge from lib/silcmath/primegen.c and changed
10646 it to use the Global RNG API.
10648 * Defined Authentication Payload into protocol specification that
10649 is used during SILC session to authenticate entities. It is
10650 used for example by client to authenticate itself to the server
10651 to obtain server operator privileges.
10653 Implemented this payload into the lib/silccore/silcauth.[ch].
10654 Implemented also routines for public key based authentication
10655 as the new protocol specification dictates.
10657 Moved definitions of different authentication methods from
10658 lib/silccore/silcprotocol.h into lib/silccore/silcauth.h.
10660 * Added silc_pkcs_encrypt, silc_pkcs_decrypt, silc_pkcs_sign,
10661 silc_pkcs_verify and silc_pkcs_sign_with_hash and
10662 silc_pkcs_verify_with_hash functions into the file
10663 lib/silccrypt/silcpkcs.[ch].
10665 Mon Feb 19 19:59:28 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10667 * The client entry's userinfo pointer must be always valid.
10668 Otherwise the [<unknown>] bug will surface beacuse the WHOIS
10669 will fail since it requires the userinfo. Now, the userinfo
10670 is allocated as "" if actual userinfo does not exist. Actually,
10671 it must exist and it is totally Ok to drop client connections
10672 that does not announce the userinfo. However, we will make
10673 this workaround for now.
10675 * Added silc_net_get_remote_port into lib/silcutil/silcnet.[ch]
10676 to return the remote port by socket.
10678 Mon Feb 19 14:26:49 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10680 * Changed SILC_SERVER_COMMAND_EXEC_PENDING macro to the name
10681 SILC_SERVER_PENDING_EXEC and added an new macro
10682 SILC_SERVER_PENDING_DESTRUCTOR which is called to free the
10683 data or when error occurs while processing the pending command.
10685 Added new argument `destructor' into silc_server_command_pending
10686 and to the SilcServerCommandPending object. This destructor is
10687 now called after calling the pending callback or if error occurs
10688 immediately. If error occurs the actual pending callback won't
10689 be called at all - only the destructor. The destructor may be
10690 NULL if destructor is not needed.
10692 All this applies for client library code as well. Similar
10693 changes were made there as well for the pending commands.
10695 In the client, the application must now allocate the
10696 SilcClientCommandContext with the silc_client_command_alloc
10699 * Added reference counter to the SilcServerCommandContext. Added
10700 function silc_server_command_alloc and silc_server_command_dup
10703 Same type of functions added to the client library for the same
10706 * Removed the cmd_ident from IDListData away since it is now
10707 global for all connections. It is the command identifier used
10708 in command sending and with pending commands. The affected file
10711 * Added reference counter to the SilcSocketConnection objecet to
10712 indicate the usage count of the object. The object won't be
10713 freed untill the reference counter hits zero. Currently only
10714 server uses this, and client ignores it. The client must be
10715 set to use this too later. The affected files are
10716 lib/silccore/silcsockconn.[ch]. Added also the function
10717 silc_socket_dup to increase the reference counter.
10719 This was mainly added because it is possible that the socket
10720 is removed underneath of pending command or other async
10721 operation. Now it won't be free'd and proper DISCONNECTING
10722 flags, etc. can be set to avoid sending data to connection that
10723 is not valid anymore.
10725 * Added SILC_SET_DISCONNECTING to server.c when EOF is read from
10726 the connection. After that it sets SILC_SET_DISCONNECTED.
10727 It is, however, possible that the socket data is not still freed.
10728 The silc_server_packet_process now checks that data is not
10729 read or written to connection that is DISCONNECTED. The socket
10730 get's freed when the reference counter hits zero.
10732 Mon Feb 19 00:50:57 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10734 * Changed the client operation API: channel_message operation's
10735 `sender' is now the client entry of the sender, not the nickname
10736 and the `channel' is the channel entry, not the channel name.
10738 In the private_message operation the `sender' is now also the
10739 client entry of the sender not the nickname.
10741 Affected file is lib/silcclient/ops.h and all applications
10742 using the client operations.
10744 Sat Feb 17 22:11:50 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10746 * Moved the calling of ops->connect() from connect_to_server_final
10747 into receive_new_id functin since that is the point when the
10748 client is actually allowed to send traffic to network. The
10749 affected file is lib/silcclient/client.c.
10751 Sat Feb 17 13:15:35 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10753 * When receiving NEW_CHANNEL_LIST, NEW_CHANNEL_USER_LIST,
10754 NEW_ID_LIST and SET_MODE_LIST packets, broadcast the list packet
10755 (if needs broadcasting) instead of broadcasting the packets one
10756 by one which would make a burst in the network traffic.
10758 * Added `broadcast' argument to the functions in silcd/server.[ch]
10759 silc_server_create_new_channel[_with_id] to indicate whether
10760 to send New Channel packet to primary router.
10762 Sat Feb 17 01:06:44 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10764 * Added new function into the silcd/server.[ch] files:
10765 silc_server_create_new_channel_with_id to create new channel with
10766 already existing Channel ID.
10768 * Added new packet type SILC_PACKET_SET_MODE_LIST into the file
10769 lib/silccore/silcpacket.h. This packet is used t send list of
10770 Set Mode payloads inside one packet. Server uses this to set
10771 the modes for the channels and clients on those channels, that it
10772 announced to the router when it connected to it. The protocol
10773 specification has been updated accordingly.
10775 * The silc_server_new_channel did not handle the packet coming
10776 from normal server as it normally does not send that. However,
10777 when it announces its channels it does send it. Implemented
10778 the support for that.
10780 * Added SILC_ID_CHANNEL_COMPARE macro to compare to Channel ID's
10781 into the file lib/silccore/id.h.
10783 Fri Feb 16 23:57:29 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10785 * Fixed memory leaks in the functions silc_idlist_del_client,
10786 silc_idlist_del_channel and silc_idlist_del_server in the file
10787 silcd/idlist.c. All of those leaked like a sieve.
10789 * Fixed some small memory leaks in the client's function
10790 silc_client_notify_by_server.
10792 * Added functions into silcd/server.c: silc_server_announce_clients,
10793 silc_server_announce_channels and silc_server_announce_server.
10794 These functions are used by normal and router server to announce
10795 to its primary router about clients, channels and servers (when
10796 router) that we own. This is done after we've connected to the
10799 These functions effectively implements the following packet types:
10800 SILC_PACKET_NEW_CHANNEL_LIST, SILC_PACKET_NEW_CHANNEL_USER_LIST
10801 and SILC_PACKET_NEW_ID_LIST.
10803 * Added new functions into the silcd/packet_receive.[ch]:
10804 silc_server_new_id_list, silc_server_new_channel_list and
10805 silc_server_new_channel_user_list to handle the incoming
10806 NEW_ID_LIST, NEW_CHANNEL_LIST and NEW_CHANNEL_USER_LIST packets.
10808 * Added support of changing Channel ID in the function
10809 silc_server_replace_id. If the server that announces a channel
10810 to the router already exists in the router (with same name but
10811 with different Channel ID), router is responsible to send
10812 Replace ID packet to the server and force the server to change
10813 the Channel ID to the one router has.
10815 * Added new notify type SILC_NOTIFY_TYPE_CHANNEL_CHANGE to notify
10816 client that the Channel ID has been changed by the router. The
10817 normal server sends this to the client. Client must start using
10818 the new Channel ID as the channel's ID.
10820 Implemented handling of this new type into lib/silcclient/client.c
10821 into the function silc_client_notify_by_server.
10823 * Added new function silc_idlist_replace_channel_id into the files
10824 silcd/idlist.[ch] to replace the Channel ID.
10826 Fri Feb 16 14:14:00 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10828 * Call silc_server_command_identify_check always when processing
10829 the IDENTIFY command in silcd/command.c
10831 Thu Feb 15 20:07:37 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10833 * Added new packet type SILC_PACKET_HEARTBEAT that is used to
10834 send keepalive packets. The packet can be sent by clients,
10835 servers and routers.
10837 Added function silc_socket_set_heartbeat into the file
10838 lib/silccore/silcsockconn.[ch] to set the heartbeat timeout.
10839 If not set, the heartbeat is not performed. The actual
10840 heartbeat is implemented in the low level socket connection
10841 library. However, application is responsible of actually
10842 sending the packet.
10844 Added silc_server_send_heartbeat to send the actual heartbeat
10845 packet into silcd/packet_send.[ch]. Server now performs
10846 keepalive with all connections.
10848 * Added silc_task_get_first function into lib/silcutil/silctask.c
10849 to return the timeout task with shortest timeout. There was a bug
10850 in task unregistration that caused problems. TODO has been
10851 updated to include that task system must be rewritten.
10853 * The client library will now resolve the client information when
10854 receiving JOIN notify from server for client that we know but
10855 have incomplete information.
10857 * Rewrote parts of silc_server_remove_from_channels and
10858 silc_server_remove_from_one_channel as they did not remove the
10859 channel in some circumstances even though they should've.
10861 * Encryption problem encountered in server:
10863 The LEAVE command used to send the Channel Key packet to the
10864 router immediately after generating it. However, the code
10865 had earlier sent Remove Channel user packet but not immediately,
10866 ie. it was put to queue. The order of packets in the router
10867 was that Channel Key packet was first and Remove Channel User
10868 packet was second, even though they were encrypted in the
10869 reverse order. For this reason, MAC check failed. Now, this
10870 is fixed by not sending the Channel Key packet immediately but
10871 putting it to queue. However, this is more fundamental problem:
10872 packets that are in queue should actually not be encrypted
10873 because packets that are sent immediately gets encrypted
10874 actually with wrong IV (and thus MAC check fails). So, packets
10875 that are in queue should be encrypted when they are sent to
10876 the wire and not when they put to the queue.
10878 However, the problem is that the current system has not been
10879 designed to work that way. Instead, the packet is encrypted
10880 as soon as possible and left to the queue. The queue is then
10881 just purged into wire. There won't be any fixes for this
10882 any time soon. So, the current semantic for packet sending
10885 o If you send packet to remote host and do not force the send
10886 (the packet will be in queue) then all subsequent packets to the
10887 same remote host must also be put to the queue. Only after the
10888 queue has been purged is it safe again to force the packet
10891 o If you send all packets immediately then it safe to send
10892 any of subsequent packets through the queue, however, after
10893 the first packet is put to queue then any subsequent packets
10894 must also be put to the queue.
10896 Follow these rules and everything works fine.
10898 Thu Feb 15 14:24:32 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10900 * Added new function silc_server_remove_clients_by_server to
10901 remove all client entries from ID list when the server connection
10902 is lost. In this case it is also important to invalidate all
10903 client entires as they hold the invalid server entry. This
10904 fixes fatal bug when server has lost connection and will reconnect
10907 Wed Feb 14 16:03:25 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10909 * Made some sanity checks to silc_server_daemonise like to check
10910 whether the requested user and group actually exists.
10912 * Added sanity check to SKE's silc_ske_responder_finish to check
10913 that the public and private key actually is valid.
10915 * Invalidate the client's nickname when receiving Replace ID
10916 packet and the Client ID is being replaced. This means that the
10917 server will query the nickname if someone needs it (client)
10920 * Sort the ID Cache in client library when the ID Cache data
10921 has changed (needs sorting).
10923 * Do not allow for SILC client to create several connections to
10924 several servers. The client does not support windows right now
10925 and generating multiple connections causes weird behaviour.
10927 Irssi-silc client does support windows and can handle several
10928 connections without problems, see: www.irssi.org and SILC plugin.
10930 * Fixed some places where client was added to the IDList. The
10931 rule of thumb is following (in order to get everything right):
10932 If the client is directly connected local client then the
10933 `connection' argument must be set and `router' argument must be
10934 NULL to silc_idlist_add_client function. If the client is not
10935 directly connected client then the `router' argument must
10936 bet set and the `connection' argument must be NULL to the
10937 silc_idlist_add_client function.
10939 * The funtion silc_server_packet_send_local_channel actually did
10940 not check whether the client was locally connected or not. It
10941 does that now. Fixed a bug related to LEAVE command.
10943 * Fixed Remove Channel User payload parsing bug in server's
10944 silcd/packet_receive.c. Fixed a bug related to LEAVE command.
10946 * The server's silc_server_save_channel_key now checks also the
10947 global ID list for the channel as it might not be in the local
10948 list. Fixed a bug related to LEAVE command.
10950 * Is this the end of the [<unknown>] buglet that has been lurking
10951 around for a long time? A little for loop fix in server's
10952 silc_server_command_whois_parse that is used by both IDENTIFY
10953 and WHOIS command. At least, this was a clear bug and a cause
10954 of one type of [<unknown>] buglet.
10956 * WHOIS and IDENTIFY commands call the function
10957 silc_server_command_[whois/identify]_check function even if
10958 we are not router server.
10960 Tue Feb 13 19:55:59 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10962 * Added --with-gmp configuration option. If set the GMP
10963 is always compiled in the SILC source tree. If not set then
10964 it is checked whether the system has the GMP3 installed. If
10965 it has then the GMP won't be compiled (the system's headers
10966 and library is used), if it doesn't have it then the GMP is
10967 compiled in the SILC source tree.
10969 Mon Feb 12 11:20:32 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10971 * Changed RSA private exponent generation to what PKCS #1
10972 suggests. We try to find the smallest possible d by doing
10973 modinv(e, lcm(phi)) instead of modinv(e, phi). Note: this is
10974 not security fix but optimization.
10976 Sun Feb 11 18:19:51 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10978 * Added new config entry [Identity] to fork the server and run
10979 it as specific user and group. A patch from Bostik.
10981 * Imported Dotconf configuration library into lib/dotconf.
10982 This will be used to create the SILC configuration files later.
10983 It will appear in the distsribution after this commit.
10985 Sat Feb 10 21:13:45 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
10987 * A big code auditing weekend happening. Auditing code for
10988 obvious mistakes, bugs and errors. Also, removing any code
10991 Removed files for being obsolete:
10993 o lib/silcutil/silcbuffer.c (the buffer interface is entirely in
10994 inline in the file lib/silcutil/silcbuffer.h)
10996 o lib/silcutil/silcbufutil.c (the header has inline versions)
10998 Changed code to fix possible error conditions:
11000 o The buffer formatting routines now check that the destination
11001 buffer really has enough space to add the data. This applies for
11002 both buffer formatting and unformatting
11003 (lib/silcutil/silcbuffmt.[ch]). Also, the entire buffer
11004 unformatting was changed to accomodate following rules:
11005 XXX_*STRING_ALLOC will allocate space for the data into the pointer
11006 sent to the function while XXX_*STRING will not allocate or copy
11007 the data into the buffer. Instead it sets the pointer from the
11008 buffer into the pointer sent as argument (XXX_*STRING used to
11009 require that the pointer must be allocated already). This change
11010 makes this whole thing a bit more consistent and more optimized
11011 (note that the data returned in the unformatting with XXX_*STRING
11012 must not be freed now). The routines return now -1 on error.
11014 o Tried to find all code that use buffer_format and buffer_unformat
11015 and added return value checking to prevent formatting and
11016 especially unformatting errors and possible subsequent fatal
11019 o Changed ske->x and ske->KEY to mallocated pointers in
11020 lib/silcske/silcske.h. Fixed possible data and memory leak.
11022 o Added return value checking to all *_parse* functions. Fixed
11023 many memory leaks as well.
11025 o Added length argument to silc_id_str2id in lib/silccore/id.[ch]
11026 so that buffer overflows would not happen. All code now also
11027 checks the return value as it can fail.
11029 Mon Feb 5 20:08:30 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11031 * Added reconnection support to server if the normal server looses
11032 its connection to the router (for example if router is rebooted).
11033 The server performs normal reconnection strategy implemented
11034 to the server. Affected file silcd/server.c.
11036 Sun Feb 4 13:18:32 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11038 * Added new packet type SILC_PACKET_SET_MODE that is used to
11039 distribute the information about changed modes (for clients,
11040 channels and clients channel modes) to all routers in the
11041 network. Updated the protocol specification accordingly.
11043 Added functions into silcd/packet_send.c and
11044 silcd/packet_receive.c: silc_server_send_set_mode,
11045 silc_server_set_mode.
11047 Added new files silcmode.[ch] into lib/silccore that implements
11048 the encoding and decoding of Set Mode Payload. Added new type
11049 SilcSetModePayload. Moved the definitions of different modes
11050 from lib/silccore/silcchannel.h into lib/silccore/silcmode.h.
11052 Sat Feb 3 15:44:54 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11054 * Oops, a little mistake in server's connection authentication
11055 protocol. The protocol is not ended with FAILURE but with
11056 SUCCESS if the authentication is Ok. :) Affected file is
11059 * Implemented NICK_CHANGE notify handling in server in the file
11060 silcd/packet_receive.c The NICK_CHANGE notify is distributed to
11061 the local clients on the channel. After the changing nickname
11062 in router environment snhould work and the [<unknown>] nickname
11063 should appear no more.
11065 The silc_server_replace_id function that receives the Replace ID
11066 payload now sends the NICK_CHANGE notify type also in the file
11067 silcd/packet_receive.c
11069 * Changed WHOIS and IDENTIFY command to support the maximum amount
11070 of arguments defined in protocol specs (3328 arguments). This
11071 fixed a bug that caused problems when there were more than three
11072 users on a channel.
11074 Fri Feb 2 11:42:56 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11076 * Added extra parameter, command identifier, to the
11077 silc_client_send_command so that explicit command identifier
11080 Changed that ID list routines uses specific command identifier
11081 when sending WHOIS/IDENTIFY requests to the server so that they
11082 can be identified when the reply comes back.
11084 Affected files lib/silcclient/command.[ch],
11085 lib/silcclient/client.c and lib/silcclient/idlist.[ch].
11087 * Added `sender' argument to silc_server_packet_send_to_channel
11088 to indicaet the sender who originally sent the packet to us
11089 that we are now re-sending. Ignored if NULL. Affected file
11090 silcd/packet_send.[ch].
11092 * Added some server statistics support in silcd/server_internal.h
11093 SilcServerStatistics structure and around the server code. Also
11094 send some nice statistics information when client is connecting
11097 Thu Feb 1 23:31:21 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11099 * Fixed channel ID decoding in server's JOIN command reply in
11100 silcd/command_reply.c
11102 * Fixed braodcasting of replace ID payload to not to send it if
11103 we are standalone server in silcd/packet_receive.c.
11105 * Fixed all channel message sending routines to not to send
11106 packets to clients that has router set, since they are routed
11107 separately in the same function earlier. Affects file
11108 silcd/packet_send.c and all channel packet sending functions.
11110 * In USERS reply, res_argv[i] are not allocated, the table
11111 is allocated. Thus changed that free the table, not its
11114 * In server's whois_check and identify_check if the client is
11115 locally connected do not send any WHOIS commands - they are not
11118 Thu Feb 1 21:32:27 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11120 * Fixed some minor bugs in client when sending WHOIS command. The
11121 arguments was in wrong order.
11123 * Removed statis function add_to_channel from server in
11124 silcd/command.c that was previously used with the joining but
11127 * Tested USERS command in router environment successfully with two
11128 routers, two servers and two clients.
11130 Thu Feb 1 00:54:26 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11132 * Reorganized the USERS command and command reply in client library
11133 in lib/silcclient/command.c and lib/silcclient/command_reply.c.
11134 When the command is given by user we register a pending command
11135 callback that will reprocess the command after the reply has been
11136 received from the server. When reprocessing the packet we then
11137 display the information. Thus, the USERS information is displayed
11138 now in the command callback instead of in the command reply
11139 callback. The processing of the command is same as previously
11140 when server has sent the command reply in the JOINing process.
11142 * Added to USERS command in silcd/command_reply.c to join the client,
11143 we didn't use to know about, to the channel after we've created
11144 a client entry for it. Also, for clienet we did know already still
11145 check whether it is on the channel or not and add it if not.
11147 * Removed silc_server_command_join_notify as the function and its
11150 Tue Jan 30 22:39:15 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11152 * Changed the client's pending command handling to the same as the
11153 server's pending command handling. It is also now possible to
11154 execute command reply functions from other command reply
11155 function as the function callbacks for commands and command
11156 replies are one and same. The pending commands are not static
11157 list anymore, it is mallocated SilcDList in lib/silcclient/client.h
11158 in client connection context. Thus, pending commands are server
11159 connection specific as it is convenient.
11161 Changed the function silc_client_command_pending and
11162 silc_client_command_pending_del and added new function
11163 silc_client_command_pending_check. Removed the
11164 SILC_CLIENT_CMD_REPLY_EXEC, and SILC_CLIENT_PENDING_COMMAND_CHECK
11167 * Added cmd_ident, current command identifier, to the client
11168 connection context in lib/silcclient/client.h to keep track on
11169 command identifiers used in command sending. Client's command reply
11170 function handling now supports the mandatory command identifiers.
11172 * Added SILC_CLIENT_COMMAND_EXEC_PENDING macros to all command reply
11173 funtions in client to fully support pending command callbacks.
11175 * NOTE: the name_list in USERS (old NAMES) command is NOT sent anymore
11176 as one of the arguments to the application in the command reply
11179 * NOTE: The FORWARDED flag is depracated. It used to be depracated
11180 before first releasing SILC but came back. Now it is removed again
11181 and should come back nomore. The FORWARDED flag was used only
11182 by the JOINing procedure by forwarding the command packet to router.
11183 Now, the JOINing procedure has been changed to more generic (due
11184 to various router environment issues) and FORWARDED is not needed
11185 anymore for anything. The protocol specification is yet to be
11188 Now, removed silc_server_packet_forward from server and the flag
11189 SILC_PACKET_FORWARDED from lib/silccore/silcpacket.h.
11191 Tue Jan 30 00:05:05 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11193 * Renamed NAMES command to USERS command. The NAMES was named that
11194 due to historical reasons. Now it is renamed. Also, rewrote
11195 parts of the USERS command. The nickname list is not sent anymore
11196 by the server. Only Client ID and mode lists are sent in the USERS
11197 command. Changed this also to the protocol specification.
11199 The client now resolves the names and stuff after it receives
11200 the USERS list from the server when joining to the channel.
11202 * WHOIS and IDENTIFY commands has been changed to support multiple
11203 Client ID's per command. One can now search for multiple users
11204 in the network by sending only one WHOIS or IDENTIFY command.
11205 Changed the code and the protocol specifications.
11207 * Removed silc_server_command_identify_parse and changed that IDENTIFY
11208 uses silc_server_command_whois_parse to parse the request. */
11210 * If normal server, do not parse the WHOIS and IDENTIFY requests
11211 before sending it to the router. Saves some time.
11213 Sun Jan 28 16:19:49 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11215 * Fixed JOIN command on client library. Wrong number of arguments
11216 used to crash the client.
11218 * Added silc_server_channel_has_global function to check whether
11219 channel has global users or not.
11221 * Added silc_server_channel_has_local function to check whether channel
11222 has locally connected clients on the channel.
11224 * The silc_server_remove_from_one_channel now checks whether the
11225 channel has global users or not after given client was removed from
11226 the channel. It also checks whether the channel has local clients
11227 on the channel anymore. If it does not have then the channel entry
11228 is removed as it is not needed anymore.
11230 * The silc_server_notify now checks on JOIN notify whether the joining
11231 client is one of locally connected or global. If it is global then
11232 the channel has now global users on the channel and that is marked
11233 to the channel entry. Also, it now saves the global client to
11234 global list who is joining and JOINs it to the channel. This is
11235 for normal server, that is.
11237 Changed silc_server_send_notify_on_channel,
11238 silc_server_packet_relay_to_channel and
11239 silc_server_packet_send_to_channel check if we are normal server
11240 and client has router set (ie. global client) do not send the
11241 message to that client, as it is already routed to our router.
11243 * Implemented LEAVE notify type handling in silc_server_notify
11246 * Tested LEAVE command in router environment successfully. Tested
11247 with two routers, two servers and two clients.
11251 * idlist_find_xxx_by_id routines now dumps the ID on the debug mode.
11253 * Implemented SIGNOFF notify type handling in silc_server_notify
11256 * silc_server_remove_id now removes the client entry from all channels
11257 it has joined and thusly sends SIGNOFF notify type.
11259 * Rewrote the NAMES list generation in server by removing two excess
11260 loops. The lists are created now inside one loop.
11262 Sat Jan 27 22:34:56 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11264 * silc_server_remove_channel_user checks now also global list
11265 for channel and client.
11267 * silc_server_new_channel_user checks now both local and global
11268 list for channel and client. Fixed a bug in client id decoding.
11269 Used to decode wrong buffer.
11271 * silc_server_channel_message checks now both local and global
11272 list for channel entry.
11274 * Tested channel joining (hence JOIN) in router environment
11275 successfully. Tested with two routers, two servers and two
11278 * Tested channel message sending in router environment successfully.
11280 Thu Jan 11 03:22:57 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
11282 * Added silc_server_save_channel_key into server.[ch] to save the
11283 received channel key in Channel Key payload processing. It is
11284 also used in JOIN command reply handling.
11286 Equivalent function silc_client_save_channel_key added into
11287 client.[ch] into client library.
11289 * Changed JOIN command reply to send information whether the channel
11290 was created or not (is existing already) and the channel key
11291 payload. Changed protocol specs accordingly.
11293 * Fixed bugs in WHOIS and IDENTIFY command reply sending when
11294 the request was sent by ID and not by nickname. Crashed on
11297 Sat Dec 23 21:55:07 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11299 * Fixed a bug in Client library. IDENTIFY and WHOIS reply functions
11300 now correctly save the received data.
11302 * silc_server_free_sock_user_data now notifies routers in the
11303 network about entities leaving the network.
11305 At the same time implemented functions silc_server_remove_id
11306 and silc_server_send_remove_id to receive and send REMOVE_ID
11307 packets. The packet is used to notify routers in the network
11308 about leaving entities. The ID removed will become invalid in
11311 * Added function silc_idlist_del_server into server. Removes and
11312 free's server entry from ID list.
11314 * silc_server_private_message function now checks, if we are router,
11315 that the destination ID really is valid ID, naturally.
11317 * In router when NEW_ID packet is received (for new client) the
11318 hash of the Client ID is saved in the ID Cache but the
11319 client->nickname is set to NULL, instead of putting the hash
11322 IDENTIFY command now also checks that client->nickname must be
11323 valid. If it is not if will request the data from the server who
11324 owns the client. Added new function
11325 silc_server_command_identify_check.
11327 * Added silc_command_set_command into lib/silccore/silcommand.[ch]
11328 to set the command to already allocated Command Payload.
11330 * Tested private message sending in router environment with two
11331 routers, two servers and two clients. Fixed minor bugs and now
11334 * Fixed segfault from client's NAMES command. Used to crash if
11335 not on any channel.
11337 * Forwarded packets must not be routed even if it is not destined
11338 to the receiver. Changed server code comply with this.
11340 Sun Dec 17 14:40:08 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11342 * Added `require_reverse_mapping' boolean value to ServerParams
11343 structure. If TRUE (not default) the server will require that
11344 the connecting host has fully qualified domain name.
11346 If the reverse mapping is not required and hostname could not be
11347 found the IP address is used as hostname.
11349 Sat Dec 16 17:39:54 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11351 * Implemented version string checking to both client and server.
11352 The check is incomplete currently due to the abnormal version
11353 strings used in development version of SILC.
11355 * Changed all command functions in server to use the new
11358 Fri Dec 15 15:55:12 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11360 * Changed char *data to unsigned char *data in ID Cache system to
11361 support binary data as ID Cache data. Changed code to support
11362 binary data in lib/silccore/idcache.c.
11364 * Renamed silc_server_packet_relay_command_reply to
11365 silc_server_command_reply as it is normal packet receiving
11366 function. Rewrote the function to accept command replys for
11367 servers and not only for clients.
11369 * Mark remote router always as registered server if we are connecting
11370 to it. Otherwise, commands sent by the router to us are ignored.
11372 * All ID List find routines now returns the ID Cache Entry pointer
11373 as well if requested.
11375 * WHOIS command works now in router environment, tested with two
11376 routers, two servers and two clients.
11378 * Cleaned up and rewrote IDENTIFY command. IDENTIFY should work now
11379 in router environment (as it is almost equivalent to WHOIS) but
11380 hasn't been tested thoroughly. Added new functions:
11382 silc_server_command_identify_parse
11383 silc_server_command_identify_send_reply
11384 silc_server_command_identify_from_client
11385 silc_server_command_identify_from_server
11387 * Disabled route cache adding because adding two different ID's with
11388 same IP replaces the old cache entry thus giving wrong route.
11389 The entry->router->connection is always the fastest route anyway
11390 so route cache may not be needed. Of course, new routes maybe
11391 established after receiving the ID when the entry->router->connection
11392 might not be anymore the most optimal.
11394 Thu Dec 14 15:55:35 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11396 * Add route cache for received ID for fast routing.
11398 * Added silc_server_packet_route to route received packet on router
11399 that is not destined to us.
11401 * Renamed silc_server_get_route to silc_server_route_get.
11403 * Added id_string and id_string_len fields into SilcServer to
11404 include encoded ServerID for fast comparing without excess
11405 encoding of the ID's.
11407 * Cleaned up WHOIS command on server side. Added following static
11410 silc_server_command_whois_parse
11411 silc_server_command_whois_check
11412 silc_server_command_whois_send_reply
11413 silc_server_command_whois_from_client
11414 silc_server_command_whois_from_server
11416 * Added macro SILC_SERVER_COMMAND_CHECK_ARGC to check mandatory
11417 arguments in command replies. All command functions should be
11418 updated to use this macro.
11420 Sun Dec 10 23:52:00 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11422 * Minor typo fixes on command reply handling on server.
11424 Tue Nov 28 11:05:39 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11426 * Added silc_server_command_add_to_channel internal routine to add
11427 the client to the channel after router has created the channel and
11428 sent command reply to the server.
11430 * Added generic silc_server_send_command to send any command from
11433 * Use static buffer with ID rendering instead of duplicating data.
11435 Mon Nov 27 21:39:40 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11437 * Fixed a channel user mode bug when joining to a channel server gave
11438 everybody channel founder rights, oops.
11440 * We mark ourselves as the router of the incoming server connection
11441 if we are router ourselves. This way we can check in some packet
11442 sending functions whether it is locally connected server. For
11443 incoming router connections we put NULL.
11445 * For router sending packets locally means now always sending the
11446 packet cell wide; to local clients and local servers. For normal
11447 server sending packet locally means sending it to only local
11450 * Fixed the JOIN command to really work in router environment. If the
11451 channel is created it is always created by the router. Router is
11452 also responsible of making the initial joining to the channel,
11453 sending JOIN notify to the sending server and distributing
11454 NEW_CHANNEL and NEW_CHANNEL_USER packets. Hence, if the channel
11455 does not exist server doesn't do anything else but forward the
11456 command to the router which performs everything.
11458 * Added silc_server_send_channel_key function to send the Channel Key
11461 * Added silc_server_create_channel_key to create new channel key. The
11462 channel key is now re-generated everytime someone joins or leaves
11463 a channel, as protocol dictates. Note: channel->key_len is the
11464 key length in bits.
11466 Wed Nov 22 22:14:19 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11468 * Splitted server.[ch] finally. Created now packet_send.[ch] and
11469 packet_receive.[ch] to separate packet sending and receiving
11470 routines. The server.[ch] now includes everything else including
11471 actual packet processing (writing and reading data) and other
11474 Renamed silc_server_private_message_send_internal to
11475 silc_server_send_private_message. The routine is still though
11476 used only to relay private messages as server does not send
11477 private messages itself.
11479 Renamed silc_server_new_channel to silc_server_create_new_channel
11480 and added new function sicl_server_new_channel that handles the
11481 incoming New Channel packet. Added also new sending function
11482 silc_server_send_new_channel to send New Channel Payload.
11484 * Added new function silc_server_notify to process incoming notify
11485 packet to the server/router. Server may then relay the notify
11486 to clients if needed.
11488 * Added new function silc_server_new_channel_user to process incoming
11489 New Channel User packet. Router will redistribute the packet and
11490 send JOIN notify to its local clients and locally connected servers
11491 if needed. Normal server will send JOIN notify to its local client
11492 on same channel when received this packet. Added also corresponding
11493 sending function silc_server_send_new_channel_user to sent the
11496 * Added boolean route argument to send_notif_to_channel and
11497 packet_send_to_channel functions to attempt to route the packet
11498 if it is TRUE and send only locally if it is FALSE.
11500 Tue Nov 21 19:49:31 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11502 * silc_server_replace_id now broadcasts the received replace ID
11503 packet if it is not broadcast packet already. The router must
11504 broadcast to inform other routers about changed ID.
11506 * Added backpointer to server's router into SilcServer context in
11507 silcd/server_internal.h.
11509 * Fixed silc_server_packet_broadcast to send correct broadcast
11512 * The channel key is now distributed to the local client as soon
11513 as it is received from the router (in router environment) so that
11514 no other packet may be sent for the channel until client has
11517 * silc_server_remove_channel_user now broadcasts the received
11518 Remove Channel User packet if it is not broadcast packet already.
11519 The router must broadcast to inform other routers about removed
11522 * Added users field into SilcPacketContext that is a reference count
11523 of the context. One can increase the reference count by calling
11524 silc_packet_context_dup which is now changed to just increase the
11525 reference count instead of duplicating the data. The reference
11526 count is decresed by calling silc_packet_context_free that will
11527 free the data after the reference count hits zero.
11529 For now on the packet context and everything allocated into it
11530 (including the raw packet from network) must be freed by calling
11531 the new silc_packet_context_free function. Added also new function
11532 silc_packet_context_alloc that must be used now to allocate the
11533 context. This also means that if a routine is asynchronous from
11534 silc_[client/server]_packet_parse_type the packet context must
11535 be duplicated by calling silc_packet_context_dup. Otherwise it
11536 gets free'd after silc_[client/server]_packet_parse_type returns.
11537 Also, one must remember that if packet is duplicated then its
11538 reference count must be decresed by calling the free function as
11539 many times as it was duplicated.
11541 * Changed SilcBuffer field from protocol contexts to SilcPacketContext
11542 from both client and server.
11544 Mon Nov 20 23:47:03 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11546 * Made joining to a channel working in router environment.
11548 * Cleaned up JOIN command on server side and create function
11549 silc_server_command_join_channel internal routine to make the
11552 Thu Nov 9 21:12:39 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11554 * Changed silc_command_pending list to SilcDList. Also, added
11555 `ident' field to SilcServerCommandPending structure to identify
11556 the reply and to call correct callback.
11558 Added silc_server_command_pending_check function to replace the
11559 corresnponding macro. The silc_command_pending list is not
11562 * Added silc_command_set_ident into lib/silccore/silccommand.[ch]
11563 to set identifier to previously allocated Command Payload. It
11564 is used to set identifier for command when resending Command
11567 * Added silc_command_payload_encode_payload to encode Command
11568 Payload buffer from SilcCommandPayload structure.
11570 * Added silc_argument_payload_encode_payload to encode Argument
11571 payload buffer from SilcArgumentPayload structure.
11573 Wed Nov 8 21:03:28 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11575 * Changed WHOIS command to support router connection on server side.
11576 The whois request is always sent to router unless the server is
11577 standalone server. After server has received the reply from the
11578 router will it send the reply to the client.
11580 * Added silc_server_packet_broadcast into silcd/server.[ch] to
11581 broadcast received broadcast packet. The function is used only
11582 by router. The broadcast packet is always sent to the router's
11585 * Added silc_id_render function in lib/silcutil/silcutil.[ch] to
11586 render given ID to printable string, for log files for example.
11588 Tue Nov 7 22:14:19 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11590 * Made basic router to router connections working. At least they
11591 can now connect to each other but nothing really works the way
11592 they are supposed - yet.
11594 * Added new initiator token to RouterConnection configuration
11595 file in silcd/serverconfig.[ch]. It is used to tell whether we
11596 are the initiator to the remote router or whether we'll expect
11597 the other end to connect.
11599 * Moved registering of listener task to silc_server_init, hence
11600 the server starts listenning as soon as it is run, even if it
11601 does not have connections to other routers. Let's see how well
11604 * Changed default connection retry timeouts for more suitable in
11607 * Removed cipher and such arguments from silc_idlist_add_client
11608 and silc_idlist_add_server prototypes from silcd/idlist.[ch].
11609 Added new function silc_idlist_add_data to add the keys and stuff
11612 * Added SilcIDListData structure and added it to SilcClientEntry
11613 and SilcServerEntry as their first field in the structure. This
11614 way we can explicitly cast the ID entries to the SilcIDListData
11615 structure and get common data for the entries. In past, we had
11616 to first check what type of connection it is and then cast it to
11617 correct ID entry type. Now, we can directly cast the opaque
11618 pointer to the SilcIDListData (no matter what ID entry it actually
11619 is) and get the data needed.
11621 Mon Nov 6 21:56:12 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11623 * Wow, found a bug in scheduler. The scheduler uninitialized itself
11624 in some circumstances even if threre were timeout tasks, though not
11625 IO tasks, but tasks anyway. Now fixed.
11627 * Defined SilcServerConnection structure to hold connection specific
11628 stuff about directly connected servers and routers. The definition
11629 is currently in silcd/server_internal.h. I thought about having
11630 a bit more important role fro this struct but for now it is used
11631 only when connecting to other server (or router actually).
11633 * Added connecting retry support in server when connecting to
11634 router(s). The retry feature implement exponential backoff
11635 algorithm. Also, added SilcServerParams structure to hold default
11636 parameters for server. For now, it include these retry settings
11637 and are hard coded. After server is moded to be as Silc Server
11638 Library this structure will be more important.
11640 Sun Nov 5 22:28:44 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11642 * Changed client librarys channel->clients table to SilcList and
11643 changed code accordingly.
11645 Thu Nov 2 16:28:01 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11647 * Changed client's channel table to SilcList and changed code
11648 accordingly. Also changed SilcChannelClientEntry to include back-
11649 pointer to the channel so that client entry can use that structure
11650 as list as well and we have fast cross-reference to the channel.
11651 This change dramatically decreased the complexity of channel
11652 handling with client entry and vice versa (removed one extra
11653 loop when searching for channel entry from many functions).
11655 * Changed server->sim from table to SilcDList and changed code
11658 * NAMES command can now be used from user interface. It will show
11659 the user list on the channel, neatly.
11661 * Added realname pointer to SilcClientEntry in lib/silcclient/idlist.h.
11662 Code now saves realname of the user if it becomes available.
11664 * Renamed configure.in to configure.in.pre and made ./prepare
11665 script to automatically add correct version string to
11666 configure.in which it creates from configure.in.pre.
11668 Wed Nov 1 17:21:26 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11670 * NAMES command reply now shows users mode with the nickname when
11671 joining to channel.
11673 * Moved silc_client_ch[u]mode[_char] functions from
11674 silc/clientutil.[ch] to lib/silcclient/client.[ch]. Though, that
11675 place sucks, they are utility functions and should be in some
11678 * Fixed some unsigned int's to unsigned short's. Patch by cras.
11680 * Fixed contrib/getopt*.[ch] to not require config.h. Patch by
11683 Tue Oct 31 20:10:37 EET 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11687 * Added TRQ (efficient deque and list library) into lib/trq. This is
11688 a very good list library that is currently used in the SILC. Defined
11689 SilcList API over the library because I didn't like the API very
11690 much. See lib/trq/silclist.h for the API and examples of how to
11691 use the API. Fixed various places in the code to use the new
11692 SilcList API. The SilcList is meant for lists that has a structure
11693 already defined as a list. It is not suitable to add just some
11694 context to the list (in TRQ, the context is the list actually).
11696 So, I defined SilcDList that can be used for the purpose where
11697 predefined list structure does not exit. This can be used as
11698 such list. Now some context just can be added to the SilcDList.
11699 Currently this list is not used in the SILC just yet, though there
11700 are a lot places where this can replace dynamically allocated
11701 tables and I will fix these places, later, to use SilcDList.
11702 See lib/trq/silcdlist.h for SilcDList (they are all inline functions,
11703 and use TRQ internally).
11705 Also fixed some annoying warning messages that the original TRQ
11706 code generated. Also minor changes to TRQ's Makefile.in.
11708 * Added support for querying by Client ID to both WHOIS and
11709 IDENTIFY commands into server, as required by the protocol.
11711 * Removed method function pointers from SilcBuffer structure. They
11712 weren't used to anything and just increased the context size for
11713 no good reason. This change also made silc_buffer_alloc and
11714 silc_buffer_free functions inline functions.
11716 * Disabled command flooding detection support until it's fixed so
11717 that it accepts commands in but does not execute them more than once
11720 * Added silc_net_localhost(), to return local hostname, into
11721 lib/silcutil/silcnet.[ch]. Also added client->hostname pointer
11722 that must be initialized before calling silc_client_init.
11724 * Added new function: silc_server_send_notify_on_channels to send
11725 notify messages to all channels client has joined. It is assured
11726 that the message is sent only once per client.
11728 * Moved silc_log_format (from lib/silcutil/silclog.[ch] into
11729 lib/silcutil/silcutil.[ch] as silc_format function. The new
11730 function is generic and is used by server as well, not only by
11731 the logging routines.
11733 * Added new SKE status type: SILC_SKE_STATUS_BAD_VERSION to indicate
11734 the provided version string was not acceptable. Added new function:
11735 silc_ske_check_version into lib/silcske/silcske.h. The function
11736 must be implemented by the application (client or server) and it
11737 does not reside in the SKE library. The function checks the version
11738 string remote end sent.
11740 * Added back pointers (to opaque context and to SilcSocketConnection)
11741 into SilcPacketContext structure into lib/silccore/silcpacket.h.
11743 * Added silc_packet_context_dup into lib/silccore/silcpacket.[ch] to
11744 duplicate packet context structure.
11746 * Changed `notify' client operation to send same arguments as client
11747 receives from server except for ID's. ID's are mapped to correct
11748 ID entry and that is returned. Also, if channel entry is not sent
11749 by server but the notify is for channel the channel entry is sent
11750 to application (otherwise application doesn't know that it is for
11751 channel (library gets it from packet's Destination ID)).
11753 * Added silc_client_remove_from_channels into client library to
11754 remove a client from all channels it has joined to. Used when
11755 received SIGNOFF notify from server. Added also new function
11756 silc_client_replace_from_channels to replace old ID entry with
11757 new ID entry on all channels. Used when received NICK_CHANGE
11758 notify from server.
11760 * Fixed ID Cache list handling in silc_idlist_get_client in
11761 lib/silcclient/idlist.c. Also, added silc_idlist_get_client_by_id
11762 to get (or query) client by ID.
11764 * Updated TODO list.
11766 * Added connection authentication status message defined by the
11767 protocol: SILC_CONN_AUTH_OK and SILC_CONN_AUTH_FAILED and added the
11768 support for these into the code in client and server side.
11770 * Added generic function silc_client_send_command to send any command
11771 with variable argument list. Application should use this function
11772 to send commands if the command functions provided by the library
11773 does not suite for the application's user interface needs.
11775 * Added new `failure' client operation. Application is notified about
11776 received failure packet if client is executing a protocol. In this
11777 case the protocol's execution has failed.
11779 * Added SKE's end notify to send the SKE_SUCCESS notify message that
11780 is required by the protocol.
11782 * Added SILC_PROTOCOL_STATE_FAILURE to indicate received failure
11783 packet from remote. SILC_PROTOCOL_STATE_ERROR indicates local
11786 * Added status flag to SilcSKE object to indicate realtime status
11787 of the SKE protocol.
11789 * Application receives now exactly same command reply arguments as
11790 the library receives from server. However, if ID is received the
11791 corresponding ID entry is returned to the application (eg. Client
11792 ID is mapped to correct SilcClientEntry entry and that is returned).
11793 Changed command_reply client operation due to this change.
11795 * Changed all ID's in commands and in command replys as ID Payloads.
11796 Change affected both client and server side codes.
11798 All ID's sent in SILC network (with execption of ID's in SILC
11799 Packet header) are sent in ID Payload to support variable length
11802 * Server now notifies nick changes and notifies all clients on
11803 the channels about the new nickname (about the new Client ID,
11806 * Implemented CMODE command to change channel modes. Supports all
11807 channel modes defined by the protocol specs except ban and invite
11808 lists. (Also, private channel key mode is supported but support for
11809 setting private channel key in client is missing, thus, this mode
11810 has no effect on client side (except that server requires that the
11811 client uses private channel key and normal channel traffic does not
11814 Also, invite mode works per se, but INVITE command does not work
11815 yet correctly, so you can set channel as invite only channel but
11816 inviting clients to the channel does not work (it is yet to be
11817 thought what's the best way to do it).
11819 * Added new command SILC_COMMAND_CUMODE to change user mode on the
11820 channel. Defined user modes: CHANNEL_FOUNDER and CHANNEL_OPERATOR.
11821 Implemented CUMODE command to change user's mode on the channel.
11822 Supports all modes defined by the protocol specs.
11824 * Added NAMES command reply to return users modes on the channel.
11826 * Removed unnecessary and slow ciphers from lib/silccrypt.
11828 * Set SO_KEEPALIVE option to connection sockets by default.
11830 * Added new command reply status: SILC_STATUS_USER_NOT_ON_CHANNEL.
11832 * Added notify types: MOTD, CMODE_CHANGE and CUMODE_CHANGE. Also,
11833 redefined the Notify Payload into protocol specs.
11835 * Added silc_id_payload_parse_id to get ID directly from raw
11838 Mon Oct 9 20:57:02 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11840 * Changed SILC_COMMAND_IDENTIFY in protocol specification to
11841 accept searching by Client ID as well.
11843 * Added support for LEAVE and SIGNOFF notify types in client library.
11845 * Added silc_id_payload_parse_data into lib/silccore/silcpayload.[ch]
11846 to parse ID Payload from raw data.
11848 Sun Oct 8 19:33:08 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11850 * Added flags parameter into silc_ske_assemble_security_properties
11851 function in lib/silcske/silcske.[ch].
11853 * Changed notify client operation to fit better for notify messages
11854 sent by server. The notify payload received from server is now
11855 passed to the application (after parsing it to SilcNotifyPayload).
11856 It is application's responsibility to retrieve the arguments
11857 from the payload and show the message the way it wants. The message
11858 sent by server is implementation specific.
11860 * Changed public keys to comply with the protocol specification.
11861 Old public keys are not supported anymore and are not compatible.
11863 * Removed nickname from Channel Payload as the latest draft removed
11864 it. The client must resolve the nickname from the NAMES command
11865 reply received when it joined the channel.
11867 Also, changed all channel_xxxx_payload to channel_payload_xxxx.
11869 Sat Oct 7 21:55:01 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11871 * Fixed some errors in protocol specification drafts.
11873 * Created lib/silccore/silcnotify.c to implement Notify Payload
11874 encoding and decoding, lib/silccore/silcpayload.[ch] to implement
11875 generic payloads described by protocol specifications. The file
11876 includes implementations for ID Payload and Argument Payload.
11878 * Changed Command Payload implementation to use the new Argument
11879 Payload. Changed command_xxxx_payload to command_payload_xxxx
11880 to comply with SILC coding conventions.
11882 * Added suppport for Argument Payload handling in Notify Payload
11883 implementation as protocol requires it. Added the new support
11884 into server and client lib as well.
11886 Thu Oct 5 21:16:28 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11888 * Added support for multiple nicknames on same channel. [n] is
11889 added locally to the nickname if there are more than one same
11890 nicknames on the channel.
11892 * Server now sends all nicknames that matched WHOIS request.
11893 Client also shows the list received from server.
11895 * Added TOPIC command to client side. User can now set and show
11896 current topic on channel.
11898 * Added MOTD command to client and server. Also, server sends the
11899 motd when client connects to the server.
11901 * Changed version strings to comply ISO 8601.
11903 Wed Oct 4 23:29:06 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11905 * Fixed protocol error handling in client library. It should now
11906 cope even if the SKE fails for some reason.
11908 * Made new protocol specification drafts for submitting to IETF.
11910 * Implemented TOPIC command to server in silcd/command.c.
11912 * Added two new notify types into lib/silccore/silcnotify.h:
11913 SILC_NOTIFY_TYPE_NICK_CHANGE and SILC_NOTIFY_TYPE_TOPIC_SET to
11914 notify nickname change and topic setting/change on a channel.
11916 * API change of command_reply operation in client library. The
11917 application gets now the status type received from server as well.
11919 Sat Sep 30 16:57:42 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11921 * Removed the function just added to lib/silcutil/silcschedule.[ch].
11923 * Cras fixed and optimized the packet handling even further and
11924 it should work now. Minor change to the prototype of function
11925 silc_packet_receive_process in lib/silccore/silcpacket.[ch].
11927 Sat Sep 30 08:48:47 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11929 * Added new function into lib/silcutil/silcschedule.[ch]:
11930 silc_schedule_with_fd to select() a specified fd. The function
11931 returns after timeout expires or data arrives or goes. The
11932 function is used by packet routines to wait that all data is
11933 received from network.
11935 * Fixed data reading from network in lib/silccore/silcpacket.c.
11936 The code now assures that all data is read from the fd and then
11937 continues packet processing. This was a bug fix since the code
11938 used to drop some data in some circumstances.
11940 * Added new function into lib/silcclient/client.[ch]:
11941 silc_client_start_key_exchange to start key exchange after
11942 connection has been established to server. The code internally
11943 now uses this funtion but its main purpose was to provide it
11944 for applications that perform their own connecting. After
11945 application has created a connection it merely calls this
11946 function to start the key exchange between client and server.
11947 The library takes care of everything else after that.
11949 Updated also lib/silcclient/README to explain the usage of
11952 * Do not send to application information that connection has
11953 been established. Application gets notified it by connect
11956 Thu Sep 28 23:40:19 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11958 * Applied cras's patch to add silc_schedule_one function. The
11959 function runs scheduler once and returns.
11961 * Fixed the scheduler after cras messed it up. The timeout
11962 handling works now as it's supposed to work.
11964 * Added into lib/silccore/ silcnotify.h to include notify
11965 message types support. Changed silc_server_send_notify*
11966 functions, in server.[ch], to support those new notify types.
11967 Added the support for the notify types into client library,
11968 as well. Added new notify client operation into ops.h in
11971 * Changed silc_server_packet_send_to_channel to send normal
11972 packets instead of just channel message packets. The function
11973 is now used to send the notify packets to channels. It is not
11974 used to send channel message packets anymore, as server never
11975 sends them anymore.
11977 * Added explicit casting into lib/silcutil/silcbuffmt.c to few
11978 va_arg()s as it seems to require it nowadays. I guess, if SILC
11979 is compiled with older va_arg() the new code should work anyway.
11981 Wed Sep 13 18:10:14 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
11983 * Splitted core library. Core library (lib/silccore) includes
11984 now only SILC protocol specific core (and common) components.
11985 Created new utility library (lib/silcutil) that includes more
11986 generic purpose stuff. The stuff for util library was taken
11987 from the old core library. This was minor and easy split.
11989 * Created SILC Client Library (lib/silcclient) that includes
11990 implementation of the SILC client without user interface. This
11991 was major move from silc/ directory. The code has been changed
11992 so that it is transparent towards the user interface. The
11993 silc/ directory includes now the same user interface as before
11994 and it uses the new client library. Read lib/silcclient/README.
11995 Basicly, the client library performs everything else related
11996 to SILC except user interface handling. Also, configuration
11997 files are considered to be part of user interface and library
11998 does not handle them.
12000 This change also changed a lot of structures, function naming etc.
12001 Most important change was that SilcClientWindow object was
12002 renamed to SilcClientConnection in the client library. Created
12003 also new file lib/silcclient/ops.h. Also added new files
12004 silc/local_command.[ch] and silc/client_ops.[ch].
12006 All these changes were made to make it easier for user interface
12007 designers to create what ever user interface for the SILC client
12010 It is also expected that the server will be moved to lib
12011 directory as well and SILC Server Library will be created;
12012 sometimes in the future.
12014 * Removed Local commands from lib/silccore/silccommand.h as
12015 they are application specific and new client library does not
12016 handle any of those anymore.
12018 * Several functions moved to lib/silcutil/silcutilc.[ch] from
12019 old client implementation in silc/.
12021 * Added support for callback functions in SILC_LOG_* macros.
12022 Application can now set its own callbacks that will be called
12023 instead of using the default functions that will always print
12024 the debug messages to stderr (or stdout). Also, debugging can
12025 now be disabled by setting silc_debug to FALSE and re-enabled by
12026 setting it to TRUE. Note, that logging will still work even
12027 if debugging is disabled.
12029 New functions in lib/silcutil/silclog.[ch]: silc_log_set_callbacks,
12030 silc_log_reset_callbacks, silc_log_set_debug_callbacks and
12031 silc_log_reset_debug_callbacks.
12033 * To enable debugging in silc client one must give now -d
12034 option on command line.
12036 * Changed silc_schedule_init to automatically allocate task queues
12037 if they are not allocated before calling it.
12039 Thu Sep 7 10:49:33 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12041 * Added GMP 3.1 into math library.
12043 Sun Aug 20 21:27:26 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12045 * Added SILC_PACKET_REMOVE_CHANNEL_USER to remove a client from
12046 a channel in SILC network. The packet is used by servers and
12047 routers to notify other routers that user has left a channel.
12048 This little feature was missing until now. Added the feature
12049 to protocol specification as well.
12051 Added functions: silc_server_send_remove_channel_user and
12052 silc_server_remove_channel_user into server.[ch].
12054 * Added SILC_PACKET_REKEY and SILC_PACKET_REKEY_DONE into
12055 lib/silccore/silcpacket.h. However, they are not implemented
12058 Sat Aug 19 23:04:16 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12060 * Fixed joining to a channel and sending channel messages
12061 between server and router. The channel message sending should
12062 now work inside a cell.
12064 Tue Jul 25 20:46:13 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12066 * Fixed the private message sending between server and router.
12067 The private message sending should now work inside a cell.
12069 * Added silc_server_replace_id into server.[ch] to replace
12070 existing ID in the SILC network.
12072 * Added silc_idlist_find_server_by, silc_idlist_replace_client_id
12073 and silc_idlist_replace_server_id into idlist.[ch] in server.
12075 Mon Jul 24 18:33:31 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12077 * Fixed the server to server connections. Server can again now
12078 connect to router. Router to router connections probably does
12081 Thu Jul 20 13:15:01 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12083 * Added dynamic protocol registering support. Now protocols can
12084 registered and unregistered on the fly. Patch by cras.
12086 Wed Jul 19 19:08:46 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12088 * Added lib/contrib directory to hold routines that some platforms
12089 don't have but are needed by SILC.
12091 * Added getopt.c, getopt1.c and getopt.h from GNU C library
12092 into lin/contrib to provide getopt() and getopt_long() for
12093 those who don't have it.
12095 Tue Jul 18 20:41:20 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12097 * Added AWAY command to client. When away message is set and
12098 client receives a private message packet the client automatically
12099 replies to the sender with the away message.
12101 * Fixed a bug in lib/silcmath/mpbin.c: silc_mp_mp2bin. This
12102 bug seemed to be the cause of recent problems when compiling
12105 * Added version detection support to SKE protocol specification
12106 and added the new changes to the SKE implementation as well.
12107 There were other minor changes in the SKE protocol as well.
12109 Many changes in lib/silcske/silcske.[ch] and in
12110 lib/silcske/payload.[ch].
12112 * Added ^U functionality, clear input line. Patch from cras.
12114 Mon Jul 17 23:33:26 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12116 * Mainly small bugfixes on core library. Fixed some debugging
12117 logging and buffer overflow in silclog.c.
12119 * Updated config.sub and config.guess on the distribution tree.
12121 Sat Jul 15 15:33:48 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12123 * Added command lagging support in server. Client may execute
12124 commands now only once in two seconds.
12126 Thu Jul 13 22:10:21 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12128 * Optimized packet reception. MAC computation and checking is now
12129 also more optimized. A lot previously duplicated code is now
12130 used as generic by both client and server.
12132 * Fixed key pair generation in clientutil.c
12134 Wed Jul 12 18:28:07 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12136 * Added into lib/silccore/silcbufutil.[ch] new function;
12137 silc_buffer_realloc.
12139 * Moved generic packet sending/encryption functions to
12140 lib/silccore/silcpacket.[ch] from client and server. Some
12141 rewriting of the functions.
12143 * Moved all generic packet reception/decryption functions to
12144 lib/silccore/silcpacket.[ch] from client and server. The
12145 packet processing is now much cleaner in both client and server.
12146 These were major changes in both client and server.
12148 * Created many common functions in server to do packet sending.
12149 Previously code were duplicated a lot, this has been removed
12150 with these changes.
12152 Tue Jul 11 20:27:26 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12154 * Rewrote major parts of the ID cache system. Don't know
12155 whether it is better now or not but at least the API is more
12158 * Major rewrite on ID cache stuff on client because of the ID
12159 cache API changes. Added idlist.c to client.
12161 * Also major rewrite on ID cache stuff on server as well.
12162 Major rewrite of idlist.[ch]. SilcXXXList's are now named
12163 SilcXXXEntry's. We won't keep anymore idlist specific pointers
12164 in hand, instead they are all put into the ID cache system now.
12165 All server_idlist_* routines uses ID cache now instead of
12166 traversing its own lists (those lists does not exist anymore).
12167 SilcIDList though still exists. Also, SilcXXXEntry's are
12170 Sun Jul 9 15:19:24 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12172 * Finally made the SKE implementation compliant to the protocol
12173 specification. All mp integers are now binary encoded as
12174 opposed being HEX encoded.
12176 * Added lib/silcmath/mpbin.[ch]. Encoding mp intergers to and
12179 * Added into lib/silccore/silcutil.[ch] PEM encoding/decoding
12180 functions: silc_[encode/decode]_pem. Also added function
12181 silc_encode_pem_file to PEM encode with newlines ('\n') for
12182 saving into a file.
12184 * SILC public keys are now encoded either PEM or binary. Same
12185 option is for private keys as well. By default private keys
12186 are binary encoded and public keys PEM encoded. Silly HEX
12187 encoding were removed.
12189 * Added into lib/silccrypt/silchash.[ch] silc_hash_fingerprint
12190 function to create fingerprints.
12192 * Fixed a bug in SHA1; does not change the original data anymore.
12194 * Partly implemented INFO command on client and server side.
12195 Fixed CLEAR command. Changes to SERVER command; show current
12196 server(s) when giving command without arguments. Added
12197 VERSION command to client.
12199 * Added check to server that unregistered connections cannot
12200 execute commands (unless it is specificly allowed).
12202 Thu Jul 6 18:12:24 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12204 * Fixed screen refresh.
12206 * Fixed channel joining bug from client. On some circumstances
12207 client tried to join to a channel it had already joined.
12209 * Added public key verification process into client's protocol.c.
12210 The client now verifies the public key from user and saves
12211 it into ~./silc/serverkeys/ directory.
12213 Added into: clientutil.[ch]: silc_client_verify_server_key.
12215 * Changed SKE protocol's silc_ske_initiator_finish function
12216 to accept callback function that verifies the received public
12217 key. Removed old silc_ske_verify_public_key function.
12219 Wed Jul 5 19:19:02 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12221 * Added into silcpkcs[ch]: silc_pkcs_public_key[_data]_set and
12222 silc_pkcs_private_key[_data]_set.
12224 * Made the password and public authentication more cleaner in
12225 server's protocol.c.
12227 * Removed historic and obsolete protocol `channel_auth' from
12228 both client and server.
12230 * Removed wrong way of sending command status messages from
12231 server to client in server's command.c. The old way violated
12232 protocol specification.
12234 Changes to silccore/silccommand.[ch]: removed
12235 silc_command_encode_status_payload -> not needed anymore,
12236 changed silc_command_encode_payload_va to accept extra
12237 argument on variable argument list. The argument type must
12238 now be provided to the function. Also, added new function:
12239 silc_command_encode_reply_payload_va which is same as
12240 normal command_encode_payload_va except command status type
12241 is provided as extra argument.
12243 Tue Jul 4 18:26:39 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12245 * Added ~./silc directory handling. The directory includes the
12246 public and private keys for the client.
12248 Added silc_client_check_silc_dir, silc_client_create_identifier
12249 and silc_client_load_keys.
12251 * Implemented SILC protocol compliant public key. Added public
12252 and private key saving to and loading from files.
12254 Added into silcpkcs.[ch]: silc_pkcs_encode_identifier,
12255 silc_pkcs_public_key_encode[_data], silc_pkcs_public_key_decode,
12256 silc_pkcs_private_key_encode[_data], silc_pkcs_private_key_decode,
12257 silc_pkcs_public_key_alloc, silc_pkcs_public_key_free,
12258 silc_pkcs_private_key_alloc and silc_pkcs_private_key_free.
12260 Implemented: silc_pkcs_save_[public/private]_key[_data] and
12261 silc_pkcs_load_[public/private]_key.
12263 Mon Jul 3 18:51:27 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12265 * Added silc_server_get_route (route.[ch]) to get connection
12266 data for the fastest route for given ID.
12268 * Implemented INVITE command on client and server. The command
12269 were re-defined in the SILC Protocol Specification and the
12270 implementation now complies with the specification.
12272 * Implemented PING command on client and server.
12274 * Implemented NAMES command on client and server. The server side
12275 supports currently only normal server not router server yet.
12276 Some changes to NAMES definition in SILC protocol specification.
12278 Sun Jul 2 18:23:01 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12280 * Implemented LEAVE command on client and server.
12282 * Previously deprecated SILC_PACKET_FORWARDED flag is now in use
12283 again. This change was made to the protocol as well. Server
12284 should not violate the protocol specification anymore.
12286 Fri Jun 30 14:03:26 EEST 2000 Pekka Riikonen <priikone@poseidon.pspt.fi>
12288 * Added SOCKS4 and SOCKS5 support to SILC client. SOCKS5
12289 was tested. SOCKS4 was not but should work anyway.