version 1.92, 2010/08/19 18:29:01 |
version 1.93, 2010/09/26 18:51:48 |
|
|
struct session *s; |
struct session *s; |
u_int i; |
u_int i; |
static int last = -1; |
static int last = -1; |
int n; |
int n, mode; |
|
struct stat sb; |
|
|
n = 0; |
n = 0; |
for (i = 0; i < ARRAY_LENGTH(&sessions); i++) { |
for (i = 0; i < ARRAY_LENGTH(&sessions); i++) { |
|
|
|
|
if (n != last) { |
if (n != last) { |
last = n; |
last = n; |
if (n != 0) |
|
chmod(socket_path, S_IRWXU|S_IRWXG); |
if (stat(socket_path, &sb) != 0) |
else |
return; |
chmod(socket_path, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP); |
mode = sb.st_mode; |
|
if (n != 0) { |
|
if (mode & S_IRUSR) |
|
mode |= S_IXUSR; |
|
if (mode & S_IRGRP) |
|
mode |= S_IXGRP; |
|
if (mode & S_IROTH) |
|
mode |= S_IXOTH; |
|
} else |
|
mode &= ~(S_IXUSR|S_IXGRP|S_IXOTH); |
|
chmod(socket_path, mode); |
} |
} |
} |
} |
|
|