summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsandmann <sandmann>2004-11-21 00:55:46 +0000
committersandmann <sandmann>2004-11-21 00:55:46 +0000
commite924ddc79f5cf9cb10943d7763e639e10cdf10a4 (patch)
treed5457a6568afa6ea5229080da12916ba9b24dc04
parentc1427c9c30068ffb8dfb7dd6d4878bfec421cf8c (diff)
*** empty log message ***
-rwxr-xr-xTODO26
-rw-r--r--src/lacdns-config.c4
-rw-r--r--src/lacdns-nameserver.c2
3 files changed, 29 insertions, 3 deletions
diff --git a/TODO b/TODO
index f30a612..a657694 100755
--- a/TODO
+++ b/TODO
@@ -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