summaryrefslogtreecommitdiff
path: root/lisp/play
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2015-01-16 09:25:25 +0100
committerUlrich Müller <ulm@gentoo.org>2015-01-21 21:33:17 +0100
commit20f66485526b69eb26f2e70bd835a5e1333559d5 (patch)
tree2571c73468acb238fbae55f3655e757ff284319f /lisp/play
parent59e7fe6d0c6988687b53c279941c9ebb3f887eed (diff)
downloademacs-20f66485526b69eb26f2e70bd835a5e1333559d5.tar.gz
Allow update-game-score to run sgid instead of suid.
* configure.ac (gamegroup): New AC_SUBST. (--with-gameuser): Allow to specify a group instead of a user. In the default case, check at configure time if a 'games' user exists. * lib-src/update-game-score.c: Allow the program to run sgid instead of suid, in order to match common practice for most games. (main): Check if we are running sgid. Pass appropriate file permission bits to 'write_scores'. (write_scores): New 'mode' argument, instead of hardcoding 0644. (get_prefix): Update error message. * lib-src/Makefile.in (gamegroup): New variable, set by configure. ($(DESTDIR)${archlibdir}): Handle both suid or sgid when installing the 'update-game-score' program. * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score): Allow the 'update-game-score' helper program to run suid or sgid.
Diffstat (limited to 'lisp/play')
-rw-r--r--lisp/play/gamegrid.el6
1 files changed, 3 insertions, 3 deletions
diff --git a/lisp/play/gamegrid.el b/lisp/play/gamegrid.el
index 1e265a635a0..b4c3c594731 100644
--- a/lisp/play/gamegrid.el
+++ b/lisp/play/gamegrid.el
@@ -486,13 +486,13 @@ FILE is created there."
(not (zerop (logand (file-modes
(expand-file-name "update-game-score"
exec-directory))
- #o4000)))))
+ #o6000)))))
(cond ((file-name-absolute-p file)
(gamegrid-add-score-insecure file score))
((and gamegrid-shared-game-dir
(file-exists-p (expand-file-name file shared-game-score-directory)))
- ;; Use the setuid "update-game-score" program to update a
- ;; system-wide score file.
+ ;; Use the setuid (or setgid) "update-game-score" program
+ ;; to update a system-wide score file.
(gamegrid-add-score-with-update-game-score-1 file
(expand-file-name file shared-game-score-directory) score))
;; Else: Add the score to a score file in the user's home