Commit Graph

4652 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
jnemeth c0e06197a8 Add a caveat about reboot(8) not running shutdown scripts. This addresses
(at least partially) PR/35067 by Blair Sadewitz.
2007-05-24 23:19:43 +00:00
wiz a115c64dc7 Plural fix. 2007-05-20 22:27:46 +00:00
wiz 36f6e8095a Sort options. Bump date. 2007-05-19 14:23:25 +00:00
wiz febfcb5f7e Fill in AUTHORS section. Bump date. 2007-05-19 14:21:36 +00:00
christos 885f3f0a50 Only eat the - if argv[0] starts with a - 2007-05-17 00:32:01 +00:00
oster 9a9131c20f Add missing #include <sys/ioctl.h> to make this build without warnings. 2007-05-15 22:01:19 +00:00
elad 6700cfccd6 Some Veriexec stuff that's been rotting in my tree for months.
Bug fixes:
  - Fix crash reported by Scott Ellis on current-users@.

  - Fix race conditions in enforcing the Veriexec rename and remove
    policies. These are NOT security issues.

  - Fix memory leak in rename handling when overwriting a monitored
    file.

  - Fix table deletion logic.

  - Don't prevent query requests if not in learning mode.


KPI updates:
  - fileassoc_table_run() now takes a cookie to pass to the callback.

  - veriexec_table_add() was removed, it is now done internally. As a
    result, there's no longer a need for VERIEXEC_TABLESIZE.

  - veriexec_report() was removed, it is now internal.

  - Perform sanity checks on the entry type, and enforce default type
    in veriexec_file_add() rather than in veriexecctl.

  - Add veriexec_flush(), used to delete all Veriexec tables, and
    veriexec_dump(), used to fill an array with all Veriexec entries.


New features:
  - Add a '-k' flag to veriexecctl, to keep the filenames in the kernel
    database. This allows Veriexec to produce slightly more accurate
    logs under certain circumstances. In the future, this can be either
    replaced by vnode->pathname translation, or combined with it.

  - Add a VERIEXEC_DUMP ioctl, to dump the entire Veriexec database.
    This can be used to recover a database if the file was lost.
    Example usage:

        # veriexecctl dump > /etc/signatures

    Note that only entries with the filename kept (that is, were loaded
    with the '-k' flag) will be dumped.

    Idea from Brett Lymn.

  - Add a VERIEXEC_FLUSH ioctl, to delete all Veriexec entries. Sample
    usage:

        # veriexecctl flush

  - Add a 'veriexec_flags' rc(8) variable, and make its default have
    the '-k' flag. On systems using the default signatures file
    (generaetd from running 'veriexecgen' with no arguments), this will
    use additional 32kb of kernel memory on average.

  - Add a '-e' flag to veriexecctl, to evaluate the fingerprint during
    load. This is done automatically for files marked as 'untrusted'.


Misc. stuff:
  - The code for veriexecctl was massively simplified as a result of
    eliminating the need for VERIEXEC_TABLESIZE, and now uses a single
    pass of the signatures file, making the loading somewhat faster.

  - Lots of minor fixes found using the (still under development)
    Veriexec regression testsuite.

  - Some of the messages Veriexec prints were improved.

  - Various documentation fixes.


All relevant man-pages were updated to reflect the above changes.

Binary compatibility with existing veriexecctl binaries is maintained.
2007-05-15 19:47:43 +00:00
xtraeme 04ae3cd1d0 Remove an extra comma. 2007-05-07 11:02:21 +00:00
xtraeme 598409109e Add -b flag into usage(). 2007-05-01 21:43:37 +00:00
xtraeme b83d27bc99 Bump date. 2007-05-01 21:41:52 +00:00
perseant faaef229b4 Add a "-b" option to search a partition for valid alternate superblocks,
rather than searching the disk for partitions.  Also, test LFS superblock
checksums before we report them.
2007-05-01 21:28:50 +00:00
bouyer 982bad256f Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block
device controllers, and more specifically raid controllers.
Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD.
Add bio and sysmon support to mfi(4). This allow userland to query
status for drives and logical volumes attached to a mfi(4) controller. While
there fix some debug printfs in mfi so they compile.
Add bio(4) to amd64 and i386 GENERIC.
2007-05-01 17:18:52 +00:00
tron 04dc8ab30b Bump date because of last change. 2007-04-30 12:33:13 +00:00
tron 962652c0b2 Improve example of restoring a complete filesystem with "restore -r":
- NetBSD's "newfs" doesn't accept a second (non-option) argument.
  Patch provided by Jeff Ito in PR bin/36241.
