diff --git a/Build.sh b/Build.sh index 035bef1..35dc807 100644 --- a/Build.sh +++ b/Build.sh @@ -1,5 +1,5 @@ #!/bin/sh -srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.454 2010/07/04 17:45:10 tg Exp $' +srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.455 2010/07/18 17:29:49 tg Exp $' #- # Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Thorsten Glaser @@ -29,7 +29,7 @@ srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.454 2010/07/04 17:45:10 tg Exp $' # MKSH_CONSERVATIVE_FDS MKSH_MIDNIGHTBSD01ASH_COMPAT # MKSH_NOPWNAM MKSH_NO_LIMITS MKSH_SMALL MKSH_S_NOVI # MKSH_UNEMPLOYED MKSH_DEFAULT_EXECSHELL MKSHRC_PATH -# MKSH_DEFAULT_TMPDIR MKSH_CLRTOEOL_STRING +# MKSH_DEFAULT_TMPDIR MKSH_CLRTOEOL_STRING MKSH_A4PB LC_ALL=C export LC_ALL diff --git a/var.c b/var.c index 16e94b8..1cab68d 100644 --- a/var.c +++ b/var.c @@ -26,7 +26,7 @@ #include #endif -__RCSID("$MirOS: src/bin/mksh/var.c,v 1.108 2010/07/17 22:09:40 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/var.c,v 1.109 2010/07/18 17:29:50 tg Exp $"); /* * Variables @@ -1050,6 +1050,16 @@ change_random(const void *vp, size_t n) /* we ignore failures and take in k anyway */ h = oaathash_update(h, k, sizeof(k)); kshstate_v.lcg_state_ = oaathash_finalise(h); +#elif defined(MKSH_A4PB) + /* forced by the user to use arc4random_pushb(3) • Cygwin? */ + { + uint32_t prv; + + prv = arc4random_pushb(&kshstate_v.lcg_state_, + sizeof(kshstate_v.lcg_state_)); + h = oaathash_update(h, &prv, sizeof(prv)); + } + kshstate_v.lcg_state_ = oaathash_finalise(h); #endif }