#include "libsysfs/sysfs/libsysfs.h"
#include "list.h"
#include "udev.h"
+#include "udev_lib.h"
#include "udev_version.h"
#include "logging.h"
#include "namedev.h"
}
if (dev->symlink[0] != '\0') {
+ char temp[NAME_SIZE];
+
info("configured rule in '%s' at line %i applied, added symlink '%s'",
dev->config_file, dev->config_line, dev->symlink);
+ strfieldcpy(temp, dev->symlink);
+ apply_format(udev, temp, sizeof(temp), class_dev, sysfs_device);
if (udev->symlink[0] != '\0')
strfieldcat(udev->symlink, " ");
- strfieldcat(udev->symlink, dev->symlink);
+ strfieldcat(udev->symlink, temp);
}
if (dev->name[0] != '\0') {
}
}
+ /* no rule was found for the net device */
+ if (udev->type == 'n') {
+ dbg("no name for net device '%s' configured", udev->kernel_name);
+ return -1;
+ }
+
/* no rule was found so we use the kernel name */
strfieldcpy(udev->name, udev->kernel_name);
goto done;
found:
apply_format(udev, udev->name, sizeof(udev->name), class_dev, sysfs_device);
- apply_format(udev, udev->symlink, sizeof(udev->symlink), class_dev, sysfs_device);
+
+ if (udev->type == 'n')
+ return 0;
+
udev->partitions = dev->partitions;
+ strfieldcpy(udev->config_file, dev->config_file);
+ udev->config_line = dev->config_line;
-done:
/* get permissions given in rule */
set_empty_perms(udev, dev->mode,
dev->owner,
dev->group);
+done:
/* get permissions given in config file or set defaults */
perm = find_perm(udev->name);
if (perm != NULL) {
dbg("name, '%s' is going to have owner='%s', group='%s', mode = %#o",
udev->name, udev->owner, udev->group, udev->mode);
+ /* store time of action */
+ udev->config_time = time(NULL);
+
return 0;
}