Commit Graph

2617 Commits

Author SHA1 Message Date
tls
4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
christos
35d9d3fddf Make sure we don't run over the end of the argument array while scanning
for input. This can happen if we have a unary not without an argument. When
we scan for the argument, we are already at the NULL element of the argument
array. Then when we scan ahead for a -a or -o, we end up testing the next
element after the NULL.
2007-05-24 18:47:08 +00:00
christos
41d09357f2 Instead of putting a full copy of realpath here, use the system's realpath. 2007-05-24 18:18:43 +00:00
christos
a59f86365c coverity CID 4378: fix bogus comparison that lead into dead code. 2007-05-16 20:49:35 +00:00
uwe
8e85c1baf1 Use the same wording for '-p' as for other file related tests. 2007-05-15 22:00:51 +00:00
christos
206f418235 PR/36275: john at iastate dot edu: tar -s modifies symlink targets
- This is explained in a comment in pat_rep.c inside mod_name(). I did not
  want to change the default behavior, so I added another modifier "s" which
  when set, the pattern will not modify the symlink destination.
- While here I fixed another bug that was introduced before by the fix in
  PR/35257 where the renaming was happening twice since we called rep_name
  twice.
- Finally if we are renaming hard of soft-link targets print the renames for
  those too.
2007-05-04 21:19:36 +00:00
msaitoh
8ce1f4fff2 fix typos 2007-04-29 20:23:34 +00:00
christos
135e711f26 bump date. 2007-04-23 18:41:11 +00:00
christos
702d1ca548 PR/36194: Greg A. Woods: add a '-V' flag to pax for verbose summary without
listing (and other minor fixes)
2007-04-23 18:40:22 +00:00
plunky
4796b4c1d9 escape * and - properly 2007-04-13 00:40:11 +00:00
lukem
3851cea520 Use IEC 60027-2 prefixes for 2^n based prefixes. 2007-04-13 00:38:45 +00:00
christos
06519c05da PR/36092: B K: algorithmic inefficiency in bin/test/test.c:t_lex
test(1) scans for "operators" linearly in an array using strcmp() to
find a match. Since the list of "operators" is fixed, split them
into one and two character ones, and ones that start with a `-' and
ones they don't. This way we can optimize the compare function to
just check for one or two characters. Sort and use bsearch(3). We
could have used a single sorted array and bsearch(3), to save some
complexity, but I decided to be a bit fancier.
2007-03-28 01:47:25 +00:00
apb
faafdc7e21 Document that shell arithmetic now uses intmax_t. Document that
variables in shell arithmetic don't need "$" signs.
2007-03-25 06:56:43 +00:00
apb
1a20cbd95e WARNS=4 2007-03-25 06:30:37 +00:00
apb
91ce988bec Make /bin/sh use intmax_t (instead of int) for arithmetic in $((...)). 2007-03-25 06:29:26 +00:00
msaitoh
548cdc0050 s/intialized/initialized/ 2007-03-17 13:51:46 +00:00
hubertf
7ce5824ba3 Remove unused ctype.h
From: Slava Semushin <php-coder@altlinux.ru>
2007-03-10 01:16:17 +00:00
rillig
bbe065310a EROFS is not a critical error in a "mkdir -p". 2007-03-08 17:01:30 +00:00
dogcow
c2a791c7b8 mm, void * arithmetic. 2007-03-04 09:23:32 +00:00
matt
271dc0c3c3 No functional changes. Cleanup time printing code so it can be used
elsewhere in the tree.
2007-02-24 21:29:13 +00:00
pavel
f5e7ca2447 Revert the changes done after newlock2 merge, except for the removal of
the now unused LSDEAD state. The current kernel headers are now
source-compatible with pre-newlock2 kernel headers again.

Approved by Andrew Doran.
2007-02-17 22:49:56 +00:00
rillig
9da5e43f4d Since interpreting ELF binaries as shell scripts is not very useful, and
since the current error message is less than helpful, improve it.
2007-02-15 12:02:59 +00:00
rillig
75cf88ee58 Allow files whose name starts with a dash be moved across filesystem
boundaries.

This fix was inspired by the recent -froot zero day exploit for Solaris.
2007-02-15 09:57:16 +00:00
ad
8966ad6a93 Further changes to use compat process flags mapped by sysctl. To be
revisited soon.
2007-02-10 18:20:12 +00:00
ad
401499f30e Sync with kernel changes introduced by merging the newlock2 branch. 2007-02-09 22:08:48 +00:00
tls
4977bdb149 Remove 'l'. Those who do not learn from history are doomed to repeat it. 2007-02-08 03:57:53 +00:00
tls
d8ec0012f2 fix bug 2007-02-07 22:17:46 +00:00
tls
de788b88f5 Many users needlessly maintain the alias 'l' (or 'll') for 'ls -l'. We
should ease the burden on our users and supply a default system which is
modern and has a full complement of the features they expect (or even some
they don't -- more features don't hurt any one after all).

Suggested by perry@ in <87wt2uxhbx.fsf@snark.piermont.com> and submitted
for discussion to some NetBSD developers, who suggested that rather than
my own idiosyncratic 'll', 'l' was a much better name.

It may prove possible to merge this code with 'ls' in the future.
2007-02-07 21:56:07 +00:00
tls
d6cabf29ac Initial import of colorls to add 'l' functionality to system. 2007-02-07 21:43:44 +00:00
cbiere
cd788d025e * Prevent out-of-bounds read tsptype if a packet with
an unknown msg_type is received.
 * Check the received packet size.
 * Use strncpy() instead of strlcpy() so that we don't
   send gibberish from the stack.
 * No need to bind().
 * htons()/htonl() use uint16_t/uint32_t not u_short/u_long.
2007-02-04 22:21:53 +00:00
cbiere
1b1ee3c7ce Use size_t not int for strlen(). 2007-02-04 22:11:13 +00:00
cbiere
622f4b424e Applied patch by Arto Huusko from PR bin/24753 to append a slash to "."
and ".." instead of skipping over them fixing completion for patterns
like ".*" and "..*".
2007-01-28 22:30:12 +00:00
cbiere
26a246a095 * Escape '?', '[', ']' like other meta characters.
* Partial fix for completion when '[' is in the way.
 * Addresses PR bin/22846.
2007-01-28 20:20:25 +00:00
cbiere
ecc8aad21d Committed patch from PR bin/34755: Append a slash when expanding ~user
to user's home directory.
2007-01-28 20:01:02 +00:00
wiz
330b2b8ebd Improve wording of -a description. From FreeBSD via Zafer Aydogan. 2007-01-28 09:56:13 +00:00
cbiere
e977a74585 Fix for PR bin/35432:
* The flags "crtux" are mutually exclusive for tar.
 * The flags "ipt" and "oA" are mutually exclusive for cpio.
2007-01-16 19:06:41 +00:00
christos
30760cbdc7 PR/35410: Valeriy E. Ushakov: /bin/sh mishandles shell function definitions
with function names that are not plain words
1. remove the escape annotations from the function name.
2. check if the function has a valid name before storing it.
2007-01-13 18:58:26 +00:00
cbiere
555693c1aa - Applied patch from PR bin/35408 by Andreas Wiese.
- Use EXIT_FAILURE instead of 1.
 - Use return instead of exit() at the end of main().
 - Use sizeof() instead of BUFSIZ.
2007-01-13 11:51:59 +00:00
alc
1d470e84d6 fix whitespace nits (space -> tab) 2006-12-26 00:13:24 +00:00
wiz
bda881e00b Add -E to SYNOPSIS. Fix typo. Bump date for previous. 2006-12-23 09:43:47 +00:00
christos
a54fe38a0d fix a volatile variable; from Anon Ymous 2006-12-18 00:37:33 +00:00
bouyer
3697550e70 Don't depend on lubutil if we're building host tools. Fix tools build on
non-NetBSD hosts.
2006-12-16 12:59:16 +00:00
christos
6f4d1070fd pass lint; from Anon Ymous 2006-12-15 22:45:34 +00:00
christos
f6dadfcd98 fix an unused variable warning. From Anon Ymous 2006-12-15 20:22:33 +00:00
christos
32232db57f remove two (void)&foo; which are ot needed. From Anon Ymous 2006-12-15 20:22:06 +00:00
christos
d9cd708017 PR/35257: Andreas Gustafsson: tar(1) opens excluded files
Apply the file modification function in the input files so that we can
de-select matched patterns.
2006-12-14 23:18:11 +00:00
he
0a97c3f688 Complete the move of string_to_flags() and flags_to_string() from the
bin/ls sources to libutil:
 o Bump libutil minor version number
 o Fix uses to include <util.h> to pick up the function definitions
 o Fix most uses of flags_to_string() to release the now-malloc()ed result
2006-12-14 20:09:35 +00:00
he
29ff6ed16a The "#ifdef UNUSED_BLOCK" in stat_flags.c wasn't so unused after
all -- it was used by the mtree source.  So, instead do an "#ifdef
MTREE", and define that one when building mtree.
2006-12-14 17:54:19 +00:00
christos
78509e7f31 Pass lint. From Anon Ymous 2006-12-14 14:15:26 +00:00
he
7700f97e62 Use C99 initializer. 2006-12-10 17:33:01 +00:00