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