netresolve.git
10 years agonss: avoid leaking allocate memory
Pavel Šimerda [Thu, 17 Sep 2015 20:34:19 +0000 (22:34 +0200)]
nss: avoid leaking allocate memory

10 years agoubdns: avoid leaking allocated memory
Pavel Šimerda [Wed, 16 Sep 2015 19:26:58 +0000 (21:26 +0200)]
ubdns: avoid leaking allocated memory

10 years agocore: avoid leaking allocated memory
Pavel Šimerda [Wed, 16 Sep 2015 20:56:04 +0000 (22:56 +0200)]
core: avoid leaking allocated memory

10 years agobuild: make ldns optional
Pavel Šimerda [Tue, 15 Sep 2015 11:11:46 +0000 (13:11 +0200)]
build: make ldns optional

10 years agobuild: fix backend conditionals
Pavel Šimerda [Tue, 15 Sep 2015 09:34:05 +0000 (11:34 +0200)]
build: fix backend conditionals

10 years agotools: display a useful quick help
Pavel Šimerda [Mon, 14 Sep 2015 21:54:51 +0000 (23:54 +0200)]
tools: display a useful quick help

10 years agotrivial: rename `free_user_data` to `cleanup`
Pavel Šimerda [Tue, 8 Sep 2015 14:58:32 +0000 (16:58 +0200)]
trivial: rename `free_user_data` to `cleanup`

10 years agoevent: allow zero timeouts
Pavel Šimerda [Tue, 8 Sep 2015 14:50:15 +0000 (16:50 +0200)]
event: allow zero timeouts

10 years agoquery: don't return boolean from dispatch-style functions
Pavel Šimerda [Tue, 8 Sep 2015 14:15:55 +0000 (16:15 +0200)]
query: don't return boolean from dispatch-style functions

10 years agoquery: refactor event handling and simplify backend API
Pavel Šimerda [Thu, 3 Sep 2015 09:05:43 +0000 (11:05 +0200)]
query: refactor event handling and simplify backend API

 * Event API is now callback based
 * Backend API is simplified to a single function per query mode

These changes lead to much more readable query and backend code
and reduces backend entry points to actual name resolution functions,
i.e. `query_forward()`, `query_reverse()` and `query_dns()`.

10 years agosocket: fixup unintentional priority timeout change
Pavel Šimerda [Tue, 25 Aug 2015 13:50:08 +0000 (15:50 +0200)]
socket: fixup unintentional priority timeout change

10 years agosocket: refactor socket code
Pavel Šimerda [Mon, 27 Jul 2015 17:02:09 +0000 (19:02 +0200)]
socket: refactor socket code

Add support for connecting to the next available socket.

10 years agotools: support `--ping` option
Pavel Šimerda [Fri, 3 Jul 2015 21:35:31 +0000 (23:35 +0200)]
tools: support `--ping` option

10 years agobackends: add avahi support
Pavel Šimerda [Wed, 19 Aug 2015 12:46:41 +0000 (14:46 +0200)]
backends: add avahi support

10 years agoquery: refactor event handling
Pavel Šimerda [Wed, 19 Aug 2015 12:42:12 +0000 (14:42 +0200)]
query: refactor event handling

10 years agocompat: harmonize getaddrinfo null serviname with glibc
Pavel Šimerda [Mon, 13 Jul 2015 16:15:03 +0000 (18:15 +0200)]
compat: harmonize getaddrinfo null serviname with glibc

10 years agobuild: improve dependency handling
Pavel Šimerda [Wed, 19 Aug 2015 12:35:31 +0000 (14:35 +0200)]
build: improve dependency handling

10 years agolarger scale refactoring
Pavel Šimerda [Tue, 20 Jan 2015 17:26:20 +0000 (18:26 +0100)]
larger scale refactoring

10 years agodon't abort on bad poll events
Pavel Šimerda [Wed, 28 Jan 2015 11:27:00 +0000 (12:27 +0100)]
don't abort on bad poll events

10 years agofix up rrcode after libunbound for empty answer
Pavel Šimerda [Wed, 28 Jan 2015 11:18:06 +0000 (12:18 +0100)]
fix up rrcode after libunbound for empty answer

This libunbound issue broke the following test:

    ./netresolve --node 1:2:3:4:5:6:7:8%999999x

