summaryrefslogtreecommitdiff
path: root/sbin
AgeCommit message (Collapse)Author
2016-01-28Tweak verbiage for 'r' (reorder) command.Kenneth R Westerback
2016-01-28Make 'r' (reorder, a.k.a. swap) command work with any two existingKenneth R Westerback
partitions. Do NOT allow partition 1 to be moved!
2016-01-27Traverse next_by_base when checking maps coverage, not next_on_disk!Kenneth R Westerback
2016-01-27No need to copy dmpe_name to a buffer before printing it.Kenneth R Westerback
2016-01-27Clear out some repetitive and pointless verbiage. Shuffle otherKenneth R Westerback
verbiage around to make things clearer.
2016-01-27fyx typo. s,dynanic,dynamic,Gleydson Soares
OK reyk
2016-01-27Tweak some verbiage.Kenneth R Westerback
2016-01-27make sure to check malloc(3) return pointer against NULL.Gleydson Soares
OK krw@
2016-01-27tweak previous; ok krwJason McIntyre
2016-01-27On-disk partition name/types/processorid may or may not be NULKenneth R Westerback
terminated after all. So add an extra byte for a NUL in the in-memory struct's.
2016-01-27Remove some lies and pointless verbiage. Tweak HISTORY.Kenneth R Westerback
2016-01-27We do not support logical_block != physical_block. Remove logical_blockKenneth R Westerback
field and left over code that checks for logical != physical. Removes confusion with dmpe fields lblock_start and lblocks, which have nothing to do with block sizes! lblock_start is the block offset within the partition where the data actually starts. and lblocks is the number of blocks of data within the partition. Both are in units of *physical blocks*, a.k.a. disk sectors.
2016-01-27Two more for the attic.Kenneth R Westerback
2016-01-27Check block 0 signature, physical block size and physical block count whenKenneth R Westerback
reading partition map. Check for unmapped physical blocks and overlapping partitions when reading partition map. No need for duplicate checks in validate_map(), so remove validate.c from build and 'v' command from code and docs.
2016-01-27Nope. Missed a couple of '{}' that could go.Kenneth R Westerback
2016-01-27Nuke another (and I hope final) batch of superfluous '{}' around singleKenneth R Westerback
statements.
2016-01-26Rework and simplify string argument parsing. All string arguments are atKenneth R Westerback
most DPISTRLEN (32) characters so there is no need for fancy dynamic growing strings. Use a DPISTRLEN long buffer and bail if it fills up. Rename get_string() to get_dpistr() and get_string_argument() to get_dpstr_argument() to emphasize they will return strings that fit in DPISTRLEN. Rework & simplify a pair of their consumers - do_rename_partition() and do_change_type() - to be more obviously identitical to each other bar the displayed verbiage.
2016-01-26dpme_name and dpme_type are NUL-terminated in Apple code, so useKenneth R Westerback
strlcpy() to fill them. They are also supposed to be NUL-padded so zap previous contents before copying in possibly shorter new values.
2016-01-26Remove needless zeroing. Anonymously mapped memory is always zeroed.mmcc
ok tb@
2016-01-26Use an unsigned int rather than an int when iterating through all 32mmcc
bits in the form: for (i = 1; i; i <<= 1) This avoids undefined operations when shifting into and out of the highest-order bit. ok millert@
2016-01-26Whitespace, line wrapping fixes. Nuke many superfluous '{}' around singleKenneth R Westerback
statements. 0 -> NULL for pointer checks.
2016-01-26Whitespace, line wrapping fixes.Kenneth R Westerback
2016-01-26Simplify logic of read_partition_map(), junking retries with various sizesKenneth R Westerback
of logical block. Rely on read_dpme() to do the correct thing.
2016-01-25Two more for the attic.Kenneth R Westerback
2016-01-25Use new read/write_block0 and read/write_dpme which handle anyKenneth R Westerback
endian or alignment issues forcefully. Removes need for convert_* functions so unhook convert.c from build. read/write_block become static functions inside file_media.c. Tweak struct block0 to stop trying to handle alignment issues by clever declaration. Rely on the new functions to accurately translate between on-disk and in-memory layouts. Enables pdisk to work on amd64 and likely other architectures if it's ever desirable. Does bring back DEV_BSIZE to pdisk.c since the in-memory structure will *not* be 512 bytes on other archs.
2016-01-25Add read/write_block0 and read/write_dpme functions, not yet used.Kenneth R Westerback
2016-01-25Tweak fields in struct dpme to be more consistent with Apple's info.Kenneth R Westerback
Better comments, make all reserved fields uint8_t arrays, don't claim uint32_t fields are actually pointers.
2016-01-25remove some uneeded includesJonathan Gray
ok krw@
2016-01-24Whitespace.Kenneth R Westerback
2016-01-24Nuke get_align_long() and put_align_long() #define's. They don't doKenneth R Westerback
anything according to gcc & cmp. cmp suggested by & ok stefan@.
2016-01-24Nuke more pointless checks for map NULLness.Kenneth R Westerback
2016-01-24fix 1.18 by removing extra argument from explicit_bzero callsmmcc
from kili@
2016-01-24Whitespace fixes.Kenneth R Westerback
2016-01-24Immediately zero the stack-allocated buffers for the passphrase and salt rathermmcc
than doing so conditionally later on. These were false positives during an explicit_bzero audit. ok gsoares@
2016-01-24Assuming the map is always provided simplifies a bunch of logic, nukesKenneth R Westerback
get_block_n() and removes a whack of pointless static variables.
2016-01-24Delete duplicated line that was setting sbBlkCount to 0; Score oneKenneth R Westerback
for the 'v' command!
2016-01-24use explicit_bzero(3) for clearing sensitive dataGleydson Soares
OK millert@ mmcc@
2016-01-23Nuke unused kPatchType. Nuke kStringNot and use " not' where needed.Kenneth R Westerback
Nuke kStringEmpty and use "" where needed. Nuke unused static 'g'. Eliminate #include's in *.h files. Some whitespace fixes.
2016-01-23No need for 'default_value' parameter for get_number_argument() since weKenneth R Westerback
always pass kDefault. a.k.a. -1. Nuke kDefault since it is now unused. Nuke unused #define MAXIOSIZE in passing.
2016-01-23No need for get_string_argument() parameter 'reprompt' since weKenneth R Westerback
always pass it '1'.
2016-01-23Pass the disk sector size to open_partition_map(), eliminating it'sKenneth R Westerback
internal need for DEV_BSIZE. Ditto create_partition_map(). malloc((sizeof(struct [block0|dpme])) instead of malloc(DEV_BSIZE). Remove another #include <param.h>.
2016-01-23Add comments to ensure future spelunkers realize that struct block0Kenneth R Westerback
and struct dpme must be 512-bytes long at the moment. Use this fact to avoid using DEV_BSIZE and thus replace #include <param.h> with #include <types.h> in pdisk.c. Constrain media size to UINT32_MAX, the actual limit, instead of LONG_MAX, which could be way more on some theoretical future arch running pdisk. And do the constraint inside open_partition_map().
2016-01-23Avoid double prompt after creating default map on startup.Kenneth R Westerback
2016-01-23Flip read_block() and write_block() back to taking sector addressesKenneth R Westerback
instead of off_t values. Do the DEV_BSIZE multiplication in these two functions. Easier to read code and kills two #include <sys/param.h>. Kill unused label.
2016-01-23map->block0 is always allocated or the map is discarded.Kenneth R Westerback
So stop checking for NULL. Nuke get_block_zero() and just use map->block0.
2016-01-23Nuke sync_device_size() and do it's one-field-update in coerce_block0(),Kenneth R Westerback
right after we read/allocate media->block0. Doing sync *before* media->block0 is allocated is bad. The map->physical_block is initialized correctly and never to the magic number '1'. So just use map-physical_block to initialize sbBlkSize.
2016-01-23Always initialize media_size to provided mediasz in open_partition_map().Kenneth R Westerback
2016-01-23Break annoying long line.Kenneth R Westerback
2016-01-22Change partition map field 'data' to 'dmpe'. Change 'create_data'Kenneth R Westerback
to 'create_dmpe'. Sweep up some 'struct dpme *data' to struct dpme *dpme'.
2016-01-22Of course if you change the parameter name you need to change the uses ofKenneth R Westerback
said parameter to the new name.