-#include "uid-checker.h"
+#include "io/uid-checker.h"
#ifdef SET_UID
-# ifdef SAFE_SETUID
-# ifdef SAFE_SETUID_POSIX
-# include "util.h"
-# endif
-# endif
+#ifdef SAFE_SETUID
+#ifdef SAFE_SETUID_POSIX
+#include "util.h"
+#endif
+#endif
#endif
/*!
void safe_setuid_drop(void)
{
#ifdef SET_UID
-# ifdef SAFE_SETUID
-# ifdef SAFE_SETUID_POSIX
+#ifdef SAFE_SETUID
+#ifdef SAFE_SETUID_POSIX
- if (setuid(getuid()) != 0)
- {
- quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
- }
- if (setgid(getgid()) != 0)
- {
- quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
- }
-# else
- if (setreuid(geteuid(), getuid()) != 0)
- {
- quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
- }
- if (setregid(getegid(), getgid()) != 0)
- {
- quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
- }
-# endif
-# endif
+ if (setuid(getuid()) != 0) {
+ quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
+ }
+ if (setgid(getgid()) != 0) {
+ quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
+ }
+#else
+ if (setreuid(geteuid(), getuid()) != 0) {
+ quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
+ }
+ if (setregid(getegid(), getgid()) != 0) {
+ quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
+ }
+#endif
+#endif
#endif
}
-
/*!
* @brief ファイルのグラブパーミッションチェック / Hack -- grab permissions
*/
-void safe_setuid_grab(void)
+void safe_setuid_grab(player_type *player_ptr)
{
#ifdef SET_UID
-# ifdef SAFE_SETUID
-# ifdef SAFE_SETUID_POSIX
+#ifdef SAFE_SETUID
+#ifdef SAFE_SETUID_POSIX
- if (setuid(p_ptr->player_egid) != 0)
- {
- quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
- }
- if (setgid(p_ptr->player_egid) != 0)
- {
- quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
- }
-# else
- if (setreuid(geteuid(), getuid()) != 0)
- {
- quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
- }
- if (setregid(getegid(), getgid()) != 0)
- {
- quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
- }
-# endif
-# endif
+ if (setuid(player_ptr->player_egid) != 0) {
+ quit(_("setuid(): 正しく許可が取れません!", "setuid(): cannot set permissions correctly!"));
+ }
+ if (setgid(player_ptr->player_egid) != 0) {
+ quit(_("setgid(): 正しく許可が取れません!", "setgid(): cannot set permissions correctly!"));
+ }
+#else
+ if (setreuid(geteuid(), getuid()) != 0) {
+ quit(_("setreuid(): 正しく許可が取れません!", "setreuid(): cannot set permissions correctly!"));
+ }
+ if (setregid(getegid(), getgid()) != 0) {
+ quit(_("setregid(): 正しく許可が取れません!", "setregid(): cannot set permissions correctly!"));
+ }
+#endif
+#endif
+#else
+ (void)player_ptr;
#endif
}