| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
from Boudewijn Dijkstra
|
|
|
|
|
|
|
|
| |
the routing domain we are currently in. Otherwise we might end up with
address families that are not available in the current rdomain but in
others since getifaddrs(3) gives us all interface addresses in the
system.
Clue-bat & OK claudio, input & OK eric, OK kn
|
|
|
|
|
|
|
|
| |
- setting up asr in single thread mode and then starting threads using asr
would lead to multiple threads sharing the same resolver.
- destruction of a thread that has been using asr would leak data.
Problem originally reported by Alexey Sokolov and Uli Schlachter.
ok kettenis@
|
|
|
|
|
|
| |
Fix a memory leak when no entry is matched.
ok florian
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This diff exposes parts of clock_gettime(2) and gettimeofday(2) to
userland via libc eliberating processes from the need for a context
switch everytime they want to count the passage of time.
If a timecounter clock can be exposed to userland than it needs to set
its tc_user member to a non-zero value. Tested with one or multiple
counters per architecture.
The timing data is shared through a pointer found in the new ELF
auxiliary vector AUX_openbsd_timekeep containing timehands information
that is frequently updated by the kernel.
Timing differences between the last kernel update and the current time
are adjusted in userland by the tc_get_timecount() function inside the
MD usertc.c file.
This permits a much more responsive environment, quite visible in
browsers, office programs and gaming (apparently one is are able to fly
in Minecraft now).
Tested by robert@, sthen@, naddy@, kmos@, phessler@, and many others!
OK from at least kettenis@, cheloha@, naddy@, sthen@
|
|
|
|
|
|
| |
because there are callers who were inspecting unrelated fields.
discussion with eric, otto, solution from semarie
this is errata 6.6/031_asr and 6.7/009_asr
|
|
|
|
|
| |
Diff from eric@ and florian@, commiting on their behalf since they are absent
and we want to ride the minor shlib bump.
|
|
|
|
|
|
| |
fix issue reported by Mikolaj Kucharski.
ok martijn@ deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
set subq_h_errno and ar_count. Remove the ar_datalen == -1 check, so we
set ar_h_errno and don't have to (wrongly) guess that
ar_h_errno = HOST_NOT_FOUND.
This makes sure that if no nameserver responds the h_errno value is set to
TRY_AGAIN instead of HOST_NOT_FOUND.
OK eric@, deraadt@
|
|
|
|
| |
it's all we got. ok jca@
|
| |
|
|
|
|
|
| |
Checking Disabled flag. Introduce a RES flag to do so. ok krw@
deraadt@ eric@
|
|
|
|
| |
Also simplify code.
|
|
|
|
| |
ok guenther@ tb@ deraadt@
|
|
|
|
|
|
| |
wrappers around gethostby*_async(3). If you had anything of
importance in /etc/networks, specify it in /etc/hosts instead.
Feedback and OK eric@, OK deraadt@
|
|
|
|
|
|
|
| |
Remove unused headers and a comment implying that we might consider
reviving these dead horses in the future, which we do not intend
to do.
OK deraadt@ guenther@
|
|
|
|
| |
ok eric@ a while ago
|
|
|
|
|
|
|
| |
and that the result is always properly set when the functions returns.
fix issues spotted by claudio@.
ok claudio@
|
|
|
|
| |
Spotted by krw@
|
|
|
|
|
| |
lookups isn't left lying around the address space.
ok eric
|
|
|
|
|
| |
with NULL
ok eric
|
|
|
|
|
|
|
|
|
|
|
|
| |
RES_USE_DNSSEC is implemented by setting the DNSSEC DO bit in outgoing
queries. The resolver is then supposed to set the AD bit in the reply
if it managed to validate the answer through DNSSEC. Useful when the
application doesn't implement validation internally. This scheme
assumes that the validating resolver is trusted and that the
communication channel between the validating resolver and and the client
is secure.
ok eric@ gilles@
|
|
|
|
|
|
| |
Needed for RES_USE_DNSSEC support.
ok eric@ gilles@
|
|
|
|
|
|
|
|
|
| |
elements of the union.
This field is for internal asr flags. The flags in "struct rrset" and
"struct ni" are different kinds of flags.
ok eric@
|
|
|
|
|
|
| |
element of the union.
ok gilles@ millert@ krw@
|
|
|
|
| |
ok jca@ krw@ gilles@
|
|
|
|
|
|
|
| |
rather than a non-informative EAI_FAIL. Compare to -1 for error detection
while here.
ok jca@ gilles@
|
|
|
|
| |
Requested earlier by eric@
|
|
|
|
|
|
|
|
| |
In particular, truncated packets without the TC flag set (non-compliant
server sending too large packets) now fail with EOVERFLOW instead of EINVAL,
so the TCP fallback mechanism can work.
feedback and ok krw@ jca@ benno@
|
|
|
|
|
|
|
| |
EDNS allows for various DNS extensions, among which UDP DNS packets size
bigger than 512 bytes. The default is still to not advertize anything.
ok eric@
|
|
|
|
|
|
| |
pack/unpack contexts.
ok krw@ deraadt@
|
|
|
|
|
|
|
|
|
|
| |
broken DNS servers out there that send packets >512 bytes w/o even the
courtesy of trying to use EDNS0.
A partial workaround as more complete packet parsing solutions are
worked on.
ok jca@ eric@
|
|
|
|
|
|
|
| |
whining about undefined static in all the .c files that include
asr_private.h. _asr_resolver() is defined and used in asr.c only.
ok kettenis@
|
|
|
|
| |
Reported by & similar diff by guenther@ some time ago, ok eric@
|
|
|
|
| |
OK eric@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
when restarting poll() after receiving a signal.
The ruby runtime send signals to threads periodically, so without accounting
for elapsed time, the timeout would never expire if we didn't get a response
from a nameserver.
ok deraadt@ eric@
|
|
|
|
|
|
| |
data isn't necessary.
ok mpi@, ok&tweak natano@
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/
util being added. MLINKS will still work, and remain for perl to ease
upgrades;
ok nicm (curses) bcook (ssl)
ok schwarze, who provided a lot of feedback and assistance
ok tb natano jung
|
|
|
|
|
|
|
| |
Fallback to initialization with 0 when _res.nsaddr_list is to small to hold an
IPv6 address.
OK bluhm@
|
|
|
|
| |
ok jca@ gilles@
|
|
|
|
|
|
|
|
| |
any file indicated by an environment variable" feature inside the
resolver is incompatible with what pledge "dns" is trying to be. It is
a misguided "feature" added way back in history which almost noone uses,
but everyone has to assume the risk from.
ok eric florian kettenis
|
|
|
|
|
|
|
|
| |
wart is incompatible with pledge, because suddenly a "dns" operation
needs "getpw" access to ypbind/ypserv, etc. file + dns access is
enough for everyone, sorry if you were using that old SunOS 4.x style
mechanism, but it is now gone.
ok semarie millert florian
|
|
|
|
|
| |
from asr_ctx was skiped. Missed in previous commit.
OK deraadt@
|
|
|
|
|
|
|
|
| |
nameservers could overflow the dns search pointers. Restrict the
number, size and address family of nameservers in res_init(3). This
fixes a crash in sendmail. Only programs that use the bind resolver
internals directly are affected.
OK deraadt@ millert@
|
|
|
|
|
|
| |
the resolver.
ok millert@ deraadt@
|
|
|
|
|
|
|
| |
This extension never made it to other systems. (pledge is also happy
with this. The idea of DNS @ any port collides with pledge encouraring
differentiation between DNS and non-DNS sockets)
ok phessler jung sthen kettenis
|
|
|
|
|
|
| |
dnssonnect() calls. Be a bit careful crossing over this, need a kernel
no older than Monday.
ok guenther tedu semarie
|
|
|
|
|
|
|
|
|
|
|
| |
system calls. These signal to the pledge kernel code that a DNS
transaction is happening. These special sockets only work well with
port 53 (there are some cute plans...).
Programs calling pledge "inet" will not work! You need pledge "dns",
and of course, you need a fairly fresh kernel.
ok guenther kettenis tedu
|