Commit graph

337 commits

Author SHA1 Message Date
Erik Ekman 23fad5b628 Downstream fragmentation now working. Currently fragment size is hardcoded to 1200. More tweaking left, as well as fragsize auto detection. (#7) 2012-02-04 20:33:59 +01:00
Erik Ekman 78ae87ebc8 Discard packets which only has data header 2012-02-04 20:33:59 +01:00
Erik Ekman cc17083222 add downstream data header and basic parsing in client, for #7 2012-02-04 20:33:59 +01:00
Erik Ekman 3ed5f7e674 Create send_chunk() on server 2012-02-04 20:33:59 +01:00
Erik Ekman 43c438971b Allow setting netmask in iodined, fixes #27. The same netmask will be given to clients as well. Updated docs. 2012-02-04 20:33:59 +01:00
Erik Ekman c7fa4ddde2 Assign client IPs within the network (fixes #28), also limit number of users depending on netmask (for #27) 2012-02-04 20:33:59 +01:00
Erik Ekman a5031ee9dd Happy new year 2012-02-04 20:33:59 +01:00
Erik Ekman 62824e92ed Handle trans id >= 0x8000, fix bug #37 2012-02-04 20:33:58 +01:00
Erik Ekman 09c904f0c1 make OUT debug look more like IN debug 2012-02-04 20:33:58 +01:00
Erik Ekman 45d0708306 Fix for compile error on FreeBSD 2012-02-04 20:33:58 +01:00
Erik Ekman 85e75cadea make iodined build on opensolaris 2012-02-04 20:33:58 +01:00
Erik Ekman cc075124fa Detect duplicates in upstream data, start frag at zero 2012-02-04 20:33:58 +01:00
Erik Ekman 8d27febc7d Implemented new protocol for upstream data 2012-02-04 20:33:58 +01:00
Erik Ekman 2c4c5ec1ba Added simple 5bits to 8 and reverse encoder, with test 2012-02-04 20:33:58 +01:00
Erik Ekman 9ff6683119 Removing old code 2012-02-04 20:33:58 +01:00
Erik Ekman 37b7a9fade Added notreached 2012-02-04 20:33:58 +01:00
Erik Ekman 8a093efa59 Reverted new protocol 2012-02-04 20:33:58 +01:00
Erik Ekman 7eb7c02e5f Updated encoding tests 2012-02-04 20:33:58 +01:00
Erik Ekman e5f8b28813 Added blocksize funcs, made funcs static 2012-02-04 20:33:58 +01:00
Erik Ekman ae942ac542 Revert client shutdown code, it seems BADIP can arrive even though everything works 2012-02-04 20:33:58 +01:00
Erik Ekman b36ed27117 Added -n to set NS ip, updated docs, added checks 2012-02-04 20:33:58 +01:00
Erik Ekman e7fdb0a5f5 Reverted [686], [689] and [692]. SSH login now works again. Increased version. 2012-02-04 20:33:58 +01:00
Erik Ekman 3f579d2d39 Rename codecs 2012-02-04 20:33:58 +01:00
Erik Ekman d7f2d60d56 Use base64 is case is preserved and plus sign is allowed 2012-02-04 20:33:58 +01:00
Erik Ekman 33c1efb9ca Base64 codec now uses + as 64th char 2012-02-04 20:33:58 +01:00
Erik Ekman 8769d14cde rewrote strange message 2012-02-04 20:33:58 +01:00
Erik Ekman b5cdb09011 Added debugging 2012-02-04 20:33:58 +01:00
Erik Ekman 9d3f87ddcc Fix issue #33, respond to NS requests 2012-02-04 20:33:57 +01:00
Erik Ekman f4cd876ace shorten some lines 2012-02-04 20:33:57 +01:00
Erik Ekman b38293c11b Stop client if server is restarted 2012-02-04 20:33:57 +01:00
Erik Ekman bd45e6ccb2 formatting 2012-02-04 20:33:57 +01:00
Erik Ekman 49695a4cb4 Updated year 2012-02-04 20:33:57 +01:00
Erik Ekman 26cc53e3fa added include for iovec 2012-02-04 20:33:57 +01:00
Erik Ekman 35a8ffe46d Now fetches destination address from udp packets 2012-02-04 20:33:57 +01:00
Erik Ekman 02d40c1a7b Forward non-tunnel requests to another udp port (fixes #31) 2012-02-04 20:33:57 +01:00
Francois Revol ec2d6657a0 Patch to make it build on BeOS R5-BONE and Haiku 2012-02-04 20:33:57 +01:00
Erik Ekman d24dae882a Implemented filtering based on topdomain 2012-02-04 20:33:57 +01:00
Erik Ekman a07187a629 Eliminate extra 'ping' message when server sends data to client which generates a reply 2012-02-04 20:33:57 +01:00
Erik Ekman c82280c600 Fix #34, send pings only every 5 seconds 2012-02-04 20:33:57 +01:00
Erik Ekman 166fb4b6c7 Fixed segfault when sending version rejects: VNAK/VFUL 2012-02-04 20:33:57 +01:00
Erik Ekman fbaccb2f53 Changed texts 2012-02-04 20:33:57 +01:00
Erik Ekman 3fc9eaeaa3 Improved latency for traffic initiated from server 2012-02-04 20:33:57 +01:00
Erik Ekman 110866d76b fixed osflags script, updated changelog 2012-02-04 20:33:57 +01:00
Erik Ekman c01f42fd0f fix opensolaris warning 2012-02-04 20:33:57 +01:00
Erik Ekman 21ad2ef5ae added -D to usage() and help() 2012-02-04 20:33:57 +01:00
Erik Ekman 025fb1bf1f Added debug capability on server 2012-02-04 20:33:57 +01:00
Erik Ekman 539ebb27d9 Changes to allow handling of queries of type A, NS etc 2012-02-04 20:33:57 +01:00
Erik Ekman f06b208f3e Reworked fix for #21 2012-02-04 20:33:57 +01:00
Erik Ekman 0d3494ae78 Added -c flag to disable IP/port checking in each request 2012-02-04 20:33:57 +01:00
Erik Ekman 3c3cddee67 Remove double warnings 2012-02-04 20:33:57 +01:00
Erik Ekman 081b5b3330 Add extra ldflags for solaris 2012-02-04 20:33:57 +01:00
Albert Lee cd91d675ae Applied Open/Solaris patch 2012-02-04 20:33:57 +01:00
Erik Ekman 03a0ccbca0 Add include for setgroups() on Linux 2012-02-04 20:33:57 +01:00
Andrew Griffiths 00c910e247 applied security patch from Andrew Griffiths, limit user groups 2012-02-04 20:33:56 +01:00
Vincent Bernat a36ce9eaaf Applied patch for not configuring the tun interface, debian bug 477692 2012-02-04 20:33:56 +01:00
Erik Ekman 791c3de84c reapplied maxims patches 2012-02-04 20:33:56 +01:00
Erik Ekman 11c53199cf removed empty files 2012-02-04 20:33:56 +01:00
Erik Ekman 07e98f181c reverting the code after 0.4.1, except for some patches 2012-02-04 20:33:56 +01:00
Maxim Bourmistrov ccdee286ad Added port range check, based on patch from Maxim Bourmistrov 2012-02-04 20:33:56 +01:00
Maxim Bourmistrov 7565a2d554 Added checks on topdomain name based on patch from Maxim Bourmistrov 2012-02-04 20:33:56 +01:00
Maxim Bourmistrov db58f8de20 Applied patch from Maxim Bourmistrov 2012-02-04 20:33:56 +01:00
Erik Ekman 1f69a1b61e Reset sentlen when advancing 2012-02-04 20:33:56 +01:00
Erik Ekman dcfa910d1c #7 Actually update server_id 2012-02-04 20:33:56 +01:00
Erik Ekman 052fc83bdc Always send latest chunk id 2012-02-04 20:33:56 +01:00
Erik Ekman 924f4b3759 Add two chars from client to server for verification of data delivery 2012-02-04 20:33:56 +01:00
Erik Ekman d50533e26e Rewrote strange warning message 2012-02-04 20:33:56 +01:00
Erik Ekman 8613f815c9 Use packet functions for packet handling. Prepare for sending fragmented ( #7 ) 2012-02-04 20:33:56 +01:00
Erik Ekman 5b07cdd057 Remove useless success warning message 2012-02-04 20:33:56 +01:00
Erik Ekman b67819ac81 use packet functions for empty check and fill 2012-02-04 20:33:56 +01:00
Erik Ekman a114ab3ff9 revert [607], [608] and parts of [611] 2012-02-04 20:33:56 +01:00
Erik Ekman 468844b0a9 Fixed packet_empty() 2012-02-04 20:33:56 +01:00
Erik Ekman 3c644e9a88 Renamed packet_sending to packet_empty 2012-02-04 20:33:56 +01:00
Erik Ekman f23badc9bf Speling 2012-02-04 20:33:56 +01:00
Erik Ekman 3748056240 Added packet_init 2012-02-04 20:33:56 +01:00
Erik Ekman 3c7d3c6a35 Extract login handling to function 2012-02-04 20:33:56 +01:00
Erik Ekman 998b944225 Extract version checking to function 2012-02-04 20:33:56 +01:00
Erik Ekman bebdb6086b added license 2012-02-04 20:33:56 +01:00
Erik Ekman bc5f0a7fb7 #7 Move packet handling out of iodine.c and into packet.c 2012-02-04 20:33:56 +01:00
Erik Ekman dc5138bc55 packet name collided with global packet 2012-02-04 20:33:56 +01:00
Erik Ekman 5ebc9ee668 Add notreached comments 2012-02-04 20:33:56 +01:00
Erik Ekman 2df8875fcb Add notreached comments 2012-02-04 20:33:56 +01:00
Matthew William Solloway Bell fcec74b3dc apply patch to detach before chroot/privdrop 2012-02-04 20:33:55 +01:00
Jim 1188572a12 Use %d for size_t sprintf 2012-02-04 20:33:55 +01:00
Matus Harvan 4a16503ea5 buffer overflow in dns.c pointed out by Matus Harvan, also strncpy cleanups 2012-02-04 20:33:55 +01:00
Bjorn Andersson 63fa76e182 local stuff in iodine made static 2012-02-04 20:33:55 +01:00
Bjorn Andersson 879e73a4c2 stdin-echo fix in server too 2012-02-04 20:33:55 +01:00
Erik Ekman 71973f13ef #21: Reverted [538], reopening 2012-02-04 20:33:55 +01:00
Bjorn Andersson 89232bcaa6 some cleanup 2012-02-04 20:33:55 +01:00
Bjorn Andersson 060c2e3faa name the address of the nameserver nameserv instead of peer 2012-02-04 20:33:55 +01:00
Bjorn Andersson 1965b0af32 cleaning commandline on server too 2012-02-04 20:33:55 +01:00
Bjorn Andersson 3d07361678 fixes bad printf after resolv.conf-fix 2012-02-04 20:33:55 +01:00
Bjorn Andersson 49ad0dbc86 nasty hack hides password on commandline 2012-02-04 20:33:55 +01:00
Bjorn Andersson 13df3ca856 use termios to not echo password when entered on stdin 2012-02-04 20:33:55 +01:00
Erik Ekman 810bb39899 #23 updated manpage and log row 2012-02-04 20:33:55 +01:00
Bjorn Andersson e16a852fa4 /etc/resolv.conf is used if no nameserver is given on commandline 2012-02-04 20:33:55 +01:00
Erik Ekman f932e57ce6 #25 Fixed crash on query with bad top domain 2012-02-04 20:33:55 +01:00
Erik Ekman 285a412563 #16 Do case preservation check after login 2012-02-04 20:33:55 +01:00
Erik Ekman 861da5d022 #24: Add length check on topdomain, <= 128 chars 2012-02-04 20:33:55 +01:00
Erik Ekman 25e51c666a use common send_query function 2012-02-04 20:33:55 +01:00
Erik Ekman e8b2310fae converted iodine.c to use packet struct 2012-02-04 20:33:55 +01:00
Erik Ekman fc3de73f85 fixed #17: report RCODE error msgs 2012-02-04 20:33:55 +01:00
Erik Ekman fe4f24a729 Store only in_addr, not whole sockaddr, fixes #21 2012-02-04 20:33:55 +01:00
Erik Ekman 1e895fa713 Prepare for encoding switching 2012-02-04 20:33:55 +01:00
Erik Ekman 9cd33b53c7 remove last warning on osx 2012-02-04 20:33:55 +01:00
decker df926094a5 add patch from decker for osx 2012-02-04 20:33:38 +01:00
Erik Ekman d62b1562ed Remove warning for \!LINUX 2012-02-04 20:33:34 +01:00
decker 2146575090 add sys/time.h for old osx 2012-02-04 20:33:27 +01:00
Erik Ekman 331e1ab247 more comments 2007-06-10 23:13:07 +00:00
Erik Ekman ba8f2cfac1 base64 impl now escapes dots. does not really respect buflen 2007-06-10 18:55:18 +00:00
Erik Ekman 82ac77da7e missing include 2007-06-10 18:54:35 +00:00
Erik Ekman 7c53be08c0 added base64 codec 2007-06-09 17:49:19 +00:00
Erik Ekman 1e7486bdd2 make sure len is always correct 2007-06-09 17:48:28 +00:00
Erik Ekman 77ae2d682a Added me as author 2007-06-09 17:11:09 +00:00
Erik Ekman f099a77743 move unpack_data to encoding.c 2007-06-09 16:38:31 +00:00
Erik Ekman dbfecb5be6 #6 reworked encoding 2007-06-09 16:18:59 +00:00
Erik Ekman faea33eaae Move dns_build_hostname to iodine.c 2007-06-07 18:57:18 +00:00
Erik Ekman 15a83534a8 new year 2007-03-21 00:00:27 +00:00
Erik Ekman 6a4dfb8cbd do detaching after user switch 2007-03-01 21:41:17 +00:00
Erik Ekman 264a5227de move daemonizing to common.c 2007-03-01 21:19:01 +00:00
Erik Ekman baf1ab4201 move chrooting to common.c 2007-03-01 21:14:51 +00:00
Erik Ekman 53f6cb2f85 compare with VNAK instead of VACK twice 2007-03-01 15:34:04 +00:00
Erik Ekman 76ec4ab895 #11 routing between clients implemented. clients need to poll more often to get reasonable packetloss due to no queue 2007-02-11 16:39:09 +00:00
Erik Ekman ad07e40988 Use -pedantic, fixed all warnings 2007-02-11 13:54:40 +00:00
Erik Ekman 92a791f430 always send replys to P packets 2007-02-11 13:39:32 +00:00
Erik Ekman 08ecccc7fe #11 only read from tun if any active user is not sending 2007-02-11 11:51:30 +00:00
Erik Ekman 23ad29522b #11 moved user code to user.c 2007-02-11 11:21:18 +00:00
Erik Ekman 265332f39b Add header file for bsd 2007-02-11 10:47:31 +00:00
Erik Ekman c6a67d340e Use bsd ip.h header instead 2007-02-11 10:42:57 +00:00
Erik Ekman b56a4d23f5 #11 Fix delayed ack timer 2007-02-11 01:30:41 +00:00
Erik Ekman 8d766e2857 #11 basic support for multiple users. some work left 2007-02-11 00:50:02 +00:00
Bjorn Andersson 7994402806 added explicit typecast on zlib-calls to silence compiler warnings 2007-02-10 23:23:08 +00:00
Bjorn Andersson 3b8ca164ab readded some includes to make it build on openbsd 2007-02-10 23:21:12 +00:00
Bjorn Andersson eb082ac9ce code cleanup 2007-02-10 22:52:36 +00:00
Bjorn Andersson 757f59e350 checking return value from decompress, to avoid sending 64k packages on the tun every time there is a datacorruption 2007-02-10 22:52:15 +00:00
Bjorn Andersson 16e9df4164 moved method that encoded strings to dnsnames to read.c and renamed it to putname 2007-02-10 22:30:40 +00:00
Bjorn Andersson c538bd0b6d the seed wasnt saved in the server between it was sent to the client and the client logged in, extracted function for sending version_responses 2007-02-10 22:17:11 +00:00
Erik Ekman a49e400ea9 splint said that these headers where not used 2007-02-10 22:13:42 +00:00
Bjorn Andersson 8383344817 knf 2007-02-10 21:44:03 +00:00
Bjorn Andersson 3dad84f5b9 some code cleanup in handshake, fixes possibly strange errors if short packet received 2007-02-10 17:10:17 +00:00
Erik Ekman 3a3b06b4b4 Add password in usage 2007-02-10 12:36:08 +00:00
Erik Ekman 0e951ef007 #10 fix offbyone error in decode 2007-02-08 20:32:17 +00:00
Erik Ekman 7d7a81374e Fix returnvalue from decode 2007-02-08 19:45:59 +00:00
Bjorn Andersson 0d08be747f knf 2007-02-06 16:01:09 +00:00
Erik Ekman 9355cd7829 #10 fixed basic ack. pings bigger than 110 still lost 2007-02-05 19:44:46 +00:00
Erik Ekman 9b438c20d4 #3 remove dnsd_send from dns.c, move to iodined.c 2007-02-05 17:49:30 +00:00
Erik Ekman 1cba145310 #3 Clean up headerfile 2007-02-05 17:49:01 +00:00
Erik Ekman cb66fd68a2 #3 Renamed functions 2007-02-05 17:40:06 +00:00
Bjorn Andersson db62c7f82c extracted common code from send_* in iodine.c 2007-02-04 23:12:08 +00:00
Erik Ekman da636b1f47 #3 fix issue with topdomain. Also make sure ping packet is type NULL 2007-02-04 23:08:09 +00:00
Bjorn Andersson 46d3053540 servern now get a topdomain other than NULL 2007-02-04 22:38:07 +00:00
Bjorn Andersson b45dc25226 #3 major cleanup on client, moved all network code from dns.c to iodine.c 2007-02-04 20:37:36 +00:00
Erik Ekman 728919fc9a #5 Add checks on incoming queries 2007-02-04 17:22:07 +00:00
Bjorn Andersson 7207d722b4 extracted tunnel-code to own functions 2007-02-04 17:00:20 +00:00
Erik Ekman 2ee543f053 Use unsigned long in zlib functions 2007-02-04 16:06:53 +00:00
Erik Ekman c5317fe388 #3 move dnsd_read from dns.c to iodined.c, now named read_dns 2007-02-04 15:46:06 +00:00
Bjorn Andersson 064d060f79 fixed type of length that zlib is given 2007-02-04 15:38:28 +00:00
Bjorn Andersson b1d7bfb634 #4 added the common-files 2007-02-04 15:22:55 +00:00
Bjorn Andersson 692b595cfc #4 - moved common stuff to common.c and moved open_dns, close_dns there 2007-02-04 15:21:55 +00:00
Erik Ekman 8c7fb4d947 #1 move saving of client ip 2007-01-31 19:34:27 +00:00
Erik Ekman fa2ca99b8a Fix signedness warnings 2007-01-28 12:58:23 +00:00
Erik Ekman 4f1c123c8e Fixed signedness in login.c 2007-01-28 12:54:16 +00:00
Erik Ekman 2127ea784f fix signedness and cleanup 2007-01-28 12:50:24 +00:00
Erik Ekman 59b7f5502f dont export the peer 2007-01-28 12:36:34 +00:00
Bjorn Andersson ef43ef6293 query is now an enum for compile-time checks 2007-01-28 12:31:04 +00:00
Erik Ekman 1a46808b8a Rework query testcase, some dns cleanup 2007-01-28 11:52:36 +00:00
Erik Ekman 89c99f1ddf Use dns_decode for packets from client 2007-01-28 06:47:51 +00:00
Erik Ekman d1c36f3db4 Added dns_decode test for response 2007-01-28 06:11:54 +00:00
Bjorn Andersson 5beb814d8c refactoring client receive code 2007-01-28 06:00:50 +00:00
Erik Ekman d1ffedae43 Added test on dns_encode 2007-01-28 05:37:13 +00:00
Bjorn Andersson e56074b42a refactoring dns, ripped out dns packet generating code, removing dependency on io 2007-01-28 05:10:19 +00:00
Erik Ekman c10fa59bbb Fix speling 2007-01-28 04:31:19 +00:00
Erik Ekman dc5e95ee3d Make variables static 2007-01-28 04:30:43 +00:00
Erik Ekman 59b85a87a3 State arch 2007-01-28 04:17:33 +00:00
Erik Ekman 1edd418ca2 Header files for htonl 2007-01-28 04:13:14 +00:00
Erik Ekman eed9e7063d Fix login_calculate on wrong endian 2007-01-28 04:10:37 +00:00
Bjorn Andersson ac1cb81dec fixed memleak on failure 2007-01-28 02:01:39 +00:00
Bjorn Andersson 90e47bbf8b borken length in allocation, now fixed 2007-01-28 01:39:19 +00:00
Bjorn Andersson 0c8e398941 base32 now correct and test cleanup 2007-01-28 01:07:51 +00:00
Bjorn Andersson f3da9d2d85 separated md5 and login 2006-12-16 01:07:29 +00:00
Bjorn Andersson 13a17af72d added new base32-implementation, work has to be done to incoorp this into encoding 2006-12-16 00:12:06 +00:00
Erik Ekman 5641fa00e4 use srand() 2006-11-19 00:41:42 +00:00
Erik Ekman bb39c17bd9 forgot version.h 2006-11-18 16:21:47 +00:00
Erik Ekman cf3ca7e5d0 Check ip address of incoming packet 2006-11-18 16:19:39 +00:00
Erik Ekman 1c7f63e97a Fixed password authentication 2006-11-18 16:08:47 +00:00
Erik Ekman 8b81909b5b Fixed tests 2006-11-18 13:37:37 +00:00
Erik Ekman 6fc460ded6 server port warning message 2006-11-12 22:43:03 +00:00
Bjorn Andersson 1f740de4aa moving files to src and tests, tests disabled 2006-11-09 19:08:28 +00:00