1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-07-31 00:03:07 +03:00

tests: Check return code of setuid()

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
Andreas Schneider
2018-08-22 08:35:19 +02:00
parent 7946104566
commit 6867a35004
8 changed files with 38 additions and 8 deletions

View File

@ -27,6 +27,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <errno.h>
#include "session.c" #include "session.c"
#include "known_hosts.c" #include "known_hosts.c"
@ -60,10 +61,13 @@ static int session_setup(void **state)
struct torture_state *s = *state; struct torture_state *s = *state;
int verbosity = torture_libssh_verbosity(); int verbosity = torture_libssh_verbosity();
struct passwd *pwd; struct passwd *pwd;
int rc;
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = ssh_new(); s->ssh.session = ssh_new();
assert_non_null(s->ssh.session); assert_non_null(s->ssh.session);

View File

@ -57,7 +57,9 @@ static int session_setup(void **state)
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = ssh_new(); s->ssh.session = ssh_new();
assert_non_null(s->ssh.session); assert_non_null(s->ssh.session);

View File

@ -8,6 +8,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <errno.h>
static int sshd_setup(void **state) static int sshd_setup(void **state)
{ {
@ -27,10 +28,13 @@ static int session_setup(void **state)
struct torture_state *s = *state; struct torture_state *s = *state;
int verbosity = torture_libssh_verbosity(); int verbosity = torture_libssh_verbosity();
struct passwd *pwd; struct passwd *pwd;
int rc;
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = ssh_new(); s->ssh.session = ssh_new();
assert_non_null(s->ssh.session); assert_non_null(s->ssh.session);

View File

@ -28,6 +28,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <errno.h>
static int sshd_setup(void **state) static int sshd_setup(void **state)
{ {
@ -46,10 +47,13 @@ static int session_setup(void **state)
{ {
struct torture_state *s = *state; struct torture_state *s = *state;
struct passwd *pwd; struct passwd *pwd;
int rc;
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER, s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER,
NULL, NULL,

View File

@ -30,6 +30,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <errno.h>
#define BUFLEN 4096 #define BUFLEN 4096
static char buffer[BUFLEN]; static char buffer[BUFLEN];
@ -51,10 +52,13 @@ static int session_setup(void **state)
{ {
struct torture_state *s = *state; struct torture_state *s = *state;
struct passwd *pwd; struct passwd *pwd;
int rc;
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER, s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER,
NULL, NULL,

View File

@ -7,6 +7,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <errno.h>
static int sshd_setup(void **state) static int sshd_setup(void **state)
{ {
@ -25,10 +26,13 @@ static int session_setup(void **state)
{ {
struct torture_state *s = *state; struct torture_state *s = *state;
struct passwd *pwd; struct passwd *pwd;
int rc;
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER, s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER,
NULL, NULL,

View File

@ -7,6 +7,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <errno.h>
#define MAX_XFER_BUF_SIZE 16384 #define MAX_XFER_BUF_SIZE 16384
@ -27,10 +28,13 @@ static int session_setup(void **state)
{ {
struct torture_state *s = *state; struct torture_state *s = *state;
struct passwd *pwd; struct passwd *pwd;
int rc;
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER, s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER,
NULL, NULL,

View File

@ -7,6 +7,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <pwd.h> #include <pwd.h>
#include <errno.h>
#define MAX_XFER_BUF_SIZE 16384 #define MAX_XFER_BUF_SIZE 16384
@ -27,10 +28,13 @@ static int session_setup(void **state)
{ {
struct torture_state *s = *state; struct torture_state *s = *state;
struct passwd *pwd; struct passwd *pwd;
int rc;
pwd = getpwnam("bob"); pwd = getpwnam("bob");
assert_non_null(pwd); assert_non_null(pwd);
setuid(pwd->pw_uid);
rc = setuid(pwd->pw_uid);
assert_return_code(rc, errno);
s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER, s->ssh.session = torture_ssh_session(TORTURE_SSH_SERVER,
NULL, NULL,