| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
- 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@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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@
|
|
|
|
| |
ok eric@ a while ago
|
|
|
|
|
|
|
| |
and that the result is always properly set when the functions returns.
fix issues spotted by claudio@.
ok claudio@
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
| |
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@
|
|
|
|
| |
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@
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
via _asr_use_resolver(). If the hint specifies for AI_NUMERICHOST,
create a transient lookup context which won't try to open /etc/reslov.conf
ok eric guenther
|
|
|
|
|
|
|
| |
When it was integrated as the main resolver, a bunch of strange initialization
code remained. Start whittling away at this, piece by piece, to make it
more clear.
ok eric
|
|
|
|
| |
ok jca@
|
| |
|
| |
|
| |
|
|
|
|
| |
direction & ok guenther
|
| |
|
|
|
|
|
|
| |
is used after pid has changed.
ok deraadt@
|
|
|
|
|
|
| |
with a newline.
ok jca@
|
| |
|
|
|
|
| |
review by millert, binary checking process with doug, concept with guenther
|
|
|
|
|
|
|
| |
of the resulting FILE *), then pass fopen() the 'e' mode letter to
mark it close-on-exec.
ok miod@
|
|
|
|
|
|
| |
Include tweaks suggested by mpi@
ok deraadt@
|
|
|
|
|
|
| |
structures, functions and defines.
discussed with and ok deraadt@ guenther@
|
|
|
|
|
|
| |
to prevent collisions with third-party programs.
suggested by sthen@, ok theo@
|
| |
|
|
|
|
|
|
| |
looking into /etc/hosts. Remove the alias check from the search
domain iteration. Instead, take a shortcut to res_query_async_ctx() in
res_search_async_ctx().
|
|
|
|
|
| |
Explicitely check for issetguid() before calling getenv(). Also make
asr_hostalias() callable from other parts of asr too.
|
|
|
|
| |
things around.
|
|
|
|
|
|
|
|
| |
Change res_init() to initialize the _res structure on first call, and
udpate the global async context if changes were made by the user. All
resolver functions now call res_init() internally.
fixes issue spotted by otto@
|
|
|
|
|
| |
async API. That is actually useless and it makes the code more
complicated. The required buffers are always allocated when needed.
|
|
|
|
| |
into account that asr_use_resolver() can return NULL; ok tedu@ eric@
|
| |
|
|
|
|
|
| |
of resolver context for each resolver call for single threaded
programs. With and ok tedu@ ok eric@
|
|
|
|
|
|
| |
takes precedence. Simplify code while there.
suggested by deraadt@
|
|
|
|
|
|
| |
if that happens.
prodded by deraadt@
|
| |
|
|
|
|
| |
in the former resolver.
|
|
|
|
|
|
| |
/etc/hosts.
discussed with deraadt@
|
| |
|