diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2013-10-17 07:28:31 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2013-10-17 07:28:31 -0400 |
commit | ea91baeb669d27961717b98da3074e39da5badee (patch) | |
tree | fa58d9999fb2c68e2be3e4160f76639a9d42a3e7 | |
parent | fd48fee4c78f49bab10edb1fd10299296cf2e48a (diff) | |
download | gpsd-ea91baeb669d27961717b98da3074e39da5badee.tar.gz |
Allow gpsdctl to run as non-root.
-rw-r--r-- | gpsdctl.c | 4 | ||||
-rw-r--r-- | gpsdctl.xml | 5 |
2 files changed, 8 insertions, 1 deletions
@@ -21,6 +21,8 @@ #include "gpsd.h" +#define DEFAULT_GPSD_TEST_SOCKET "/tmp/gpsd.sock" + static char *control_socket = DEFAULT_GPSD_SOCKET; static char *gpsd_options = ""; @@ -97,6 +99,8 @@ int main(int argc, char *argv[]) if (sockenv != NULL) control_socket = sockenv; + else if (geteuid() != 0) + control_socket = DEFAULT_GPSD_TEST_SOCKET; if (optenv != NULL) gpsd_options = optenv; diff --git a/gpsdctl.xml b/gpsdctl.xml index f667c933..b72d2767 100644 --- a/gpsdctl.xml +++ b/gpsdctl.xml @@ -45,7 +45,10 @@ client requests a watch.</para> <para>Two environment variables are interpreted. <envar>GPSD_SOCKET</envar> sets the location of the -control socket. It defaults to <filename>/var/run/gpsd.sock</filename>.</para> +control socket. It defaults to +<filename>/var/run/gpsd.sock</filename> if the effective user ID of +this program is root, <filename>/tmp/gpsd.sock</filename> +otherwise.</para> <para><envar>GPSD_OPTIONS</envar> may be a list of options to be passed to <application>gpsd</application> |