It returned different results on different runs because libunbound
sometimes returned rcode=0 rr_count=0.

10 years agoupdate README
Pavel Šimerda [Thu, 15 Jan 2015 16:49:41 +0000 (17:49 +0100)]
update README

10 years agorefactor nonblocking API
Pavel Šimerda [Thu, 15 Jan 2015 16:47:29 +0000 (17:47 +0100)]
refactor nonblocking API

10 years agocore: rename channel to context
Pavel Šimerda [Mon, 12 Jan 2015 15:34:17 +0000 (16:34 +0100)]
core: rename channel to context

It is done to reflect the remarkable change in netresolve architecture
where most active code has been moved from the channel to the query, so
that now the former channel is nothing more than a minimal context
object that holds configuration, callbacks and very minimal runtime
data.

10 years agocli: set log level to *error* by default
Pavel Šimerda [Sun, 28 Dec 2014 22:17:22 +0000 (23:17 +0100)]
cli: set log level to *error* by default

10 years agowrapresolve: support --backends option
Pavel Šimerda [Sun, 28 Dec 2014 22:17:13 +0000 (23:17 +0100)]
wrapresolve: support --backends option

10 years agouse ldns to print DNS data
Pavel Šimerda [Sun, 28 Dec 2014 22:14:48 +0000 (23:14 +0100)]
use ldns to print DNS data

10 years agochannel: initialize epoll.fd to -1
Pavel Šimerda [Wed, 24 Dec 2014 12:52:45 +0000 (13:52 +0100)]
channel: initialize epoll.fd to -1

10 years agofix tests for renamed getaddrinfo backend
Pavel Šimerda [Wed, 24 Dec 2014 12:49:08 +0000 (13:49 +0100)]
fix tests for renamed getaddrinfo backend

10 years agocompat: fix libc getnameinfo
Pavel Šimerda [Wed, 24 Dec 2014 12:12:31 +0000 (13:12 +0100)]
compat: fix libc getnameinfo

10 years agohosts: fix ifindex support
Pavel Šimerda [Wed, 24 Dec 2014 09:59:49 +0000 (10:59 +0100)]
hosts: fix ifindex support

11 years agotools: print DNS data in netresolve
Pavel Šimerda [Sun, 16 Nov 2014 17:27:19 +0000 (18:27 +0100)]
tools: print DNS data in netresolve

11 years agocore: use abort() for fatal conditions in netresolve_query_new()
Pavel Šimerda [Sun, 16 Nov 2014 17:26:40 +0000 (18:26 +0100)]
core: use abort() for fatal conditions in netresolve_query_new()

11 years agolibc: rename getaddrinfo backend to libc, add support for getnameinfo and res_query
Pavel Šimerda [Sun, 16 Nov 2014 15:21:07 +0000 (16:21 +0100)]
libc: rename getaddrinfo backend to libc, add support for getnameinfo and res_query

11 years agocore: improve backend API
Pavel Šimerda [Sun, 16 Nov 2014 15:25:41 +0000 (16:25 +0100)]
core: improve backend API

11 years agocore: fix netresolve_query_get_dns_answer()
Pavel Šimerda [Sat, 15 Nov 2014 21:15:06 +0000 (22:15 +0100)]
core: fix netresolve_query_get_dns_answer()

11 years agoupdate .gitignore
Pavel Šimerda [Thu, 13 Nov 2014 13:00:15 +0000 (14:00 +0100)]
update .gitignore

11 years agocore: use a linked list for queries
Pavel Šimerda [Thu, 13 Nov 2014 12:09:39 +0000 (13:09 +0100)]
core: use a linked list for queries

11 years agocore: move event handling to the query object
Pavel Šimerda [Thu, 13 Nov 2014 11:13:21 +0000 (12:13 +0100)]
core: move event handling to the query object

11 years agocore: support `netresolve_epoll_fd()` after `netresolve_open()`
Pavel Šimerda [Wed, 12 Nov 2014 23:21:27 +0000 (00:21 +0100)]
core: support `netresolve_epoll_fd()` after `netresolve_open()`

11 years agocore: reuse netresolve-epoll for blocking mode
Pavel Šimerda [Wed, 12 Nov 2014 14:22:00 +0000 (15:22 +0100)]
core: reuse netresolve-epoll for blocking mode

