From 31413e510b9822c5632dbde3c7cb4417f66bc808 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Mon, 15 Aug 2016 08:01:50 -0400 Subject: more ssh fixes --- src/firejail/main.c | 2 +- src/firejail/no_sandbox.c | 6 +++--- src/firejail/restricted_shell.c | 8 +++++--- 3 files changed, 9 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/firejail/main.c b/src/firejail/main.c index c6c1bc866..6f1e7531a 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c @@ -891,7 +891,7 @@ if (fp) { } EUID_USER(); #endif - + // run sftp and scp directly without any sandboxing // regular login has argv[0] == "-firejail" if (*argv[0] != '-') { diff --git a/src/firejail/no_sandbox.c b/src/firejail/no_sandbox.c index 933922ece..80ed72dca 100644 --- a/src/firejail/no_sandbox.c +++ b/src/firejail/no_sandbox.c @@ -172,8 +172,8 @@ void run_no_sandbox(int argc, char **argv) { int len = 0; int i; for (i = 1; i < argc; i++) { -// if (i == 1 && strcmp(argv[i], "-c") == 0) -// continue; + if (i == 1 && strcmp(argv[i], "-c") == 0) + continue; if (*argv[i] == '-') continue; break; @@ -204,7 +204,7 @@ void run_no_sandbox(int argc, char **argv) { } // start the program in /bin/sh -// if (!arg_quiet) + if (!arg_quiet) fprintf(stderr, "Warning: an existing sandbox was detected. " "%s will run without any additional sandboxing features in a /bin/sh shell\n", command); int rv = system(command); diff --git a/src/firejail/restricted_shell.c b/src/firejail/restricted_shell.c index 1920da40a..e66ed0e6b 100644 --- a/src/firejail/restricted_shell.c +++ b/src/firejail/restricted_shell.c @@ -40,7 +40,7 @@ int restricted_shell(const char *user) { char buf[MAX_READ]; while (fgets(buf, MAX_READ, fp)) { lineno++; - + // remove empty spaces at the beginning of the line char *ptr = buf; while (*ptr == ' ' || *ptr == '\t') { @@ -48,7 +48,7 @@ int restricted_shell(const char *user) { } if (*ptr == '\n' || *ptr == '#') continue; - + // parse line char *usr = ptr; char *args = strchr(usr, ':'); @@ -56,6 +56,7 @@ int restricted_shell(const char *user) { fprintf(stderr, "Error: users.conf line %d\n", lineno); exit(1); } + *args = '\0'; args++; ptr = strchr(args, '\n'); @@ -70,6 +71,7 @@ int restricted_shell(const char *user) { found = 1; break; } + ptr2++; } if (!found) continue; @@ -107,7 +109,7 @@ int restricted_shell(const char *user) { } } fclose(fp); - + return 0; } -- cgit v1.2.3-54-g00ecf