⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 denytest.c

📁 samba最新软件
💻 C
📖 第 1 页 / 共 5 页
字号:
/*    Unix SMB/CIFS implementation.   SMB torture tester - deny mode scanning functions   Copyright (C) Andrew Tridgell 2001      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 3 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, see <http://www.gnu.org/licenses/>.*/#include "includes.h"#include "torture/torture.h"#include "system/filesys.h"#include "libcli/raw/libcliraw.h"#include "libcli/libcli.h"#include "torture/util.h"extern int torture_failures;#define CHECK_MAX_FAILURES(label) do { if (++failures >= torture_failures) goto label; } while (0)enum deny_result {A_0=0, A_X=1, A_R=2, A_W=3, A_RW=5};static const char *denystr(int denymode){	const struct {		int v;		const char *name; 	} deny_modes[] = {		{DENY_DOS, "DENY_DOS"},		{DENY_ALL, "DENY_ALL"},		{DENY_WRITE, "DENY_WRITE"},		{DENY_READ, "DENY_READ"},		{DENY_NONE, "DENY_NONE"},		{DENY_FCB, "DENY_FCB"},		{-1, NULL}};	int i;	for (i=0;deny_modes[i].name;i++) {		if (deny_modes[i].v == denymode) return deny_modes[i].name;	}	return "DENY_XXX";}static const char *openstr(int mode){	const struct {		int v;		const char *name; 	} open_modes[] = {		{O_RDWR, "O_RDWR"},		{O_RDONLY, "O_RDONLY"},		{O_WRONLY, "O_WRONLY"},		{-1, NULL}};	int i;	for (i=0;open_modes[i].name;i++) {		if (open_modes[i].v == mode) return open_modes[i].name;	}	return "O_XXX";}static const char *resultstr(enum deny_result res){	const struct {		enum deny_result res;		const char *name; 	} results[] = {		{A_X, "X"},		{A_0, "-"},		{A_R, "R"},		{A_W, "W"},		{A_RW,"RW"}};	int i;	for (i=0;ARRAY_SIZE(results);i++) {		if (results[i].res == res) return results[i].name;	}	return "*";}static const struct {	int isexe;	int mode1, deny1;	int mode2, deny2;	enum deny_result result;} denytable2[] = {{1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},{1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},{1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},{1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},{1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},{1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},{1,   O_RDWR,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},{1,   O_RDWR,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},{1,   O_RDWR,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},{1,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},{1,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},{1,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},{1,   O_RDWR,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},{1,   O_RDWR,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},{1,   O_RDWR,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},{1,   O_RDWR,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},{1,   O_RDWR,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},{1,   O_RDWR,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},{1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},{1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},{1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},{1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},{1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},{1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},{1, O_RDONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_RW},{1, O_RDONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_R},{1, O_RDONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_W},{1, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_0},{1, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_0},{1, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_0},{1, O_RDONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},{1, O_RDONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},{1, O_RDONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},{1, O_RDONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},{1, O_RDONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},{1, O_RDONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},{1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_DOS,     A_RW},{1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_DOS,     A_R},{1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_DOS,     A_W},{1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_ALL,     A_0},{1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_ALL,     A_0},{1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_ALL,     A_0},{1, O_WRONLY,   DENY_DOS,      O_RDWR, DENY_WRITE,     A_0},{1, O_WRONLY,   DENY_DOS,    O_RDONLY, DENY_WRITE,     A_0},{1, O_WRONLY,   DENY_DOS,    O_WRONLY, DENY_WRITE,     A_0},{1, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_READ,     A_RW},{1, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_READ,     A_R},{1, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_READ,     A_W},{1, O_WRONLY,   DENY_DOS,      O_RDWR,  DENY_NONE,     A_RW},{1, O_WRONLY,   DENY_DOS,    O_RDONLY,  DENY_NONE,     A_R},{1, O_WRONLY,   DENY_DOS,    O_WRONLY,  DENY_NONE,     A_W},{1, O_WRONLY,   DENY_DOS,      O_RDWR,   DENY_FCB,     A_0},{1, O_WRONLY,   DENY_DOS,    O_RDONLY,   DENY_FCB,     A_0},{1, O_WRONLY,   DENY_DOS,    O_WRONLY,   DENY_FCB,     A_0},{1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},{1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},{1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},{1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},{1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},{1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},{1,   O_RDWR,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},{1,   O_RDWR,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},{1,   O_RDWR,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},{1,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},{1,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},{1,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},{1,   O_RDWR,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},{1,   O_RDWR,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},{1,   O_RDWR,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},{1,   O_RDWR,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},{1,   O_RDWR,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},{1,   O_RDWR,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},{1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},{1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},{1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},{1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},{1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},{1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},{1, O_RDONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},{1, O_RDONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},{1, O_RDONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},{1, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},{1, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},{1, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},{1, O_RDONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},{1, O_RDONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},{1, O_RDONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},{1, O_RDONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},{1, O_RDONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},{1, O_RDONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},{1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_DOS,     A_0},{1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_DOS,     A_0},{1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_DOS,     A_0},{1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_ALL,     A_0},{1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_ALL,     A_0},{1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_ALL,     A_0},{1, O_WRONLY,   DENY_ALL,      O_RDWR, DENY_WRITE,     A_0},{1, O_WRONLY,   DENY_ALL,    O_RDONLY, DENY_WRITE,     A_0},{1, O_WRONLY,   DENY_ALL,    O_WRONLY, DENY_WRITE,     A_0},{1, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_READ,     A_0},{1, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_READ,     A_0},{1, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_READ,     A_0},{1, O_WRONLY,   DENY_ALL,      O_RDWR,  DENY_NONE,     A_0},{1, O_WRONLY,   DENY_ALL,    O_RDONLY,  DENY_NONE,     A_0},{1, O_WRONLY,   DENY_ALL,    O_WRONLY,  DENY_NONE,     A_0},{1, O_WRONLY,   DENY_ALL,      O_RDWR,   DENY_FCB,     A_0},{1, O_WRONLY,   DENY_ALL,    O_RDONLY,   DENY_FCB,     A_0},{1, O_WRONLY,   DENY_ALL,    O_WRONLY,   DENY_FCB,     A_0},{1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},{1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},{1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},{1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},{1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},{1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},{1,   O_RDWR, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},{1,   O_RDWR, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_0},{1,   O_RDWR, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},{1,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_READ,     A_0},{1,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_READ,     A_0},{1,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_READ,     A_0},{1,   O_RDWR, DENY_WRITE,      O_RDWR,  DENY_NONE,     A_0},{1,   O_RDWR, DENY_WRITE,    O_RDONLY,  DENY_NONE,     A_R},{1,   O_RDWR, DENY_WRITE,    O_WRONLY,  DENY_NONE,     A_0},{1,   O_RDWR, DENY_WRITE,      O_RDWR,   DENY_FCB,     A_0},{1,   O_RDWR, DENY_WRITE,    O_RDONLY,   DENY_FCB,     A_0},{1,   O_RDWR, DENY_WRITE,    O_WRONLY,   DENY_FCB,     A_0},{1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_DOS,     A_0},{1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_DOS,     A_R},{1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_DOS,     A_0},{1, O_RDONLY, DENY_WRITE,      O_RDWR,   DENY_ALL,     A_0},{1, O_RDONLY, DENY_WRITE,    O_RDONLY,   DENY_ALL,     A_0},{1, O_RDONLY, DENY_WRITE,    O_WRONLY,   DENY_ALL,     A_0},{1, O_RDONLY, DENY_WRITE,      O_RDWR, DENY_WRITE,     A_0},{1, O_RDONLY, DENY_WRITE,    O_RDONLY, DENY_WRITE,     A_R},{1, O_RDONLY, DENY_WRITE,    O_WRONLY, DENY_WRITE,     A_0},

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -