* 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:
		
							
								
								
									
										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 \ | ||||||
|   | |||||||
							
								
								
									
										9
									
								
								alloc.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								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,7 +88,7 @@ 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) | ||||||
|   | |||||||
							
								
								
									
										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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user