Module Name: xsrc Committed By: martin Date: Thu Dec 12 12:26:20 UTC 2019
Modified Files: xsrc/external/mit/MesaLib/dist/src/egl/drivers/dri2 [netbsd-9]: egl_dri2.c xsrc/external/mit/MesaLib/dist/src/gbm/backends/dri [netbsd-9]: gbm_dri.c xsrc/external/mit/MesaLib/dist/src/glx [netbsd-9]: dri_common.c Log Message: Pull up following revision(s) (requested by maya in ticket #526): external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c: revision 1.5 external/mit/MesaLib/dist/src/loader/loader.c: revision 1.2 external/mit/MesaLib/dist/src/mesa/main/context.c: revision 1.8 external/mit/MesaLib/dist/src/util/disk_cache.c: revision 1.4 (all via patch) external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c (apply patch) external/mit/MesaLib/dist/src/gbm/backends/dri/gbm_dri.c (apply patch) external/mit/MesaLib/dist/src/glx/dri_common.c (apply patch) Wherever we test for setuid, also test for setgid. Inspired by a diff to openbsd but with a few more instances. To generate a diff of this commit: cvs rdiff -u -r1.1.1.5 -r1.1.1.5.2.1 \ xsrc/external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c cvs rdiff -u -r1.4 -r1.4.2.1 \ xsrc/external/mit/MesaLib/dist/src/gbm/backends/dri/gbm_dri.c cvs rdiff -u -r1.3 -r1.3.2.1 \ xsrc/external/mit/MesaLib/dist/src/glx/dri_common.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: xsrc/external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c diff -u xsrc/external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c:1.1.1.5 xsrc/external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c:1.1.1.5.2.1 --- xsrc/external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c:1.1.1.5 Sat Jun 1 07:41:07 2019 +++ xsrc/external/mit/MesaLib/dist/src/egl/drivers/dri2/egl_dri2.c Thu Dec 12 12:26:19 2019 @@ -491,7 +491,7 @@ dri2_open_driver(_EGLDisplay *disp) const __DRIextension **(*get_extensions)(void); search_paths = NULL; - if (geteuid() == getuid()) { + if (!issetugid()) { /* don't allow setuid apps to use LIBGL_DRIVERS_PATH */ search_paths = getenv("LIBGL_DRIVERS_PATH"); } Index: xsrc/external/mit/MesaLib/dist/src/gbm/backends/dri/gbm_dri.c diff -u xsrc/external/mit/MesaLib/dist/src/gbm/backends/dri/gbm_dri.c:1.4 xsrc/external/mit/MesaLib/dist/src/gbm/backends/dri/gbm_dri.c:1.4.2.1 --- xsrc/external/mit/MesaLib/dist/src/gbm/backends/dri/gbm_dri.c:1.4 Sun Apr 7 19:35:43 2019 +++ xsrc/external/mit/MesaLib/dist/src/gbm/backends/dri/gbm_dri.c Thu Dec 12 12:26:20 2019 @@ -310,7 +310,7 @@ dri_open_driver(struct gbm_dri_device *d search_paths = NULL; /* don't allow setuid apps to use LIBGL_DRIVERS_PATH or GBM_DRIVERS_PATH */ - if (geteuid() == getuid()) { + if (!issetugid()) { /* Read GBM_DRIVERS_PATH first for compatibility, but LIBGL_DRIVERS_PATH * is recommended over GBM_DRIVERS_PATH. */ Index: xsrc/external/mit/MesaLib/dist/src/glx/dri_common.c diff -u xsrc/external/mit/MesaLib/dist/src/glx/dri_common.c:1.3 xsrc/external/mit/MesaLib/dist/src/glx/dri_common.c:1.3.2.1 --- xsrc/external/mit/MesaLib/dist/src/glx/dri_common.c:1.3 Sun Mar 10 04:15:51 2019 +++ xsrc/external/mit/MesaLib/dist/src/glx/dri_common.c Thu Dec 12 12:26:20 2019 @@ -106,7 +106,7 @@ driOpenDriver(const char *driverName) glhandle = dlopen(GL_LIB_NAME, RTLD_NOW | RTLD_GLOBAL); libPaths = NULL; - if (geteuid() == getuid()) { + if (!issetugid()) { /* don't allow setuid apps to use LIBGL_DRIVERS_PATH */ libPaths = getenv("LIBGL_DRIVERS_PATH"); if (!libPaths)