Guus Sliepen
e924096f62
- Let user choose whether keys are in the config files or separate
...
- Use AVL trees instead of RBL trees
- Fixed a lot of annoying subtle bugs! Thanks to gdb...
2001-01-05 23:53:53 +00:00
Guus Sliepen
e1707f7739
- Don't even think about using sscanf with %as anymore
...
- Allow keys to be inside the config files or in a seperate file
- Small fixes
2000-12-22 21:34:24 +00:00
Ivo Timmermans
ecae72de94
Added lint target, requires lclint.
2000-12-22 17:15:26 +00:00
Ivo Timmermans
e469fca4d7
Re-introduced MyVirtualIP and VpnMask, as dummy options.
2000-12-06 13:33:49 +00:00
Ivo Timmermans
6327f32f43
Tiny bits of code beautifying
2000-12-05 08:59:30 +00:00
Ivo Timmermans
9267bed9f5
Oops. I did some VERY wrong things with readline(). Fixed now.
2000-12-05 08:56:44 +00:00
Ivo Timmermans
bc22ee16e6
Option -d accepts an argument to set the debug level immediately.
2000-12-03 12:23:06 +00:00
Ivo Timmermans
01d23601a2
Sort configuration directives
2000-12-03 12:22:19 +00:00
Ivo Timmermans
52575a573c
Use buffer instead of line in read_config_file(), line may be assigned
...
NULL, so buffer always holds the pointer to the allocated space.
2000-12-01 12:38:42 +00:00
Ivo Timmermans
ab33c1aa60
readline() accepts two extra parameters, buf and buflen, to avoid
...
mallocing and freeing for every line that is read.
2000-12-01 12:36:36 +00:00
Ivo Timmermans
a0f7af3ed7
New function read_rsa_public_key();
...
In net.c/setup_myself deleted old code to read the public key (which
is now implicitly read in together with the private key).
2000-11-30 23:18:21 +00:00
Ivo Timmermans
28deaeac14
Avoid printing duplicate messages from read_rsa_keys
2000-11-30 22:48:48 +00:00
Ivo Timmermans
2293304748
Better error checking when reading the RSA private key.
2000-11-30 22:33:16 +00:00
Ivo Timmermans
bf4e969899
In readline(): initialise the line to zero length;
...
In read_config_file(): Test for EOF, and print the variable name that
caused an error.
2000-11-30 22:32:14 +00:00
Ivo Timmermans
113198d9c0
The file is safe if it doesn't exist.
2000-11-30 21:11:03 +00:00
Ivo Timmermans
09260b43d1
Read the PEM file pointed to by the configuration directive
...
PrivateKey. This means thatt he meaning of this variable has changed,
it no longer should contain the private key directly.
WARNING: This code is untested.
2000-11-30 20:08:41 +00:00
Ivo Timmermans
8ccb1ede92
Implemented is_safe_path, and extended ask_and_safe_open.
...
is_safe_path needs more work before it is useable.
2000-11-30 00:24:13 +00:00
Ivo Timmermans
d36da1948a
Also free the pointer returned by readline().
2000-11-29 14:30:07 +00:00
Ivo Timmermans
9e55426d72
Use readline() in read_config_file() instead of fgets.
2000-11-29 14:27:24 +00:00
Ivo Timmermans
54ef13bf75
Implemented a readline() function that will read an entire line into a
...
dynamically allocated buffer;
Ask for a file name in ask_and_safe_open().
2000-11-29 14:24:40 +00:00
Ivo Timmermans
3ff76eb10a
Save RSA public and private keys to a separate file, instead of
...
wanting to copy them into a configuration file.
2000-11-28 23:12:57 +00:00
Ivo Timmermans
4c502b005b
Use sigaction to set signal handlers, the previous commit (1.1.2.16)
...
already contained a large portion of what should have gone in this
one.
2000-11-28 08:59:27 +00:00
Ivo Timmermans
67a4abda70
Give an error message if daemon() failed.
2000-11-26 22:42:34 +00:00
Guus Sliepen
1eedf54681
- Use only one socket for all UDP traffic (for compatibility)
...
- Write pidfile again after detaching
- Check OS (for handling FreeBSD/Solaris tun/tap stuff)
2000-11-25 13:33:33 +00:00
Guus Sliepen
cf49b2c064
Another big & bad commit:
...
- Added some extra search functions to rbl routines
- Fix subnet_lookup()
- Reorder some syslog messages to make more sense
- daemon() is back
- Don't let scripts execute in parallel (gives race conditions, and
anyway something MIGHT just be configured which is necessary for further
execution of tinc itself)
- Accidently merged check_child() with execute_script().
- Small fixes
2000-11-24 23:13:07 +00:00
Ivo Timmermans
b0ff879e7c
Do not use the C library's daemon() call.
2000-11-24 12:44:39 +00:00
Guus Sliepen
dac256505e
- Fixed all (except 2) compiler warnings gcc -Wall gave.
2000-11-22 22:18:03 +00:00
Guus Sliepen
6f373e6902
- More porting to FreeBSD and Solaris.
2000-11-22 22:05:37 +00:00
Guus Sliepen
5971e352da
- Work with the correct key buffer in ans_key_h
2000-11-22 20:25:27 +00:00
Guus Sliepen
a07602c4fd
- No more %as.
2000-11-22 19:55:53 +00:00
Guus Sliepen
394ed3fb17
- Write pidfile AFTER detaching...
...
- Minor cleanups
2000-11-22 19:14:09 +00:00
Guus Sliepen
f8b4a000d0
- Cleaned up and checked for some more NULL pointers in rbl.c
...
- Two connection lists: one for incoming connections, sorted on ip/port,
one for connections whose identity we know, sorted on id ofcourse...
2000-11-22 18:54:08 +00:00
Ivo Timmermans
785684f0ec
Declare fd.
2000-11-22 17:49:16 +00:00
Ivo Timmermans
e42255ae13
Add more checks to ensure that filedescriptors are right in
...
_execute_script().
2000-11-22 17:48:15 +00:00
Ivo Timmermans
2ed6813404
Honor the --localstatedir option to configure, instead of hardcoded /var.
2000-11-22 16:19:07 +00:00
Guus Sliepen
da9a1e8084
- More fixes.
2000-11-20 23:29:47 +00:00
Guus Sliepen
3a6200c1e3
- Various small fixes.
2000-11-20 22:13:14 +00:00
Guus Sliepen
1857b3c97c
- Proper initialization of rbltree structures.
2000-11-20 19:41:13 +00:00
Guus Sliepen
408ca91766
- Integrate rbl trees into tinc.
2000-11-20 19:12:17 +00:00
Ivo Timmermans
9024e01ce6
Also include process.h
2000-11-20 18:06:17 +00:00
Guus Sliepen
7fcc0c6415
- Removed stray @INCLUDE@ (how did that get there?)
...
- Use 0 instead of FALSE
2000-11-17 10:03:02 +00:00
Guus Sliepen
44cbd13e52
- Simplified do_detach
2000-11-17 00:56:49 +00:00
Ivo Timmermans
5d1145f2c4
Move more functions from tincd.c into process.c.
2000-11-16 22:12:23 +00:00
Ivo Timmermans
485f7a5043
Delete struct ifr
2000-11-16 22:11:40 +00:00
Ivo Timmermans
2764532ea7
Move all process-related functions into process.c.
2000-11-16 17:54:29 +00:00
Ivo Timmermans
7f87c3d913
Keep a list of running children, and in each loop in main_loop(),
...
check if one has exited.
2000-11-15 22:07:36 +00:00
Guus Sliepen
e118ba0a64
Porting to FreeBSD:
...
- Reorganized and added some #includes
2000-11-15 13:33:27 +00:00
Ivo Timmermans
596e248bc5
Let the output from an executed script in execute_script() go to
...
syslog, with proper error detection.
2000-11-15 01:28:21 +00:00
Ivo Timmermans
bb2495e569
Use the HAVE_OPENSSL_xxx_H defined from m4/openssl.m4 during
...
configure.
2000-11-15 01:06:13 +00:00
Ivo Timmermans
5b74909ea0
Add prototype for destroy_queue
2000-11-09 21:33:18 +00:00
Guus Sliepen
16847ea255
- Make checkpoint tracing a compile time option (off by default)
2000-11-08 20:52:37 +00:00
Guus Sliepen
5055e1dedc
- Applied Jamie Brigg's patch (close sockets after error)
2000-11-08 17:56:34 +00:00
Guus Sliepen
74326df7ad
- Fixed --config
...
- Show warning when both netname and config directory are given.
2000-11-08 00:20:06 +00:00
Guus Sliepen
f8f1007bf4
Porting to SunOS 5.8:
...
- More #includes Linux doesn't seem to need
- Don't do unsetenv() on SunOS
- Use a replacement asprintf() in case the OS doesn't support it
It now compiles properly under SunOS.
2000-11-08 00:10:50 +00:00
Guus Sliepen
7d0f82bd4b
- Open UDP connection for all known hosts. Comments please.
2000-11-07 22:02:14 +00:00
Guus Sliepen
f95cc86d0c
Changed execution of tinc-up:
...
- Do not free() strings that have been putenv()d, see man page of the
latter.
- Do not set IFNAME anymore, it appears that the ioctl to get the name of
the interface does not work at all. Since it is set to NETNAME in case
of tun/tap and it is known beforehand in case of ethertap, there is no
need for it anyway... (though it would've simplified things).
2000-11-07 21:43:28 +00:00
Guus Sliepen
698191fd2f
- Prepended config_ to all configuration option names, because it confused
...
everything (including myself).
- Use connection oriented UDP sockets for both incoming and outgoing
packets.
2000-11-04 22:57:33 +00:00
Guus Sliepen
afc0579707
- Simplified ping mechanism.
2000-11-04 20:44:28 +00:00
Guus Sliepen
5019dd8791
- Check for packets that are looping back.
2000-11-04 17:09:10 +00:00
Guus Sliepen
ac47586552
- Forward keys in hex notation, not as binary data.
2000-11-04 16:54:21 +00:00
Guus Sliepen
3f8f067e8b
- Don't forget to set packet cipher for added hosts.
2000-11-04 16:39:19 +00:00
Guus Sliepen
433858d410
- connlist.c added to translation
2000-11-04 15:34:07 +00:00
Ivo Timmermans
15246df85d
In execute_script:
...
- add an environment variable NETNAME.
- chdir to the configuration directory before execing the script.
2000-11-04 15:32:05 +00:00
Guus Sliepen
3d7189a444
- Resolve scriptname after fork()
2000-11-04 14:52:40 +00:00
Ivo Timmermans
d38772ebc4
Use putenv() instead of clumsy do-it-yourself in execute_script.
2000-11-04 14:16:46 +00:00
Ivo Timmermans
f83803c1bf
Small change to the way the environment is copied.
2000-11-04 13:25:15 +00:00
Guus Sliepen
ed0bf283e3
- Removed even more warnings.
2000-11-04 11:49:58 +00:00
Guus Sliepen
dc699f8b12
- Removed unused MAC strip/add functions.
2000-11-04 10:37:27 +00:00
Ivo Timmermans
5065ea32c3
Warnings removal pass: always include config.h first; add a few
...
prototypes in the header files.
This also fixes a few lint errors/warnings.
2000-11-03 22:35:12 +00:00
Ivo Timmermans
73aa7fbf7e
Run the scripts tinc-up and tinc-down from a separate function, which
...
sets the environment as it should be and checks for errors.
2000-11-03 22:33:16 +00:00
Ivo Timmermans
4ad1e382d6
Save the environment on startup.
2000-11-03 22:31:55 +00:00
Ivo Timmermans
013fcb0e9f
Changed a few messages wrt. system calls; updated and changed the Dutch translation a bit.
2000-11-02 22:05:36 +00:00
Ivo Timmermans
cadf81fe67
Do not include $(top_srcdir)/cipher, it does no longer exist.
2000-11-02 21:26:51 +00:00
Guus Sliepen
b4c1d4e2d3
- Fixed some spelling mistakes and terminology here and there.
2000-10-30 10:19:06 +00:00
Guus Sliepen
4811afa073
- Small cleanups
...
- Updated dutch translation
- Updated man pages
2000-10-30 00:22:54 +00:00
Guus Sliepen
b7d4d4c177
- Finishing touch: encrypt the meta connections
2000-10-29 22:55:15 +00:00
Guus Sliepen
ec12269355
- Use CFB mode for encrypting packets: it works and we don't need padding.
2000-10-29 22:10:44 +00:00
Guus Sliepen
cea3d8f305
- Small fixes
...
- Do proper key exchange
- Encrypt packets - it works, but there is something wrong with the MAC
header after decryption...
2000-10-29 10:39:08 +00:00
Guus Sliepen
8fa9bc017d
- Removed old encr stuff
2000-10-29 09:19:27 +00:00
Guus Sliepen
a26d371d0d
- Updated dutch translation.
...
- Shutdown properly.
2000-10-29 02:07:41 +00:00
Guus Sliepen
e8391bd499
- Moved connlist stuff to the proper header file.
2000-10-29 01:27:23 +00:00
Guus Sliepen
2689690dc3
- Enforce correct order of authentication requests
2000-10-29 01:08:09 +00:00
Guus Sliepen
3b9802a542
- Hit people who can't figure out subnet address/mask pairs with a
...
(clue)bat.
2000-10-29 00:46:43 +00:00
Guus Sliepen
7398002ade
- Fixed ans_key_h
...
- Removed tapsubnet configuration option.
2000-10-29 00:24:31 +00:00
Guus Sliepen
35932fe6c8
- Very big cleanup.
2000-10-29 00:02:20 +00:00
Guus Sliepen
db21f01516
- Override destination ethernet address on incoming packets with
...
FE:FD:00:00:00:00
2000-10-28 21:52:22 +00:00
Guus Sliepen
8738c007b1
- Fixed offsets when reading/writing from/to tap device
2000-10-28 21:25:21 +00:00
Guus Sliepen
f25868fd2b
- Lots of small fixes
...
- Exchange subnets on acknowledgement of connection
- Do proper lookup when incoming packets from tap
- off-by-a small number-error when reading/sending tap packets
2000-10-28 21:05:20 +00:00
Guus Sliepen
d47d5932a3
- Updated subnet list handling. Subnets are added to two lists now, the
...
owner's list and a global list. It is all fucked up but it probably
works anyway, good enough for pre3 :).
2000-10-28 16:41:40 +00:00
Guus Sliepen
9c2f805255
- Lots of little stuff modified
...
- Succesfully reads in subnets from host config file now and adds them to
the list.
2000-10-24 15:46:18 +00:00
Guus Sliepen
c46e84837d
- route.c will contain the routing logic.
2000-10-23 13:52:54 +00:00
Ivo Timmermans
76d794eaf7
read_server_config: Check for result of read_config_file.
2000-10-22 13:47:41 +00:00
Ivo Timmermans
56d8e86240
Include linux/sockios.h and net/if.h anyway, regardless of the value of HAVE_TUNTAP.
2000-10-22 13:37:15 +00:00
Guus Sliepen
52b842f807
- Fixed all debug levels.
...
- Seed PRNG before generating a challenge
- Strange thing in challenge decryption: it fails if first bit is set!?
2000-10-21 11:52:08 +00:00
Guus Sliepen
73f7efddd7
- Removed last reference to genauth from Makefile.am
...
- Tinc spawns tinc-up and tinc-down scripts which can be used to configure
the network device. The environment variable IFNAME is set to the name
of the interface.
2000-10-20 19:46:58 +00:00
Guus Sliepen
fba19c30c9
- Made Makefile.am stub for doc/es/
...
- Merged genauth into tincd
- Updated dutch translation
2000-10-20 16:49:20 +00:00
Guus Sliepen
9f64499e40
- tinc now really does public/private key encryption! It even works, whee!
2000-10-20 15:34:38 +00:00
Guus Sliepen
d5fd1344e6
- Seed the PRNG using /dev/random before generating the keys.
2000-10-19 14:42:00 +00:00
Guus Sliepen
20301888b7
- More fixing. Tinc daemons can now even create activated connections.
2000-10-16 19:04:47 +00:00
Guus Sliepen
bb3d18d56f
- Fixing little things
...
- Two tinc daemons can connect to eachother now (but they disconnect right
after the ACKs).
2000-10-16 16:33:30 +00:00
Guus Sliepen
baeac83bf4
Corrected #ifdefs for tun/tap support.
2000-10-15 20:30:39 +00:00
Ivo Timmermans
e5130495d7
Wrap the tun/tap code in #ifdef HAVE_TUNTAP
2000-10-15 19:53:15 +00:00
Guus Sliepen
85adeef212
- The daemon actually runs now (somewhat)
...
- Added support for tun/tap driver (autodetect!)
- More sophisticated checkpoint functionality
- Updated dutch translation
2000-10-15 00:59:37 +00:00
Guus Sliepen
e9635ae38e
- Second fixing-things pass: it even links now.
...
- Lots of FIXME comments added to the source code.
2000-10-14 17:04:16 +00:00
Guus Sliepen
183a8edd22
- Fixing-things pass: every source file compiles into an object file now,
...
but linking tincd does not work yet (must link with openssl libs and
define some missing functions).
2000-10-11 22:01:02 +00:00
Guus Sliepen
6e39481d8f
- Generalized config file parsing to support multiple configuration trees.
2000-10-11 13:42:52 +00:00
Guus Sliepen
451e9e3e7a
- Changed genauth to produce rsa keypairs instead of random passphrases.
2000-10-11 12:07:27 +00:00
Guus Sliepen
950fb8e916
Big and bad commit of my current tree...
...
- Added seperate file for connection list handling
- Updating everything to use connlist, meta and subnet files
- Removed dependency on libgmp
- Lots of other stuff...
2000-10-11 10:35:17 +00:00
Guus Sliepen
2228b16159
- Added subnet handling code
...
- Other small changes to header files
2000-10-01 03:21:49 +00:00
Guus Sliepen
c78a204f06
- Added meta.c which contains functions to send, receive and broadcast
...
metadata. It will also handle encryption and decryption, and possibly
compression and checksumming.
- Moved request dispatcher to protocol.c.
2000-09-26 14:06:11 +00:00
Guus Sliepen
361690b18c
- Removed options "string" stuff. It was a bad idea...
...
- free() everything that is allocated.
2000-09-22 16:20:07 +00:00
Guus Sliepen
5afc1e98f4
- Severe code reduction and simplification of challenge requests
...
- "Finished" [add|del]_subnet_h
- Added lots of sanity checks to [add|del]_host_h
2000-09-22 15:06:28 +00:00
Guus Sliepen
5d0b3516d5
- Updated authentication scheme.
...
- Removed all trailing spaces from all lines.
- Added things to add_ and del_subnet_h.
2000-09-17 21:42:05 +00:00
Ivo Timmermans
7f3ab38c22
Second round of fixes
2000-09-15 12:58:40 +00:00
Ivo Timmermans
ed397b6ac6
First round of needed fixes after the overhaul
2000-09-14 21:51:21 +00:00
Ivo Timmermans
296171d115
New directive: Name.
2000-09-14 14:34:38 +00:00
Ivo Timmermans
d335c6d0d7
Added some structures and types that are needed for the overhaul.
2000-09-14 14:32:34 +00:00
Guus Sliepen
c04c84c980
- Lots of small changes.
2000-09-14 11:54:51 +00:00
Guus Sliepen
9c75350ac6
- Fixed modulo in keylength check
...
- Updated header file to reflect new protocol code
2000-09-11 10:05:35 +00:00
Guus Sliepen
76b5f255c6
- Some key exchange stuff. (Last commit before going to bed.)
2000-09-10 23:11:37 +00:00
Guus Sliepen
675ed08a71
- Lots of functions added for the new protocol.
2000-09-10 22:49:46 +00:00
Ivo Timmermans
9926dae464
Add Guus' name and shift out old protocol requests
2000-09-10 21:57:11 +00:00
Guus Sliepen
6b9ec9ed1e
- Added more function skeletons for the new protocol.
2000-09-10 16:15:35 +00:00
Guus Sliepen
28cc301595
- New protocol. Will break everything else for now.
2000-09-10 15:18:03 +00:00
Guus Sliepen
4dde583bc9
- Use strerror() instead of sys_errlist[] for increased portability
...
(Needed for SunOS)
2000-09-06 11:49:05 +00:00
Guus Sliepen
5c78e158d4
Commented on some size calculations.
2000-08-18 11:17:09 +00:00
Guus Sliepen
3831f51a53
Fixed all sprintf() spl01ts.
2000-08-17 16:51:08 +00:00
Guus Sliepen
9acd4379f7
- Added two extra configuration options, Interface and InterfaceIP, to
...
bind the listen socket to a network device or a specific IP.
2000-08-09 14:02:16 +00:00
Guus Sliepen
f6d79366b3
- Reinstated O_NONBLOCK for meta socket
...
- Set SO_KEEPALIVE on meta socket
2000-08-09 09:34:21 +00:00
Guus Sliepen
3cfc9424f2
- Moved TCP packet reception to meta handler: less kludgy and less buggy!
2000-08-08 17:07:48 +00:00
Guus Sliepen
e092d15be1
- Added date/time of build and protocol number to --version output.
2000-08-08 14:54:57 +00:00
Guus Sliepen
ff87f385c3
Removed calling add_queue for tcponly packets.
2000-08-08 13:47:57 +00:00
Guus Sliepen
ac73c72488
Fixed PACKET read loop.
2000-08-08 08:48:50 +00:00
Guus Sliepen
b6997b0050
- Lots o' buglets fixed (-Wall helps)
...
- Made TCPonly work :)
2000-08-07 16:27:29 +00:00
Guus Sliepen
fdc6a2f106
- Added experimental hackish tunneling-over-TCP support.
...
Just use TCPonly = true in the configuration file.
2000-08-07 14:52:16 +00:00
Guus Sliepen
42455e97a0
- Fixed typo.
2000-07-02 13:40:57 +00:00
Guus Sliepen
b1ecbf9777
- Delayed address resolving for ConnectTo lines in configuration file to
...
allow DynDNS to work without restarting tincd.
2000-07-02 13:36:18 +00:00
Guus Sliepen
1b28f88808
- Removed a single unused bit from status_bits_t.
2000-07-01 07:49:21 +00:00
Guus Sliepen
1a1ebefd57
- Made tinc even more silent if no -d flag is given at all.
2000-06-30 21:03:51 +00:00
Guus Sliepen
c5737583c8
- Instead of logging an error when remote end closes the connection,
...
we print a nice message if appropiate debug level is set.
- If we get ADD_HOSTs or DEL_HOSTs for ourself, then connection lists
are really messed up. We restart, and hope our problems go away.
2000-06-30 12:41:06 +00:00
Guus Sliepen
24874d0806
- Removed segfault bug in conf.c (must have been there for ages!)
...
- Made main_loop() signal proof
- #defined MAXTIMEOUT (15 minutes)
- If something really really bad happens, close all connections, wait
for MAXTIMEOUT seconds, and then restart tinc
2000-06-30 11:45:16 +00:00
Guus Sliepen
0f9ad1f047
- Fixed memory leak.
...
- Implemented SIGHUP configuration file reloading.
- Other small changes.
2000-06-29 19:47:04 +00:00
Guus Sliepen
18c85caac3
- New semantics for BASIC_INFO, ADD_HOST and DEL_HOST requests. This will
...
improve connection list consistency, ensures the tree property, and
allows for recovery from situations where track of connections is lost.
2000-06-29 17:09:08 +00:00
Guus Sliepen
e8e7379311
- Removed all IP_ADDR_S macros, because gettext doesn't like them. Each
...
connection now has two hostnames: real_hostname (replacing the old),
and vpn_hostname. In those places where hostnames really aren't usefull
IP_ADDR_S has been replaced by %d.%d.%d.%d.
2000-06-29 13:04:15 +00:00
Guus Sliepen
3df9b89204
- Added log message when SIGCHLD is received ("thanks" to Ivo van Dong)
2000-06-28 14:34:40 +00:00
Guus Sliepen
8c6c60adf3
- Fixed a message in nl.po
...
- Woops, we forgot to send our connection list to our uplink when we
connect to it... Fixed.
2000-06-28 13:41:02 +00:00
Guus Sliepen
ea40d3f1a0
- Fixed some spelling errors.
...
- Paar zpelvautjes gerepareerd, en de Nederlandse vertaling weer bij de
tijd gebracht.
2000-06-28 11:38:01 +00:00
Guus Sliepen
dba2995db7
- Extra check op EINTR bij inlezen requests
2000-06-28 10:11:10 +00:00
Guus Sliepen
4ee53e7dac
- Fixes a silly little insignificant buglet.
2000-06-27 21:05:07 +00:00
Guus Sliepen
070ad08118
- Purge old connections that are ADD_HOSTed.
2000-06-27 20:55:12 +00:00