Commit Graph

2738 Commits

Author SHA1 Message Date
tg e4c01375aa fix access-after-free crash spotted by Enjolras via IRC, thanks! 2014-06-29 11:28:28 +00:00
tg a375a7b2b6 use -fstack-protector-strong in favour of -fstack-protector-all if we can 2014-06-29 10:56:08 +00:00
tg c75ed28019 shut up valgrind in the RAND_add() code… sounds familiar…
I’m committing this from a Debian system… but fear not…
I know what I am doing…
2014-06-26 20:36:02 +00:00
tg d2ef1d5d2c bump 2014-06-24 20:47:47 +00:00
tg 9eed448a96 Unicode 7.0.0 2014-06-24 19:53:19 +00:00
tg edc80f317c remove old/unused stuff 2014-06-24 18:51:37 +00:00
tg c7774ae861 Detect (potentially mismatched) ELF files; suggested by enh@google.com 2014-06-24 18:38:31 +00:00
tg 73edeaa8ec fix “set -o pipefail” w/o PIPESTATUS, and PIPESTATUS inside COMSUBs and other sequences 2014-06-10 22:17:10 +00:00
tg 7330970bfa fix some of the signal stuff (still didn’t get rid of awk(1) and printf(1)
calls in Build.sh, we need HOSTCC for that… which we should do, using BER
or something encoded for integers, and pregenerated hashtables as planned)

