main: (order) move root user check after help/version option
With this change, `NetworkManager --help` and `NetworkManager --version` work for non-root user.
This commit is contained in:
@@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
#include "gsystem-local-alloc.h"
|
#include "gsystem-local-alloc.h"
|
||||||
#include "main-utils.h"
|
#include "main-utils.h"
|
||||||
|
#include "NetworkManagerUtils.h"
|
||||||
#include "nm-logging.h"
|
#include "nm-logging.h"
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@@ -172,6 +173,15 @@ nm_main_utils_ensure_not_running_pidfile (const char *pidfile)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
nm_main_utils_ensure_root ()
|
||||||
|
{
|
||||||
|
if (getuid () != 0) {
|
||||||
|
fprintf (stderr, _("You must be root to run %s!\n"), str_if_set (g_get_prgname (), ""));
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
nm_main_utils_early_setup (const char *progname,
|
nm_main_utils_early_setup (const char *progname,
|
||||||
int *argc,
|
int *argc,
|
||||||
@@ -205,11 +215,6 @@ nm_main_utils_early_setup (const char *progname,
|
|||||||
setlocale (LC_ALL, "");
|
setlocale (LC_ALL, "");
|
||||||
textdomain (GETTEXT_PACKAGE);
|
textdomain (GETTEXT_PACKAGE);
|
||||||
|
|
||||||
if (getuid () != 0) {
|
|
||||||
fprintf (stderr, _("You must be root to run %s!\n"), progname);
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; options[i].long_name; i++) {
|
for (i = 0; options[i].long_name; i++) {
|
||||||
if (!strcmp (options[i].long_name, "log-level")) {
|
if (!strcmp (options[i].long_name, "log-level")) {
|
||||||
opt_fmt_log_level = options[i].description;
|
opt_fmt_log_level = options[i].description;
|
||||||
|
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
|
void nm_main_utils_ensure_root (void);
|
||||||
|
|
||||||
void nm_main_utils_setup_signals (GMainLoop *main_loop);
|
void nm_main_utils_setup_signals (GMainLoop *main_loop);
|
||||||
|
|
||||||
void nm_main_utils_ensure_rundir (void);
|
void nm_main_utils_ensure_rundir (void);
|
||||||
|
@@ -283,6 +283,8 @@ main (int argc, char *argv[])
|
|||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nm_main_utils_ensure_root ();
|
||||||
|
|
||||||
if (!nm_logging_setup (global_opt.opt_log_level,
|
if (!nm_logging_setup (global_opt.opt_log_level,
|
||||||
global_opt.opt_log_domains,
|
global_opt.opt_log_domains,
|
||||||
&bad_domains,
|
&bad_domains,
|
||||||
|
@@ -367,6 +367,8 @@ main (int argc, char *argv[])
|
|||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nm_main_utils_ensure_root ();
|
||||||
|
|
||||||
if (!global_opt.ifname || !global_opt.uuid) {
|
if (!global_opt.ifname || !global_opt.uuid) {
|
||||||
fprintf (stderr, _("An interface name and UUID are required\n"));
|
fprintf (stderr, _("An interface name and UUID are required\n"));
|
||||||
exit (1);
|
exit (1);
|
||||||
|
Reference in New Issue
Block a user