updates
[silc.git] / CHANGES
1 Sun Aug 20 21:27:26 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
2
3         * Added SILC_PACKET_REMOVE_CHANNEL_USER to remove a client from
4           a channel in SILC network.  The packet is used by servers and
5           routers to notify other routers that user has left a channel.
6           This little feature was missing until now.  Added the feature
7           to protocol specification as well.
8
9           Added functions: silc_server_send_remove_channel_user and
10           silc_server_remove_channel_user into server.[ch].
11
12         * Added SILC_PACKET_REKEY and SILC_PACKET_REKEY_DONE into
13           lib/silccore/silcpacket.h.  However, they are not implemented
14           yet.
15
16 Sat Aug 19 23:04:16 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
17
18         * Fixed joining to a channel and sending channel messages
19           between server and router.  The channel message sending should
20           now work inside a cell.
21
22 Tue Jul 25 20:46:13 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
23
24         * Fixed the private message sending between server and router.
25           The private message sending should now work inside a cell.
26
27         * Added silc_server_replace_id into server.[ch] to replace
28           existing ID in the SILC network.
29
30         * Added silc_idlist_find_server_by, silc_idlist_replace_client_id
31           and silc_idlist_replace_server_id into idlist.[ch] in server.
32
33 Mon Jul 24 18:33:31 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
34
35         * Fixed the server to server connections.  Server can again now
36           connect to router.  Router to router connections probably does
37           not work just yet.
38
39 Thu Jul 20 13:15:01 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
40
41         * Added dynamic protocol registering support.  Now protocols can
42           registered and unregistered on the fly.  Patch by cras.
43
44 Wed Jul 19 19:08:46 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
45
46         * Added lib/contrib directory to hold routines that some platforms
47           don't have but are needed by SILC.
48
49         * Added getopt.c, getopt1.c and getopt.h from GNU C library
50           into lin/contrib to provide getopt() and getopt_long() for
51           those who don't have it.
52
53 Tue Jul 18 20:41:20 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
54
55         * Added AWAY command to client.  When away message is set and
56           client receives a private message packet the client automatically
57           replies to the sender with the away message.
58
59         * Fixed a bug in lib/silcmath/mpbin.c: silc_mp_mp2bin.  This
60           bug seemed to be the cause of recent problems when compiling
61           with gcc-2.95.
62
63         * Added version detection support to SKE protocol specification
64           and added the new changes to the SKE implementation as well.
65           There were other minor changes in the SKE protocol as well.
66
67           Many changes in lib/silcske/silcske.[ch] and in
68           lib/silcske/payload.[ch].
69
70         * Added ^U functionality, clear input line.  Patch from cras.
71
72 Mon Jul 17 23:33:26 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
73
74         * Mainly small bugfixes on core library.  Fixed some debugging
75           logging and buffer overflow in silclog.c.
76
77         * Updated config.sub and config.guess on the distribution tree.
78
79 Sat Jul 15 15:33:48 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
80
81         * Added command lagging support in server. Client may execute
82           commands now only once in two seconds.
83
84 Thu Jul 13 22:10:21 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
85
86         * Optimized packet reception. MAC computation and checking is now
87           also more optimized.  A lot previously duplicated code is now
88           used as generic by both client and server.
89
90         * Fixed key pair generation in clientutil.c
91
92 Wed Jul 12 18:28:07 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
93
94         * Added into lib/silccore/silcbufutil.[ch] new function;
95           silc_buffer_realloc.
96
97         * Moved generic packet sending/encryption functions to 
98           lib/silccore/silcpacket.[ch] from client and server.  Some
99           rewriting of the functions.
100
101         * Moved all generic packet reception/decryption functions to
102           lib/silccore/silcpacket.[ch] from client and server.  The
103           packet processing is now much cleaner in both client and server.
104           These were major changes in both client and server.
105
106         * Created many common functions in server to do packet sending.
107           Previously code were duplicated a lot, this has been removed
108           with these changes.
109
110 Tue Jul 11 20:27:26 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
111
112         * Rewrote major parts of the ID cache system.  Don't know 
113           whether it is better now or not but at least the API is more
114           cleaner now.
115
116         * Major rewrite on ID cache stuff on client because of the ID
117           cache API changes.  Added idlist.c to client.
118
119         * Also major rewrite on ID cache stuff on server as well.
120           Major rewrite of idlist.[ch]. SilcXXXList's are now named
121           SilcXXXEntry's.  We won't keep anymore idlist specific pointers
122           in hand, instead they are all put into the ID cache system now.
123           All server_idlist_* routines uses ID cache now instead of
124           traversing its own lists (those lists does not exist anymore).
125           SilcIDList though still exists.  Also, SilcXXXEntry's are
126           now pointers.
127
128 Sun Jul  9 15:19:24 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
129
130         * Finally made the SKE implementation compliant to the protocol
131           specification.  All mp integers are now binary encoded as
132           opposed being HEX encoded.
133
134         * Added lib/silcmath/mpbin.[ch].  Encoding mp intergers to and
135           from binary data.
136
137         * Added into lib/silccore/silcutil.[ch] PEM encoding/decoding
138           functions: silc_[encode/decode]_pem.  Also added function
139           silc_encode_pem_file to PEM encode with newlines ('\n') for
140           saving into a file.
141
142         * SILC public keys are now encoded either PEM or binary.  Same
143           option is for private keys as well.  By default private keys
144           are binary encoded and public keys PEM encoded.  Silly HEX
145           encoding were removed.
146
147         * Added into lib/silccrypt/silchash.[ch] silc_hash_fingerprint
148           function to create fingerprints.
149
150         * Fixed a bug in SHA1; does not change the original data anymore.
151
152         * Partly implemented INFO command on client and server side.
153           Fixed CLEAR command.  Changes to SERVER command; show current
154           server(s) when giving command without arguments.  Added
155           VERSION command to client.
156
157         * Added check to server that unregistered connections cannot
158           execute commands (unless it is specificly allowed).
159
160 Thu Jul  6 18:12:24 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
161
162         * Fixed screen refresh.
163
164         * Fixed channel joining bug from client.  On some circumstances
165           client tried to join to a channel it had already joined.
166
167         * Added public key verification process into client's protocol.c.
168           The client now verifies the public key from user and saves
169           it into ~./silc/serverkeys/ directory. 
170
171           Added into: clientutil.[ch]: silc_client_verify_server_key.
172
173         * Changed SKE protocol's silc_ske_initiator_finish function
174           to accept callback function that verifies the received public
175           key.  Removed old silc_ske_verify_public_key function.
176
177 Wed Jul  5 19:19:02 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
178
179         * Added into silcpkcs[ch]: silc_pkcs_public_key[_data]_set and
180           silc_pkcs_private_key[_data]_set.
181
182         * Made the password and public authentication more cleaner in
183           server's protocol.c.
184
185         * Removed historic and obsolete protocol `channel_auth' from
186           both client and server.
187
188         * Removed wrong way of sending command status messages from
189           server to client in server's command.c.  The old way violated
190           protocol specification.  
191
192           Changes to silccore/silccommand.[ch]: removed
193           silc_command_encode_status_payload -> not needed anymore,
194           changed silc_command_encode_payload_va to accept extra
195           argument on variable argument list.  The argument type must
196           now be provided to the function.  Also, added new function:
197           silc_command_encode_reply_payload_va which is same as
198           normal command_encode_payload_va except command status type
199           is provided as extra argument.
200
201 Tue Jul  4 18:26:39 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
202
203         * Added ~./silc directory handling.  The directory includes the
204           public and private keys for the client.
205
206           Added silc_client_check_silc_dir, silc_client_create_identifier
207           and silc_client_load_keys.
208
209         * Implemented SILC protocol compliant public key.  Added public
210           and private key saving to and loading from files.
211
212           Added into silcpkcs.[ch]: silc_pkcs_encode_identifier,
213           silc_pkcs_public_key_encode[_data], silc_pkcs_public_key_decode,
214           silc_pkcs_private_key_encode[_data], silc_pkcs_private_key_decode,
215           silc_pkcs_public_key_alloc, silc_pkcs_public_key_free,
216           silc_pkcs_private_key_alloc and silc_pkcs_private_key_free.
217
218           Implemented: silc_pkcs_save_[public/private]_key[_data] and
219           silc_pkcs_load_[public/private]_key.
220
221 Mon Jul  3 18:51:27 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
222
223         * Added silc_server_get_route (route.[ch]) to get connection
224           data for the fastest route for given ID.
225
226         * Implemented INVITE command on client and server.  The command
227           were re-defined in the SILC Protocol Specification and the
228           implementation now complies with the specification.
229
230         * Implemented PING command on client and server.
231
232         * Implemented NAMES command on client and server.  The server side
233           supports currently only normal server not router server yet.
234           Some changes to NAMES definition in SILC protocol specification.
235
236 Sun Jul  2 18:23:01 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
237
238         * Implemented LEAVE command on client and server.
239
240         * Previously deprecated SILC_PACKET_FORWARDED flag is now in use 
241           again.  This change was made to the protocol as well.  Server
242           should not violate the protocol specification anymore.
243
244 Fri Jun 30 14:03:26 EEST 2000  Pekka Riikonen <priikone@poseidon.pspt.fi>
245
246         * Added SOCKS4 and SOCKS5 support to SILC client.  SOCKS5
247           was tested.  SOCKS4 was not but should work anyway.