| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is generated, and mprotect/mmap return ENOTSUP. If the sysctl(8) flag
kern.wxabort is set then a SIGABRT occurs instead, for gdb use or coredump
creation.
W^X violating programs can be permitted on a ffs/nfs filesystem-basis,
using the "wxallowed" mount option. One day far in the future
upstream software developers will understand that W^X violations are a
tremendously risky practice and that style of programming will be
banished outright. Until then, we recommend most users need to use the
wxallowed option on their /usr/local filesystem. At least your other
filesystems don't permit such programs.
ok jca kettenis mlarkin natano
|
|
|
|
|
|
| |
existing naming standards. Also provide functions for setting a struct
tls_error * directly (rather than having to have a struct tls * or a
struct tls_config *).
|
| |
|
| |
|
| |
|
|
|
|
|
| |
in some cases. Be consistent and use "dst" everywhere like for
strlcat(3) and strncat(3). From Tim Kuijsten.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original diff would crash at least i386 and powerpc, as spotted by
guenther@ The reason was an incorrect use of sizeof in amap_lookups().
Confirmation that powerpc works by mpi@ and mglocker@
"throw it in" deraadt@
Original commit message:
This is achieved by grouping amap slots into chunks that are allocated
on-demand by pool(9). Endless "fltamapcopy" loops because of kmem
shortage should be solved now. The kmem savings are also important to later
enable vmm(4) to use larged shared memory mappings for guest VM RAM.
This adapts libkvm also because the amap structure layout has changed.
Testing and fix of libkvm glitch in initial diff by tb@
Feedback and "time to get this in" kettenis@
|
|
|
|
|
| |
completion, just like puts(3). Found the hard way in portable code.
OK jmc@
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new code sees this combination as a continuation of string at offset
pmatch[0].rm_so, instead of a new string which starts at that offset.
This change fixes a search quirk in vi and is needed for upcoming fixes in
ed/sed/vi.
This new behaviour is also used in gnu regex.
Lots of help from schwarze@
Manpage bits by schwarze@
OK schwarze@ and millert@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change touches code that only runs when REG_BASIC is given and the
regular expression is anchored with [[:<:]] or \< _and_ uses backreferences.
Simplify the logic while here, already looking at the previous character
if REG_STARTEND and REG_NOTBOL are both in use, in anticipation of
martijn@'s upcoming patch which will further improve REG_STARTEND.
OK millert@ martijn@
Also tested by Pedro Giffuni (pfg) on FreeBSD.
|
|
|
|
| |
OK czarkoff@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restoring the original errno found in el_wgetc() after
el_wgets() did some cleanup that may have changed errno.
Improve clarity and robustness of the code by not setting and
inspecting el_errno where it isn't needed; in particular, let
keymacro_get() properly report read failure to read_getcmd().
Move el_errno to el_read_t because it's only used in read.c.
Never set errno back to zero.
Checked with a test program installing a USR1 signal handler
without SA_RESTART, for the cases read_getcmd(), ed_quoted_insert(),
keymacro_get(), ed_command(), and EL_EDITMODE=0.
OK czarkoff@
|
|
|
|
|
|
| |
and non-utf8 bytes escaped.
ok sthen@
|
|
|
|
|
|
|
|
| |
implementations; fixes issue when exec*() is used for
fuse_args, notably in sshfs; from Hiltjo Posthuma and
reminded by ray.
ok mpi@
|
|
|
|
| |
ok mpi@ beck@ mlarkin@
|
|
|
|
|
|
| |
I'm debugging the read module for weeks now,
but these ifdefs aren't helpful.
OK cpp(1).
|
| |
|
| |
|
|
|
|
| |
longjmperror symbols
|
|
|
|
|
|
|
|
| |
sig{block,setmask} to directly using the sigprocmask syscall.
Remove longjmperror()-if-passed-real-sigcontext checks and the
filling in of sigcontext fields that longjmp ignores.
in snaps; ok deraadt@
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
|
|
| |
longjmp performs can't really be relied upon, even after we got rid of the
false positives...
ok millert@ deraadt@
|
|
|
|
| |
ok millert@ deraadt@
|
|
|
|
|
|
| |
rlogind and rshd (remember them?)
ok deraadt@
|
|
|
|
|
|
|
| |
locale implementation: _{Current,Default}*Locale, __[mn]locale_changed,
__mb_len_max_runtime
ok millert@ schwarze@ deraadt@
|
|
|
|
|
|
|
|
| |
sig{block,setmask} to directly using the sigprocmask syscall. Rewrite
sig{set,long}jmp based on {set,long}jmp to avoid the deprecated
store/load-multiple instructions.
in snaps; ok deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop the read.c module from poking the el_chared.c_macro data
structure that used to belong to the chared.c module. Given that
no other module, not even chared itself, is using that data, move it
into the read modules's own opaque data structure, struct el_read_t.
That gets rid of one struct, one #define, one struct member, and one
function argument in the chared.h interface.
OK czarkoff@
|
| |
|
|
|
|
|
| |
Improve precision in the description of the "bind" builtin command.
Tweak terminology to better match editline(7).
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is achieved by grouping amap slots into chunks that are allocated
on-demand by pool(9). Endless "fltamapcopy" loops because of kmem
shortage should be solved now. The kmem savings are also important to later
enable vmm(4) to use larged shared memory mappings for guest VM RAM.
This adapts libkvm also because the amap structure layout has changed.
Testing and fix of libkvm glitch in initial diff by tb@
Feedback and "time to get this in" kettenis@
|
| |
|
|
|
|
| |
return values.
|
|
|
|
|
| |
document the return values, expand the list of affected functions, warn
against using EL_GETCFN, and clarify some wording and notation.
|
|
|
|
| |
The outer while() loop is missing, so we only read up to chunk_max bytes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from the private header "read.h" to the public header <histedit.h>.
That's not an interface change, it was already used and documented
publicly, merely not properly declared.
Improve encapsulation: Make el_read a pointer to an opaque struct
in struct editline, such that "read.h" no longer needs to be included
from "el.h" but only from the two files using it, read.c and el.c.
Only pass the required el_read_t to el_read_{s,g}etfn(),
do not pass the full struct editline.
OK czarkoff@,
also proofread by Christian Heckendorf <mbie at ulmus dot me>.
|
|
|
|
| |
shared libraries...and I misspelled them anyway
|
| |
|
|
|
|
|
|
|
| |
setting logic...which can significantly reduce the size of the stub on
some archs; 20 syscalls get a trim with this.
in snaps for a bit and ok deraadt@
|
|
|
|
|
|
| |
it for the TCB pointer. Eliminate __cerror.
"looks good" kettenis@, testing and ok deraadt@
|
| |
|
|
|
|
|
|
|
| |
from Edgar Pettijohn <edgar at pettijohn minus web dot com>.
OK jmc@ deraadt@
While here, remove two instances of inconsistent future tense.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This change touches code that only runs when REG_BASIC is given and
the regular expression is anchored with ^ _and_ uses backreferences.
The segfault could only be triggered when the ^ anchor was inside
a leading () subexpression quantified with *.
OK martijn@
Patch also proofread by Pedro Giffuni <pfg at FreeBSD dot org>.
|
| |
|
|
|
|
| |
ok deraadt@ kettenis@
|
|
|
|
| |
ok kettenis@
|