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