summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/externs.h2
-rw-r--r--src/main.c42
-rw-r--r--src/util.c22
-rw-r--r--src/variable.c2
4 files changed, 2 insertions, 66 deletions
diff --git a/src/externs.h b/src/externs.h
index 4673236c..3af59a14 100644
--- a/src/externs.h
+++ b/src/externs.h
@@ -307,8 +307,6 @@ extern s16b monster_race_idx;
extern s16b monster_ego_idx;
extern object_type *tracked_object;
extern int player_uid;
-extern int player_euid;
-extern int player_egid;
extern char player_name[32];
extern char player_base[32];
extern char died_from[80];
diff --git a/src/main.c b/src/main.c
index 0a3dbb9b..48ab3f04 100644
--- a/src/main.c
+++ b/src/main.c
@@ -264,57 +264,17 @@ int main(int argc, char *argv[])
argv0 = argv[0];
-#ifdef SET_UID
-
/* Default permissions on files */
(void)umask(022);
-#endif /* SET_UID */
-
/* Get the file paths */
init_stuff();
-#ifdef SET_UID
-
/* Get the user id (?) */
player_uid = getuid();
-# ifdef SAFE_SETUID
-
-# ifdef _POSIX_SAVED_IDS
-
- /* Save some info for later */
- player_euid = geteuid();
- player_egid = getegid();
-
-# endif
-
-# if 0 /* XXX XXX XXX */
-
- /* Redundant setting necessary in case root is running the game */
- /* If not root or game not setuid the following two calls do nothing */
-
- if (setgid(getegid()) != 0)
- {
- quit("setgid(): cannot set permissions correctly!");
- }
-
- if (setuid(geteuid()) != 0)
- {
- quit("setuid(): cannot set permissions correctly!");
- }
-
-# endif /* XXX XXX XXX */
-
-# endif /* SAFE_SETUID */
-
-#endif /* SET_UID */
-
-
-#ifdef SET_UID
-
/* Acquire the "user name" as a default player name */
user_name(player_name, player_uid);
@@ -333,8 +293,6 @@ int main(int argc, char *argv[])
if (ret == FALSE) quit("Cannot create directory " PRIVATE_USER_PATH);
}
-#endif /* SET_UID */
-
diff --git a/src/util.c b/src/util.c
index e7e1af2e..2817b25f 100644
--- a/src/util.c
+++ b/src/util.c
@@ -171,14 +171,12 @@ void user_name(char *buf, int id)
* Extract a "parsed" path from an initial filename
* Normally, we simply copy the filename into the buffer
* But leading tilde symbols must be handled in a special way
-* Replace "~user/" by the home directory of the user named "user"
* Replace "~/" by the home directory of the current user
*/
errr path_parse(char *buf, int max, cptr file)
{
cptr u, s;
struct passwd *pw;
- char user[128];
/* Assume no result */
@@ -200,9 +198,6 @@ errr path_parse(char *buf, int max, cptr file)
/* Look for non-user portion of the file */
s = strstr(u, PATH_SEP);
- /* Hack -- no long user names */
- if (s && (s >= u + sizeof(user))) return (1);
-
#ifdef GETLOGIN_BROKEN
/* Ask the environment for the home directory */
u = getenv("HOME");
@@ -211,21 +206,8 @@ errr path_parse(char *buf, int max, cptr file)
(void)strcpy(buf, u);
#else
- /* Extract a user name */
- if (s)
- {
- int i;
- for (i = 0; u < s; ++i) user[i] = *u++;
- user[i] = '\0';
- u = user;
- }
-
- /* Look up the "current" user */
- if (u[0] == '\0') u = getlogin();
-
- /* Look up a user (or "current" user) */
- if (u) pw = getpwnam(u);
- else pw = getpwuid(getuid());
+ /* Look up password data for user */
+ pw = getpwuid(getuid());
/* Nothing found? */
if (!pw) return (1);
diff --git a/src/variable.c b/src/variable.c
index 5ae33337..2757d2f6 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -412,8 +412,6 @@ object_type *tracked_object;
* User info
*/
int player_uid;
-int player_euid;
-int player_egid;
/*
* Current player's character name