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
Brian Wellington
499b34cea0
copyright update
2001-01-09 22:01:04 +00:00
David Lawrence
801dceea23
Revert my last change. It was stupid, which I if I had been thinking clearly
...
I would have seen *before* I commited anything. So, include isc/thread.h,
isc/mutex.h and isc/condition.h even if ISC_PLATFORM_USETHREADS is not defined.
(What caused me to bother with this at all was a problem that I resolved
a few days ago by fixing configure ... though now that I think about it,
that probably means there is some other latent problem with inconsistent
definitions that could maybe be handled better. I'll look into it more
later, AFTER vacation.)
2000-12-26 21:45:08 +00:00
David Lawrence
bdcae3560b
Only include isc/thread.h, isc/mutex.h and isc/condition.h if
...
ISC_PLATFORM_USETHREADS is defined.
2000-12-26 21:12:25 +00:00
Brian Wellington
a644e87df7
Move the msgcat stuff into socket_log(), to avoid unnecessary calls to
...
isc_msgcat_get() and speed things up.
2000-12-19 20:35:37 +00:00
Andreas Gustafsson
0833ef954a
when code is duplicated (which it shouldn't be), it should at
...
least be duplicated consistently
2000-12-19 19:19:45 +00:00
Brian Wellington
17aac384e0
595. [port] On Linux 2.2, socket() returns EINVAL when it
...
should return EAFNOSUPPORT. Work around this.
2000-12-06 01:53:38 +00:00
David Lawrence
9cd6d409b7
first pass at using isc_msgcat_get for message strings in libisc
2000-12-06 00:30:32 +00:00
Andreas Gustafsson
20e1ac3376
removed unused variable poke_needed
2000-11-22 23:48:14 +00:00
Andreas Gustafsson
0d8fe6131e
treat EHOSTDOWN (if defined) the same as EHOSTUNREACH rather than as an
...
unexpected error [RT #215 ]
2000-11-17 21:04:12 +00:00
Brian Wellington
c0150ad6aa
Don't call UNEXPECTED_ERROR if setsockopt(SO_TIMESTAMP) returns ENOPROTOOPT.
2000-10-12 00:35:49 +00:00
Brian Wellington
e0521dac5d
Not all of the setsockopt failures logged the reason for failure.
2000-10-07 00:16:50 +00:00
Brian Wellington
0d89afffb2
Make sure #else and #endif for ISC_PLATFORM_USETHREADS are marked as such.
2000-09-28 21:31:08 +00:00
Michael Graff
08ad332552
put a break in the switch
2000-09-21 21:40:29 +00:00
Michael Graff
e710c2162a
check for more expected error values in connect() case
2000-09-21 21:30:27 +00:00
Michael Graff
1deaf52c98
kill persistent errors. Always retry the I/O now.
2000-09-07 01:59:57 +00:00
Michael Graff
e558faa60b
make unreachable errors on unconnected UDP sockets be soft errors, rather than hard ones.
2000-09-06 22:55:33 +00:00
Andreas Gustafsson
04cec6dc5b
comment style
2000-08-31 17:10:58 +00:00
Mark Andrews
7523838d84
make error message more informative.
2000-08-31 13:38:55 +00:00
Brian Wellington
efafe4fa7f
Non-threaded socket manager.
2000-08-29 23:58:17 +00:00
Brian Wellington
a44038277a
MOre calls to DESTROYLOCK
2000-08-26 01:31:56 +00:00
Brian Wellington
569c05295c
removed a chunk of dead debugging code.
2000-08-25 22:07:52 +00:00
Mark Andrews
44215b932d
392. [func] Add ISC_R_FAMILYNOSUPPORT. Returned when OS does
...
not support the given address family requested.
391. [clarity] ISC_R_FAMILY -> ISC_R_FAMILYMISMATCH.
2000-08-15 01:43:38 +00:00
Andreas Gustafsson
a3e7b6450e
style
2000-08-10 23:42:17 +00:00
Brian Wellington
5e989d1777
If isc_socket_bind tries to bind to a socket with a different address
...
family than the address specified, return a meaningful error.
2000-08-10 23:11:12 +00:00
Brian Wellington
3d37f10b91
On send, treat EPERM like ISC_R_HOSTUNREACH. send() seems to return EPERM
...
on Linux when firewall rules block the send.
2000-08-10 21:47:46 +00:00
Brian Wellington
cd7ffa4c12
381. [bug] Check for IPV6_RECVPKTINFO and use it instead of
...
IPV6_PKTINFO if found. [RT #229 ]
2000-08-10 00:05:45 +00:00
David Lawrence
40f53fa8d9
Trailing whitespace trimmed. Perhaps running "perl util/spacewhack.pl in your
...
own CVS tree will help minimize CVS conflicts. Maybe not.
Blame Graff for getting me to trim all trailing whitespace.
2000-08-01 01:33:37 +00:00
David Lawrence
15a4474541
word wrap copyright notice at column 70
2000-07-27 09:55:03 +00:00
Andreas Gustafsson
0072e42780
use isc_log_wouldlog() in manager_log()
2000-07-13 01:38:40 +00:00
Brian Wellington
2935e25e99
Removed debugging code that is no longer useful.
2000-07-13 01:22:56 +00:00
Brian Wellington
febc974d0f
Use isc_log_wouldlog() to avoid calling strerror() whenever possible.
2000-07-13 01:13:53 +00:00
Andreas Gustafsson
211ac47e07
use isc_log_wouldlog() to avoid unnecessary formatting work
...
when the debug level does not warrant logging
2000-07-13 00:25:38 +00:00
Michael Graff
401bea7527
set connected and bound when the connect completes
2000-07-10 19:40:06 +00:00
Andreas Gustafsson
a7d4703552
commented
2000-06-26 22:59:22 +00:00
Michael Graff
a72ca8608c
revert part of a previous commit. This makes net/host unreachable hard errors again.
2000-06-26 20:16:01 +00:00
Michael Graff
53b63f5467
minor change to make certain 'on' is defined. This used to be used only by USE_CMSG, but is also used to turn on BSD compatibility, so test on SO_BSDCOMPAT too.
2000-06-26 18:20:25 +00:00
Michael Graff
18a8c21c77
turn on BSD compatibility to avoid the annoying linux 'return host unreachable for unconnected UDP datagrams' bug.
2000-06-26 17:48:26 +00:00