chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
time: time_t is signed, and mktime() is happy to return negative time
[elogind.git]
/
src
/
shared
/
clean-ipc.c
diff --git
a/src/shared/clean-ipc.c
b/src/shared/clean-ipc.c
index 4e64d379efb5211560236dd04f4bdb91ec6c0b0e..3b4231827725cda1c912e59dcc20a314d17b333f 100644
(file)
--- a/
src/shared/clean-ipc.c
+++ b/
src/shared/clean-ipc.c
@@
-36,7
+36,7
@@
#include "dirent-util.h"
#include "fd-util.h"
#include "fileio.h"
#include "dirent-util.h"
#include "fd-util.h"
#include "fileio.h"
-#include "format
s
-util.h"
+#include "format-util.h"
#include "log.h"
#include "macro.h"
#include "string-util.h"
#include "log.h"
#include "macro.h"
#include "string-util.h"
@@
-101,7
+101,8
@@
static int clean_sysvipc_shm(uid_t delete_uid, gid_t delete_gid) {
ret = log_warning_errno(errno,
"Failed to remove SysV shared memory segment %i: %m",
shmid);
ret = log_warning_errno(errno,
"Failed to remove SysV shared memory segment %i: %m",
shmid);
- }
+ } else
+ log_debug("Removed SysV shared memory segment %i.", shmid);
}
return ret;
}
return ret;
@@
-152,7
+153,8
@@
static int clean_sysvipc_sem(uid_t delete_uid, gid_t delete_gid) {
ret = log_warning_errno(errno,
"Failed to remove SysV semaphores object %i: %m",
semid);
ret = log_warning_errno(errno,
"Failed to remove SysV semaphores object %i: %m",
semid);
- }
+ } else
+ log_debug("Removed SysV semaphore %i.", semid);
}
return ret;
}
return ret;
@@
-204,7
+206,8
@@
static int clean_sysvipc_msg(uid_t delete_uid, gid_t delete_gid) {
ret = log_warning_errno(errno,
"Failed to remove SysV message queue %i: %m",
msgid);
ret = log_warning_errno(errno,
"Failed to remove SysV message queue %i: %m",
msgid);
- }
+ } else
+ log_debug("Removed SysV message queue %i.", msgid);
}
return ret;
}
return ret;
@@
-222,7
+225,7
@@
static int clean_posix_shm_internal(DIR *dir, uid_t uid, gid_t gid) {
FOREACH_DIRENT_ALL(de, dir, goto fail) {
struct stat st;
FOREACH_DIRENT_ALL(de, dir, goto fail) {
struct stat st;
- if (
STR_IN_SET(de->d_name, "..", "."
))
+ if (
dot_or_dot_dot(de->d_name
))
continue;
if (fstatat(dirfd(dir), de->d_name, &st, AT_SYMLINK_NOFOLLOW) < 0) {
continue;
if (fstatat(dirfd(dir), de->d_name, &st, AT_SYMLINK_NOFOLLOW) < 0) {
@@
-255,7
+258,8
@@
static int clean_posix_shm_internal(DIR *dir, uid_t uid, gid_t gid) {
continue;
ret = log_warning_errno(errno, "Failed to remove POSIX shared memory directory %s: %m", de->d_name);
continue;
ret = log_warning_errno(errno, "Failed to remove POSIX shared memory directory %s: %m", de->d_name);
- }
+ } else
+ log_debug("Removed POSIX shared memory directory %s", de->d_name);
} else {
if (unlinkat(dirfd(dir), de->d_name, 0) < 0) {
} else {
if (unlinkat(dirfd(dir), de->d_name, 0) < 0) {
@@
-264,7
+268,8
@@
static int clean_posix_shm_internal(DIR *dir, uid_t uid, gid_t gid) {
continue;
ret = log_warning_errno(errno, "Failed to remove POSIX shared memory segment %s: %m", de->d_name);
continue;
ret = log_warning_errno(errno, "Failed to remove POSIX shared memory segment %s: %m", de->d_name);
- }
+ } else
+ log_debug("Removed POSIX shared memory segment %s", de->d_name);
}
}
}
}
@@
-306,7
+311,7
@@
static int clean_posix_mq(uid_t uid, gid_t gid) {
struct stat st;
char fn[1+strlen(de->d_name)+1];
struct stat st;
char fn[1+strlen(de->d_name)+1];
- if (
STR_IN_SET(de->d_name, "..", "."
))
+ if (
dot_or_dot_dot(de->d_name
))
continue;
if (fstatat(dirfd(dir), de->d_name, &st, AT_SYMLINK_NOFOLLOW) < 0) {
continue;
if (fstatat(dirfd(dir), de->d_name, &st, AT_SYMLINK_NOFOLLOW) < 0) {
@@
-332,7
+337,8
@@
static int clean_posix_mq(uid_t uid, gid_t gid) {
ret = log_warning_errno(errno,
"Failed to unlink POSIX message queue %s: %m",
fn);
ret = log_warning_errno(errno,
"Failed to unlink POSIX message queue %s: %m",
fn);
- }
+ } else
+ log_debug("Removed POSIX message queue %s", fn);
}
return ret;
}
return ret;
@@
-382,6
+388,8
@@
int clean_ipc_by_uid(uid_t uid) {
return clean_ipc(uid, GID_INVALID);
}
return clean_ipc(uid, GID_INVALID);
}
+#if 0 /// UNNEEDED by elogind
int clean_ipc_by_gid(gid_t gid) {
return clean_ipc(UID_INVALID, gid);
}
int clean_ipc_by_gid(gid_t gid) {
return clean_ipc(UID_INVALID, gid);
}
+#endif // 0