11 years agocore: improve event loop integration
Pavel Šimerda [Wed, 12 Nov 2014 11:28:21 +0000 (12:28 +0100)]
core: improve event loop integration

11 years agocore: decrement channel->nqueries unconditionally
Pavel Šimerda [Wed, 12 Nov 2014 22:35:20 +0000 (23:35 +0100)]
core: decrement channel->nqueries unconditionally

11 years agocore: minor cleanups
Pavel Šimerda [Thu, 13 Nov 2014 09:53:10 +0000 (10:53 +0100)]
core: minor cleanups

11 years agocore: move callback from channel to query
Pavel Šimerda [Tue, 11 Nov 2014 17:59:49 +0000 (18:59 +0100)]
core: move callback from channel to query

11 years agoubdns: support dnssec validation
Pavel Šimerda [Tue, 11 Nov 2014 15:10:17 +0000 (16:10 +0100)]
ubdns: support dnssec validation

11 years agodns: support dnssec AD flag
Pavel Šimerda [Tue, 11 Nov 2014 15:02:10 +0000 (16:02 +0100)]
dns: support dnssec AD flag

Note: The ./tests/test-dnssec.sh will fail for ubdns because of a
limitation in libunbound.

11 years agobackends: support result security
Pavel Šimerda [Tue, 11 Nov 2014 13:29:42 +0000 (14:29 +0100)]
backends: support result security

11 years agoservices: return NULL servname for zero port
Pavel Šimerda [Tue, 11 Nov 2014 14:57:45 +0000 (15:57 +0100)]
services: return NULL servname for zero port

11 years agocore: implement per-backend timeouts and partial result timeouts
Pavel Šimerda [Fri, 7 Nov 2014 16:19:50 +0000 (17:19 +0100)]
core: implement per-backend timeouts and partial result timeouts

11 years agodns: refactor thoroughly, add tests
Pavel Šimerda [Mon, 10 Nov 2014 21:09:33 +0000 (22:09 +0100)]
dns: refactor thoroughly, add tests

Tests aren't being run as part of 'make check' as they rely on
working DNS configuration.

11 years agocore: support NETRESOLVE_CLAMP_TTL
Pavel Šimerda [Tue, 11 Nov 2014 12:05:48 +0000 (13:05 +0100)]
core: support NETRESOLVE_CLAMP_TTL

11 years agocore: default srv lookups to TCP
Pavel Šimerda [Tue, 11 Nov 2014 12:06:14 +0000 (13:06 +0100)]
core: default srv lookups to TCP

11 years agobackends: add `netresolve_backend_unwatch_fd()`
Pavel Šimerda [Tue, 11 Nov 2014 09:42:18 +0000 (10:42 +0100)]
backends: add `netresolve_backend_unwatch_fd()`

11 years agotrivial: remove unused test data
Pavel Šimerda [Mon, 10 Nov 2014 15:38:29 +0000 (16:38 +0100)]
trivial: remove unused test data

11 years agohostname: handle NULL nodename
Pavel Šimerda [Mon, 10 Nov 2014 14:59:12 +0000 (15:59 +0100)]
hostname: handle NULL nodename

11 years agodns: fix whitespace
Pavel Šimerda [Mon, 10 Nov 2014 14:34:22 +0000 (15:34 +0100)]
dns: fix whitespace

11 years agotools: fix getnameinfo port input
Pavel Šimerda [Sun, 9 Nov 2014 21:45:55 +0000 (22:45 +0100)]
tools: fix getnameinfo port input

11 years agotools: suport getnameinfo --udp (NI_DGRAM flag)
Pavel Šimerda [Sun, 9 Nov 2014 00:39:40 +0000 (01:39 +0100)]
tools: suport getnameinfo --udp (NI_DGRAM flag)

And make appropriate changes so that it warks in the netresolve
libc frontend.

11 years agotools: show port in getnameinfo query
Pavel Šimerda [Sun, 9 Nov 2014 00:34:21 +0000 (01:34 +0100)]
tools: show port in getnameinfo query

11 years agoaresdns: fix file descriptor handling
Pavel Šimerda [Sat, 8 Nov 2014 18:24:18 +0000 (19:24 +0100)]
aresdns: fix file descriptor handling

