1 2000-02-07 Guus Sliepen <guus@sliepen.warande.net>
5 * src/net.c: fixed add_mac_addresses to work with the latest
6 kernels. Requires properly set up MAC address of the tap
7 device and some changes to config file.
9 1999-10-20 Ivo Timmermans <zarq@iname.com>
11 * src/net.c (add_queue), src/net.h: removed `prev' element
13 1999-09-17 Ivo Timmermans <zarq@iname.com>
15 * configure.in: define __USE_BSD, used in lib/xmalloc.c
17 1999-08-23 Ivo Timmermans <zarq@iname.com>
19 * src/tincd.c (detach): initialize xalloc_fail_func
21 * src/protocol.c (key_changed_h): use key_changed_t
23 1999-08-20 Ivo Timmermans <zarq@iname.com>
27 * cipher/Makefile.am src/Makefile.am: remove the -ansi -Wall
30 1999-08-19 Ivo Timmermans <zarq@iname.com>
32 * src/net.c: made some messages more userfriendly
33 (xsend, xrecv): the right amount of bytes
34 (handle_tap_input): check for short IP packets
36 * cipher/cipher.c (do_encrypt): calculate out->len the readable
37 way; added two bytes to in->len in calculation
39 1999-08-15 Ivo Timmermans <zarq@iname.com>
43 * src/net.c (send_packet): open an udp socket if necessary
44 (setup_vpn_connection): set status.dataopen to 1
45 (write_n): new function, called from xrecv
47 * src/protocol.c (add_host_h): don't open a data connection yet
49 * src/net.h: new status flag `dataopen'
51 * src/net.c, src/protocol.c, src/tincd.c: revisited syslog
54 * src/net.c (flush_queue): largely copied from prune_conn_list in
57 1999-08-13 Ivo Timmermans <zarq@iname.com>
59 * src/protocol.c (ans_key_h): test if the key's for us with an
62 1999-08-12 Ivo Timmermans <zarq@iname.com>
64 * src/net.c (send_packet): add two more bytes to the queue
65 (send_broadcast_ping): remember time
66 (main_loop): test for timeout even when select didn't timeout
68 * src/netutl.h (dump_conn_list): added proto for dump_conn_list
70 * src/tincd.c (make_names): use CONFDIR as base directory, from a
72 (sigusr2_handler): new function, call regenerate_keys
73 (setup_signals): install sigusr2_handler
75 * src/net.c (xrecv): write two more bytes to the tap device
77 * src/Makefile.am: define CONFDIR
79 * src/netutl.c (lookup_conn): check for exact match first
81 1999-08-08 Ivo Timmermans <zarq@iname.com>
83 * src/net.c (send_packet): do not check for our own idea of an
84 expired key, we would have known about this anyway, via the
89 * Did some rechecking on the debuglevels
91 * src/protocol.c (notify_one): call getsockopt
92 (ack_h): check if another request follows me
95 * src/netutl.c (prune_conn_list): rewritten
97 * src/protocol.c (del_host_h): return 0 when deleting someone that
98 we do not know of, as this is not fatal.
100 * src/net.c (close_network_connections): moved the send_termreq
101 over to where it belongs
103 * src/netutl.c (dump_conn_list): new function, called from
106 * src/tincd.c (sigusr1_handler): new function
108 1999-08-07 Ivo Timmermans <zarq@iname.com>
112 * doc/tincd.conf.5: added documentation for the KeyExpire value
114 * src/tincd.c (sigsegv_handler): act nicely on a second segv
116 * src/encr.c (recalculate_encryption_keys): new function, called
119 * src/protocol.c (set_keys): alloc strlen(ek) instead of k->len
120 bytes for encryption key
122 * src/protocol.h: added prototype for send_key_changed2
124 * src/protocol.c (send_key_changed): new function
125 (key_changed_h): new function
126 (send_key_changed2): new function
128 * src/protocol.h: new request type: KEY_CHANGED
130 * src/tincd.c (sigsegv_handler): ignore any following SIGSEGV's
132 * cipher/cipher.h: add prototype for cipher_init
134 * src/net.c (send_packet): check for expiring keys
135 (handle_incoming_vpn_data): idem
137 * src/protocol.c (send_key_answer): use `my_key_expiry'
139 * src/encr.c (generate_private_key): adjust my_key_expiry
140 (regenerate_keys): new function
142 * src/conf.c: add configure option `KeyExpire'
144 * src/encr.c: add key expiration times
146 1999-08-05 Ivo Timmermans <zarq@iname.com>
150 * I don't know what I did, but at least everything seems to work
151 ok now :) Have a look at the diff to know what's changed.
153 1999-08-03 Ivo Timmermans <zarq@iname.com>
155 * src/protocol.c (public_key_h): moved the `Connection activated'
156 message over to send_ack
158 * src/net.c (send_packet): add 4 bytes less to the sendqueue
161 1999-08-02 Ivo Timmermans <zarq@iname.com>
163 * src/net.c (add_mac_addresses): switched 30 and 26 in indices, as
166 * src/netutl.c (prune_conn_list): changed, partly from a patch
169 * src/tincd.c (detach): added debug level in startup message
171 1999-06-18 Ivo Timmermans <zarq@iname.com>
173 * doc/Makefile.am: removed design* from build process
175 * configure.in: added __USE_BSD define for libc5 systems
177 1999-05-09 Ivo Timmermans <zarq@iname.com>
179 * doc/tinc.texi: merged with design.texi
181 1999-05-08 Ivo Timmermans <zarq@iname.com>
183 * doc/Makefile.am: included tinc.texi
185 1999-05-05 Ivo Timmermans <zarq@iname.com>
187 * cipher/cipher.c, cipher/cipher.h, src/encr.c: replaced all
188 occurrences of `cypher' by `cipher'
190 1999-04-16 Ivo Timmermans <zarq@iname.com>
192 * AUTHORS: added acknowledgements for Martin Schulze and Eric
195 * TODO: updated a little
197 1999-04-11 Ivo Timmermans <zarq@iname.com>
201 * src/encr.c (free_key): return if key == NULL
203 * src/protocol.c (send_del_host): new function
204 (del_host_h): new function
205 (termreq_h): call notify_others(..., send_del_host)
206 (add_host_h): update call to notify_others
208 * src/netutl.c (free_conn_element): call free_key twice
210 * src/encr.c (free_key): new function, updated encr.h
212 * src/netutl.c (free_conn_element): free the send/recv queues
213 (destroy_queue): new function, called by free_conn_element
214 (destroy_conn_list): use free_conn_element
216 * src/protocol.h: new request DEL_HOST, new typedef del_host_t
218 * placed some random comments
220 * src/net.c (strtoip): moved to netutl.c; updated net.h and
223 * src/protocol.c (notify_one): new function
225 1999-04-10 Ivo Timmermans <zarq@iname.com>
227 * src/net.c (hostlookup): moved to netutl.c; updated netutl.h
229 * src/protocol.c (public_key_h): removed half of the whole
230 function, mainly because we handle keys differently now
231 (notify_others): don't test for `myself'
232 (public_key_h): call notify_others
233 (notify_others): test for the source
234 (public_key_h): updated accordingly
235 (add_host_h): extended
237 * src/net.h: removed field `nr' from conn_list_t
241 * src/net.c (flush_queue): meddled with some pointers, thanks to
242 Fruit for helping me out on this one
244 1999-04-09 Ivo Timmermans <zarq@iname.com>
246 * src/netutl.c (lookup_conn): removed `const' keyword
248 * src/net.h: merged sq_element_t and rq_element_t into
249 queue_element_t and send_queue_t and recv_queue_t into
250 packet_queue_t; updated conn_list_t
252 * src/net.c: moved lookup_conn, free_conn_list, prune_conn_list,
253 new_conn_list, destroy_list to netutl.c, updated net.h and
255 (flush_queue): written as a generalized version of flush_*_queue
256 (add_queue): generalized
257 (add_recv_queue): removed
259 * src/Makefile.am: added netutl.c and netutl.h
261 * src/netutl.h: new file
263 * src/netutl.c: new file
265 * src/net.c (add_recv_queue): written.. but we need something
268 * src/protocol.c (send_key_request): test for fw == NULL
270 1999-04-08 Ivo Timmermans <zarq@iname.com>
272 * src/net.c (xsend): send `from' field
274 * src/net.h: added field `from' to struct real_packet_t
276 * src/protocol.h: increased protocol version, protocol 3 or lower
277 is not supported anymore.
279 * src/net.c (handle_incoming_vpn_data): test for valid key before
280 decrypting; updated protocol.h
282 * src/protocol.c: include utils.h
283 (set_keys): new function
284 (ans_key_h): flush queue when key arrived
285 (send_key_request): removed parameter `cl'
287 * lib/Makefile.am: updated to include utils.c/h
289 * lib/utils.c: new file
291 * lib/utils.h: new file
293 * src/encr.c (powerize): rewritten, changed name to
294 make_shared_key, updated src/encr.h
296 * src/protocol.c (send_passphrase): don't print out that ugly
298 (req_key_h): send key to tmp->from instead of tmp->to :)
299 (calculate_h, calc_res_h, almost_key_h): removed, we now have a
300 better way of dealing with keys anyway
302 * src/net.c (new_conn_list): initialize p->nexthop to p
304 * src/protocol.c (req_key_h): written
305 (send_key_answer): new function
308 * src/net.h: added field waitingforkey to status_bits_t
309 added field nexthop to conn_list_t
311 1999-04-07 Ivo Timmermans <zarq@iname.com>
313 * src/protocol.c (send_key_request): new function
315 * src/protocol.h: added REQ_KEY, ANS_KEY, key_req_t
317 * src/net.h: add `validkey' to struct status_bits_t
319 * Version 0.2.20 (intermediate)
321 * src/net.c (handle_incoming_vpn_data): update call to do_decrypt
323 * cipher/cipher.c (do_encrypt): add parameter `key', call
327 * src/net.c (handle_tap_input): moved de_encrypt call to xsend
329 * src/protocol.c: added req_key_h and ans_key_h
331 * src/net.c (add_queue): removed `to'
332 (send_packet): changed call to add_queue accordingly
334 * src/net.h: removed field `to' from sq_element_t
336 * src/net.c (flush_queue): new function
337 (send_packet): call flush_queue before attempting to send
339 * src/net.h: included public and shared keys in struct conn_list_t
341 1999-04-06 Ivo Timmermans <zarq@iname.com>
343 * src/net.c (add_queue): written
345 * src/net.h: added new field sq to conn_list_t, declared struct
346 send_queue_t and sq_element_t
348 * src/key.c: new file
350 * src/key.h: new file
352 1999-04-03 Ivo Timmermans <zarq@iname.com>
356 * cipher/Makefile.am: don't make and install a libcipher.so
360 * src/encr.c (security_init): call cypher_init
362 * cipher/cipher.c (cypher_init): written, sets values to
363 dynamically loaded functions
365 * configure.in: added libtool support, various Makefile.am were
368 * src/genauth.c: removed the encrypting part
370 * src/net.c (handle_incoming_vpn_data): updated call to
371 do_bf_decrypt to do_encrypt
372 (handle_tap_input): same with the call to do_bf_encrypt
374 * cipher/cipher.c (low_bf_crypt_key): written
375 (do_encrypt, do_decrypt): written (hardcoded to blowfish)
377 * src/encr.c (low_bf_crypt_key, do_bf_encrypt, do_bf_decrypt):
380 * configure.in: added support for libtool, Makefiles in the dir
383 * Makefile.am: include this new dir, libbf removed
385 * new dir `cipher', moved libbf into it, renamed to blowfish
387 1999-04-02 Ivo Timmermans <zarq@iname.com>
389 * src/net.c (check_network_activity): handle an error on outgoing
392 1999-04-01 Ivo Timmermans <zarq@iname.com>
396 * src/net.c (destroy_conn_list): written
397 (close_network_connections): call destroy_conn_list()
399 * configure.in: added some more tests.
401 * src/tincd.c (sigsegv_handler): re-execute with g_argv
405 * doc/Makefile.maint: replaced man_MANS with dyn_MANS
407 * doc/Makefile.am: it didn't install tincd.conf.5
409 * doc/tincd.conf.5: written
411 * doc/tincd.conf.sample: rewritten to reflect these changes in
414 * src/conf.c (readconfig): rewritten. config file now accepts and
415 tolerates spaces, and any integer base for integer variables, and
416 better error reporting. parsing is now case insensitive. = signs
419 1999-03-31 Ivo Timmermans <zarq@iname.com>
421 * doc/Makefile.am (EXTRA_DIST): included tincd.conf.sample
423 1999-03-29 Ivo Timmermans <zarq@iname.com>
427 * src/tincd.c (sighup_handler): close and re-open all network
429 (sigsegv_handler): ignoring it for now
431 * src/conf.h (get_config_val): added declaration
433 * src/net.c (get_timeout): removed, moved code to
434 setup_network_connections
436 * src/tincd.c (parse_options): Call add_config_val() instead of
437 storing it in `timeout'
439 1999-02-10 Ivo Timmermans <zarq@iname.com>
443 * src/net.c (get_timeout): added
444 (main_loop): call get_timeout
446 * src/conf.c, src/conf.h: PingTimeout config option added
448 * src/conf.c, src/conf.h: timeout declared
450 * src/tincd.c (long_options, usage, parse_options): Added -t option
452 1999-01-25 Ivo Timmermans <zarq@iname.com>
454 * src/encr.c (low_bf_crypt): obsolete, removed
456 * src/net.c (terminate_connection): special case for ping timeouts
457 (check_dead_connections): set timeout flag
459 * src/protocol.c (send_timeout, timeout_h): written
461 1999-01-24 Ivo Timmermans <zarq@iname.com>
463 * src/net.c (free_conn_element): written; updated prune_conn_list
465 (new_conn_list): written
466 (create_new_connection): uses new_conn_list, updated call from
467 handle_new_meta_connection
469 * src/net.h: added hostname field to conn_list_t, updated several
470 functions to use and initialize it
472 1999-01-23 Ivo Timmermans <zarq@iname.com>
474 * src/net.c (prune_conn_list): simplified
476 * configure.in: increased version number to 0.2.14
480 * src/net.c (delete_conn_from_list): removed
481 (prune_conn_list): written
482 (setup_outgoing_connection, create_new_connection,
483 handle_new_meta_connection): status.remove = 0
484 (main_loop): inserted call to prune_conn_list
485 (check_network_activity, check_dead_connections,
486 send_broadcast_ping, terminate_connection): added test for
488 (terminate_connection): set status.remove to 1 instead of just
491 * src/net.h: added field `remove' to struct status_bits_t
493 * configure.in: increased version number to 0.2.13
497 * src/net.c (create_new_connection): removed the `initiating
498 authentication sequence.' part of the message
499 (delete_conn_from_list): rewritten
500 (check_dead_connections): all those SEGV's came from here, when a
501 free'd p was referenced in the next step of the for loop
503 1999-01-22 Ivo Timmermans <zarq@iname.com>
505 * src/net.c (terminate_connection): remove calls to shutdown()
507 * configure.in: increased version number to 0.2.12
511 * src/net.c (setup_myself): myself->status.active=1 when
512 successfully set up, so that the appropriate sockets may be closed
513 (close_network_connections): updated to use that information
514 default value for myself is NULL
515 (close_network_connections): test if myself != NULL before
518 * src/conf.c (add_config_val): new values now get added in front
521 * src/conf.h: removed value for privatekeyfile
523 * src/protocol.c (send_public_key): used sizeof(public_key_t) for
526 1999-01-20 Ivo Timmermans <zarq@iname.com>
528 * TODO: written; updated Makefile.am to include TODO in
531 * doc/tincd.x: written
533 * src/tincd.c (usage): some text beautifying
535 1999-01-19 Ivo Timmermans <zarq@iname.com>
537 * doc/Makefile.am: updated to use help2man
539 * configure.in: added test for perl which is in m4/perl.m4
541 * m4/perl.m4, doc/GNUmakefile, doc/Makefile.maint,
542 doc/Makefile.summ, doc/help2man: included from fileutils 4.0
544 1999-01-18 Ivo Timmermans <zarq@iname.com>
546 * src/tincd.c (main): updated to point to COPYING and AUTHORS when
547 requesting version info
549 * src/protocol.c (send_public_key): updated to use new
552 * src/encr.c (calculate_shared_key): renamed to set_shared_key,
553 changed prototype accordingly in src/encr.h
554 (set_shared_key): dynamic allocation of tmp
555 removed definitions for his_public_key and our_shared_key
557 (get_public_key): removed, obsolete due to my_public_key_base36,
558 also removed prototype from src/encr.h
560 * src/encr.h: changed prototype for powerize
562 * src/encr.c (powerize): rewritten, args changed
564 * src/protocol.c (send_calculate): written
566 * src/protocol.h: added declarations for struct calculate_t and
569 * src/encr.h: add declaration for my_public_key_base36
571 * src/encr.c (calculate_public_key): also store my public key in
572 the variable my_public_key_base36, for later use in protocol.c
574 * src/net.h: added field `nr' to struct conn_list_t
577 * src/protocol.c (public_key_h): starts calculation of a shared
578 key instead of immediately activating connection
580 * src/net.c (strtoip): fixed ip->ip assignment
582 * src/conf.c: #include net.h
583 (add_config_val): removed superfluous xmalloc
585 * src/net.h: added prototype tor strtoip
587 * src/conf.c (strtoip): rewritten to accept textual hostnames
588 replaced all calls to charpos() with strchr()
590 (strtoip): moved to net.c
592 * configure.in: increased version number to 0.2.11
596 * src/tincd.c: Did some function re-ordering and commenting
598 * src/encr.c (low_bf_crypt_key): copied from low_bf_crypt, this
599 function also requires an encrypting key to be given
600 (encrypt_passphrase): Updated to use low_bf_crypt_key
601 (verify_passphrase): Updated to use low_bf_crypt_key
603 1999-01-14 Ivo Timmermans <zarq@iname.com>
605 * src/encr.c (verify_passphrase): written
606 (encrypt_passphrase): written
608 * src/protocol.c (send_passphrase): calls encrypt_passphrase
610 * src/encr.c (read_passphrase): rewritten
611 (security_init): updated to call read_passphrase
613 * src/tincd.c (make_names): created new variable confbase
615 1999-01-13 Ivo Timmermans <zarq@iname.com>
617 * NEWS: added mention of 0.2.10
619 * configure.in: increased version to 0.2.10
621 * restarted this ChangeLog thingy.