* merge OpenBSD 3.5-current
* retain local changes to ls and md5 (md4, hint hint) * fix up ksh (limits - we still have 4096 bytes input buffer; random usage) * fix manpages (mdX, ksh)
This commit is contained in:
parent
daf9f30b2f
commit
b051c6e857
4
Makefile
4
Makefile
@ -1,5 +1,5 @@
|
|||||||
# $MirBSD: Makefile,v 1.2 2004/04/07 17:14:11 tg Exp $
|
# $MirBSD: Makefile,v 1.3 2004/05/23 12:47:00 tg Exp $
|
||||||
# $OpenBSD: Makefile,v 1.16 2004/01/09 17:10:07 brad Exp $
|
# $OpenBSD: Makefile,v 1.18 2004/02/16 19:07:19 deraadt Exp $
|
||||||
|
|
||||||
PROG= ksh
|
PROG= ksh
|
||||||
SRCS= alloc.c c_ksh.c c_sh.c c_test.c c_ulimit.c edit.c emacs.c \
|
SRCS= alloc.c c_ksh.c c_sh.c c_test.c c_ulimit.c edit.c emacs.c \
|
||||||
|
15
alloc.c
15
alloc.c
@ -1,5 +1,6 @@
|
|||||||
/* $MirBSD: alloc.c,v 1.2 2004/04/17 00:47:16 tg Exp $ */
|
/* $MirBSD: alloc.c,v 1.3 2004/05/23 12:47:00 tg Exp $ */
|
||||||
/* $OpenBSD: alloc.c,v 1.6 2003/08/05 20:52:27 millert Exp $ */
|
/* $OpenBSD: alloc.c,v 1.7 2004/02/19 18:51:17 deraadt Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002 Marc Espie.
|
* Copyright (c) 2002 Marc Espie.
|
||||||
*
|
*
|
||||||
@ -63,7 +64,7 @@ alloc(size_t size, Area *ap)
|
|||||||
{
|
{
|
||||||
struct link *l;
|
struct link *l;
|
||||||
|
|
||||||
l = malloc(size + sizeof(struct link));
|
l = malloc(sizeof(struct link) + size);
|
||||||
if (l == NULL)
|
if (l == NULL)
|
||||||
internal_errorf(1, "unable to allocate memory");
|
internal_errorf(1, "unable to allocate memory");
|
||||||
l->next = ap->freelist;
|
l->next = ap->freelist;
|
||||||
@ -87,15 +88,15 @@ aresize(void *ptr, size_t size, Area *ap)
|
|||||||
lprev = l->prev;
|
lprev = l->prev;
|
||||||
lnext = l->next;
|
lnext = l->next;
|
||||||
|
|
||||||
l2 = realloc(l, size+sizeof(struct link));
|
l2 = realloc(l, sizeof(struct link) + size);
|
||||||
if (l2 == NULL)
|
if (l2 == NULL)
|
||||||
internal_errorf(1, "unable to allocate memory");
|
internal_errorf(1, "unable to allocate memory");
|
||||||
if (lprev)
|
if (lprev)
|
||||||
lprev->next = l2;
|
lprev->next = l2;
|
||||||
else
|
else
|
||||||
ap->freelist = l2;
|
ap->freelist = l2;
|
||||||
if (lnext)
|
if (lnext)
|
||||||
lnext->prev = l2;
|
lnext->prev = l2;
|
||||||
|
|
||||||
return L2P(l2);
|
return L2P(l2);
|
||||||
}
|
}
|
||||||
|
6
c_ksh.c
6
c_ksh.c
@ -1,5 +1,5 @@
|
|||||||
/* $MirBSD: c_ksh.c,v 1.2 2004/04/17 00:47:17 tg Exp $ */
|
/* $MirBSD: c_ksh.c,v 1.3 2004/05/23 12:47:00 tg Exp $ */
|
||||||
/* $OpenBSD: c_ksh.c,v 1.17 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: c_ksh.c,v 1.18 2004/02/10 13:03:36 jmc Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* built-in Korn commands: c_*
|
* built-in Korn commands: c_*
|
||||||
@ -1276,7 +1276,7 @@ c_kill(wp)
|
|||||||
if (j_kill(p, sig))
|
if (j_kill(p, sig))
|
||||||
rv = 1;
|
rv = 1;
|
||||||
} else if (!getn(p, &n)) {
|
} else if (!getn(p, &n)) {
|
||||||
bi_errorf("%s: arguments must be jobs or process ids",
|
bi_errorf("%s: arguments must be jobs or process IDs",
|
||||||
p);
|
p);
|
||||||
rv = 1;
|
rv = 1;
|
||||||
} else {
|
} else {
|
||||||
|
26
ksh.1tbl
26
ksh.1tbl
@ -1,5 +1,5 @@
|
|||||||
.\" $MirBSD: ksh.1tbl,v 1.23 2004/04/29 19:06:24 tg Exp $
|
.\" $MirBSD: ksh.1tbl,v 1.24 2004/05/23 12:47:00 tg Exp $
|
||||||
.\" $OpenBSD: ksh.1tbl,v 1.65 2004/01/23 23:08:45 jmc Exp $
|
.\" $OpenBSD: ksh.1tbl,v 1.70 2004/05/09 06:07:42 otto Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 1980, 1990, 1993
|
.\" Copyright (c) 1980, 1990, 1993
|
||||||
.\" The Regents of the University of California. All rights reserved.
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
@ -376,8 +376,8 @@ to the standard input of the following command.
|
|||||||
The exit status of a pipeline is that of its last command.
|
The exit status of a pipeline is that of its last command.
|
||||||
A pipeline may be prefixed by the
|
A pipeline may be prefixed by the
|
||||||
.Ql \&!
|
.Ql \&!
|
||||||
reversed word which causes the exit status of the pipeline to be logically
|
reserved word, which causes the exit status of the pipeline to be logically
|
||||||
complemented: if the original status was 0 the complemented status will be 1;
|
complemented: if the original status was 0, the complemented status will be 1;
|
||||||
if the original status was not 0, the complemented status will be 0.
|
if the original status was not 0, the complemented status will be 0.
|
||||||
.Pp
|
.Pp
|
||||||
.Em Lists
|
.Em Lists
|
||||||
@ -575,7 +575,7 @@ is set to the word and
|
|||||||
is executed.
|
is executed.
|
||||||
If
|
If
|
||||||
.Ic in
|
.Ic in
|
||||||
is not used to specify a word list, the positional parameters ($1, $2, etc.)
|
is not used to specify a word list, the positional parameters ($1, $2, etc.\&)
|
||||||
are used instead.
|
are used instead.
|
||||||
For historical reasons, open and close braces may be used instead of
|
For historical reasons, open and close braces may be used instead of
|
||||||
.Ic do
|
.Ic do
|
||||||
@ -1557,19 +1557,14 @@ May be unset or
|
|||||||
.Dv NULL
|
.Dv NULL
|
||||||
if the shell doesn't know where it is.
|
if the shell doesn't know where it is.
|
||||||
.It Ev RANDOM
|
.It Ev RANDOM
|
||||||
A simple random number generator.
|
A pseudo-random number generator.
|
||||||
Every time
|
Every time
|
||||||
.Ev RANDOM
|
.Ev RANDOM
|
||||||
is referenced, it is assigned the next number in a random number series.
|
is referenced, it is assigned the next random number in the range
|
||||||
The point in the series can be set by assigning a number to
|
0\-32767.
|
||||||
.Ev RANDOM
|
The pseudo-random number generator is seeded via
|
||||||
(see
|
|
||||||
.Xr rand 3 ) .
|
|
||||||
.Pp
|
|
||||||
On systems which provide the
|
|
||||||
.Xr arc4random 3
|
.Xr arc4random 3
|
||||||
function, the random value is seeded on start by the arcfour
|
if the function exists, else with a less random mechanism.
|
||||||
random number generator.
|
|
||||||
If a feedback function is provided, changed values are propagated
|
If a feedback function is provided, changed values are propagated
|
||||||
back to the arcfour random number generator.
|
back to the arcfour random number generator.
|
||||||
.It Ev REPLY
|
.It Ev REPLY
|
||||||
@ -5111,6 +5106,7 @@ deleted and a new prompt to be printed.
|
|||||||
.It Pa /etc/suid_profile
|
.It Pa /etc/suid_profile
|
||||||
.El
|
.El
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
|
.Xr arc4random 1 ,
|
||||||
.Xr awk 1 ,
|
.Xr awk 1 ,
|
||||||
.Xr csh 1 ,
|
.Xr csh 1 ,
|
||||||
.Xr ed 1 ,
|
.Xr ed 1 ,
|
||||||
|
21
sh.h
21
sh.h
@ -1,10 +1,5 @@
|
|||||||
/* $MirBSD: sh.h,v 1.6 2003/12/23 13:41:50 tg Exp $ */
|
/* $MirBSD: sh.h,v 1.7 2004/05/23 12:47:01 tg Exp $ */
|
||||||
/* $OpenBSD: sh.h,v 1.15 2003/10/22 07:40:38 jmc Exp $ */
|
/* $OpenBSD: sh.h,v 1.17 2004/05/10 16:28:47 pvalchev Exp $ */
|
||||||
|
|
||||||
/*
|
|
||||||
* Public Domain Bourne/Korn shell
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* $From: sh.h,v 1.2 1994/05/19 18:32:40 michael Exp michael $ */
|
/* $From: sh.h,v 1.2 1994/05/19 18:32:40 michael Exp michael $ */
|
||||||
|
|
||||||
#include "config.h" /* system and option configuration info */
|
#include "config.h" /* system and option configuration info */
|
||||||
@ -247,15 +242,7 @@ extern int dup2 ARGS((int, int));
|
|||||||
* by autoconf (assumes an 8 bit byte, but I'm not concerned).
|
* by autoconf (assumes an 8 bit byte, but I'm not concerned).
|
||||||
* NOTE: INT32 may end up being more than 32 bits.
|
* NOTE: INT32 may end up being more than 32 bits.
|
||||||
*/
|
*/
|
||||||
#if SIZEOF_INT >= 4
|
|
||||||
# define INT32 int
|
# define INT32 int
|
||||||
#else /* SIZEOF_INT */
|
|
||||||
# if SIZEOF_LONG >= 4
|
|
||||||
# define INT32 long
|
|
||||||
# else /* SIZEOF_LONG */
|
|
||||||
#error cannot find 32 bit type...
|
|
||||||
# endif /* SIZEOF_LONG */
|
|
||||||
#endif /* SIZEOF_INT */
|
|
||||||
|
|
||||||
/* end of common headers */
|
/* end of common headers */
|
||||||
|
|
||||||
@ -367,8 +354,8 @@ typedef INT32 Tflag;
|
|||||||
#define NOT '!' /* might use ^ (ie, [!...] vs [^..]) */
|
#define NOT '!' /* might use ^ (ie, [!...] vs [^..]) */
|
||||||
|
|
||||||
#define LINE 4096 /* input line size */
|
#define LINE 4096 /* input line size */
|
||||||
#define PATH 4096 /* pathname size (todo: PATH_MAX/pathconf()) */
|
#define PATH 1024 /* pathname size (todo: PATH_MAX/pathconf()) */
|
||||||
#define ARRAYMAX 4095 /* max array index */
|
#define ARRAYMAX 2047 /* max array index */
|
||||||
|
|
||||||
EXTERN const char *kshname; /* $0 */
|
EXTERN const char *kshname; /* $0 */
|
||||||
EXTERN pid_t kshpid; /* $$, shell pid */
|
EXTERN pid_t kshpid; /* $$, shell pid */
|
||||||
|
8
var.c
8
var.c
@ -1,5 +1,5 @@
|
|||||||
/* $MirBSD: var.c,v 1.4 2004/04/29 18:58:16 tg Exp $ */
|
/* $MirBSD: var.c,v 1.5 2004/05/23 12:47:01 tg Exp $ */
|
||||||
/* $OpenBSD: var.c,v 1.16 2003/08/05 20:52:27 millert Exp $ */
|
/* $OpenBSD: var.c,v 1.17 2004/05/08 19:42:35 deraadt Exp $ */
|
||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
#include "ksh_time.h"
|
#include "ksh_time.h"
|
||||||
@ -885,13 +885,11 @@ makenv()
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Called after a fork in parent to bump the random number generator.
|
* Called after a fork in parent to bump the random number generator.
|
||||||
* Done to ensure children will not get the same random number sequence
|
|
||||||
* if the parent doesn't use $RANDOM.
|
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
change_random()
|
change_random()
|
||||||
{
|
{
|
||||||
prng_seed(rand());
|
srand(prng_seed(rand() ^ time(NULL)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
4
vi.c
4
vi.c
@ -1,5 +1,5 @@
|
|||||||
/* $MirBSD: vi.c,v 1.3 2003/12/23 13:41:51 tg Exp $ */
|
/* $MirBSD: vi.c,v 1.4 2004/05/23 12:47:01 tg Exp $ */
|
||||||
/* $OpenBSD: vi.c,v 1.12 2003/10/16 22:08:48 millert Exp $ */
|
/* $OpenBSD: vi.c,v 1.13 2004/05/10 16:28:47 pvalchev Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* vi command editing
|
* vi command editing
|
||||||
|
Loading…
x
Reference in New Issue
Block a user