File: | home/bhubbard/working/src/ceph/src/mount/mount.ceph.c |
Warning: | line 236, column 3 Value stored to 'name_pos' is never read |
[?] Use j/k keys for keyboard navigation
1 | #include <stdio.h> |
2 | #include <string.h> |
3 | #include <stdlib.h> |
4 | #include <errno(*__errno_location ()).h> |
5 | #include <sys/mount.h> |
6 | |
7 | #include "common/module.h" |
8 | #include "common/secret.h" |
9 | #include "include/addr_parsing.h" |
10 | |
11 | #ifndef MS_RELATIMEMS_RELATIME |
12 | # define MS_RELATIMEMS_RELATIME (1<<21) |
13 | #endif |
14 | |
15 | #define MAX_SECRET_LEN1000 1000 |
16 | #define MAX_SECRET_OPTION_LEN(1000 + 7) (MAX_SECRET_LEN1000 + 7) |
17 | |
18 | int verboseflag = 0; |
19 | int skip_mtab_flag = 0; |
20 | static const char * const EMPTY_STRING = ""; |
21 | |
22 | /* TODO duplicates logic from kernel */ |
23 | #define CEPH_AUTH_NAME_DEFAULT"guest" "guest" |
24 | |
25 | #include "mtab.c" |
26 | |
27 | static void block_signals (int how) |
28 | { |
29 | sigset_t sigs; |
30 | |
31 | sigfillset (&sigs); |
32 | sigdelset(&sigs, SIGTRAP5); |
33 | sigdelset(&sigs, SIGSEGV11); |
34 | sigprocmask (how, &sigs, (sigset_t *) 0); |
35 | } |
36 | |
37 | static char *mount_resolve_src(const char *orig_str) |
38 | { |
39 | int len, pos; |
40 | char *mount_path; |
41 | char *src; |
42 | char *buf = strdup(orig_str)(__extension__ (__builtin_constant_p (orig_str) && (( size_t)(const void *)((orig_str) + 1) - (size_t)(const void * )(orig_str) == 1) ? (((const char *) (orig_str))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (orig_str) + 1; char *__retval = (char *) malloc (__len ); if (__retval != ((void*)0)) __retval = (char *) memcpy (__retval , orig_str, __len); __retval; })) : __strdup (orig_str))); |
43 | if (!buf) { |
44 | fprintf(stderr, "%s: failed to allocate memory\n", __func__)__fprintf_chk (stderr, 2 - 1, "%s: failed to allocate memory\n" , __func__); |
45 | return NULL((void*)0); |
46 | } |
47 | |
48 | mount_path = strstr(buf, ":/"); |
49 | if (!mount_path) { |
50 | printf("source mount path was not specified\n")__printf_chk (2 - 1, "source mount path was not specified\n"); |
51 | free(buf); |
52 | return NULL((void*)0); |
53 | } |
54 | if (mount_path == buf) { |
55 | printf("server address expected\n")__printf_chk (2 - 1, "server address expected\n"); |
56 | free(buf); |
57 | return NULL((void*)0); |
58 | } |
59 | |
60 | *mount_path = '\0'; |
61 | mount_path++; |
62 | |
63 | if (!*mount_path) { |
64 | printf("incorrect source mount path\n")__printf_chk (2 - 1, "incorrect source mount path\n"); |
65 | free(buf); |
66 | return NULL((void*)0); |
67 | } |
68 | |
69 | src = resolve_addrs(buf); |
70 | if (!src) { |
71 | free(buf); |
72 | return NULL((void*)0); |
73 | } |
74 | |
75 | len = strlen(src); |
76 | pos = safe_cat(&src, &len, len, ":"); |
77 | safe_cat(&src, &len, pos, mount_path); |
78 | |
79 | free(buf); |
80 | return src; |
81 | } |
82 | |
83 | /* |
84 | * this one is partially based on parse_options() from cifs.mount.c |
85 | */ |
86 | static char *parse_options(const char *data, int *filesys_flags) |
87 | { |
88 | char * next_keyword = NULL((void*)0); |
89 | char * out = NULL((void*)0); |
90 | int out_len = 0; |
91 | int pos = 0; |
92 | char *name = NULL((void*)0); |
93 | int name_len = 0; |
94 | int name_pos = 0; |
95 | char secret[MAX_SECRET_LEN1000]; |
96 | char *saw_name = NULL((void*)0); |
97 | char *saw_secret = NULL((void*)0); |
98 | |
99 | if(verboseflag) |
100 | printf("parsing options: %s\n", data)__printf_chk (2 - 1, "parsing options: %s\n", data); |
101 | |
102 | do { |
103 | char * value = NULL((void*)0); |
104 | /* check if ends with trailing comma */ |
105 | if(*data == 0) |
106 | break; |
107 | next_keyword = strchr(data,',')(__extension__ (__builtin_constant_p (',') && !__builtin_constant_p (data) && (',') == '\0' ? (char *) __rawmemchr (data , ',') : __builtin_strchr (data, ','))); |
108 | |
109 | /* temporarily null terminate end of keyword=value pair */ |
110 | if(next_keyword) |
111 | *next_keyword++ = 0; |
112 | |
113 | /* temporarily null terminate keyword to make keyword and value distinct */ |
114 | if ((value = strchr(data, '=')(__extension__ (__builtin_constant_p ('=') && !__builtin_constant_p (data) && ('=') == '\0' ? (char *) __rawmemchr (data , '=') : __builtin_strchr (data, '=')))) != NULL((void*)0)) { |
115 | *value = '\0'; |
116 | value++; |
117 | } |
118 | |
119 | int skip = 1; |
120 | |
121 | if (strncmp(data, "ro", 2)(__extension__ (__builtin_constant_p (2) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (2))) || (__builtin_constant_p ("ro") && strlen ("ro") < ((size_t) (2)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("ro") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("ro"), (!((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ro") + 1) - ( size_t)(const void *)("ro") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "ro") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("ro") && ((size_t)(const void *)(("ro") + 1) - (size_t)(const void *)("ro") == 1) ? __builtin_strcmp (data, "ro") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("ro"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0 ]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1 ]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2 ]); if (__s1_len > 2 && __result == 0) __result = ( ((const unsigned char *) (const char *) (data))[3] - __s2[3]) ; } } __result; }))) : (__builtin_constant_p ("ro") && ((size_t)(const void *)(("ro") + 1) - (size_t)(const void *) ("ro") == 1) && (__s2_len = __builtin_strlen ("ro"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)( const void *)((data) + 1) - (size_t)(const void *)(data) == 1 ) ? __builtin_strcmp (data, "ro") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("ro"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "ro"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "ro"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("ro" ))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data , "ro")))); }) : strncmp (data, "ro", 2))) == 0) { |
122 | *filesys_flags |= MS_RDONLYMS_RDONLY; |
123 | } else if (strncmp(data, "rw", 2)(__extension__ (__builtin_constant_p (2) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (2))) || (__builtin_constant_p ("rw") && strlen ("rw") < ((size_t) (2)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("rw") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("rw"), (!((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("rw") + 1) - ( size_t)(const void *)("rw") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "rw") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("rw") && ((size_t)(const void *)(("rw") + 1) - (size_t)(const void *)("rw") == 1) ? __builtin_strcmp (data, "rw") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("rw"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0 ]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1 ]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2 ]); if (__s1_len > 2 && __result == 0) __result = ( ((const unsigned char *) (const char *) (data))[3] - __s2[3]) ; } } __result; }))) : (__builtin_constant_p ("rw") && ((size_t)(const void *)(("rw") + 1) - (size_t)(const void *) ("rw") == 1) && (__s2_len = __builtin_strlen ("rw"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)( const void *)((data) + 1) - (size_t)(const void *)(data) == 1 ) ? __builtin_strcmp (data, "rw") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("rw"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "rw"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "rw"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("rw" ))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data , "rw")))); }) : strncmp (data, "rw", 2))) == 0) { |
124 | *filesys_flags &= ~MS_RDONLYMS_RDONLY; |
125 | } else if (strncmp(data, "nosuid", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p ("nosuid") && strlen ("nosuid") < ((size_t) (6))) ) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("nosuid") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("nosuid"), (!((size_t)(const void *)((data) + 1) - (size_t) (const void *)(data) == 1) || __s1_len >= 4) && (! ((size_t)(const void *)(("nosuid") + 1) - (size_t)(const void *)("nosuid") == 1) || __s2_len >= 4)) ? __builtin_strcmp ( data, "nosuid") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("nosuid") && ((size_t)(const void *)(("nosuid") + 1) - (size_t)(const void *)("nosuid") == 1) ? __builtin_strcmp (data, "nosuid") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("nosuid"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "nosuid") && ((size_t)(const void *)(("nosuid") + 1) - (size_t)(const void *)("nosuid") == 1) && (__s2_len = __builtin_strlen ("nosuid"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "nosuid" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("nosuid"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nosuid"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nosuid"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("nosuid"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "nosuid")))); }) : strncmp ( data, "nosuid", 6))) == 0) { |
126 | *filesys_flags |= MS_NOSUIDMS_NOSUID; |
127 | } else if (strncmp(data, "suid", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p ("suid") && strlen ("suid") < ((size_t) (4)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("suid") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("suid"), (!((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("suid") + 1) - (size_t)(const void *)("suid") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "suid") : (__builtin_constant_p (data ) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen ( data), __s1_len < 4) ? (__builtin_constant_p ("suid") && ((size_t)(const void *)(("suid") + 1) - (size_t)(const void * )("suid") == 1) ? __builtin_strcmp (data, "suid") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("suid"); int __result = (((const unsigned char *) ( const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("suid") && ((size_t)(const void *)(("suid") + 1) - ( size_t)(const void *)("suid") == 1) && (__s2_len = __builtin_strlen ("suid"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "suid") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("suid"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("suid"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("suid"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("suid"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "suid")))); }) : strncmp (data, "suid", 4))) == 0) { |
128 | *filesys_flags &= ~MS_NOSUIDMS_NOSUID; |
129 | } else if (strncmp(data, "dev", 3)(__extension__ (__builtin_constant_p (3) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (3))) || (__builtin_constant_p ("dev") && strlen ("dev") < ((size_t) (3)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("dev") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("dev"), (!((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("dev") + 1) - (size_t)(const void *)("dev") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "dev") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("dev") && ((size_t)(const void *)(("dev") + 1) - (size_t)(const void *)("dev") == 1) ? __builtin_strcmp (data, "dev") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("dev"); int __result = (((const unsigned char *) (const char *) (data ))[0] - __s2[0]); if (__s1_len > 0 && __result == 0 ) { __result = (((const unsigned char *) (const char *) (data ))[1] - __s2[1]); if (__s1_len > 1 && __result == 0 ) { __result = (((const unsigned char *) (const char *) (data ))[2] - __s2[2]); if (__s1_len > 2 && __result == 0 ) __result = (((const unsigned char *) (const char *) (data)) [3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("dev" ) && ((size_t)(const void *)(("dev") + 1) - (size_t)( const void *)("dev") == 1) && (__s2_len = __builtin_strlen ("dev"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "dev") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("dev"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("dev"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("dev"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("dev"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "dev")))); }) : strncmp (data, "dev", 3))) == 0) { |
130 | *filesys_flags &= ~MS_NODEVMS_NODEV; |
131 | } else if (strncmp(data, "nodev", 5)(__extension__ (__builtin_constant_p (5) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (5))) || (__builtin_constant_p ("nodev") && strlen ("nodev") < ((size_t) (5)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("nodev") && ( __s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("nodev"), (!((size_t)(const void *)((data) + 1) - (size_t)( const void *)(data) == 1) || __s1_len >= 4) && (!( (size_t)(const void *)(("nodev") + 1) - (size_t)(const void * )("nodev") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data , "nodev") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("nodev") && ((size_t)(const void *)(("nodev") + 1) - (size_t)(const void *)("nodev") == 1 ) ? __builtin_strcmp (data, "nodev") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("nodev"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "nodev") && ((size_t)(const void *)(("nodev") + 1) - ( size_t)(const void *)("nodev") == 1) && (__s2_len = __builtin_strlen ("nodev"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "nodev") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("nodev"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nodev"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nodev"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("nodev"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "nodev")))); }) : strncmp (data, "nodev", 5))) == 0) { |
132 | *filesys_flags |= MS_NODEVMS_NODEV; |
133 | } else if (strncmp(data, "noexec", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p ("noexec") && strlen ("noexec") < ((size_t) (6))) ) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("noexec") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("noexec"), (!((size_t)(const void *)((data) + 1) - (size_t) (const void *)(data) == 1) || __s1_len >= 4) && (! ((size_t)(const void *)(("noexec") + 1) - (size_t)(const void *)("noexec") == 1) || __s2_len >= 4)) ? __builtin_strcmp ( data, "noexec") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("noexec") && ((size_t)(const void *)(("noexec") + 1) - (size_t)(const void *)("noexec") == 1) ? __builtin_strcmp (data, "noexec") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("noexec"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "noexec") && ((size_t)(const void *)(("noexec") + 1) - (size_t)(const void *)("noexec") == 1) && (__s2_len = __builtin_strlen ("noexec"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "noexec" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("noexec"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("noexec"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("noexec"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("noexec"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "noexec")))); }) : strncmp ( data, "noexec", 6))) == 0) { |
134 | *filesys_flags |= MS_NOEXECMS_NOEXEC; |
135 | } else if (strncmp(data, "exec", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p ("exec") && strlen ("exec") < ((size_t) (4)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("exec") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("exec"), (!((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("exec") + 1) - (size_t)(const void *)("exec") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "exec") : (__builtin_constant_p (data ) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen ( data), __s1_len < 4) ? (__builtin_constant_p ("exec") && ((size_t)(const void *)(("exec") + 1) - (size_t)(const void * )("exec") == 1) ? __builtin_strcmp (data, "exec") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("exec"); int __result = (((const unsigned char *) ( const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("exec") && ((size_t)(const void *)(("exec") + 1) - ( size_t)(const void *)("exec") == 1) && (__s2_len = __builtin_strlen ("exec"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "exec") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("exec"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("exec"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("exec"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("exec"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "exec")))); }) : strncmp (data, "exec", 4))) == 0) { |
136 | *filesys_flags &= ~MS_NOEXECMS_NOEXEC; |
137 | } else if (strncmp(data, "sync", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p ("sync") && strlen ("sync") < ((size_t) (4)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("sync") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("sync"), (!((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("sync") + 1) - (size_t)(const void *)("sync") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "sync") : (__builtin_constant_p (data ) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen ( data), __s1_len < 4) ? (__builtin_constant_p ("sync") && ((size_t)(const void *)(("sync") + 1) - (size_t)(const void * )("sync") == 1) ? __builtin_strcmp (data, "sync") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("sync"); int __result = (((const unsigned char *) ( const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("sync") && ((size_t)(const void *)(("sync") + 1) - ( size_t)(const void *)("sync") == 1) && (__s2_len = __builtin_strlen ("sync"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "sync") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("sync"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("sync"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("sync"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("sync"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "sync")))); }) : strncmp (data, "sync", 4))) == 0) { |
138 | *filesys_flags |= MS_SYNCHRONOUSMS_SYNCHRONOUS; |
139 | } else if (strncmp(data, "remount", 7)(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (7))) || (__builtin_constant_p ("remount") && strlen ("remount") < ((size_t) (7) ))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("remount") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("remount"), (!((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("remount") + 1) - (size_t)(const void *)("remount") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "remount") : (__builtin_constant_p (data) && ( (size_t)(const void *)((data) + 1) - (size_t)(const void *)(data ) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("remount") && ((size_t )(const void *)(("remount") + 1) - (size_t)(const void *)("remount" ) == 1) ? __builtin_strcmp (data, "remount") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("remount"); int __result = (((const unsigned char * ) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("remount") && ((size_t)(const void *)(("remount") + 1) - (size_t)(const void *)("remount") == 1) && (__s2_len = __builtin_strlen ("remount"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "remount" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("remount"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("remount"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("remount"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("remount"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "remount")))); }) : strncmp (data, "remount", 7))) == 0) { |
140 | *filesys_flags |= MS_REMOUNTMS_REMOUNT; |
141 | } else if (strncmp(data, "mandlock", 8)(__extension__ (__builtin_constant_p (8) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (8))) || (__builtin_constant_p ("mandlock") && strlen ("mandlock") < ((size_t) ( 8)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("mandlock") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("mandlock"), (!((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("mandlock") + 1) - (size_t)(const void *)("mandlock") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "mandlock") : (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("mandlock") && ((size_t )(const void *)(("mandlock") + 1) - (size_t)(const void *)("mandlock" ) == 1) ? __builtin_strcmp (data, "mandlock") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("mandlock"); int __result = (((const unsigned char * ) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("mandlock") && ((size_t)(const void *)(("mandlock") + 1) - (size_t)(const void *)("mandlock") == 1) && ( __s2_len = __builtin_strlen ("mandlock"), __s2_len < 4) ? ( __builtin_constant_p (data) && ((size_t)(const void * )((data) + 1) - (size_t)(const void *)(data) == 1) ? __builtin_strcmp (data, "mandlock") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("mandlock"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("mandlock"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("mandlock"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("mandlock"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "mandlock" )))); }) : strncmp (data, "mandlock", 8))) == 0) { |
142 | *filesys_flags |= MS_MANDLOCKMS_MANDLOCK; |
143 | } else if ((strncmp(data, "nobrl", 5)(__extension__ (__builtin_constant_p (5) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (5))) || (__builtin_constant_p ("nobrl") && strlen ("nobrl") < ((size_t) (5)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("nobrl") && ( __s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("nobrl"), (!((size_t)(const void *)((data) + 1) - (size_t)( const void *)(data) == 1) || __s1_len >= 4) && (!( (size_t)(const void *)(("nobrl") + 1) - (size_t)(const void * )("nobrl") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data , "nobrl") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("nobrl") && ((size_t)(const void *)(("nobrl") + 1) - (size_t)(const void *)("nobrl") == 1 ) ? __builtin_strcmp (data, "nobrl") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("nobrl"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "nobrl") && ((size_t)(const void *)(("nobrl") + 1) - ( size_t)(const void *)("nobrl") == 1) && (__s2_len = __builtin_strlen ("nobrl"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "nobrl") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("nobrl"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nobrl"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nobrl"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("nobrl"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "nobrl")))); }) : strncmp (data, "nobrl", 5))) == 0) || |
144 | (strncmp(data, "nolock", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p ("nolock") && strlen ("nolock") < ((size_t) (6))) ) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("nolock") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("nolock"), (!((size_t)(const void *)((data) + 1) - (size_t) (const void *)(data) == 1) || __s1_len >= 4) && (! ((size_t)(const void *)(("nolock") + 1) - (size_t)(const void *)("nolock") == 1) || __s2_len >= 4)) ? __builtin_strcmp ( data, "nolock") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("nolock") && ((size_t)(const void *)(("nolock") + 1) - (size_t)(const void *)("nolock") == 1) ? __builtin_strcmp (data, "nolock") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("nolock"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "nolock") && ((size_t)(const void *)(("nolock") + 1) - (size_t)(const void *)("nolock") == 1) && (__s2_len = __builtin_strlen ("nolock"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "nolock" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("nolock"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nolock"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nolock"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("nolock"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "nolock")))); }) : strncmp ( data, "nolock", 6))) == 0)) { |
145 | *filesys_flags &= ~MS_MANDLOCKMS_MANDLOCK; |
146 | } else if (strncmp(data, "noatime", 7)(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (7))) || (__builtin_constant_p ("noatime") && strlen ("noatime") < ((size_t) (7) ))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("noatime") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("noatime"), (!((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("noatime") + 1) - (size_t)(const void *)("noatime") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "noatime") : (__builtin_constant_p (data) && ( (size_t)(const void *)((data) + 1) - (size_t)(const void *)(data ) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("noatime") && ((size_t )(const void *)(("noatime") + 1) - (size_t)(const void *)("noatime" ) == 1) ? __builtin_strcmp (data, "noatime") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("noatime"); int __result = (((const unsigned char * ) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("noatime") && ((size_t)(const void *)(("noatime") + 1) - (size_t)(const void *)("noatime") == 1) && (__s2_len = __builtin_strlen ("noatime"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "noatime" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("noatime"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("noatime"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("noatime"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("noatime"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "noatime")))); }) : strncmp (data, "noatime", 7))) == 0) { |
147 | *filesys_flags |= MS_NOATIMEMS_NOATIME; |
148 | } else if (strncmp(data, "nodiratime", 10)(__extension__ (__builtin_constant_p (10) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (10))) || (__builtin_constant_p ("nodiratime") && strlen ("nodiratime") < ((size_t ) (10)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("nodiratime") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("nodiratime"), (!((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("nodiratime") + 1) - (size_t)(const void *)("nodiratime") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "nodiratime") : (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("nodiratime") && (( size_t)(const void *)(("nodiratime") + 1) - (size_t)(const void *)("nodiratime") == 1) ? __builtin_strcmp (data, "nodiratime" ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("nodiratime"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char * ) (const char *) (data))[3] - __s2[3]); } } __result; }))) : ( __builtin_constant_p ("nodiratime") && ((size_t)(const void *)(("nodiratime") + 1) - (size_t)(const void *)("nodiratime" ) == 1) && (__s2_len = __builtin_strlen ("nodiratime" ), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "nodiratime") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("nodiratime"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nodiratime"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nodiratime"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("nodiratime"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "nodiratime")))); }) : strncmp (data, "nodiratime", 10 ))) == 0) { |
149 | *filesys_flags |= MS_NODIRATIMEMS_NODIRATIME; |
150 | } else if (strncmp(data, "relatime", 8)(__extension__ (__builtin_constant_p (8) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (8))) || (__builtin_constant_p ("relatime") && strlen ("relatime") < ((size_t) ( 8)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("relatime") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("relatime"), (!((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("relatime") + 1) - (size_t)(const void *)("relatime") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "relatime") : (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("relatime") && ((size_t )(const void *)(("relatime") + 1) - (size_t)(const void *)("relatime" ) == 1) ? __builtin_strcmp (data, "relatime") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("relatime"); int __result = (((const unsigned char * ) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("relatime") && ((size_t)(const void *)(("relatime") + 1) - (size_t)(const void *)("relatime") == 1) && ( __s2_len = __builtin_strlen ("relatime"), __s2_len < 4) ? ( __builtin_constant_p (data) && ((size_t)(const void * )((data) + 1) - (size_t)(const void *)(data) == 1) ? __builtin_strcmp (data, "relatime") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("relatime"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("relatime"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("relatime"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("relatime"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "relatime" )))); }) : strncmp (data, "relatime", 8))) == 0) { |
151 | *filesys_flags |= MS_RELATIMEMS_RELATIME; |
152 | |
153 | } else if (strncmp(data, "noauto", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p ("noauto") && strlen ("noauto") < ((size_t) (6))) ) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("noauto") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("noauto"), (!((size_t)(const void *)((data) + 1) - (size_t) (const void *)(data) == 1) || __s1_len >= 4) && (! ((size_t)(const void *)(("noauto") + 1) - (size_t)(const void *)("noauto") == 1) || __s2_len >= 4)) ? __builtin_strcmp ( data, "noauto") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("noauto") && ((size_t)(const void *)(("noauto") + 1) - (size_t)(const void *)("noauto") == 1) ? __builtin_strcmp (data, "noauto") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("noauto"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "noauto") && ((size_t)(const void *)(("noauto") + 1) - (size_t)(const void *)("noauto") == 1) && (__s2_len = __builtin_strlen ("noauto"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "noauto" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("noauto"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("noauto"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("noauto"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("noauto"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "noauto")))); }) : strncmp ( data, "noauto", 6))) == 0) { |
154 | skip = 1; /* ignore */ |
155 | } else if (strncmp(data, "_netdev", 7)(__extension__ (__builtin_constant_p (7) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (7))) || (__builtin_constant_p ("_netdev") && strlen ("_netdev") < ((size_t) (7) ))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("_netdev") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("_netdev"), (!((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("_netdev") + 1) - (size_t)(const void *)("_netdev") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "_netdev") : (__builtin_constant_p (data) && ( (size_t)(const void *)((data) + 1) - (size_t)(const void *)(data ) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("_netdev") && ((size_t )(const void *)(("_netdev") + 1) - (size_t)(const void *)("_netdev" ) == 1) ? __builtin_strcmp (data, "_netdev") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("_netdev"); int __result = (((const unsigned char * ) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("_netdev") && ((size_t)(const void *)(("_netdev") + 1) - (size_t)(const void *)("_netdev") == 1) && (__s2_len = __builtin_strlen ("_netdev"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "_netdev" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("_netdev"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("_netdev"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("_netdev"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("_netdev"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "_netdev")))); }) : strncmp (data, "_netdev", 7))) == 0) { |
156 | skip = 1; /* ignore */ |
157 | } else if (strncmp(data, "nofail", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p ("nofail") && strlen ("nofail") < ((size_t) (6))) ) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("nofail") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("nofail"), (!((size_t)(const void *)((data) + 1) - (size_t) (const void *)(data) == 1) || __s1_len >= 4) && (! ((size_t)(const void *)(("nofail") + 1) - (size_t)(const void *)("nofail") == 1) || __s2_len >= 4)) ? __builtin_strcmp ( data, "nofail") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("nofail") && ((size_t)(const void *)(("nofail") + 1) - (size_t)(const void *)("nofail") == 1) ? __builtin_strcmp (data, "nofail") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("nofail"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "nofail") && ((size_t)(const void *)(("nofail") + 1) - (size_t)(const void *)("nofail") == 1) && (__s2_len = __builtin_strlen ("nofail"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "nofail" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("nofail"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nofail"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("nofail"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("nofail"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "nofail")))); }) : strncmp ( data, "nofail", 6))) == 0) { |
158 | skip = 1; /* ignore */ |
159 | |
160 | } else if (strncmp(data, "secretfile", 10)(__extension__ (__builtin_constant_p (10) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (10))) || (__builtin_constant_p ("secretfile") && strlen ("secretfile") < ((size_t ) (10)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("secretfile") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("secretfile"), (!((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("secretfile") + 1) - (size_t)(const void *)("secretfile") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "secretfile") : (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("secretfile") && (( size_t)(const void *)(("secretfile") + 1) - (size_t)(const void *)("secretfile") == 1) ? __builtin_strcmp (data, "secretfile" ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("secretfile"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char * ) (const char *) (data))[3] - __s2[3]); } } __result; }))) : ( __builtin_constant_p ("secretfile") && ((size_t)(const void *)(("secretfile") + 1) - (size_t)(const void *)("secretfile" ) == 1) && (__s2_len = __builtin_strlen ("secretfile" ), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "secretfile") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("secretfile"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("secretfile"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("secretfile"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("secretfile"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "secretfile")))); }) : strncmp (data, "secretfile", 10 ))) == 0) { |
161 | if (!value || !*value) { |
162 | printf("keyword secretfile found, but no secret file specified\n")__printf_chk (2 - 1, "keyword secretfile found, but no secret file specified\n" ); |
163 | free(saw_name); |
164 | return NULL((void*)0); |
165 | } |
166 | |
167 | if (read_secret_from_file(value, secret, sizeof(secret)) < 0) { |
168 | printf("error reading secret file\n")__printf_chk (2 - 1, "error reading secret file\n"); |
169 | return NULL((void*)0); |
170 | } |
171 | |
172 | /* see comment for "secret" */ |
173 | saw_secret = secret; |
174 | skip = 1; |
175 | } else if (strncmp(data, "secret", 6)(__extension__ (__builtin_constant_p (6) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (6))) || (__builtin_constant_p ("secret") && strlen ("secret") < ((size_t) (6))) ) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("secret") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("secret"), (!((size_t)(const void *)((data) + 1) - (size_t) (const void *)(data) == 1) || __s1_len >= 4) && (! ((size_t)(const void *)(("secret") + 1) - (size_t)(const void *)("secret") == 1) || __s2_len >= 4)) ? __builtin_strcmp ( data, "secret") : (__builtin_constant_p (data) && ((size_t )(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen (data), __s1_len < 4) ? (__builtin_constant_p ("secret") && ((size_t)(const void *)(("secret") + 1) - (size_t)(const void *)("secret") == 1) ? __builtin_strcmp (data, "secret") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("secret"); int __result = (((const unsigned char *) (const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( "secret") && ((size_t)(const void *)(("secret") + 1) - (size_t)(const void *)("secret") == 1) && (__s2_len = __builtin_strlen ("secret"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t )(const void *)(data) == 1) ? __builtin_strcmp (data, "secret" ) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("secret"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("secret"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("secret"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("secret"))[3] - __s2[3]); } } __result ; })))) : __builtin_strcmp (data, "secret")))); }) : strncmp ( data, "secret", 6))) == 0) { |
176 | if (!value || !*value) { |
177 | printf("mount option secret requires a value.\n")__printf_chk (2 - 1, "mount option secret requires a value.\n" ); |
178 | free(saw_name); |
179 | return NULL((void*)0); |
180 | } |
181 | |
182 | /* secret is only added to kernel options as |
183 | backwards compatibility, if add_key doesn't |
184 | recognize our keytype; hence, it is skipped |
185 | here and appended to options on add_key |
186 | failure */ |
187 | size_t len = sizeof(secret); |
188 | strncpy(secret, value, len-1); |
189 | secret[len-1] = '\0'; |
190 | saw_secret = secret; |
191 | skip = 1; |
192 | } else if (strncmp(data, "name", 4)(__extension__ (__builtin_constant_p (4) && ((__builtin_constant_p (data) && strlen (data) < ((size_t) (4))) || (__builtin_constant_p ("name") && strlen ("name") < ((size_t) (4)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (data) && __builtin_constant_p ("name") && (__s1_len = __builtin_strlen (data), __s2_len = __builtin_strlen ("name"), (!((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("name") + 1) - (size_t)(const void *)("name") == 1) || __s2_len >= 4)) ? __builtin_strcmp (data, "name") : (__builtin_constant_p (data ) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *)(data) == 1) && (__s1_len = __builtin_strlen ( data), __s1_len < 4) ? (__builtin_constant_p ("name") && ((size_t)(const void *)(("name") + 1) - (size_t)(const void * )("name") == 1) ? __builtin_strcmp (data, "name") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("name"); int __result = (((const unsigned char *) ( const char *) (data))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (data))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (data))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("name") && ((size_t)(const void *)(("name") + 1) - ( size_t)(const void *)("name") == 1) && (__s2_len = __builtin_strlen ("name"), __s2_len < 4) ? (__builtin_constant_p (data) && ((size_t)(const void *)((data) + 1) - (size_t)(const void *) (data) == 1) ? __builtin_strcmp (data, "name") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (data); int __result = (((const unsigned char *) (const char *) ("name"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("name"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("name"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("name"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (data, "name")))); }) : strncmp (data, "name", 4))) == 0) { |
193 | if (!value || !*value) { |
194 | printf("mount option name requires a value.\n")__printf_chk (2 - 1, "mount option name requires a value.\n"); |
195 | return NULL((void*)0); |
196 | } |
197 | |
198 | /* take a copy of the name, to be used for |
199 | naming the keys that we add to kernel; */ |
200 | free(saw_name); |
201 | saw_name = strdup(value)(__extension__ (__builtin_constant_p (value) && ((size_t )(const void *)((value) + 1) - (size_t)(const void *)(value) == 1) ? (((const char *) (value))[0] == '\0' ? (char *) calloc ( (size_t) 1, (size_t) 1) : ({ size_t __len = strlen (value) + 1 ; char *__retval = (char *) malloc (__len); if (__retval != ( (void*)0)) __retval = (char *) memcpy (__retval, value, __len ); __retval; })) : __strdup (value))); |
202 | if (!saw_name) { |
203 | printf("out of memory.\n")__printf_chk (2 - 1, "out of memory.\n"); |
204 | return NULL((void*)0); |
205 | } |
206 | skip = 0; |
207 | } else { |
208 | skip = 0; |
209 | if (verboseflag) { |
210 | fprintf(stderr, "mount.ceph: unrecognized mount option \"%s\", "__fprintf_chk (stderr, 2 - 1, "mount.ceph: unrecognized mount option \"%s\", " "passing to kernel.\n", data) |
211 | "passing to kernel.\n", data)__fprintf_chk (stderr, 2 - 1, "mount.ceph: unrecognized mount option \"%s\", " "passing to kernel.\n", data); |
212 | } |
213 | } |
214 | |
215 | /* Copy (possibly modified) option to out */ |
216 | if (!skip) { |
217 | if (pos) |
218 | pos = safe_cat(&out, &out_len, pos, ","); |
219 | |
220 | if (value) { |
221 | pos = safe_cat(&out, &out_len, pos, data); |
222 | pos = safe_cat(&out, &out_len, pos, "="); |
223 | pos = safe_cat(&out, &out_len, pos, value); |
224 | } else { |
225 | pos = safe_cat(&out, &out_len, pos, data); |
226 | } |
227 | |
228 | } |
229 | data = next_keyword; |
230 | } while (data); |
231 | |
232 | name_pos = safe_cat(&name, &name_len, name_pos, "client."); |
233 | if (!saw_name) { |
234 | name_pos = safe_cat(&name, &name_len, name_pos, CEPH_AUTH_NAME_DEFAULT"guest"); |
235 | } else { |
236 | name_pos = safe_cat(&name, &name_len, name_pos, saw_name); |
Value stored to 'name_pos' is never read | |
237 | } |
238 | if (saw_secret || is_kernel_secret(name)) { |
239 | int ret; |
240 | char secret_option[MAX_SECRET_OPTION_LEN(1000 + 7)]; |
241 | ret = get_secret_option(saw_secret, name, secret_option, sizeof(secret_option)); |
242 | if (ret < 0) { |
243 | free(saw_name); |
244 | return NULL((void*)0); |
245 | } else { |
246 | if (pos) { |
247 | pos = safe_cat(&out, &out_len, pos, ","); |
248 | } |
249 | pos = safe_cat(&out, &out_len, pos, secret_option); |
250 | } |
251 | } |
252 | |
253 | free(saw_name); |
254 | if (!out) |
255 | return strdup(EMPTY_STRING)(__extension__ (__builtin_constant_p (EMPTY_STRING) && ((size_t)(const void *)((EMPTY_STRING) + 1) - (size_t)(const void *)(EMPTY_STRING) == 1) ? (((const char *) (EMPTY_STRING ))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (EMPTY_STRING) + 1; char *__retval = ( char *) malloc (__len); if (__retval != ((void*)0)) __retval = (char *) memcpy (__retval, EMPTY_STRING, __len); __retval; } )) : __strdup (EMPTY_STRING))); |
256 | return out; |
257 | } |
258 | |
259 | |
260 | static int parse_arguments(int argc, char *const *const argv, |
261 | const char **src, const char **node, const char **opts) |
262 | { |
263 | int i; |
264 | |
265 | if (argc < 2) { |
266 | // There were no arguments. Just show the usage. |
267 | return 1; |
268 | } |
269 | if ((!strcmp(argv[1], "-h")__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (argv[1]) && __builtin_constant_p ("-h") && ( __s1_len = __builtin_strlen (argv[1]), __s2_len = __builtin_strlen ("-h"), (!((size_t)(const void *)((argv[1]) + 1) - (size_t)( const void *)(argv[1]) == 1) || __s1_len >= 4) && ( !((size_t)(const void *)(("-h") + 1) - (size_t)(const void *) ("-h") == 1) || __s2_len >= 4)) ? __builtin_strcmp (argv[1 ], "-h") : (__builtin_constant_p (argv[1]) && ((size_t )(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[ 1]) == 1) && (__s1_len = __builtin_strlen (argv[1]), __s1_len < 4) ? (__builtin_constant_p ("-h") && ((size_t)( const void *)(("-h") + 1) - (size_t)(const void *)("-h") == 1 ) ? __builtin_strcmp (argv[1], "-h") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("-h"); int __result = (((const unsigned char *) (const char *) (argv[1]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( argv[1]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( argv[1]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (argv [1]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("-h") && ((size_t)(const void *)(("-h") + 1) - (size_t )(const void *)("-h") == 1) && (__s2_len = __builtin_strlen ("-h"), __s2_len < 4) ? (__builtin_constant_p (argv[1]) && ((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) ? __builtin_strcmp (argv[1], "-h") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[1]); int __result = (((const unsigned char *) ( const char *) ("-h"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("-h"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("-h"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("-h"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (argv[1], "-h")))); })) || (!strcmp(argv[1], "--help")__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (argv[1]) && __builtin_constant_p ("--help") && (__s1_len = __builtin_strlen (argv[1]), __s2_len = __builtin_strlen ("--help"), (!((size_t)(const void *)((argv[1]) + 1) - (size_t )(const void *)(argv[1]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("--help") + 1) - (size_t)(const void *)("--help") == 1) || __s2_len >= 4)) ? __builtin_strcmp ( argv[1], "--help") : (__builtin_constant_p (argv[1]) && ((size_t)(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[1]) == 1) && (__s1_len = __builtin_strlen (argv [1]), __s1_len < 4) ? (__builtin_constant_p ("--help") && ((size_t)(const void *)(("--help") + 1) - (size_t)(const void *)("--help") == 1) ? __builtin_strcmp (argv[1], "--help") : ( __extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("--help"); int __result = (((const unsigned char *) (const char *) (argv[1]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[1]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[1]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (argv[1]))[3] - __s2[3]); } } __result ; }))) : (__builtin_constant_p ("--help") && ((size_t )(const void *)(("--help") + 1) - (size_t)(const void *)("--help" ) == 1) && (__s2_len = __builtin_strlen ("--help"), __s2_len < 4) ? (__builtin_constant_p (argv[1]) && ((size_t )(const void *)((argv[1]) + 1) - (size_t)(const void *)(argv[ 1]) == 1) ? __builtin_strcmp (argv[1], "--help") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[1]); int __result = (((const unsigned char *) ( const char *) ("--help"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("--help"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("--help"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("--help"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (argv[1], "--help")))); }))) { |
270 | // The user asked for help. |
271 | return 1; |
272 | } |
273 | |
274 | // The first two arguments are positional |
275 | if (argc < 3) |
276 | return -EINVAL22; |
277 | *src = argv[1]; |
278 | *node = argv[2]; |
279 | |
280 | // Parse the remaining options |
281 | *opts = EMPTY_STRING; |
282 | for (i = 3; i < argc; ++i) { |
283 | if (!strcmp("-h", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("-h") && __builtin_constant_p (argv[i]) && ( __s1_len = __builtin_strlen ("-h"), __s2_len = __builtin_strlen (argv[i]), (!((size_t)(const void *)(("-h") + 1) - (size_t)( const void *)("-h") == 1) || __s1_len >= 4) && (!( (size_t)(const void *)((argv[i]) + 1) - (size_t)(const void * )(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-h" , argv[i]) : (__builtin_constant_p ("-h") && ((size_t )(const void *)(("-h") + 1) - (size_t)(const void *)("-h") == 1) && (__s1_len = __builtin_strlen ("-h"), __s1_len < 4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1 ) ? __builtin_strcmp ("-h", argv[i]) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[i]); int __result = (((const unsigned char *) (const char *) ("-h"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-h"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-h"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("-h" ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - ( size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen (argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-h") && ((size_t)(const void *)(("-h") + 1) - (size_t)(const void *) ("-h") == 1) ? __builtin_strcmp ("-h", argv[i]) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("-h"); int __result = (((const unsigned char *) (const char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp ("-h", argv[i])))); })) |
284 | return 1; |
285 | else if (!strcmp("-n", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("-n") && __builtin_constant_p (argv[i]) && ( __s1_len = __builtin_strlen ("-n"), __s2_len = __builtin_strlen (argv[i]), (!((size_t)(const void *)(("-n") + 1) - (size_t)( const void *)("-n") == 1) || __s1_len >= 4) && (!( (size_t)(const void *)((argv[i]) + 1) - (size_t)(const void * )(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-n" , argv[i]) : (__builtin_constant_p ("-n") && ((size_t )(const void *)(("-n") + 1) - (size_t)(const void *)("-n") == 1) && (__s1_len = __builtin_strlen ("-n"), __s1_len < 4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1 ) ? __builtin_strcmp ("-n", argv[i]) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[i]); int __result = (((const unsigned char *) (const char *) ("-n"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-n"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-n"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("-n" ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - ( size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen (argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-n") && ((size_t)(const void *)(("-n") + 1) - (size_t)(const void *) ("-n") == 1) ? __builtin_strcmp ("-n", argv[i]) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("-n"); int __result = (((const unsigned char *) (const char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp ("-n", argv[i])))); })) |
286 | skip_mtab_flag = 1; |
287 | else if (!strcmp("-v", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("-v") && __builtin_constant_p (argv[i]) && ( __s1_len = __builtin_strlen ("-v"), __s2_len = __builtin_strlen (argv[i]), (!((size_t)(const void *)(("-v") + 1) - (size_t)( const void *)("-v") == 1) || __s1_len >= 4) && (!( (size_t)(const void *)((argv[i]) + 1) - (size_t)(const void * )(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-v" , argv[i]) : (__builtin_constant_p ("-v") && ((size_t )(const void *)(("-v") + 1) - (size_t)(const void *)("-v") == 1) && (__s1_len = __builtin_strlen ("-v"), __s1_len < 4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1 ) ? __builtin_strcmp ("-v", argv[i]) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[i]); int __result = (((const unsigned char *) (const char *) ("-v"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-v"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-v"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("-v" ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - ( size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen (argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-v") && ((size_t)(const void *)(("-v") + 1) - (size_t)(const void *) ("-v") == 1) ? __builtin_strcmp ("-v", argv[i]) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("-v"); int __result = (((const unsigned char *) (const char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp ("-v", argv[i])))); })) |
288 | verboseflag = 1; |
289 | else if (!strcmp("-o", argv[i])__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ("-o") && __builtin_constant_p (argv[i]) && ( __s1_len = __builtin_strlen ("-o"), __s2_len = __builtin_strlen (argv[i]), (!((size_t)(const void *)(("-o") + 1) - (size_t)( const void *)("-o") == 1) || __s1_len >= 4) && (!( (size_t)(const void *)((argv[i]) + 1) - (size_t)(const void * )(argv[i]) == 1) || __s2_len >= 4)) ? __builtin_strcmp ("-o" , argv[i]) : (__builtin_constant_p ("-o") && ((size_t )(const void *)(("-o") + 1) - (size_t)(const void *)("-o") == 1) && (__s1_len = __builtin_strlen ("-o"), __s1_len < 4) ? (__builtin_constant_p (argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - (size_t)(const void *)(argv[i]) == 1 ) ? __builtin_strcmp ("-o", argv[i]) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (argv[i]); int __result = (((const unsigned char *) (const char *) ("-o"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-o"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ( "-o"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("-o" ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ( argv[i]) && ((size_t)(const void *)((argv[i]) + 1) - ( size_t)(const void *)(argv[i]) == 1) && (__s2_len = __builtin_strlen (argv[i]), __s2_len < 4) ? (__builtin_constant_p ("-o") && ((size_t)(const void *)(("-o") + 1) - (size_t)(const void *) ("-o") == 1) ? __builtin_strcmp ("-o", argv[i]) : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("-o"); int __result = (((const unsigned char *) (const char *) (argv[i]))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (argv[i]))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (argv[i]))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp ("-o", argv[i])))); })) { |
290 | ++i; |
291 | if (i >= argc) { |
292 | printf("Option -o requires an argument.\n\n")__printf_chk (2 - 1, "Option -o requires an argument.\n\n"); |
293 | return -EINVAL22; |
294 | } |
295 | *opts = argv[i]; |
296 | } |
297 | else { |
298 | printf("Can't understand option: '%s'\n\n", argv[i])__printf_chk (2 - 1, "Can't understand option: '%s'\n\n", argv [i]); |
299 | return -EINVAL22; |
300 | } |
301 | } |
302 | return 0; |
303 | } |
304 | |
305 | /* modprobe failing doesn't necessarily prevent from working, so this |
306 | returns void */ |
307 | static void modprobe(void) |
308 | { |
309 | int r; |
310 | |
311 | r = module_load("ceph", NULL((void*)0)); |
312 | if (r) |
313 | printf("failed to load ceph kernel module (%d)\n", r)__printf_chk (2 - 1, "failed to load ceph kernel module (%d)\n" , r); |
314 | } |
315 | |
316 | static void usage(const char *prog_name) |
317 | { |
318 | printf("usage: %s [src] [mount-point] [-n] [-v] [-o ceph-options]\n",__printf_chk (2 - 1, "usage: %s [src] [mount-point] [-n] [-v] [-o ceph-options]\n" , prog_name) |
319 | prog_name)__printf_chk (2 - 1, "usage: %s [src] [mount-point] [-n] [-v] [-o ceph-options]\n" , prog_name); |
320 | printf("options:\n")__printf_chk (2 - 1, "options:\n"); |
321 | printf("\t-h: Print this help\n")__printf_chk (2 - 1, "\t-h: Print this help\n"); |
322 | printf("\t-n: Do not update /etc/mtab\n")__printf_chk (2 - 1, "\t-n: Do not update /etc/mtab\n"); |
323 | printf("\t-v: Verbose\n")__printf_chk (2 - 1, "\t-v: Verbose\n"); |
324 | printf("\tceph-options: refer to mount.ceph(8)\n")__printf_chk (2 - 1, "\tceph-options: refer to mount.ceph(8)\n" ); |
325 | printf("\n")__printf_chk (2 - 1, "\n"); |
326 | } |
327 | |
328 | int main(int argc, char *argv[]) |
329 | { |
330 | const char *src, *node, *opts; |
331 | char *rsrc = NULL((void*)0); |
332 | char *popts = NULL((void*)0); |
333 | int flags = 0; |
334 | int retval = 0; |
335 | |
336 | retval = parse_arguments(argc, argv, &src, &node, &opts); |
337 | if (retval) { |
338 | usage(argv[0]); |
339 | exit((retval > 0) ? EXIT_SUCCESS0 : EXIT_FAILURE1); |
340 | } |
341 | |
342 | rsrc = mount_resolve_src(src); |
343 | if (!rsrc) { |
344 | printf("failed to resolve source\n")__printf_chk (2 - 1, "failed to resolve source\n"); |
345 | exit(1); |
346 | } |
347 | |
348 | modprobe(); |
349 | |
350 | popts = parse_options(opts, &flags); |
351 | if (!popts) { |
352 | printf("failed to parse ceph_options\n")__printf_chk (2 - 1, "failed to parse ceph_options\n"); |
353 | exit(1); |
354 | } |
355 | |
356 | block_signals(SIG_BLOCK0); |
357 | |
358 | if (mount(rsrc, node, "ceph", flags, popts)) { |
359 | retval = errno(*__errno_location ()); |
360 | switch (errno(*__errno_location ())) { |
361 | case ENODEV19: |
362 | printf("mount error: ceph filesystem not supported by the system\n")__printf_chk (2 - 1, "mount error: ceph filesystem not supported by the system\n" ); |
363 | break; |
364 | default: |
365 | printf("mount error %d = %s\n",errno,strerror(errno))__printf_chk (2 - 1, "mount error %d = %s\n",(*__errno_location ()),strerror((*__errno_location ()))); |
366 | } |
367 | } else { |
368 | if (!skip_mtab_flag) { |
369 | update_mtab_entry(rsrc, node, "ceph", popts, flags, 0, 0); |
370 | } |
371 | } |
372 | |
373 | block_signals(SIG_UNBLOCK1); |
374 | |
375 | free(popts); |
376 | free(rsrc); |
377 | exit(retval); |
378 | } |
379 |