#include <grp.h>
#include "../../udev/udev.h"
-#include "../../udev/udev_selinux.h"
static char *table[] = {
"", "d360", "h1200", "u360", "u720", "h360", "h720",
logging_init("create_floppy_devices");
udev_set_log_fn(udev, log_fn);
+ udev_selinux_init(udev);
while ((c = getopt(argc, argv, "cudm:U:G:M:t:")) != -1) {
switch (c) {
print_nodes = 1;
break;
case 'U':
- uid = lookup_user(udev, optarg);
+ uid = util_lookup_user(udev, optarg);
break;
case 'G':
- gid = lookup_group(udev, optarg);
+ gid = util_lookup_group(udev, optarg);
break;
case 'M':
mode = strtol(optarg, NULL, 0);
return 1;
}
if (fdnum > 3)
- fdnum += 128;
+ fdnum += 124;
if (major < 1) {
fprintf(stderr,"Invalid major number %d\n", major);
return 1;
}
- if (type < 0 || type > (int) sizeof(table)) {
+ if (type < 0 || type >= (int) ARRAY_SIZE(table_sup)) {
fprintf(stderr,"Invalid CMOS type %d\n", type);
return 1;
}
if (type == 0)
return 0;
- selinux_init(udev);
-
i = 0;
while (table_sup[type][i]) {
sprintf(node, "%s%s", dev, table[table_sup[type][i]]);
minor = (table_sup[type][i] << 2) + fdnum;
if (print_nodes)
- printf("%s b %d %d %d\n", node, mode, major, minor);
+ printf("%s b %.4o %d %d\n", node, mode, major, minor);
if (create_nodes) {
unlink(node);
- selinux_setfscreatecon(udev, node, NULL, S_IFBLK | mode);
+ udev_selinux_setfscreatecon(udev, node, S_IFBLK | mode);
mknod(node, S_IFBLK | mode, makedev(major,minor));
- selinux_resetfscreatecon(udev);
+ udev_selinux_resetfscreatecon(udev);
chown(node, uid, gid);
chmod(node, S_IFBLK | mode);
}
i++;
}
- selinux_exit(udev);
+ udev_selinux_exit(udev);
udev_unref(udev);
exit:
return 0;