diff options
author | sandmann <sandmann> | 2004-11-21 00:55:46 +0000 |
---|---|---|
committer | sandmann <sandmann> | 2004-11-21 00:55:46 +0000 |
commit | e924ddc79f5cf9cb10943d7763e639e10cdf10a4 (patch) | |
tree | d5457a6568afa6ea5229080da12916ba9b24dc04 | |
parent | c1427c9c30068ffb8dfb7dd6d4878bfec421cf8c (diff) |
*** empty log message ***
-rwxr-xr-x | TODO | 26 | ||||
-rw-r--r-- | src/lacdns-config.c | 4 | ||||
-rw-r--r-- | src/lacdns-nameserver.c | 2 |
3 files changed, 29 insertions, 3 deletions
@@ -12,6 +12,20 @@ correctness: lac_activity_cancel() from another thread. This could get hairy :-/ + * Periodically stat /etc/resolv.conf and reload it if it has + changed. (Though people will probably still think they have + to restart even if they don't). + + * consider + + activity = lac_begin_activity (timeout); + ...; + lac_activity_wait(activity)/lac_activity_cancel(); + + lac_end_activity(activity); + + within "..." you can call lac_activity_cancel(); + * relative URI's - showstopper for 1.0 @@ -33,6 +47,13 @@ correctness: - Accept it based on "Ok". misc: + * consider moving complexity from nameserver to query, ie. + have the nameserver have one response function used for all + replies. The nameserver would not keep the map between + queries and reply functions. + We would have to have that map in the query file, + but it may not be that bad since we already have a table + of outstanding queries there. * need a real regression test suite * get rid of CacheRecord->type * Cleanup of the DNS module @@ -52,6 +73,11 @@ misc: data anyway. performance: + * With an unstable network connection, DNS packages will often + get lost. We should probably be a little more aggressive about + requerying. For example resending every .5 second under the + assumption that with a well-working network, the response + will usually arrive well within .5 seconds. * figure out when exactly the write buffer should be flushed in the http module. diff --git a/src/lacdns-config.c b/src/lacdns-config.c index 4392bd8..064d794 100644 --- a/src/lacdns-config.c +++ b/src/lacdns-config.c @@ -38,8 +38,8 @@ static void read_etc_resolv_conf (void); enum { DEFAULT_N_DOTS = 1, - DEFAULT_TIMEOUT = 5000, - DEFAULT_ATTEMPTS = 2, + DEFAULT_TIMEOUT = 500, + DEFAULT_ATTEMPTS = 20, DEFAULT_ROTATE = FALSE, }; diff --git a/src/lacdns-nameserver.c b/src/lacdns-nameserver.c index 9c24533..f9a795f 100644 --- a/src/lacdns-nameserver.c +++ b/src/lacdns-nameserver.c @@ -29,7 +29,7 @@ enum { MAX_UDP_LENGTH = 512, DNS_PORT = 53, - QUERY_TIMEOUT = 300000, /* after this long, we consider any + QUERY_TIMEOUT = 900000, /* after this long, we consider any * replies spurious */ MAX_UDP_QUERIES = 64 /* maximum number of outstanding |