diff options
author | Matt Johnston <matt@ucc.asn.au> | 2018-02-28 21:28:59 +0800 |
---|---|---|
committer | Matt Johnston <matt@ucc.asn.au> | 2018-02-28 21:28:59 +0800 |
commit | 9bbce01e1b9d6b42869bbba9f36d6849a42276fe (patch) | |
tree | c9b9503211280a5ff84bff15e9e482137c8a4404 /svr-runopts.c | |
parent | 5df73215f887bbc4ebd122e725fe5497d92f511f (diff) | |
parent | bbe02dc3cfd5f0367a43dac6521afc65254d74a8 (diff) |
merge from main
--HG--
branch : fuzz
Diffstat (limited to 'svr-runopts.c')
-rw-r--r-- | svr-runopts.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/svr-runopts.c b/svr-runopts.c index 00854df..2c65009 100644 --- a/svr-runopts.c +++ b/svr-runopts.c @@ -70,7 +70,9 @@ static void printhelp(const char * progname) { "-m Don't display the motd on login\n" #endif "-w Disallow root logins\n" +#ifdef HAVE_GETGROUPLIST "-G Restrict logins to members of specified group\n" +#endif #if DROPBEAR_SVR_PASSWORD_AUTH || DROPBEAR_SVR_PAM_AUTH "-s Disable password logins\n" "-g Disable password logins for root\n" @@ -135,8 +137,10 @@ void svr_getopts(int argc, char ** argv) { svr_opts.forced_command = NULL; svr_opts.forkbg = 1; svr_opts.norootlogin = 0; +#ifdef HAVE_GETGROUPLIST svr_opts.restrict_group = NULL; svr_opts.restrict_group_gid = 0; +#endif svr_opts.noauthpass = 0; svr_opts.norootpass = 0; svr_opts.allowblankpass = 0; @@ -235,9 +239,11 @@ void svr_getopts(int argc, char ** argv) { case 'w': svr_opts.norootlogin = 1; break; +#ifdef HAVE_GETGROUPLIST case 'G': next = &svr_opts.restrict_group; break; +#endif case 'W': next = &recv_window_arg; break; @@ -340,6 +346,7 @@ void svr_getopts(int argc, char ** argv) { buf_setpos(svr_opts.banner, 0); } +#ifdef HAVE_GETGROUPLIST if (svr_opts.restrict_group) { struct group *restrictedgroup = getgrnam(svr_opts.restrict_group); @@ -348,8 +355,8 @@ void svr_getopts(int argc, char ** argv) { } else { dropbear_exit("Cannot restrict logins to group '%s' as the group does not exist", svr_opts.restrict_group); } - } +#endif if (recv_window_arg) { opts.recv_window = atol(recv_window_arg); |