Commit Graph

76 Commits

Author SHA1 Message Date
eadler
6184b463fa - remove device keyword from makefs manpage
PR:		docs/144408
Submitted by:	gcooper
Approved by:	gjb
Approved by:	sahil (mentor)
MFC after:	1 week
2011-10-17 21:31:03 +00:00
nwhitehorn
058bef5f51 Add support to makefs(8) to add UFS labels to images.
Submitted by:	avg
MFC after:	3 days
2011-10-09 16:22:31 +00:00
mm
5ebe68dec2 Fix buffer overflow and possible ISO image corruption in wrong
handling of "." character case in makefs ISO level 1 and 2 filename
conversion.

Filed as NetBSD PR #45285
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45285

Reviewed by:	Christos Zoulas <christos@netbsd.org>
Approved by:	re (kib)
MFC after:	3 days
2011-08-23 19:49:06 +00:00
marius
0043c1697f Sync makefs(8) ISO 9660 support with NetBSD:
o cd9960 -> cd9660
o Move inclusion of sys/endian.h from cd9660_eltorito.c to cd9660.h
  since actual user is not cd9660_eltorito.c but iso.h and
  cd9660_eltorito.h.

  Actually, include order/place of sys/endian.h doesn't matter on
  netbsd since it is always included by sys/types.h but it's not
  true on other system.  This should fix cross build breakage on
  freebsd introduced by rev. 1.16 of cd9660_eltorito.c.
  Problem reported and fix suggested on twitter.
o Fix fd leaks in error cases. Found by cppcheck.
o RRIP RE length should be 4, not 0
o Apply fixes for PR bin/44114 (makefs(8) -t cd9660 -o rockridge creates
  corrupted cd9660fs), iso9660_rrip.c part:
  - cd9660_rrip_finalize_node() should check rr_real_parent in node->parent,
    not in node itself in RRIP_PL case
  - cd9660_rrip_initialize_node() should update only node passed as arg
    so handle RRIP_PL in DOTDOT case

  Fixes malformed dotdot entries in deep (more than 8 level) directories
  moved into .rr_moved dir.

  Should be pulled up to netbsd-5.
  (no official ISO has such deep dirs, but cobalt restorecd is affected)

Reviewed by:	mm
Approved by:	re (kib)
Obtained from:	NetBSD
MFC after:	3 days
2011-08-10 19:12:21 +00:00
mm
6a47448a9e Fix NetBSD PR bin/44114:
makefs with -t cd9660 -o rockridge against directories with
deep structure creates a corrupted cd9660 image.

http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=44114

Fix NetBSD PR bin/45217:
makefs creates ISO9660 images that violate the ECMA-119 (ISO9660)
specification. This is caused by erroneously writing 32 bytes
with value 0x20 to the volume_set_id field and 128 bytes with value 0x20
to the the following 37-byte fields in the PVD:
copyright_file_id, abstract_file_id, bibliographic_file_id

This causes, among other unwanted results the reserved4 field to be
overwritten with the value 0x20. To comply with the specification,
this field muse be zero. As a result, all FreeBSD distribution
images created with makefs have not been 100% valid ISO9660 files.

http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=45217

Reviewed by:	kientzle
Approved by:	re (kib)
Obtained from:	NetBSD
MFC after:	3 days
2011-08-07 08:35:15 +00:00
marcel
20c059f23d Add support for using mtree(5) manifest files to define the image
to be created. The support is based on mtree version 2.0, as used
in libarchive, but adds new features on top of it.

The current implementation is fully functional, but is envisioned
to grow at least the following additional features over time:
o   Add support for the /include special command so that manifest
    files can be constructed using includable fragments.
o   Add support specifying a search path to locate content files.
o   Content file filters: commands that provide file contents on
    stdout.

The manifest file eliminates the need to first construct a tree
as root in order to create an image and allows images (releases)
to be created directly from object trees and/or source trees.

Reviewed by:	deo
Sponsored by:	Juniper Networks, Inc
2011-06-19 18:34:49 +00:00
mckusick
d97a856c1b Drop the include of <ufs/ffs/ffs_extern.h> from usr.sbin/makefs/ffs/ffs_bswap.c
and usr.sbin/makefs/ffs/ffs_subr.c as they have no need of anything in that
file.  No other programs or libraries include <ufs/ffs/ffs_extern.h> (nor
should they as it is totally in-kernel interfaces). For added protection
I enclosed the entire contents of <ufs/ffs/ffs_extern.h> in ifdef _KERNEL.

