[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [task #7017] Implement DNS client
From: |
Simon Goldschmidt |
Subject: |
[lwip-devel] [task #7017] Implement DNS client |
Date: |
Mon, 19 Nov 2007 19:34:21 +0000 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9 |
Follow-up Comment #51, task #7017 (project lwip):
Uhhm, hust a question, but has anyone really stress-tested this DNS client? I
just did and discovered some issues. Since this is not really my code, I'm
posting them here (although I'm happy to change the code if you let me ;-)
- When a response is received, the name of this response is not checked
against the name in the dns_table entry, thus giving wrong results when
reusing entries (because a previous entry was aborted that had the same
transaction ID, used as the table index)
-> Possible solutions:
1. don't abort pending request until timed out
2. don't use transaction ID directly as index, but use it as a unique id and
search for that ID in the array (of course slower than the current
implementation but still faster than comparing the name)
- Every call to dns_gethostbyname results in sending queries for ALL entries
in dns_table resulting in the same request being sent many times.
-> Don't use dns_check_entries() in dns_gethostbyname()
- struct dns_query and function dns_query() have the same name - leads to
warnings with many compilers
- (This one comes from reading the code) If dns_query() doesn't find an empty
entry, it reuses the oldest entry, even if that is still waiting for a
response (while others might be completed)
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/task/?7017>
_______________________________________________
Nachricht geschickt von/durch Savannah
http://savannah.nongnu.org/
- [lwip-devel] [task #7017] Implement DNS client, (continued)
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/18
- [lwip-devel] [task #7017] Implement DNS client, Simon Goldschmidt, 2007/11/18
- [lwip-devel] [task #7017] Implement DNS client, Simon Goldschmidt, 2007/11/18
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/18
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/18
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/18
- [lwip-devel] [task #7017] Implement DNS client, Jim Pettinato, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Simon Goldschmidt, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client,
Simon Goldschmidt <=
- [lwip-devel] [task #7017] Implement DNS client, Simon Goldschmidt, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Jim Pettinato, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Simon Goldschmidt, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Jim Pettinato, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Simon Goldschmidt, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/19
- [lwip-devel] [task #7017] Implement DNS client, Simon Goldschmidt, 2007/11/20
- [lwip-devel] [task #7017] Implement DNS client, Frédéric Bernon, 2007/11/20