also, bump to R50 beta, due to today’s language changes
2014-06-09 13:25:53 +00:00
tg 129ba5c584 fix the “set ±p” issue for good
cf. http://blog.cmpxchg8b.com/2013/08/security-debianisms.html
2014-06-09 12:28:19 +00:00
tg 7734e07d12 oksh sync 2014-06-09 11:22:50 +00:00
tg b7c41f240c LANGUAGE CHANGE: $((…)) results are now IFS-split, as per POSIX 201x 2014-06-09 11:16:07 +00:00
tg 2f620132af SYNTAX CHANGE: remove x=([2]=foo [5]=bar) due to regressions 2014-06-09 11:13:19 +00:00
tg 30bbb90f75 next attempt at fixing IFS-subst-2 2014-06-09 10:41:03 +00:00
tg ccf991486f doc issue (because no regression… even if it works in ksh93):
19:09 < nDuff> I'm reading the following behavior as contrary to the documentation. Could someone clarify?
19:09 < nDuff> $ words_pat='*@(cat|mice)*'; [[ 'there is a {cat}' = $words_pat ]]; echo $?
19:09 < nDuff> 1
19:09 < nDuff> $ [[ 'there is a {cat}' = *@(cat|mice)* ]]; echo $?
19:09 < nDuff> 0
2014-06-06 23:50:22 +00:00
tg 224bea2d87 bugreport about x=([y]=z) from ormaaj and jilles, via #ksh on IRC 2014-05-29 21:30:45 +00:00
tg 495b798893 improved OE reporting for newer Darwin/OSX, by Ryan Schmidt <ryandesign@macports.org> 2014-05-27 13:41:53 +00:00
tg 033e1f4b9e fix LP#1277691 (“nameref RHS not syntax checked”) and the inability to
use errorf() while nameref states were being changed (by almost completely
eliminating the global variable) and the readonly first array variable
bypass (typo/refactoro); also, whitespace, one int → bool, and add a
comment wrt. the parser rewrite talked about with igli during a fever ;)
2014-05-27 13:22:46 +00:00
tg d8461d400f fix ${!foo} for when foo is unset 2014-05-27 13:00:31 +00:00
tg 0c3c44a6a7 POSIX clarification leads to ugly new “bug” (expected-fail, for now)
thanks ormaaj for noticing and forwarding to me
2014-04-29 07:43:38 +00:00
tg 8b88eb3c9b avoid UB in LFS test (Debian #742780) 2014-03-28 12:08:25 +00:00
tg b76c28c08b use termcap(5) names, not terminfo(5) names, in tput(1) examples,
since only the former work in FreeBSD/MidnightBSD

thanks to jilles, discovered by pekster, on IRC
2014-03-07 22:47:49 +00:00
tg 58d048788a tentatively drop C99 2014-02-09 22:49:29 +00:00
tg 27f56362fa document known readonly bug from <52EFA07D.3010904@posteo.de> 2014-02-09 00:08:17 +00:00
tg d108bbe94e add a testcase specifically designed to check for noexec; spotted by gentoo/developer/Polynomial-C 2014-02-08 20:20:32 +00:00
tg a1946ba7b8 honour $TMPDIR in test.sh for use as scratch space 2014-02-08 20:20:17 +00:00
tg a11bd30cba oksh sync, mostly
• keep the Kochan book at 3rd edition because 4th is not a paper book

• keep POSIX at 1993 because I’m actually unable to find an ISBN or
  other bib ref for the 2013 version…
2014-02-05 18:07:29 +00:00
tg 14e2537d50 improved debugging, and chop the input
discovered while debugging lewellyn’s issue on Interix
2014-01-25 22:45:49 +00:00
tg f7194b3e1a this was missed 2014-01-22 19:53:52 +00:00
tg 8b40ae5de1 hint more on vi mode limitations; requested by Philipp von Bassewitz 2014-01-21 20:58:32 +00:00
tg 48c0f71deb remove (#ifdef DEBUG) obsolete integer wraparound runtime test (maybe do something for unsigneds later… but then, it’s the standard, and you’d notice very quickly, and check.t would) 2014-01-16 13:59:12 +00:00
tg 9c8c1827d9 • turn on brace expansion earlier, so MKSH_BINSHREDUCED turns it off
• add first (uninstallable) draft of a dash-mksh package in the same
  spirit joe-jupp has; requested by Kaarlo “janPasi” Poski
2014-01-16 13:54:45 +00:00
tg 270a86f895 • use BAFH for hash ipv NZAAT
• prep for release
• fix minor nits in manpage and tests
2014-01-11 18:09:43 +00:00
tg c1c0b997fe make the code to exec simple commands also available for mksh_small 2014-01-11 16:26:28 +00:00
tg c8188de88b add BAFH: Better Avalanche for the Jenkins hash
This uses NZAAT Init and Update, and AES MixColumns for Finish.
For hashtables this will need XOR with uint32_t then rotation
with uint5_t (so a total of 37 bit of entropy) for mitigation.
For entropy avalanche this needs mixing, and better handling
of the IV and/or the first four bytes, see BAFHHost* macros.

Thanks to Bob Jenkins for the one-at-a-time hash, Bret Mulvey for
the Hash.cs AvalancheTest, Jonathan “ciruZ” Schleifer and Dominik
“Natureshadow” George for discussion, Theodore “Ted” Ts'o for valuable
input on arc4random_roundhash, “poncho” for suggesting and Orson
“nightcracker” Peters for implementing MixColumns, tarent GmbH for
letting me test this empirically on a 64 GiB RAM machine.
2014-01-11 15:59:41 +00:00
tg 95a19997b8 avoid NZATMix returning false on its identity mapping (00000000h) 2014-01-05 22:17:57 +00:00
tg 89e774fd7e • fix ${12345678901234567890} segfault (OOB access / integer overflow)
‣ not like oksh did, but using mksh’s built-in features
• handle suggested __pure additions
• revert cid 1004F7F096867C83CF0
  ‣ always use our wcwidth code
  ‣ only use our strlcpy code if none found
• fix a couple of gcc-snapshot and clang/scan-build warnings
• mksh R49~rc1
2014-01-05 21:57:29 +00:00
tg 2f6fa6fb3d revert unfinished change (listed in mksh.hts) 2014-01-05 19:20:31 +00:00
tg d8b65ff642 oksh bumped array indicēs again, INT_MAX this time, still less than mksh… 2014-01-05 19:14:18 +00:00
tg 2f7eec765d merge oksh’s “ctype cleanups” commit
(not much of it applies since we don’t use the OS’ table-based lookup)
2014-01-05 19:11:46 +00:00
tg 0545eb1c45 • use Rijndæl MixColumn for arc4random_roundhash avalanching;
suggested in http://crypto.stackexchange.com/questions/12145
• add pure mksh™ implementation, too, while here (since it can
  replace NZAATFinish even though NZATMix is slower, both are
  bijective)
2014-01-02 22:51:01 +00:00
tg d22296d595 make octal in arithmetics better greppable (cf. Debian #732509)
XXX maybe make an entire .Ss or .Sh out of delta against posix? other sh?
2013-12-18 16:54:20 +00:00
tg 70233e4cd4 play catchup with weird obsd reorg (in which they lost a few tests, even…) 2013-12-15 15:45:31 +00:00
tg d49d03a095 read’s -r option is not portable; discovered by RT 2013-12-02 19:47:33 +00:00
tg 328cbf510c Unicode 6.3.0 2013-11-30 23:20:04 +00:00
tg 0dfbf3d314 note that even set -o noclobber can be coërced into dropping O_EXCL by a TOCTOU 2013-11-30 18:16:54 +00:00
tg 6217904193 detect getsid(2), also spotted by RT, this on MSYS 2013-11-30 17:41:35 +00:00
tg c4c4fd7365 RCSID-only oksh sync (their whitespace changes don’t apply to us)
note that emacs.c partial peereboom rewrite is *not* merged, and kept that way
2013-11-30 17:33:51 +00:00
tg 6e1ab32be6 don’t use File::Temp because it’s Perl >= 5.6.1 only
spotted by RT
2013-11-30 17:11:06 +00:00
tg 7cae22ef5c zsh on BeOS calls sigsuspend() on “dot”, which fails; work around it
tested by RT
2013-11-30 15:42:19 +00:00