summaryrefslogtreecommitdiff
path: root/udev_utils.h
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@suse.de>2005-08-28 13:49:32 +0200
committerKay Sievers <kay.sievers@suse.de>2005-08-28 13:49:32 +0200
commit5b13ecb830cdec338b514b9ed8c2c559c2f05223 (patch)
tree1000378ec86832a9dc9cab74a966c4ace98e9e76 /udev_utils.h
parent7104c558dad47ee85860ebb891bdc8820d95154d (diff)
add uft8 validation for safe volume label exporting
We will not support any other character encoding than plain ascii or utf8 for volume labels. All invalid utf8 and non-ascii characters are substituted for security reasons. No options, no fancy heuristics. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Diffstat (limited to 'udev_utils.h')
-rw-r--r--udev_utils.h29
1 files changed, 18 insertions, 11 deletions
diff --git a/udev_utils.h b/udev_utils.h
index 0a307526b7..a07d8d2b7c 100644
--- a/udev_utils.h
+++ b/udev_utils.h
@@ -31,22 +31,29 @@ struct name_entry {
char name[PATH_SIZE];
};
-extern int strcmp_pattern(const char *p, const char *s);
-extern int kernel_release_satisfactory(unsigned int version, unsigned int patchlevel, unsigned int sublevel);
-extern int create_path(const char *path);
+/* udev_utils.c */
extern int log_priority(const char *priority);
-extern int string_is_true(const char *str);
-extern int parse_get_pair(char **orig_string, char **left, char **right);
-extern int unlink_secure(const char *filename);
-extern int file_map(const char *filename, char **buf, size_t *bufsize);
-extern void file_unmap(void *buf, size_t bufsize);
-extern size_t buf_get_line(const char *buf, size_t buflen, size_t cur);
-extern void remove_trailing_char(char *path, char c);
-extern void replace_untrusted_chars(char *string);
+extern int kernel_release_satisfactory(unsigned int version, unsigned int patchlevel, unsigned int sublevel);
extern int name_list_add(struct list_head *name_list, const char *name, int sort);
extern int name_list_key_add(struct list_head *name_list, const char *key, const char *value);
extern void name_list_cleanup(struct list_head *name_list);
extern int add_matching_files(struct list_head *name_list, const char *dirname, const char *suffix);
+
+/* udev_utils_string.c */
+extern int strcmp_pattern(const char *p, const char *s);
+extern int string_is_true(const char *str);
+extern void replace_untrusted_chars(char *string);
+extern void remove_trailing_char(char *path, char c);
+extern int utf8_encoded_valid_unichar(const char *str);
+
+/* udev_utils_file.c */
+extern int create_path(const char *path);
+extern int file_map(const char *filename, char **buf, size_t *bufsize);
+extern void file_unmap(void *buf, size_t bufsize);
+extern int unlink_secure(const char *filename);
+extern size_t buf_get_line(const char *buf, size_t buflen, size_t cur);
+
+/* udev_utils_run.c */
extern int pass_env_to_socket(const char *name, const char *devpath, const char *action);
extern int run_program(const char *command, const char *subsystem,
char *result, size_t ressize, size_t *reslen, int log);