On Mon, Feb 1, 2010 at 11:19 AM, Mike Stroyan <m...@lunarg.com> wrote: > On Sun, Jan 31, 2010 at 7:46 PM, Chia-I Wu <olva...@gmail.com> wrote: >> On Mon, Feb 1, 2010 at 9:15 AM, Mike Stroyan <m...@lunarg.com> wrote: >>> The changes to load EGL drivers by pattern matching had the side effect of >>> not >>> looking in the directories specified by LD_LIBRARY_PATH or -rpath or >>> ldconfig. >>> This patch changes the search to first look in the directories listed in >>> LD_LIBRARY_PATH. To do that it moves the possible addition of a path prefix >>> from make_library_path() into open_library(). >>> This patch doesn't add searches in the -rpath or ldconfig directories. >>> Those would be more difficult (or impossible) to determine in a portable >>> manner. >> I am leaning toward something similar to how DRI drivers are loaded: Allow >> the >> users to specify the search directory through EGL_DRIVERS_PATH. > A specific environment variable may be the best option if -rpath and > ldconfig cannot be used. > (They should be added into docs/envvars.html .) docs/egl.html lists all environment variables EGL honors. A link from docs/envars.html to docs/egl.html for EGL specific variables might be the best. >> It also seems EGL will need a check for setuid in both EGL_DRIVER (my fault) >> and the proposed EGL_DRIVERS_PATH. > A setuid/setgid check is a very good idea for allowing both *PATH and > EGL_DRIVER. > (geteuid() == getuid()) && getegid () == getgid ()) will test for that. >>> The patch also tightens up the library suffix test with a specific >>> match for the suffix >>> at the end of the EGL_DRIVER name. >> I want to avoid suffix matching somehow. Do you have a specific example why >> the change is needed? Or, will the following change suffice? >> p = strrchr(name, '.'); >> need_suffix = (!p || (strchr(p + 1, '/') != NULL)); > I was thinking about future library names that might contain decimal > points such as > egl_x11_i999.5.so. Leaving the .so suffix off would not work as > make_library_path would > just check for any appearance of '.'. Of course, just setting > EGL_DRIVER to include .so > suffix would avoid the issue. I prefer leave it for the future. There should hopefully no driver with a dot in its name.
-olv ------------------------------------------------------------------------------ The Planet: dedicated and managed hosting, cloud storage, colocation Stay online with enterprise data centers and the best network in the business Choose flexible plans and management services without long-term contracts Personal 24x7 support from experience hosting pros just a phone call away. http://p.sf.net/sfu/theplanet-com _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev