Sara Dickinson
8819d29535
Implement TCP fallback and hack for lack of sync idle timeout.
2015-06-24 18:49:34 +01:00
Sara Dickinson
c425f96e0b
Fix TLS handshake for sync messages.
2015-06-23 15:39:56 +01:00
Willem Toorop
5c01df226c
Init netreq dnssec status at netreq init time
2015-06-23 16:39:30 +02:00
Sara Dickinson
67e282edd1
More work on transport/upstream fallback. TLS and UDP fallback not working yet.... Probably need to maintain a current upstream for each transport to get this working properly
2015-06-22 18:02:28 +01:00
Sara Dickinson
57b163c790
Fix bug in STARTTLS timeout
2015-06-22 14:31:19 +01:00
Sara Dickinson
b73b5b2792
Fix some bugs...
2015-06-21 16:55:12 +01:00
Sara Dickinson
635cf9e182
Re-factor of internal handing of transport list.
2015-06-19 18:28:29 +01:00
wtoorop
d819bc901b
Merge pull request #104 from saradickinson/features/transport_api
...
Commit addition of transport list to the API.
2015-06-18 22:02:46 +02:00
Sara Dickinson
68dfb15706
Add context idle timeout
2015-06-18 17:11:11 +01:00
Sara Dickinson
8dd8d90e74
Commit addition of transport list to the API.
...
- set and get functions are added.
- Existing transport functions retained for backwards compatibility.
- Basic combinations work as before, but underlying functional changes and cleanup are not complete yet...
- Context level options for timeouts and max_transactions_per_tcp_connection coming soon...
2015-06-17 17:18:09 +01:00
Willem Toorop
39639a86c4
Make dname_equal reusable
...
+ some symbol renames
2015-06-16 16:11:51 +02:00
Willem Toorop
97f0dddb1e
remove ldns dependency from rr-dict.c
...
Only dnssec.c left
2015-06-12 13:51:36 +02:00
Willem Toorop
e820452aaa
Rm 2 outdated ldns usage cases
2015-06-11 11:21:12 +02:00
Willem Toorop
d5f70ab904
rm spurious execute bits +unit test to detect them
...
Thanks Paul Wouters
2015-05-26 14:16:27 +02:00
Sara Dickinson
894cb1555b
Fix intermittent crash for STARTTLS
2015-05-13 17:15:56 +01:00
Willem Toorop
98b3364b65
uniform debugging method + disable stub debugging
2015-05-13 12:47:17 +02:00
saradickinson
3ac5e660f9
Address few minor bugs pointed out by willem
2015-05-11 22:01:31 +02:00
Sara Dickinson
9a7bfdd45b
Add trivial stub_debug functions.
2015-05-03 15:39:21 +01:00
Sara Dickinson
9d967317d3
Improve the timeout handling for TLS.
2015-05-03 15:11:46 +01:00
Sara Dickinson
01adce8299
Organise code in stub.c and add some utility methods.
2015-05-02 18:08:45 +01:00
Sara Dickinson
d6d83b219d
Make sure UDP only uses 1 upstream per IP address. Fix a couple of other bugs.
2015-04-30 19:07:49 +01:00
Sara Dickinson
450a3bc6ff
Fix STARTTLS fallback.
2015-04-30 14:52:16 +01:00
Sara Dickinson
7905eda8b7
Some clean up of connection handling. Still a problem with STARTTLS fallback that needs fixing.
2015-04-30 12:24:13 +01:00
Sara Dickinson
79b3412fbf
Add another transport option as proof of concept for STARTTLS.
2015-04-29 19:20:25 +01:00
Sara Dickinson
b533bc59c5
Fix bug when fallback not available
2015-04-27 16:37:16 +01:00
Sara Dickinson
4e6e66fc77
Get sync messages working with new async code.
2015-04-27 15:32:57 +01:00
Sara Dickinson
3de15ad782
Change internal transport handling to use a list, not a fixed type
2015-04-24 16:29:08 +01:00
Sara Dickinson
f2ae55858f
First pass at making handshake async. Lots of issues with this code still
...
- timeouts are not being rescheduled on fallback
- several error cases are not being handled correctly (e.g. 8.8.8.8) and a user callback is not always called
- the fallback mechanism is not generic (specific to tls to tcp)
2015-04-23 17:46:31 +01:00
Sara Dickinson
6c7ffc4e4e
1) Fix enum mapping error.
...
2) Also add detection of TLS 1.2 in openssl during configure and warn that it if not available then TLS will not be available. Using TLS_ONLY in stub mode will then error with BAD_CONTEXT. TLS/TCP will fallback to TCP.
3) Explicitly disallow use of TLS_ONLY in RECURSIVE mode since it isn't supported yet. TLS/TCP will fallback to TCP.
4) Fix for MAC OS X build where openssl not linked correctly
2015-04-17 18:38:13 +01:00
Sara Dickinson
ab4fb8d9e9
Enable GETDNS_TRANSPORT_TLS_ONLY_KEEP_CONNECTIONS_OPEN for libunbound. Should only be used in stub mode.
...
GETDNS_TRANSPORT_TLS_FIRST_AND_FALL_BACK_TO_TCP_KEEP_CONNECTIONS_OPEN still just does TCP.
Also some tidy up of new transport types.
2015-04-17 15:50:08 +01:00
Sara Dickinson
99c1973fae
Cleanup of TLS code
2015-04-16 18:05:51 +01:00
saradickinson
99aa79b48f
First pass at TLS implementation - needs work!
2015-04-16 18:05:27 +01:00
Willem Toorop
3c816b0c86
Emberassing mistake (dont look)
2015-03-23 15:38:50 -05:00
Willem Toorop
19547536ac
arc4random in secret generation
2015-03-22 11:01:37 -05:00
Willem Toorop
d06d94a0c7
Merge branch 'arc4random' into release-0.1.7
...
Conflicts:
src/config.h.in
2015-03-22 10:55:03 -05:00
Willem Toorop
00f047816d
EDNS cookies processing as stub
2015-03-22 10:50:48 -05:00
Willem Toorop
4683208fd1
First go at using arc4random 4 random numbers
2015-03-21 04:41:25 -05:00
Willem Toorop
04e2d4c2c1
bugfix: on tcp read, realloc with *new* buffer sz
2015-02-12 12:05:10 +01:00
Willem Toorop
cd098f9429
bugfix: Dynamic max payload only when OPT present
2015-02-12 12:03:20 +01:00
Willem Toorop
f01ed133f5
ldns_wire2pkt at create_getdns_response time only
...
This break priv_get_validation_chain
2015-02-11 14:55:22 +01:00
Willem Toorop
9ed074e58d
set max_udp_payload_size 2 response size
2015-02-03 11:36:08 +01:00
Willem Toorop
b5a6fa8064
rm some obsolete includes in stub.c
2015-02-03 11:24:35 +01:00
Willem Toorop
545a83e1a6
netreq->response contains wire_data packet
2015-02-03 11:12:05 +01:00
Willem Toorop
f1b916aac8
Store wireformat queries in netreq's too
2015-02-03 10:46:44 +01:00
Willem Toorop
3f046cf573
Embed netreqs in dns_reqs and wire_data in netreqs
...
TODO: make sure the wire_data buffer is filled with the response
2015-01-29 12:30:40 +01:00
Willem Toorop
736f5ff157
No executable flags on source files
...
Thanks Paul Wouters
2015-01-20 12:16:49 +01:00
saradickinson
593670f524
Removing debug statement (blush)
2014-11-07 20:17:03 -10:00
saradickinson
0680e1144f
Add detection of TFO support during configure
2014-10-28 17:51:49 +00:00
saradickinson
9d7d9997df
TCP fast open support (linux only). Enabled with --enable-tcp-fastopen configure option.
2014-10-28 17:51:49 +00:00
Willem Toorop
d92dc8b460
edns_do_bit defaults to 0 with stub
...
And better handling of including OPT RR in stub query
2014-10-28 14:32:29 +01:00
Willem Toorop
35c58cc598
set payload size < 512 to 512 with extensions too
2014-10-27 19:26:15 +01:00
Willem Toorop
f633886cbf
recv, write and sendto return ssize_t
2014-10-24 23:12:28 +02:00
saradickinson
c5d63ed9d7
Fix 2 small bugs with resending tcp data
2014-10-24 14:38:22 +00:00
Willem Toorop
d03a22ba62
fix: stub udp max_udp_size > 4096 support
2014-10-23 15:17:54 +02:00
Willem Toorop
6f6b8e65a2
Stub edns0 payload 1232 for IPv6 and 1432 for IPv4
2014-10-23 14:30:23 +02:00
Willem Toorop
07848b20ff
fix: add OPT to query when just options specified
2014-10-23 13:55:37 +02:00
Willem Toorop
2d77d02084
Fallback to TCP when TC bit is set
...
with stub queries...
2014-10-21 00:17:57 +02:00
Willem Toorop
ae8105bd78
Bugfix event handling with sync TCP pipelining
2014-10-20 23:51:05 +02:00
Willem Toorop
e9548fc5fb
Fix for TCP stub mode
...
Stupid mistake.
One can not clear an freshly "cleared" initialized event!
2014-10-19 22:51:42 +02:00
Willem Toorop
fa02e3ae70
Fix timeout issue with async stub TCP pipelining
2014-10-19 08:08:45 +02:00
Willem Toorop
fc6e583b4b
Stub TCP pipelining
...
TODO: Resolve issue with timeouts in async pipelining mode.
2014-10-18 14:32:55 +02:00
Willem Toorop
181d8cd3f4
stub tcp lookups
...
And the foundation for tcp keep connections open
2014-10-18 00:25:41 +02:00
Willem Toorop
623c9b04a5
Retry stub with different upstream after timeout
...
Backing off the broken upsteams so they are tried again (increasingly less)
2014-10-16 14:24:13 +02:00
Willem Toorop
bd01b0b83e
write callback for stub requests
...
which is nice for scheduling retries etc.
2014-10-15 23:57:24 +02:00
Willem Toorop
9d1ad9d110
Respond correctly to non-blocking events
2014-10-15 23:32:33 +02:00
Willem Toorop
124de13caa
Initialize udp socket nonblocking
2014-10-15 23:28:59 +02:00
Willem Toorop
a0cb4e1774
Move stub resolving to stub.c again
...
Merged hostname.c and service.c in general so that getdns_general_ns can become static.
Removed specialized synchronous handling from return_validation_chain code.
Removed un_timed_resolve (specialized sync handling is not needed anymore)
Renamed inter-object file symbols to priv_<name> and made intra-object symbols static as much as possible.
2014-10-15 23:04:39 +02:00
Willem Toorop
ee316741ac
Async stub resolver using crafted packets
2014-10-15 15:12:16 +02:00
Willem Toorop
a1be0c985d
Miscelaneous fixes that came out of the unit tests
...
TODO: libuv still has issues. Do we really need a close callback?
2014-10-15 01:13:39 +02:00
Willem Toorop
3ee930d44e
Stub resolving with the libmini_event extension
2014-10-13 15:37:45 +02:00
Willem Toorop
a9d37df6b8
Preliminary timeout implementation for stubs
2014-10-06 15:31:56 +02:00
Willem Toorop
1c6ce72f74
Parse /etc/resolv.conf ourselves
...
At the ame time IPv6 local-link scope_id support
2014-09-30 15:12:48 +02:00
Willem Toorop
ad127c9e56
delete a space
2014-09-29 14:41:49 +02:00
Willem Toorop
f9046275c1
Initial send and receive a simple udp packet
2014-09-27 01:07:42 +02:00
Willem Toorop
4daa944e9e
Dnssec extensions set the do bit
2014-09-24 12:29:08 +02:00
Willem Toorop
e598f64e80
gldns _buf support + add_opt_parameters extension
2014-09-16 15:43:20 +02:00
Willem Toorop
26578220af
Make wire format query packet function
2014-09-09 17:19:52 +02:00