11 years agodns: consolidate lookup functions
Pavel Šimerda [Sat, 8 Nov 2014 23:53:27 +0000 (00:53 +0100)]
dns: consolidate lookup functions

11 years agodns: set cannonical name
Pavel Šimerda [Sat, 8 Nov 2014 23:57:21 +0000 (00:57 +0100)]
dns: set cannonical name

11 years agodns: support IPv6 reverse queries
Pavel Šimerda [Sat, 8 Nov 2014 23:22:07 +0000 (00:22 +0100)]
dns: support IPv6 reverse queries

11 years agodns: improve debug messages
Pavel Šimerda [Sat, 8 Nov 2014 23:16:28 +0000 (00:16 +0100)]
dns: improve debug messages

11 years agocore: handle empty node name correctly
Pavel Šimerda [Sun, 9 Nov 2014 00:00:11 +0000 (01:00 +0100)]
core: handle empty node name correctly

11 years agocore: abort on failed epoll_ctl
Pavel Šimerda [Sat, 8 Nov 2014 18:23:24 +0000 (19:23 +0100)]
core: abort on failed epoll_ctl

11 years agodns: remove dead code
Pavel Šimerda [Sat, 8 Nov 2014 23:14:50 +0000 (00:14 +0100)]
dns: remove dead code

11 years agotrivial: remove dead code.
Pavel Šimerda [Fri, 7 Nov 2014 22:21:31 +0000 (23:21 +0100)]
trivial: remove dead code.

11 years agodns: merge ubdns and aresdns backens
Pavel Šimerda [Thu, 6 Nov 2014 16:06:30 +0000 (17:06 +0100)]
dns: merge ubdns and aresdns backens

The new implementation uses ldns for all the parsing and either ubdns or
aresdns depending on preprocessor arguments. The resulting
`libnetresolve_backend_ubdns()` and `libnetresolve_backend_aresdns()`
are thus very similar in functionality, only nuances of the DNS protocol
handling and DNSSEC validation differ.

11 years agobackends: delay `cleanup()` until `setup()` or `dispatch()` finishes
Pavel Šimerda [Fri, 7 Nov 2014 20:06:41 +0000 (21:06 +0100)]
backends: delay `cleanup()` until `setup()` or `dispatch()` finishes

This change effectively removes an unwritten requirement for reentrancy
of the backend, i.e. the requirement to call netresolve backend API
functions always at the and as they could do just anything.

The backend can now safely assume that none of its functions will be
triggered by the backend API functions. In other words, calls to
functions of a single backend are serialized.

11 years agocore: refactor the state machine
Pavel Šimerda [Fri, 7 Nov 2014 08:09:20 +0000 (09:09 +0100)]
core: refactor the state machine

11 years agocore: rename QUERY_STATE_FINISHED to QUERY_STATE DONE
Pavel Šimerda [Fri, 7 Nov 2014 13:28:32 +0000 (14:28 +0100)]
core: rename QUERY_STATE_FINISHED to QUERY_STATE DONE

So that it's not confused with `netresolve_backend_finished()` which can
lead to an entirely different state if there's more processing to be
done by netresolve.

11 years agocore: move channel stuff from query.c
Pavel Šimerda [Fri, 7 Nov 2014 11:20:28 +0000 (12:20 +0100)]
core: move channel stuff from query.c

11 years agosocket: abort on bad file descriptor events
Pavel Šimerda [Fri, 7 Nov 2014 13:22:43 +0000 (14:22 +0100)]
socket: abort on bad file descriptor events

11 years agolibevent: use persistent events
Pavel Šimerda [Fri, 7 Nov 2014 08:06:08 +0000 (09:06 +0100)]
libevent: use persistent events

11 years agoaresdns: remove partial timeout support
Pavel Šimerda [Thu, 6 Nov 2014 13:47:07 +0000 (14:47 +0100)]
aresdns: remove partial timeout support

It will be handled by the library itself.

11 years agocore: refactor channel getenv code
Pavel Šimerda [Thu, 6 Nov 2014 21:01:17 +0000 (22:01 +0100)]
core: refactor channel getenv code

11 years agocore: refactor query stages a bit
Pavel Šimerda [Thu, 6 Nov 2014 20:56:30 +0000 (21:56 +0100)]
core: refactor query stages a bit

