From c4f74ddb8344c7daf052484bb3e4bbce9b57db23 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Fri, 23 Jun 2000 06:21:08 +0000 Subject: Tests for new security context stuff. (This used to be commit 85a68bc449a071d21e03ad4f54c1e784831a9bb5) --- testsuite/smbd/sec_ctx_root.c | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 testsuite/smbd/sec_ctx_root.c (limited to 'testsuite/smbd/sec_ctx_root.c') diff --git a/testsuite/smbd/sec_ctx_root.c b/testsuite/smbd/sec_ctx_root.c new file mode 100644 index 0000000000..f2e46f0a5c --- /dev/null +++ b/testsuite/smbd/sec_ctx_root.c @@ -0,0 +1,61 @@ +/* + Unix SMB/Netbios implementation. + Version 1.9. + Security context tests + Copyright (C) Tim Potter 2000 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" +#include "sec_ctx_utils.h" + +int main (int argc, char **argv) +{ + int ngroups, actual_ngroups; + gid_t *groups, *actual_groups; + extern struct current_user current_user; + + init_sec_ctx(); + + /* Initialise a security context */ + + get_random_grouplist(&ngroups, &groups); + set_sec_ctx(1, 1, ngroups, groups); + + /* Become root and check */ + + set_root_sec_ctx(); + + actual_ngroups = getgroups(0, NULL); + actual_groups = (gid_t *)malloc(actual_ngroups * sizeof(gid_t)); + + getgroups(actual_ngroups, actual_groups); + + if (geteuid() != 0 || getegid() != 0 || actual_ngroups != 0) { + printf("FAIL: root id not set\n"); + return 1; + } + + if (current_user.uid != 0 || current_user.gid != 0 || + current_user.ngroups != 0 || current_user.groups) { + printf("FAIL: current_user not set correctly\n"); + return 1; + } + + printf("PASS\n"); + + return 0; +} -- cgit From d824b98f80ba186030cbb70b3a1e5daf80469ecd Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Mon, 9 Jul 2007 19:25:36 +0000 Subject: r23779: Change from v2 or later to v3 or later. Jeremy. (This used to be commit 407e6e695b8366369b7c76af1ff76869b45347b3) --- testsuite/smbd/sec_ctx_root.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'testsuite/smbd/sec_ctx_root.c') diff --git a/testsuite/smbd/sec_ctx_root.c b/testsuite/smbd/sec_ctx_root.c index f2e46f0a5c..c857b653c6 100644 --- a/testsuite/smbd/sec_ctx_root.c +++ b/testsuite/smbd/sec_ctx_root.c @@ -6,7 +6,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, -- cgit From 58e9534300430fa4f2bcb50fb2d1d2990bdbe636 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 10 Jul 2007 00:57:11 +0000 Subject: r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text (This used to be commit d0e89d246d8e5e64196d6c1d16d39a70579ca42f) --- testsuite/smbd/sec_ctx_root.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'testsuite/smbd/sec_ctx_root.c') diff --git a/testsuite/smbd/sec_ctx_root.c b/testsuite/smbd/sec_ctx_root.c index c857b653c6..0969978af6 100644 --- a/testsuite/smbd/sec_ctx_root.c +++ b/testsuite/smbd/sec_ctx_root.c @@ -15,8 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with this program. If not, see . */ #include "includes.h" -- cgit