- Use "sd0" instead of "rp0" because NetBSD's doesnt have a disk driver
  called "rp".
- Use "/dev/rst0" instead of "/dev/rst8". With NetBSD's device numbering
  scheme a system would have to have 9 tape drives to get "/dev/rst8".
2007-04-30 12:32:35 +00:00
christos cedd1a800a PR/36229: Geoff Wing: uninitialized dkwedge_info structure in mount_mfs
causes random failures
2007-04-28 02:56:32 +00:00
christos 7731d9378a PR/36223: Milos Negovanovic: Don't ask if we want to install mbr_bootselect
with -f.
2007-04-26 18:51:00 +00:00
matt 1863ad163e Remove defunct B from getopt string. 2007-04-12 18:41:23 +00:00
chs cb9ef1cfbd apply revision 1.31 yet again:
"make sure that we don't try to allocate negative memory when blks == 0."
or on amd64, "make sure that we don't allocate 32 GB when blks == 0."
2007-04-12 05:19:18 +00:00
pooka 46bc932103 whooops, bump date also 2007-04-05 21:31:44 +00:00
pooka 278c207505 /proc/devices, not /proc/device 2007-04-05 21:30:16 +00:00
dyoung 5630b5969e Don't try to convert numbers to names for either endpoint of a
tunnel.  In this way, ifconfig will avoid emitting something
abominable like this:

        tunnel 192.168.1.1,mdns --> 192.168.1.2,kazaa
2007-03-26 05:02:44 +00:00
hubertf 47665376cc backout previous. 2007-03-24 00:17:34 +00:00
hubertf 137520cdea Call the pivot root by it's name. 2007-03-23 16:42:27 +00:00
dillo 77409ce510 Bump date for previous. 2007-03-22 21:29:33 +00:00
dillo 2e201492a9 Remove offset argument, no longer needed. 2007-03-22 13:31:05 +00:00
dyoung 7663f13790 KNF. 2007-03-21 03:51:30 +00:00
gdt 9da1e4cf5f Change mismatch of bytes 11 to 90 to be a warning, not an error, and
print out the values of the bytes that do not match.
Add comment explaining that there is no documented rationale for the
check.

fsck_msdos checks that several bytes are equal in the primary and
backup bootblock.  There is no documented rationale.  The kernel does
not enforce this when mounting a filesystem.  I have a FAT32
filesystem on my disk (mounted as /share) which fails this check, but
is accepted by both Windows XP and NetBSD.  My volume differs in bytes
71-81.  The primary contains "SHARE " and the backup NUL bytes.

Further, fsck_msdos does not have code to repair the mismatch.  As a
result such filesystems can be used not checked.
2007-03-19 18:30:40 +00:00
christos 8a56ee5512 - sprinkle static
- pass WARNS=4 and lint
- use size_t/time_t where appropriate
- get/setprogname()
- before executing rc.shutdown, set the real user id to 0, because shutdown
  scripts may depend on it (for example su depends on being root).