11 years agocore: improve timeout interface
Pavel Šimerda [Thu, 6 Nov 2014 20:54:42 +0000 (21:54 +0100)]
core: improve timeout interface

11 years agocore: improve fd watching code
Pavel Šimerda [Thu, 6 Nov 2014 20:53:20 +0000 (21:53 +0100)]
core: improve fd watching code

11 years agocore: silently drop redundant events
Pavel Šimerda [Thu, 6 Nov 2014 20:48:39 +0000 (21:48 +0100)]
core: silently drop redundant events

Sometimes we receive events from the application that have been already
handled.

11 years agoglib: add glib main loop integration code and test
Pavel Šimerda [Wed, 5 Nov 2014 11:48:25 +0000 (12:48 +0100)]
glib: add glib main loop integration code and test

11 years agolibevent: translate events properly
Pavel Šimerda [Wed, 5 Nov 2014 13:00:13 +0000 (14:00 +0100)]
libevent: translate events properly

11 years agoasyncns: fix and split the test into two
Pavel Šimerda [Wed, 5 Nov 2014 12:28:34 +0000 (13:28 +0100)]
asyncns: fix and split the test into two

11 years agoasyncns: improve the test
Pavel Šimerda [Wed, 5 Nov 2014 10:49:50 +0000 (11:49 +0100)]
asyncns: improve the test

11 years agoasyncns: fix and improve the test
Pavel Šimerda [Wed, 5 Nov 2014 10:44:33 +0000 (11:44 +0100)]
asyncns: fix and improve the test

11 years agoasyncns: improve the test
Pavel Šimerda [Mon, 3 Nov 2014 17:48:29 +0000 (18:48 +0100)]
asyncns: improve the test

Run at least a partial test for the native implementation.

11 years agocore: fd interface and epoll code refactored
Pavel Šimerda [Mon, 3 Nov 2014 17:48:29 +0000 (18:48 +0100)]
core: fd interface and epoll code refactored

The test for native asyncns was removed from the automated testsuite
because it doesn't run. I have yet to investigate whether its a bug
in the library or incorrect use.

11 years agobackends: catch numeric hosts as soon as possible
Pavel Šimerda [Tue, 4 Nov 2014 08:59:29 +0000 (09:59 +0100)]
backends: catch numeric hosts as soon as possible

11 years agofix make distcheck
Pavel Šimerda [Sun, 2 Nov 2014 20:29:13 +0000 (21:29 +0100)]
fix make distcheck

11 years agofix make dist
Pavel Šimerda [Sun, 2 Nov 2014 14:34:56 +0000 (15:34 +0100)]
fix make dist

11 years agoupdate README
Pavel Šimerda [Fri, 31 Oct 2014 16:56:37 +0000 (17:56 +0100)]
update README

11 years agoubdns: check ub_ctx_resolvconf() status
Pavel Šimerda [Fri, 31 Oct 2014 12:12:37 +0000 (13:12 +0100)]
ubdns: check ub_ctx_resolvconf() status

11 years agostring: read data using API whenever possible
Pavel Šimerda [Fri, 31 Oct 2014 12:08:25 +0000 (13:08 +0100)]
string: read data using API whenever possible

11 years agoupdate README and TODO
Pavel Šimerda [Thu, 30 Oct 2014 12:16:05 +0000 (13:16 +0100)]
update README and TODO

11 years agocore: move include files into 'include' whether they're published or not
Pavel Šimerda [Thu, 30 Oct 2014 12:05:26 +0000 (13:05 +0100)]
core: move include files into 'include' whether they're published or not

11 years agocore: move compat/compat.c into lib
Pavel Šimerda [Thu, 30 Oct 2014 12:02:52 +0000 (13:02 +0100)]
core: move compat/compat.c into lib

11 years agocore: merge input.c into channel.c
Pavel Šimerda [Thu, 30 Oct 2014 11:59:08 +0000 (12:59 +0100)]
core: merge input.c into channel.c

11 years agocore: fix query information getter names
Pavel Šimerda [Thu, 30 Oct 2014 11:43:35 +0000 (12:43 +0100)]
core: fix query information getter names

11 years agocore: merge output.c into query.c
Pavel Šimerda [Thu, 30 Oct 2014 11:39:49 +0000 (12:39 +0100)]
core: merge output.c into query.c

This page took 0.059406 seconds and 5 git commands to generate.