aboutsummaryrefslogtreecommitdiff
path: root/util-linux
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2017-07-29 09:55:08 +0100
committerRon Yorston <rmy@pobox.com>2017-07-29 09:55:08 +0100
commit86d60bb0ceb277e500a8daabd995bc713bbdadc9 (patch)
tree3e439f92d5a3fec2546d526579cc85e98f066e40 /util-linux
parentb30c60a9786a1608211a96755996bd6c02951a27 (diff)
parent69be994de69d794f038f10a3e7a67519b2006581 (diff)
downloadbusybox-w32-86d60bb0ceb277e500a8daabd995bc713bbdadc9.tar.gz
busybox-w32-86d60bb0ceb277e500a8daabd995bc713bbdadc9.tar.bz2
busybox-w32-86d60bb0ceb277e500a8daabd995bc713bbdadc9.zip
Merge branch 'busybox' into merge
Diffstat (limited to 'util-linux')
-rw-r--r--util-linux/blkid.c2
-rw-r--r--util-linux/findfs.c2
-rw-r--r--util-linux/getopt.c2
-rw-r--r--util-linux/mdev.c2
-rw-r--r--util-linux/mount.c10
-rw-r--r--util-linux/rdate.c9
-rw-r--r--util-linux/swaponoff.c11
-rw-r--r--util-linux/umount.c2
-rw-r--r--util-linux/volume_id/get_devname.c1
-rw-r--r--util-linux/volume_id/minix.c (renamed from util-linux/volume_id/unused_minix.c)59
-rw-r--r--util-linux/volume_id/volume_id.c1
-rw-r--r--util-linux/volume_id/volume_id_internal.h2
12 files changed, 57 insertions, 46 deletions
diff --git a/util-linux/blkid.c b/util-linux/blkid.c
index f353cf248..0bd701aae 100644
--- a/util-linux/blkid.c
+++ b/util-linux/blkid.c
@@ -13,8 +13,6 @@
13//config: select VOLUMEID 13//config: select VOLUMEID
14//config: help 14//config: help
15//config: Lists labels and UUIDs of all filesystems. 15//config: Lists labels and UUIDs of all filesystems.
16//config: WARNING:
17//config: With all submodules selected, it will add ~8k to busybox.
18//config: 16//config:
19//config:config FEATURE_BLKID_TYPE 17//config:config FEATURE_BLKID_TYPE
20//config: bool "Print filesystem type" 18//config: bool "Print filesystem type"
diff --git a/util-linux/findfs.c b/util-linux/findfs.c
index 359da581f..1102eeff5 100644
--- a/util-linux/findfs.c
+++ b/util-linux/findfs.c
@@ -14,8 +14,6 @@
14//config: select VOLUMEID 14//config: select VOLUMEID
15//config: help 15//config: help
16//config: Prints the name of a filesystem with given label or UUID. 16//config: Prints the name of a filesystem with given label or UUID.
17//config: WARNING:
18//config: With all submodules selected, it will add ~8k to busybox.
19 17
20/* Benefits from suid root: better access to /dev/BLOCKDEVs: */ 18/* Benefits from suid root: better access to /dev/BLOCKDEVs: */
21//applet:IF_FINDFS(APPLET(findfs, BB_DIR_SBIN, BB_SUID_MAYBE)) 19//applet:IF_FINDFS(APPLET(findfs, BB_DIR_SBIN, BB_SUID_MAYBE))
diff --git a/util-linux/getopt.c b/util-linux/getopt.c
index cd5679cff..cf1bc592f 100644
--- a/util-linux/getopt.c
+++ b/util-linux/getopt.c
@@ -41,7 +41,7 @@
41//config: wisely leave this disabled. 41//config: wisely leave this disabled.
42//config: 42//config:
43//config:config FEATURE_GETOPT_LONG 43//config:config FEATURE_GETOPT_LONG
44//config: bool "Support option -l" 44//config: bool "Support -l LONGOPTs"
45//config: default y if LONG_OPTS 45//config: default y if LONG_OPTS
46//config: depends on GETOPT 46//config: depends on GETOPT
47//config: help 47//config: help
diff --git a/util-linux/mdev.c b/util-linux/mdev.c
index 23b6f8285..8acc4d21d 100644
--- a/util-linux/mdev.c
+++ b/util-linux/mdev.c
@@ -56,7 +56,7 @@
56//config: For more information, please see docs/mdev.txt 56//config: For more information, please see docs/mdev.txt
57//config: 57//config:
58//config:config FEATURE_MDEV_LOAD_FIRMWARE 58//config:config FEATURE_MDEV_LOAD_FIRMWARE
59//config: bool "Support loading of firmwares" 59//config: bool "Support loading of firmware"
60//config: default y 60//config: default y
61//config: depends on MDEV 61//config: depends on MDEV
62//config: help 62//config: help
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 1a39da2db..4d5c2243a 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -26,18 +26,17 @@
26//config: tree. The 'mount' utility is used to graft a filesystem onto a 26//config: tree. The 'mount' utility is used to graft a filesystem onto a
27//config: particular part of the tree. A filesystem can either live on a block 27//config: particular part of the tree. A filesystem can either live on a block
28//config: device, or it can be accessible over the network, as is the case with 28//config: device, or it can be accessible over the network, as is the case with
29//config: NFS filesystems. Most people using BusyBox will also want to enable 29//config: NFS filesystems.
30//config: the 'mount' utility.
31//config: 30//config:
32//config:config FEATURE_MOUNT_FAKE 31//config:config FEATURE_MOUNT_FAKE
33//config: bool "Support option -f" 32//config: bool "Support -f (fake mount)"
34//config: default y 33//config: default y
35//config: depends on MOUNT 34//config: depends on MOUNT
36//config: help 35//config: help
37//config: Enable support for faking a file system mount. 36//config: Enable support for faking a file system mount.
38//config: 37//config:
39//config:config FEATURE_MOUNT_VERBOSE 38//config:config FEATURE_MOUNT_VERBOSE
40//config: bool "Support option -v" 39//config: bool "Support -v (verbose)"
41//config: default y 40//config: default y
42//config: depends on MOUNT 41//config: depends on MOUNT
43//config: help 42//config: help
@@ -65,7 +64,6 @@
65//config: help 64//config: help
66//config: This allows for specifying a device by label or uuid, rather than by 65//config: This allows for specifying a device by label or uuid, rather than by
67//config: name. This feature utilizes the same functionality as blkid/findfs. 66//config: name. This feature utilizes the same functionality as blkid/findfs.
68//config: This also enables label or uuid support for swapon.
69//config: 67//config:
70//config:config FEATURE_MOUNT_NFS 68//config:config FEATURE_MOUNT_NFS
71//config: bool "Support mounting NFS file systems on Linux < 2.6.23" 69//config: bool "Support mounting NFS file systems on Linux < 2.6.23"
@@ -100,7 +98,7 @@
100//config: 98//config:
101//config:config FEATURE_MOUNT_FSTAB 99//config:config FEATURE_MOUNT_FSTAB
102//config: depends on MOUNT 100//config: depends on MOUNT
103//config: bool "Support /etc/fstab and -a" 101//config: bool "Support /etc/fstab and -a (mount all)"
104//config: default y 102//config: default y
105//config: help 103//config: help
106//config: Support mount all and looking for files in /etc/fstab. 104//config: Support mount all and looking for files in /etc/fstab.
diff --git a/util-linux/rdate.c b/util-linux/rdate.c
index 66b877e24..14ce591e9 100644
--- a/util-linux/rdate.c
+++ b/util-linux/rdate.c
@@ -41,7 +41,7 @@ static time_t askremotedate(const char *host)
41 uint32_t nett; 41 uint32_t nett;
42 int fd; 42 int fd;
43 43
44 /* Add a timeout for dead or inaccessible servers */ 44 /* Timeout for dead or inaccessible servers */
45 alarm(10); 45 alarm(10);
46 signal(SIGALRM, socket_timeout); 46 signal(SIGALRM, socket_timeout);
47 47
@@ -53,9 +53,8 @@ static time_t askremotedate(const char *host)
53 close(fd); 53 close(fd);
54 54
55 /* Convert from network byte order to local byte order. 55 /* Convert from network byte order to local byte order.
56 * RFC 868 time is the number of seconds 56 * RFC 868 time is seconds since 1900-01-01 00:00 GMT.
57 * since 00:00 (midnight) 1 January 1900 GMT 57 * RFC 868 time 2,208,988,800 corresponds to 1970-01-01 00:00 GMT.
58 * the RFC 868 time 2,208,988,800 corresponds to 00:00 1 Jan 1970 GMT
59 * Subtract the RFC 868 time to get Linux epoch. 58 * Subtract the RFC 868 time to get Linux epoch.
60 */ 59 */
61 nett = ntohl(nett) - RFC_868_BIAS; 60 nett = ntohl(nett) - RFC_868_BIAS;
@@ -66,7 +65,7 @@ static time_t askremotedate(const char *host)
66 * current time cur = 0x123ffffffff. 65 * current time cur = 0x123ffffffff.
67 * Assuming our time is not some 40 years off, 66 * Assuming our time is not some 40 years off,
68 * remote time must be 0x12400000001. 67 * remote time must be 0x12400000001.
69 * Need to adjust out time by (int32_t)(nett - cur). 68 * Need to adjust our time by (int32_t)(nett - cur).
70 */ 69 */
71 time_t cur = time(NULL); 70 time_t cur = time(NULL);
72 int32_t adjust = (int32_t)(nett - (uint32_t)cur); 71 int32_t adjust = (int32_t)(nett - (uint32_t)cur);
diff --git a/util-linux/swaponoff.c b/util-linux/swaponoff.c
index bda0687d6..f432ce180 100644
--- a/util-linux/swaponoff.c
+++ b/util-linux/swaponoff.c
@@ -37,6 +37,15 @@
37//config: bool "swapoff (4.3 kb)" 37//config: bool "swapoff (4.3 kb)"
38//config: default y 38//config: default y
39//config: select PLATFORM_LINUX 39//config: select PLATFORM_LINUX
40//config:
41//config:config FEATURE_SWAPONOFF_LABEL
42//config: bool "Support specifying devices by label or UUID"
43//config: default y
44//config: depends on SWAPON || SWAPOFF
45//config: select VOLUMEID
46//config: help
47//config: This allows for specifying a device by label or uuid, rather than by
48//config: name. This feature utilizes the same functionality as blkid/findfs.
40 49
41// APPLET_ODDNAME:name main location suid_type help 50// APPLET_ODDNAME:name main location suid_type help
42//applet:IF_SWAPON( APPLET_ODDNAME(swapon, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapon)) 51//applet:IF_SWAPON( APPLET_ODDNAME(swapon, swap_on_off, BB_DIR_SBIN, BB_SUID_DROP, swapon))
@@ -72,7 +81,7 @@
72# include <sys/swap.h> 81# include <sys/swap.h>
73#endif 82#endif
74 83
75#if ENABLE_FEATURE_MOUNT_LABEL 84#if ENABLE_FEATURE_SWAPONOFF_LABEL
76# include "volume_id.h" 85# include "volume_id.h"
77#else 86#else
78# define resolve_mount_spec(fsname) ((void)0) 87# define resolve_mount_spec(fsname) ((void)0)
diff --git a/util-linux/umount.c b/util-linux/umount.c
index 31bf671c1..122c0f579 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -18,7 +18,7 @@
18//config: utility, you almost certainly also want to enable 'umount'. 18//config: utility, you almost certainly also want to enable 'umount'.
19//config: 19//config:
20//config:config FEATURE_UMOUNT_ALL 20//config:config FEATURE_UMOUNT_ALL
21//config: bool "Support option -a" 21//config: bool "Support -a (unmount all)"
22//config: default y 22//config: default y
23//config: depends on UMOUNT 23//config: depends on UMOUNT
24//config: help 24//config: help
diff --git a/util-linux/volume_id/get_devname.c b/util-linux/volume_id/get_devname.c
index b64d28ceb..34f5d119f 100644
--- a/util-linux/volume_id/get_devname.c
+++ b/util-linux/volume_id/get_devname.c
@@ -11,6 +11,7 @@
11//kbuild:lib-$(CONFIG_BLKID) += get_devname.o 11//kbuild:lib-$(CONFIG_BLKID) += get_devname.o
12//kbuild:lib-$(CONFIG_FINDFS) += get_devname.o 12//kbuild:lib-$(CONFIG_FINDFS) += get_devname.o
13//kbuild:lib-$(CONFIG_FEATURE_MOUNT_LABEL) += get_devname.o 13//kbuild:lib-$(CONFIG_FEATURE_MOUNT_LABEL) += get_devname.o
14//kbuild:lib-$(CONFIG_FEATURE_SWAPONOFF_LABEL) += get_devname.o
14 15
15#include <sys/mount.h> /* BLKGETSIZE64 */ 16#include <sys/mount.h> /* BLKGETSIZE64 */
16#if !defined(BLKGETSIZE64) 17#if !defined(BLKGETSIZE64)
diff --git a/util-linux/volume_id/unused_minix.c b/util-linux/volume_id/minix.c
index 443dbc272..c934f9ead 100644
--- a/util-linux/volume_id/unused_minix.c
+++ b/util-linux/volume_id/minix.c
@@ -17,13 +17,12 @@
17 * License along with this library; if not, write to the Free Software 17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */ 19 */
20//config:config FEATURE_VOLUMEID_MINIX
21//config: bool "minix filesystem"
22//config: default y
23//config: depends on VOLUMEID
20 24
21//kbuild:### lib-$(CONFIG_FEATURE_VOLUMEID_MINIX) += minix.o 25//kbuild:lib-$(CONFIG_FEATURE_VOLUMEID_MINIX) += minix.o
22
23//config:### config FEATURE_VOLUMEID_MINIX
24//config:### bool "minix filesystem"
25//config:### default y
26//config:### depends on VOLUMEID
27 26
28#include "volume_id_internal.h" 27#include "volume_id_internal.h"
29 28
@@ -40,43 +39,53 @@ struct minix_super_block {
40 uint32_t s_zones; 39 uint32_t s_zones;
41} PACKED; 40} PACKED;
42 41
43#define MINIX_SUPERBLOCK_OFFSET 0x400 42/* V3 minix super-block data on disk */
43struct minix3_super_block {
44 uint32_t s_ninodes;
45 uint16_t s_pad0;
46 uint16_t s_imap_blocks;
47 uint16_t s_zmap_blocks;
48 uint16_t s_firstdatazone;
49 uint16_t s_log_zone_size;
50 uint16_t s_pad1;
51 uint32_t s_max_size;
52 uint32_t s_zones;
53 uint16_t s_magic;
54 uint16_t s_pad2;
55 uint16_t s_blocksize;
56 uint8_t s_disk_version;
57} PACKED;
58
59#define MINIX_SUPERBLOCK_OFFSET 0x400
44 60
45int FAST_FUNC volume_id_probe_minix(struct volume_id *id, uint64_t off) 61int FAST_FUNC volume_id_probe_minix(struct volume_id *id /*, uint64_t off*/)
46{ 62{
63#define off ((uint64_t)0)
47 struct minix_super_block *ms; 64 struct minix_super_block *ms;
65 struct minix3_super_block *ms3;
48 66
49 dbg("probing at offset 0x%llx", (unsigned long long) off); 67 dbg("probing at offset 0x%llx", (unsigned long long) off);
50 68
51 ms = volume_id_get_buffer(id, off + MINIX_SUPERBLOCK_OFFSET, 0x200); 69 ms = volume_id_get_buffer(id, off + MINIX_SUPERBLOCK_OFFSET, 0x200);
52 if (ms == NULL) 70 if (ms == NULL)
53 return -1; 71 return -1;
54 72 if (ms->s_magic == cpu_to_le16(0x137F)) /* minix V1 fs, 14 char names */
55 if (ms->s_magic == cpu_to_le16(0x137f)) {
56// id->type_version[0] = '1';
57 goto found; 73 goto found;
58 } 74 if (ms->s_magic == cpu_to_le16(0x138F)) /* minix V1 fs, 30 char names */
59
60 if (ms->s_magic == cpu_to_le16(0x1387)) {
61// id->type_version[0] = '1';
62 goto found; 75 goto found;
63 } 76 if (ms->s_magic == cpu_to_le16(0x2468)) /* minix V2 fs, 14 char names */
64 77 goto found;
65 if (ms->s_magic == cpu_to_le16(0x2468)) { 78 if (ms->s_magic == cpu_to_le16(0x2478)) /* minix V2 fs, 30 char names */
66// id->type_version[0] = '2';
67 goto found; 79 goto found;
68 }
69 80
70 if (ms->s_magic == cpu_to_le16(0x2478)) { 81 ms3 = (void*)ms;
71// id->type_version[0] = '2'; 82 if (ms3->s_magic == cpu_to_le16(0x4d5a)) /* minix V3 fs, 60 char names */
72 goto found; 83 goto found;
73 }
74 84
75 return -1; 85 return -1;
76 86
77 found: 87 found:
78// id->type_version[1] = '\0';
79// volume_id_set_usage(id, VOLUME_ID_FILESYSTEM); 88// volume_id_set_usage(id, VOLUME_ID_FILESYSTEM);
80// id->type = "minix"; 89 IF_FEATURE_BLKID_TYPE(id->type = "minix";)
81 return 0; 90 return 0;
82} 91}
diff --git a/util-linux/volume_id/volume_id.c b/util-linux/volume_id/volume_id.c
index 5bb95994b..85315ced6 100644
--- a/util-linux/volume_id/volume_id.c
+++ b/util-linux/volume_id/volume_id.c
@@ -42,7 +42,6 @@
42#define ENABLE_FEATURE_VOLUMEID_VIARAID 0 42#define ENABLE_FEATURE_VOLUMEID_VIARAID 0
43 43
44/* These filesystems also have no label or uuid: */ 44/* These filesystems also have no label or uuid: */
45#define ENABLE_FEATURE_VOLUMEID_MINIX 0
46#define ENABLE_FEATURE_VOLUMEID_HPFS 0 45#define ENABLE_FEATURE_VOLUMEID_HPFS 0
47#define ENABLE_FEATURE_VOLUMEID_UFS 0 46#define ENABLE_FEATURE_VOLUMEID_UFS 0
48 47
diff --git a/util-linux/volume_id/volume_id_internal.h b/util-linux/volume_id/volume_id_internal.h
index 759a832e6..0eaea9b34 100644
--- a/util-linux/volume_id/volume_id_internal.h
+++ b/util-linux/volume_id/volume_id_internal.h
@@ -193,7 +193,7 @@ int FAST_FUNC volume_id_probe_luks(struct volume_id *id /*,uint64_t off*/);
193 193
194//int FAST_FUNC volume_id_probe_mac_partition_map(struct volume_id *id /*,uint64_t off*/); 194//int FAST_FUNC volume_id_probe_mac_partition_map(struct volume_id *id /*,uint64_t off*/);
195 195
196//int FAST_FUNC volume_id_probe_minix(struct volume_id *id /*,uint64_t off*/); 196int FAST_FUNC volume_id_probe_minix(struct volume_id *id /*, uint64_t off*/);
197 197
198//int FAST_FUNC volume_id_probe_msdos_part_table(struct volume_id *id /*,uint64_t off*/); 198//int FAST_FUNC volume_id_probe_msdos_part_table(struct volume_id *id /*,uint64_t off*/);
199 199