summaryrefslogtreecommitdiff
path: root/libexec
AgeCommit message (Collapse)Author
2022-11-07dtors were broken by trying to reuse DF_1_NODELETE to hint that thisTheo de Raadt
library would never unload, and could be immutable. Pass a seperate flag for our purposes Noticed from regress tests by anton, ok kettenis
2022-11-06TEXTREL binaries are loaded without immutable on un-writeable sections.Theo de Raadt
After text relocations are finished, these regions (in the binary) can become immutable. OPENBSD_MUTABLE section always overlaps writeable LOADs, so don't be afraid of that case, it's covered.
2022-11-06ld.so wants to make it's own RELRO immutable, which is obviously doneTheo de Raadt
right after it does mprotect PROT_READ.
2022-11-06Library RELRO sections are excluded from the immutable list, because ld.soTheo de Raadt
tweaks them quite late. _dl_relro() is called when that work is done, and the final mprotect PROT_READ happens. Then we can make mark it immutable. ok kettenis
2022-11-06When loading startup libraries, pass DF_1_NODELETE to indicate these areTheo de Raadt
unloadable libraries. This allows us make consider making parts of those libraries immutable (in future commits) ok guenther kettenis
2022-11-05The /var/run/ld.so.hints file is mapped into memory. It is never replaced,Theo de Raadt
so the mapping can be immutable. ok kettenis
2022-11-05teach ld.so how to call the mimmutable() system callTheo de Raadt
ok kettenis
2022-10-28Implement support for DT_MIPS_RLD_MAP_REL.Mark Kettenis
ok deraadt@
2022-10-23add a little spacing and fix Nd;Jason McIntyre
2022-10-23sort Xr; remove '.' after Nd textJonathan Gray
2022-10-23new sentence, new lineJonathan Gray
2022-09-01Import snmpd_metrics.Martijn van Duren
This contains snmpd's mib.c (and friends) adjusted for libagentx. This standalone binary is to be used by snmpd to achieve privilege separation. If people need net-snmpd, but want some of the base snmpd metrics they can start this binary as a normal daemon and connect to net-snmpd's agentx socket. Tested, Feedback, and OK sthen@ Release build test, and OK tb@
2022-10-16don't use | operator where || was intendedJonathan Gray
ok gnezdo@ kn@ martijn@
2022-09-01Import snmpd_metrics.Martijn van Duren
This contains snmpd's mib.c (and friends) adjusted for libagentx. This standalone binary is to be used by snmpd to achieve privilege separation. If people need net-snmpd, but want some of the base snmpd metrics they can start this binary as a normal daemon and connect to net-snmpd's agentx socket. Tested, Feedback, and OK sthen@ Release build test, and OK tb@
2022-09-05Do not perform out-of-bounds arrray accesses for bogus relocation type values.Miod Vallat
2022-09-02Use a shorter system call invocation template for system calls in the rangeMiod Vallat
0-127, where immediate addressing can be used to load the system call number in r0, rather than performing a memory load using pc-relative addressing. No functional change, but rm(1) runs a couple cycles faster per file now.
2022-09-01Hook up snmpd_metricsMartijn van Duren
OK tb@, sthen@
2022-09-01Import snmpd_metrics.Martijn van Duren
This contains snmpd's mib.c (and friends) adjusted for libagentx. This standalone binary is to be used by snmpd to achieve privilege separation. If people need net-snmpd, but want some of the base snmpd metrics they can start this binary as a normal daemon and connect to net-snmpd's agentx socket. Tested, Feedback, and OK sthen@ Release build test, and OK tb@
2022-08-29use ansi volatile keyword, not __volatile__Jonathan Gray
ok miod@ guenther@
2022-08-20Support RTLD_NOLOAD in ld.so. From guenther@. OK jca@ guenther@Stuart Henderson
2022-07-29Mention that ttyflags needs to be run to update per-device flags.Todd C. Miller
Also includes some minor cleanup inspired by the NetBSD version. OK jmc@ sthen@
2022-06-14Document search orderKlemens Nanni
Explain when and how LD_LIBRARY_PATH, DT_RUNPATH and DT_RPATH are used. Input OK guenther
2022-05-24Address the clang 13 "changed binding to STB_WEAK" warning on arm (32bit):Philip Guenther
* add _?ENTRY_NB to arm/asm.h * make sure ld.so's arm asm bits see the same includes as libc * switch libc's arm bits to the generic DEFS.h * switch arm ASM bits from ENTRY to ENTRY_NB as necessary ok kettenis@ miod@
2022-05-13If $KERNEL_DIR.tgz exists, reorder_kernel updates the destination forStuart Henderson
logged stdout output, but forgot to handle stderr. Fix that so that the error log includes stderr output in that case (otherwise the log is usually empty). From Lauri Tirkkonen, plus comment adjusted. ok tb
2022-05-10Prevent out-of-bounds array access with binaries that use unsupportedMark Kettenis
relocations. ok guenther@
2022-05-01Prevent out-of-bounds array access with binaries that use unsupportedMark Kettenis
relocations. ok guenther@
2022-03-31man pages: add missing commas between subordinate and main clausesChristian Weisgerber
jmc@ dislikes a comma before "then" in a conditional, so leave those untouched. ok jmc@
2022-03-31'e' is no longer an optional element for ober_scanf_elements.Martijn van Duren
This caused the last attribute to be dropped. Reported by Allan Streib (astreib <at> fastmail <dot> fm) Reminded by Raf Czlonka (rczlonka <at> gmail <dot> com) OK tb@ claudio@
2022-02-22disable further calls to unveil(2)Ricardo Mestre
pointed out by brynet@
2022-02-21unveil(2) "/dev" read-only instead of using chroot(2)/chdir(2). after callingRicardo Mestre
the latter the program then also calls stat(2) and therefore it never actually worked correctly since they were added almost 20 years now. while here remove an implementation detail from the manpage which covered the chroot part. pointed out by and ok deraadt@
2022-01-31Nothing depends on archdep.h pulling in other #includes anymore,Philip Guenther
so delete the #includes and hide the RELOC_* functions that are only used by lib/csu behind "#ifdef RCRT0" matches the others and it's hard to see how it will fail
2022-01-31Inline RELOC_* into boot_md.c and simplify the code based on whatPhilip Guenther
we can verify at build time. Track dt_pltgot as an Elf_Addr instead of an Elf_Addr* to eliminat casts on both setting and using. Set RELATIVE_RELOC so the ld.so Makefile can verify that it has just the relocation types we expect. Nothing depends on archdep.h pulling in other #includes anymore, so delete the #includes and hide the RELOC_* functions that are only used by lib/csu behind "#ifdef RCRT0" Tested with full build.
2022-01-28Update comment: struct link_map is defined in <link_elf.h>Philip Guenther
noted by miod
2022-01-18Avoid pulling sys/param.h, by using _ALIGN instead.Theo de Raadt
sys/time.h now gets NBBY and howmany() also ok guenther
2022-01-17Stop supporting a GOT with only one reserved entry in static PIEPhilip Guenther
and ld.so itself: support for that in dynamic objects was removed in 2010. Inline RELOC_GOT() into boot_md.c and clean up the result like boot.c, snag just the three DT_MIPS_* tags needed, and delete the error case which is verified at build time. ok visa@
2022-01-17Nothing depends on archdep.h pulling in other #includes anymore,Philip Guenther
so delete the #includes and hide the RELOC_* functions that are only used by lib/csu behind "#ifdef RCRT0" these are the ones I tested; kettenis@ was on board with the concept
2022-01-16Nothing depends on archdep.h pulling in other #includes anymore,Philip Guenther
so delete the #includes and hide the RELOC_* functions that are only used by lib/csu behind "#ifdef RCRT0" ok jca@
2022-01-16Nothing depends on archdep.h pulling in other #includes anymore,Philip Guenther
so delete the #includes and hide the RELOC_* functions that are only used by lib/csu behind "#ifdef RCRT0" ok kettenis@
2022-01-16Nothing depends on archdep.h pulling in other #includes anymore,Philip Guenther
so delete the #includes and hide the RELOC_* functions that are only used by lib/csu behind "#ifdef RCRT0" ok aoyama@
2022-01-08archdep.h needed for _dl_dcbf, on powerpcTheo de Raadt
2022-01-08need "archdep.h" for _dl_md_plabel on hppaTheo de Raadt
2022-01-08Prep .c files for removing the #includes from */archdep.hPhilip Guenther
* replace #include "archdep.h" with #includes of what is used, pulling in "syscall.h", "util.h", and "archdep.h" as needed * delete #include <sys/syscall.h> from syscall.h * only pull in <sys/stat.h> to the three files that use _dl_fstat(), forward declare struct stat in syscall.h for the others * NBBY is for <sys/select.h> macros; just use '8' in dl_printf.c * <machine/vmparam.h> is only needed on i386; conditionalize it * stop using __LDPGSZ: use _MAX_PAGE_SHIFT (already used by malloc.c) where necessary * delete other bogus #includes, order legit per style: <sys/*> then <*/*>, then <*>, then "*" dir.c improvement from jsg@ ok and testing assistance deraadt@
2022-01-04- add LDAPJason McIntyre
- capitalise RADIUS when referring to the protocol - remove tis from raf czlonka ok sthen ajacoutot
2021-12-30Sync from libc: Use _MAX_PAGE_SHIFT, rather than #ifdef mips64Philip Guenther
ok otto@
2021-12-30Delete dead (duplicate) testPhilip Guenther
2021-12-23Roll the syscalls that have an off_t argument to remove the explicit padding.Philip Guenther
Switch libc and ld.so to the generic stubs for these calls. WARNING: reboot to updated kernel before installing libc or ld.so! Time for a story... When gcc (back in 1.x days) first implemented long long, it didn't (always) pass 64bit arguments in 'aligned' registers/stack slots, with the result that argument offsets didn't match structure offsets. This affected the nine system calls that pass off_t arguments: ftruncate lseek mmap mquery pread preadv pwrite pwritev truncate To avoid having to do custom ASM wrappers for those, BSD put an explicit pad argument in so that the off_t argument would always start on a even slot and thus be naturally aligned. Thus those odd wrappers in lib/libc/sys/ that use __syscall() and pass an extra '0' argument. The ABIs for different CPUs eventually settled how things should be passed on each and gcc 2.x followed them. The only arch now where it helps is landisk, which needs to skip the last argument register if it would be the first half of a 64bit argument. So: add new syscalls without the pad argument and on landisk do that skipping directly in the syscall handler in the kernel. Keep compat support for the existing syscalls long enough for the transition. ok deraadt@
2021-12-15spamd: convert to opaque HMAC_CTXTheo Buehler
ok jsing
2021-12-14A better approach is to defined __CONCAT locallyTheo de Raadt
2021-12-14Sigh. This sys/cdefs.h is hiding use of __CONCAT in a non-C context.Theo de Raadt
Needs some other repairs first.
2021-12-13including sys/cdefs.h manually started as a result of netbsd trying toTheo de Raadt
macro-build a replacement for sccsid, and was done without any concern for namespace damage. Unfortunately this practice started infecting other code as others were unaware they didn't need the file. ok millert guenther