- use warn instead of perror, and make sure we use the right errno.
2007-03-14 03:52:28 +00:00
apb 7c0e506d3c Adapt to the new MAKEDEV interpretation of -M by passing -MM.
Also pass "-ppax" in an attempt to get improved performance,
but this doesn't really work in the typical case, because the
install ramdisk image contains a version of pax(1) that doesn't
support the -M flag.  (MAKEDEV detects the failure and falls back
to using mknod(8) as usual.)
2007-03-11 19:02:04 +00:00
apb 41bcdc8c57 Bump date for previous. 2007-03-11 10:51:03 +00:00
christos 20d50f44a1 drvctl 4 does not exist. 2007-03-10 20:32:26 +00:00
apb 4713b815f3 WARNS= 4 2007-03-10 18:22:04 +00:00
apb 7a268741a3 Document the new checks for whether a PBR is bootable.
Also add more detail in the introduction, and a few
more references.
2007-03-10 14:19:46 +00:00
apb 4c9d64d78e Try to check whether each partition is bootable. If not,
always print an error message.  If bootable and -v flag was
specified, print a success message.  If -v flag was specified
more than once, also try to decode more information from
the PBR.

Input from dsl and bad.
2007-03-10 14:18:28 +00:00
hubertf 7ce5824ba3 Remove unused ctype.h
From: Slava Semushin <php-coder@altlinux.ru>
2007-03-10 01:16:17 +00:00
hubertf d8a2863966 - removes unused ctype.h header
- correct comment in mount_nfs/getnfsargs.c: s/Nead/Need/

From: Slava Semushin <php-coder@altlinux.ru>
2007-03-10 00:30:36 +00:00
dillo d0c955805c Remove hfsp directories, they have been reimported as hfs. 2007-03-06 11:31:21 +00:00
dillo 56c3e41252 Complete rename of hfsp to hfs, requested by thorpej. 2007-03-06 11:28:44 +00:00
dillo be26016f83 Initial import of (experimental read-only) implementation of Apple
HFS+ file system.

Originally developed for Google Summer of Code 2005 by Yevgeny Binder,
updated and enhanced by me.
2007-03-06 11:21:58 +00:00
dillo 9274a5c0f1 Integrate apmlabel and HFS+ file system. 2007-03-05 23:18:01 +00:00
dillo eaf2e0be76 Utility to add Apple Partition Map partitions to disklabel, based
on mbrlabel.
2007-03-05 23:06:53 +00:00
dillo 9cf283f2a5 Initial import of (experimental read-only) implementation of Apple
HFS+ file system.

Originally developed for Google Summer of Code 2005 by Yevgeny Binder,
updated and enhanced by me.
2007-03-05 23:01:06 +00:00
dsl 19a3aab826 Update info about running MAKEDEV to note that MAKEDEV itself now creates
the mfs filesystem.
2007-03-03 07:54:15 +00:00
apb 1478a06a86 Remove all reference to MAKEDEV.subr. Add a reference to MAKEDEV.local. 2007-03-03 06:56:25 +00:00
simonb fbd2813869 No need to cast pointers to (char *) when passing to free(3). 2007-03-03 00:09:30 +00:00
dsl 1d350026de Instead of creating the mfs /dev here, get MAKEDEV to do it.
Removes a load of code that is easier done as a script.
Whenever init exits, use a different error number. Since it is difficult
for init to output messages when /dev/console is absent, having the exit
code reported by the kernel panic gives a chance of identifying the fault.
Also exit if MAKEDEV fails to create /dev/console.
2007-03-02 22:43:24 +00:00
wiz 73dcdfe648 Bump date for previous. 2007-03-02 20:46:23 +00:00
riz d8a62520d7 Use CPPFLAGS, not COPTS, and ${NETBSDSRCDIR}, not "../..". This
should fix OBJDIR builds. (Hi, martin!)
2007-03-02 04:03:17 +00:00
martin c6eb40af11 Add a tool to scan disks for BSD disklabels (might be from different
archs) and add wedges for them. Similar to the kernel options
DKWEDGE_AUTODISCOVER and DKWEDGE_METHOD_BSDLABEL, and actually reusing
most of that code.

This means, for example, you can plug a sparc64 disk into an i386, run
this tool and mount the partitions (provided your kernel has the FFS_EI
option).
2007-03-01 22:01:29 +00:00