Feedback from:	Bruce Evans and Tai-hwa Liang
2011-06-16 23:40:10 +00:00
dim
accb907d3b Use alternative, less messy solution to avoid breakage after r223020:
put the snapdata structure between #ifdef _KERNEL guards.

Suggested by:	kib
2011-06-13 16:05:41 +00:00
dim
4e9fb4c6a0 Apparently makefs needs a few more system headers to compile during
buildworld.
2011-06-13 01:04:00 +00:00
dim
d0da16d0c8 Unbreak usr.sbin/makefs after r223020.
Pointy hat to:	mckusick
2011-06-12 23:09:00 +00:00
nwhitehorn
12ddcc1b33 Add analogs to the -chrp-boot and -prep-boot options to mkisofs. 2011-05-22 19:56:14 +00:00
nwhitehorn
96ef8b6576 Simplify this code somewhat by only writing a 512-byte-sector APM map.
All firmwares can read it, we need to write one anyway for old OF
versions, and if a 512-byte one is present, OS X ignores the 2048-byte one
in favor of it.
2011-05-06 15:40:58 +00:00
nwhitehorn
1b404ba5ee Fix boot on old machines (e.g. blue and white G3s) by synthesizing a
512-byte sector map instead unused space in the first 2048-byte sector.
2011-05-05 00:52:19 +00:00
nwhitehorn
4cd39afdb1 Add support for synthesizing an APM partition map to map Mac PowerPC
bootstrap partitions from the ISO9660 boot catalog. This preserves OS X's
ability to mount the CD, while allowing us a way to provide HFS-ified
bootstrap code for Open Firmware.
2011-05-03 15:12:01 +00:00
bapt
484221faf0 Really fix the confusion, sorry for noise
Submitted by:	avg
Approved by:	cognet
2011-03-24 12:35:59 +00:00
bapt
0b086b5868 Fix confusion between a-characters and d-characters
Submitted by:	avg
Approved by:	cognet
2011-03-24 12:04:42 +00:00
mckusick
242bd272d9 The dump, fsck_ffs, fsdb, fsirand, newfs, makefs, and quot utilities
include sys/time.h instead of time.h. This include is incorrect as
per the manpages for the APIs and the POSIX definitions. This commit
replaces sys/time.h where necessary with time.h.

The commit also includes some minor style(9) header fixup in newfs.

This commit is part of a larger effort by Garrett Cooper started in
//depot/user/gcooper/posix-conformance-work/ -- to make FreeBSD more
POSIX compliant.

Submitted by:  Garrett Cooper   yanegomi at gmail dot com
2011-01-24 06:17:05 +00:00
cognet
69d9f8b92c Sync with the latest version from NetBSD. It notably addds ISO9660 support.
Submitted by:	bapt
2010-11-07 16:05:04 +00:00
joel
f4e8725880 Fix typos and spelling mistakes. 2010-08-06 14:33:42 +00:00
jeff
a574495410 - Merge soft-updates journaling from projects/suj/head into head. This
brings in support for an optional intent log which eliminates the need
   for background fsck on unclean shutdown.

Sponsored by:   iXsystems, Yahoo!, and Juniper.
With help from: McKusick and Peter Holm
2010-04-24 07:05:35 +00:00
imp
79251c9c52 The NetBSD Foundation has given permission to remove clause 3 and 4
from their liceense.

Obtained from:	NetBSD
2010-02-16 21:47:05 +00:00
jmallett
52f89aaf3b Correct copy-paste typo from previous option description. 2010-01-27 07:37:39 +00:00
ed
e2be17ec8c Fix LLVM compiler errors related to K&R declarations with ANSI prototypes.
Submitted by:	Pawel Worach <pawel.worach@gmail.com>
2009-02-26 20:59:05 +00:00
sam
baa715ff9c fix pathnames to work w/ buildworld 2008-12-19 22:59:05 +00:00
sam
578922615a fix 64-bit build 2008-12-19 22:58:39 +00:00
sam
04b1d503e1 import netbsd makefs tool 2008-12-19 18:47:46 +00:00