BIND 10 #357: There should be timeout on TCP connection in auth server
BIND 10 Development
do-not-reply at isc.org
Fri Aug 31 13:43:19 UTC 2012
#357: There should be timeout on TCP connection in auth server
-------------------------------------+-------------------------------------
Reporter: | Owner: vorner
vorner | Status: reviewing
Type: | Milestone:
defect | Sprint-20120904
Priority: | Resolution:
medium | Sensitive: 0
Component: | Sub-Project: DNS
b10-auth | Estimated Difficulty: 5
Keywords: | Total Hours: 0
Defect Severity: |
Medium |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by jelte):
* owner: jelte => vorner
Comment:
Replying to [comment:8 vorner]:
> Hello
>
> About the changelog message, it looks bad if it starts with lower-case
letter, maybe changing the sentence slightly so b10-auth is not the first
word? Also, maybe saying the well-known word „Timeout“ in there somewhere
might make sense.
>
take 2:
[bug]
TCP connections now time out in b10-auth if no (or not all) query data is
sent by the client. The timeout value defaults to 5000 milliseconds, but
is configurable in Auth/tcp_recv_timeout.
> Now, to the code. Cppcheck complains here:
> src/bin/auth/auth_config.cc:123: check_fail: Member variable
'TCPRecvTimeoutConfig::timeout_' is not initialized in the constructor.
(warning,uninitMemberVar)
>
fixed (set to 0, build() will override it anyway)
> The special-case of 0 should be documented in the guide.
>
oh right, of course
> Maybe we should also validate the value is non-negative (someone might
try to put -1 there hoping for some magic to happen). Also, maybe a
warning with too low values (below 1 second, for example)?
>
i suspect that people might actually want to (temporarily) set this quite
low, to mitigate synflood-like attacks and increase the chance that at
least fast proper connections get through
It does error on negative values now. And I discovered a lowlevel problem
that is out of scope for this ticket, but the c++ client side of msgq
can't handle very large integers in JSON data, I'll make a separate ticket
for that.
> Also, I'm not sure if 1 is enough as a default value. There are
connection types (like GPRS/EDGE) with possibly multi-second round trips.
right, I chatted a bit with jeremy about this, we decided that we could
use some statistical info here :) but since we need a value now, i chose 5
seconds (windows CE clients themselves give up after 3, a common
resolv.conf client-side timeout is 5)
--
Ticket URL: <http://bind10.isc.org/ticket/357#comment:9>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list