Commit Graph
229 Commits
Author SHA1 Message Date
Mark Andrews b4a3336bb2 1283. [func] Use "dataready" accept filter if available. 2003-08-15 01:16:06 +00:00
Mark Andrews 69f20fa680 1247. [bug] Don't reset the interface index for link/site local
addresses. [RT #2576]
2003-08-14 04:31:55 +00:00
Mark Andrews e1ccb64c24 1146. [func] Allow IPV6_IPV6ONLY to be set/cleared on a socket if
supported by the OS by a new function
                        isc_socket_ipv6only().
2003-08-08 06:50:17 +00:00
Mark Andrews c1df871a18 silence compiler warnings (HPUX/11i) 2003-07-23 06:57:59 +00:00
Mark Andrews f4d86cfcea update_copyrights 2003-07-22 04:03:54 +00:00
Mark Andrews 6fd5b7a222 1416. [bug] Empty node should return NOERROR NODATA, not NXDOMAIN.
[RT #4715]
2003-05-14 05:47:24 +00:00
Mark Andrews fed111e907 1437. [bug] Leave space for stdio to work in. [RT #5033] 2003-05-13 04:53:09 +00:00
Mark Andrews a7efbe70e7 merge 9.2.2 back into v9_2 2003-03-06 04:38:29 +00:00
Mark Andrews c6ce103cf8 reviewed: bwelling
1334.   [port]          Handle ECONNRESET from sendmsg() [unix].
2002-07-11 04:04:26 +00:00
Mark Andrews a968e6b0b1 reviewed: bwelling
1317.   [port]          linux: make handling EINVAL from socket() no longer
                        conditional on #ifdef LINUX.
2002-07-11 03:43:19 +00:00
Mark Andrews dd6234eb00 reviewed: bwelling
1245.  [bug]           Treat ENOBUFS, ENOMEM and ENFILE as soft errors for
                       accept().
2002-07-10 00:24:46 +00:00
Mark Andrews f324e3cfdf reviewed: bwelling
1241.   [bug]           Drop received UDP messsages with a zero source port
                        as these are invariably forged. [RT #2621]
2002-07-10 00:04:57 +00:00
Mark Andrews 034804a048 pullup:
1231.   [port]          HPUX 11.11 recvmsg() can return spurious EADDRNOTAVAIL.
2002-03-20 20:56:44 +00:00
Mark Andrews 73d7583d98 update copyrights 2002-02-08 03:57:47 +00:00
Mark Andrews 8a044e464b pullup:
1081.   [bug]           Multicast queries were incorrectly identified
                        based on the source address, not the destination
                        address.
(from JINMEI Tatuya)
2002-01-24 23:22:25 +00:00
Andreas Gustafsson 4c7c397275 1183. [bug] Handle ENOSR error when writing to the internal
control pipe. [RT #2395]
2002-01-23 02:35:56 +00:00
Andreas Gustafsson d7224e6672 pullup:
reference after free in error path.
2002-01-22 23:17:44 +00:00
Mark Andrews 2bffec87ac pullup:
Out of date comment.
2002-01-22 05:00:30 +00:00
Mark Andrews 014f9142bc pullup:
1114.   [port]          Ignore more accept() errors. [RT #2021]
2001-11-10 03:03:44 +00:00
Andreas Gustafsson b5c8773673 pullup:
theoretically potential file descriptor leak.
2001-11-09 20:21:41 +00:00
Andreas Gustafsson 5a78ccdf1f pullup:
1068.   [bug]           errno could be overwritten by catgets(). [RT #1921]
1066.   [bug]           Provide a thread safe wrapper for strerror().
                        [RT #1689]
(Also some changes to configure.in, config.h.in, and acconfig.h that were
necessary to allow config.h.in to be correctly regenerated with the
HAVE_STRERROR definition needed by 1066.)
2001-10-22 23:28:26 +00:00
Mark Andrews 5e8c385e64 pullup:
1004.  [port]          Deal with recvfrom() returning EHOSTDOWN. [RT #1770]
2001-09-19 02:37:21 +00:00
Mark Andrews 2c0b26955e 961. [bug] Tried to use a IPV6 feature when ISC_PLATFORM_HAVEIPV6
was not defined.  [RT #1482]
2001-08-16 07:27:48 +00:00
Mark Andrews 8ff4edd14e silence format warning: remove unused arg. 2001-08-12 00:12:14 +00:00
Andreas Gustafsson 76c8294c81 format string bugs and improved format string checking [RT #1578] 2001-08-08 22:54:55 +00:00
Andreas Gustafsson aa0dc8d920 934. [port] Deal with systems where accept() spuriously returns
ECONNRESET.
2001-07-15 22:50:24 +00:00
Andreas Gustafsson e76d4c91bf coding style 2001-07-09 21:06:30 +00:00
Brian Wellington 224e84bc0e misc. stuff related to [RT #1293] 2001-06-07 00:21:53 +00:00
David Lawrence 92ef1a9b9d use ISC_MAGIC for all magic numbers, for our friends in EBCDIC land 2001-06-04 19:33:39 +00:00
Andreas Gustafsson 740ae0808f when returning a socket error, use isc__errno2result() instead
of always returning ISC_R_UNEXPECTED
2001-05-14 23:58:33 +00:00
Andreas Gustafsson fd5847ef09 828. [bug] The errno value from recvfrom() could be overwritten
by logging code. [RT #1293]
2001-05-14 18:20:03 +00:00
Andreas Gustafsson 5e194abb5b 814. [bug] Socket objects left over from accept() failures
were incorrectly destroyed, causing corruption
                        of socket manager data structures.

 813.   [bug]           File descriptors exceeding FD_SETSIZE were handled
                        badly. [RT #1192]
2001-04-26 23:45:55 +00:00
Andreas Gustafsson 0dc1e14537 alphabetized includes 2001-04-24 18:40:07 +00:00
Andreas Gustafsson 7900390a52 Previous change turned invalid peer address returns from accept()
into hard errors - they should be soft errors
2001-04-10 21:48:27 +00:00
Andreas Gustafsson a84cfaa3f2 The bug fix in socket.c 1.189 was less than ideal: if a socket
got wedged in a state where accept() always returns EBADF, the server would loop calling
internal_accept() repeatedly.  Implemented an alternative fix where a hard
error in accept() causes an event with a nonzero result code to be sent, and
the new socket object to be freed
2001-04-10 21:38:33 +00:00
Brian Wellington 2eb3dafdcf Add the socket flag ISC_R_NORETRY, which makes the socket code treat
a soft error as a hard error on send (that is, not retry it).  It also
modifies the code calling sendmsg() to retry on EINTR.
2001-03-06 01:23:03 +00:00
Andreas Gustafsson c05eeed3c9 754. [bug] Certain failure returns from sendto() could
cause the server to retry the transmission
                        indefinitely. [RT #902]
2001-02-24 23:51:09 +00:00
Brian Wellington 1f7f8d5c07 Add isc_socket_sendto2() and isc_socket_recv2(). These versions take
a partially constructed event and flags.  The flags can include
ISC_SOCKFLAG_IMMEDIATE, which means that if the operation completes, the
event is filled in and not sent.
2001-02-12 21:43:17 +00:00
Brian Wellington 1938554ccc consolidate duplicated code 2001-02-08 00:04:11 +00:00
Mark Andrews df0bcff664 extend change #727 to check returned address length for zero. 2001-02-07 23:40:28 +00:00
Andreas Gustafsson 9a3ee1570d "hard" errors in accept() were handled really badly. They were logged
twice, and the socket object for the new socket was never destroyed,
causing the server to hang on exit (if multithreaded) or dump core on exit
(if singlethreaded).  Now the only difference between "hard" and "soft" errors
is that the latter are not logged.
2001-02-06 23:43:01 +00:00
Andreas Gustafsson 8dab78b566 as a workaround for various OS bugs, do not INSIST() that
accept() returns a valid peer address; instead just log an ugly error message
and continue if the peer address is left unchanged or insane by accept()
[RT #809]
2001-02-06 23:04:02 +00:00
Brian Wellington 6f9786fdcf Consolidate duplicated code in isc_socket_sendto[v] and isc_socket_recv[v]. 2001-01-27 06:41:36 +00:00
Brian Wellington 562f162981 remove unused labels 2001-01-27 01:16:09 +00:00
Brian Wellington dd66e6306b Remove isc_socket/[send|recv]mark, which were never used. 2001-01-26 23:17:26 +00:00
Damien Neil dfb0717d75 - Receive and send operations on UDP sockets no longer need to acquire
the socket lock.  (Assuming the operation succeeds immediately, and doesn't
need to be queued.)

- Communications with the watcher thread tweaked to reduce the need for
locking.
2001-01-25 22:25:10 +00:00
Brian Wellington 1e3bc7eaeb only use data from accept() if accept succeeds. 2001-01-23 21:07:12 +00:00
Andreas Gustafsson b346ae570d style 2001-01-23 20:45:31 +00:00
Brian Wellington e90441d922 INSIST that accept() returns a socket of the correct protocol family. Also
assign the "pf" field in the new socket.
2001-01-23 20:42:46 +00:00
Andreas Gustafsson 90bffb134e make_nonblock() errors were reported twice, and one of the instances
used the wrong errno value [RT #640]
2001-01-11 18:57:23 +00:00