int i;
int fd = -1;
BIT_FLAGS mode = 0644;
-
-#ifdef SET_UID
-# ifdef SECURE
- /* Get "games" permissions */
- beGames();
-# endif
-#endif
-
for (i = 0; i < MAX_SAVED_FLOORS; i++)
{
saved_floor_type *sf_ptr = &saved_floors[i];
/* No change floor mode yet */
creature_ptr->change_floor_mode = 0;
-
-#ifdef SET_UID
-# ifdef SECURE
- /* Drop "games" permissions */
- bePlayer();
-# endif
-#endif
}
/*!
{
char floor_savefile[1024];
int i;
-
-#ifdef SET_UID
-# ifdef SECURE
- /* Get "games" permissions */
- beGames();
-# endif
-#endif
-
for (i = 0; i < MAX_SAVED_FLOORS; i++)
{
saved_floor_type *sf_ptr = &saved_floors[i];
/* Drop permissions */
safe_setuid_drop();
}
-
-#ifdef SET_UID
-# ifdef SECURE
- /* Drop "games" permissions */
- bePlayer();
-# endif
-#endif
}
/*!
/*
- * OPTION: for the AFS distributed file system, define this to ensure that
- * the program is secure with respect to the setuid code. This option has
- * not been tested (to the best of my knowledge). This option may require
- * some weird tricks with "player_uid" and such involving "defines".
- * Note that this option used the AFS library routines Authenticate(),
- * bePlayer(), beGames() to enforce the proper priviledges.
- * You may need to turn "SAFE_SETUID" off to use this option.
- */
-/* #define SECURE */
-
-
-/*
* OPTION: Forbid the use of "fiddled" savefiles. As far as I can tell,
* a fiddled savefile is one with an internal timestamp different from
* the actual timestamp. Thus, turning this option on forbids one from
/* Default permissions on files */
(void)umask(022);
-# ifdef SECURE
- /* Authenticate */
- Authenticate();
-# endif
-
#endif
*/
bool save_player(player_type *player_ptr)
{
-#ifdef SET_UID
-
-# ifdef SECURE
-
- /* Get "games" permissions */
- beGames();
-
-# endif
-
-#endif
-
char safe[1024];
strcpy(safe, savefile);
strcat(safe, ".new");
/* Success */
result = TRUE;
-}
-
-
-#ifdef SET_UID
-
-# ifdef SECURE
-
- /* Drop "games" permissions */
- bePlayer();
-
-# endif
-
-#endif
+ }
/* Return the result */
return result;
char temp[1024];
#endif /* VERIFY_SAVEFILE */
-#ifdef SET_UID
-# ifdef SECURE
-
- /* Get "games" permissions */
- beGames();
-
-# endif /* SECURE */
-#endif /* SET_UID */
-
#ifdef VERIFY_SAVEFILE
/* Lock on savefile */
fd_kill(temp);
#endif /* VERIFY_SAVEFILE */
-
-#ifdef SET_UID
-# ifdef SECURE
-
- /* Drop "games" permissions */
- bePlayer();
-
-# endif /* SECURE */
-#endif /* SET_UID */
-
}
char floor_savefile[1024];
if (!(mode & SLF_SECOND))
{
-#ifdef SET_UID
-# ifdef SECURE
- /* Get "games" permissions */
- beGames();
-# endif
-#endif
}
/* We have one file already opened */
if (!(mode & SLF_SECOND))
{
-#ifdef SET_UID
-# ifdef SECURE
- /* Drop "games" permissions */
- bePlayer();
-# endif
-#endif
}
/* We have one file already opened */
#define KTRL(X) ((X) & 0x1F)
#define ESCAPE '\033'
- /*
- * Hack -- Prepare to use the "Secure" routines
- */
-#if defined(SET_UID) && defined(SECURE)
-extern int PlayerUID;
-# define getuid() PlayerUID
-# define geteuid() PlayerUID
-#endif
-
#define KEYMAP_MODE_ORIG 0 /*!< オリジナルキー配置 / Mode for original keyset commands */
#define KEYMAP_MODE_ROGUE 1 /*!< ローグライクキー配置 / Mode for roguelike keyset commands */
#define KEYMAP_MODES 2 /*!< キー配置の数 / Number of keymap modes */