diff options
author | Ulrich Müller <ulm@gentoo.org> | 2015-01-16 09:25:25 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2015-01-21 21:33:17 +0100 |
commit | 20f66485526b69eb26f2e70bd835a5e1333559d5 (patch) | |
tree | 2571c73468acb238fbae55f3655e757ff284319f /lisp/play | |
parent | 59e7fe6d0c6988687b53c279941c9ebb3f887eed (diff) | |
download | emacs-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.el | 6 |
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 |