summaryrefslogtreecommitdiff
path: root/sbin/disklabel/disklabel.c
AgeCommit message (Collapse)Author
2016-06-19Split readlabel() into two functions, readlabel() and parselabel(), andTheo Buehler
pledge in-between the two funtion calls. The new readlabel() only does a DIOC*DINFO ioctl, making sure the fd points to a disk, while parselabel() does the scary string manipulations. In the makelabel() code path do an early DIOCGDINFO before pledge. This fixes yet another pledge problem (disklabel -w /dev/tty floppy576). Some of this was discussed with beck. ok semarie, earlier version ok deraadt
2016-06-13correct pledge for disklabel -R -[fF]Jonathan Gray
ok tb@
2016-06-01Fix automatic disk allocation based on a template which I broke in theTheo Buehler
previous commit. readlabel() calls editor_allocspace() which will use the default label unless a template was provided beforehand. Thus, call parse_autolabel() before redlabel(). Problem found and fix provided by Mark Patruck, thanks! Fix asap, deraadt@
2016-05-29Refactor and clean up the logic before pledge a bit and fix pledgeTheo Buehler
fallout related to pledge disklabel (e.g. 'disklabel /dev/tty'). - Allow 'disklabel sdN' again for non-root users. - Make sure at least one DIO* ioctl comes before pledge "disklabel" - Fix the op == WRITE logic that broke 'make release' in -r2.217 Based on -r2.17 from beck. ok beck
2016-05-28back out previous; -wAT template vnd0 failsTheo de Raadt
2016-05-28host readlabel() above the pledge so we can avoid pledge violationsBob Beck
when the provided device is not a disk ok tb@
2016-05-28fix crash if filename not providedBob Beck
2016-05-28Hoist the opendev() call before the pledge because it can ioctl() whenBob Beck
the provided path is bogus or not a device. ok deraadt
2015-11-25-A needs cflag too. Noted by sthen@ during install.Kenneth R Westerback
2015-11-24Need 'cpath' for op == EDITOR, as '-F' to write out the ascii label inKenneth R Westerback
an arbitrary location is a possibility. Suggested by & ok deraadt@
2015-11-23Use pledge "disklabel" as needed. The theory here is these tools become moreTheo de Raadt
resistant against memory correctup, if a corrupt filesystem is given to them. ok krw
2015-10-17NUMBOOT is dead! Nuke the variables and abstractions that were usedKenneth R Westerback
to build boot blocks. ok miod@
2015-10-15Remove disklabel -B (NUMBOOT) support. All the platforms which used to needMiod Vallat
it are now using MI installboot for that purpose. ok krw@ deraadt@
2015-10-11If only displaying the disklabel (the normal thing to do against potentiallyTheo de Raadt
unknown disks...), after opening & reading the disklabel, pledge "stdio" ok doug
2015-10-05Remove 'landisk' from the comment about NUMBOOT archs. Only oneKenneth R Westerback
NUMBOOT arch is left: Vax.
2015-09-24Remove hppa/hppa64 from comment about NUMBOOT > 0 architectures.Kenneth R Westerback
2015-09-24Expunge VAX SMD special handling that tried to fill up the lastKenneth R Westerback
cylinder of the disk with extra copies of the boot blocks and disklabel. There are no plans to ever support the native SMD controllers that would find this useful. ok miod@
2015-09-09No need to check !xxboot inside a 'if (!xxboot) ...' block.Kenneth R Westerback
ok otto@ deraadt@
2015-08-20<stdlib.h> is included, so do not need to cast result fromTheo de Raadt
malloc, calloc, realloc* ok krw millert
2015-08-15Less damned spurious whitespace.Kenneth R Westerback
2015-06-03Do not assume that asprintf() clears the pointer on failure, whichTodd C. Miller
is non-portable. Also add missing asprintf() return value checks. OK deraadt@ guenther@ doug@
2015-04-29some fine-tuning in SYNOPSIS, usage, and order of options, with jmcHenning Brauer
2015-04-29support passing a template file for the auto-allocation to disklabel.Henning Brauer
template gives mountpoints, min-max size ranges and percentage of disk foremost intended for autoinstalls, installer bits to follow soon. with input from many, ok theo
2015-02-07When getopt processing flags, many should be flag=1 instead of flag++Theo de Raadt
ok tedu miod
2015-01-20Adjust <sys/param.h> comments regarding use of use of MAXFRAG, orTheo de Raadt
delete <sys/param.h> if now possible ok guenther
2015-01-16Replace <sys/param.h> with <limits.h> and other less dirty headers whereTheo de Raadt
possible. Annotate <sys/param.h> lines with their current reasons. Switch to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where sensible to avoid pulling in the pollution. These are the files confirmed through binary verification. ok guenther, millert, doug (helped with the verification protocol)
2014-07-20Make sure the correct errno is reported by warn* or err* and notPhilip Guenther
the errno of an intervening cleanup operation like close/unlink/etc. Diff from Doug Hogan (doug (at) acyclic.org)
2014-05-05Enhance reading of saved ascii labels (-R) to process mountpointKenneth R Westerback
information if present. Can be used with -F/-f options to create an fstab from the saved label. ok otto@
2014-04-23don't clear label before readasciilabel(), it will not fill in someOtto Moerbeek
required fields like disk size, causing consistency check failures. with and ok krw@
2014-03-18Retire hp300, mvme68k and mvme88k ports. These ports have no users, keepingMiod Vallat
this hardware alive is becoming increasingly difficult, and I should heed the message sent by the three disks which have died on me over the last few days. Noone sane will mourn these ports anyway. So long, and thanks for the fish.
2014-02-14Ooops. r1.169 was supposed to add 'total sectors' to the list ofKenneth R Westerback
fields that are ignored when reading an ascii disklabel. Actually remove the parsing of 'total sectors', which was just above the line trying to skip said parsing. Spotted when halex@ forced me to read this code again.
2013-11-22Whole bunch of (unsigned char) casts carefully added for ctype calls.Theo de Raadt
Careful second audit by millert
2013-10-15The disklabel variables aflag and dflag are boolean, use logicalAlexander Bluhm
instead of binary operators for comparison. OK krw@
2013-10-03Print u_int64_t variables with %llu.Kenneth R Westerback
2013-09-10The rule is: daddr_t variables hold counts of 512-byte blocks, a.k.a.Kenneth R Westerback
DEV_BSIZE blocks. Counts of possibly other-sized blocks (e.g. disk sector addresses) are u_int64_t. The values stored in disklabels are counts of possibly other-sized blocks and hence should be handled with u_int64_t variables. Start enforcing this rule. No intended functional change. Rule strongly suggested by deraadt@
2013-06-18Initialize duid memory before shifting stuff into elements of it.Kenneth R Westerback
No doubt quiets one or more of the fringe compilers out there. Use variable 'part' rather than recalculating same value in the subsequent printf(). From dhill. ok otto@
2013-06-11final removal of daddr64_t. daddr_t has been 64 bit for a long enoughTheo de Raadt
test period; i think 3 years ago the last bugs fell out. ok otto beck others
2012-04-06there is no need to cast an unsigned type with (unsigned).Theo de Raadt
ok jsing
2012-01-16Nuke unused parameter (f) to makebootarea(). Unused since r1.123Kenneth R Westerback
(2008), when '-r' support was removed. Spotted by jsg@ with the assistance of clang.
2012-01-02Tweak usage and man page into agreement.Kenneth R Westerback
There's nothing special about -c and -d requiring them to be separated from other flags or specified as mutually exclusive. So just show a single block of flags. Some flag combos are silly but harmless. Move all -B options inside NUMBOOT #if, eliminating confusing duplication of -w and -R usage lines. And some string declaration dancing. Since we only have NUMBOOT = 1, no need to try and finesse output for different values of NUMBOOT. Line shit up.
2012-01-02'-s' hasn't done anything for a couple of years. Garbage collectKenneth R Westerback
it and the associated 'bootxx' variable. Update man page accordingly.
2011-06-05Nuke uses of and references to DIOCWLABEL, and the related 'W' andKenneth R Westerback
'N' command line options. ok matthew@
2011-06-02Hack to ensure that the in-core labels contain the current boundsKenneth R Westerback
info from the physical disk after 'disklabel -e' writes the label to disk. Saves having to reboot or do other contortions to initialize these fields. Toss in same treatment for total sectors so all fields forcibly set by kernel have current values. 0'ing of the bounds noted by matthew@. 'lovely' deraadt@
2011-05-22zap unused varOtto Moerbeek
2011-04-19make same changes regarding -f/-F argument (tempfile -> file) as was doneAlexander Hall
in disklabel(8) pointed out by jmc@
2011-04-16Tweak man page and usage string with jmc@ suggestions.Kenneth R Westerback
2011-04-16Add '-F'. Same as '-f' but uses DUIDs when writing the mount pointKenneth R Westerback
information to the specified file. After every label write, read the label to get current UID info. Some internal code cleanup with no intended functional change. ok deraadt@
2010-12-13stray tabs and spacesMarco Peereboom
2010-11-24When dealing with disklabel UIDs (DUIDs) be specific and consistent withJoel Sing
naming. ok krw@
2010-09-23Correctly identify mount points when they are specified in /etc/fstab usingJoel Sing
a disklabel UID. Based on a diff from josh@elsasser.org. Resolves PR6471. ok krw@