/* * Copyright (C) 2016 Red Hat, Inc. * * Author: Nikos Mavrogiannopoulos * * This file is part of ocserv. * * The GnuTLS is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see */ #ifndef DEFS_H #define DEFS_H #include /* syslog value extensions */ #define LOG_HTTP_DEBUG 2048 #define LOG_TRANSFER_DEBUG 2049 #define LOG_SENSITIVE 2050 /* User Disconnect reasons (must be > 0) */ #define REASON_ANY 1 #define REASON_USER_DISCONNECT 2 #define REASON_SERVER_DISCONNECT 3 #define REASON_IDLE_TIMEOUT 4 #define REASON_DPD_TIMEOUT 5 #define REASON_ERROR 6 #define REASON_SESSION_TIMEOUT 7 #define REASON_TEMP_DISCONNECT 8 /* Timeout (secs) for communication between main and sec-mod */ #define MAIN_SEC_MOD_TIMEOUT 120 #define MAX_WAIT_SECS 3 /* Debug definitions for logger */ #define DEBUG_BASIC 1 #define DEBUG_INFO 3 #define DEBUG_HTTP 4 #define DEBUG_TRANSFERRED 5 #define DEBUG_SENSITIVE 8 #define DEBUG_TLS 9 /* Authentication states */ enum { PS_AUTH_INACTIVE, /* no comm with worker */ PS_AUTH_FAILED, /* tried authentication but failed */ PS_AUTH_INIT, /* worker has sent an auth init msg */ PS_AUTH_CONT, /* worker has sent an auth cont msg */ PS_AUTH_COMPLETED /* successful authentication */ }; /* IPC protocol commands */ typedef enum { AUTH_COOKIE_REP = 2, AUTH_COOKIE_REQ = 4, RESUME_STORE_REQ = 6, RESUME_DELETE_REQ = 7, RESUME_FETCH_REQ = 8, RESUME_FETCH_REP = 9, CMD_UDP_FD = 10, CMD_TUN_MTU = 11, CMD_TERMINATE = 12, CMD_SESSION_INFO = 13, CMD_BAN_IP = 16, CMD_BAN_IP_REPLY = 17, /* from worker to sec-mod */ CMD_SEC_AUTH_INIT = 120, CMD_SEC_AUTH_CONT, CMD_SEC_AUTH_REPLY, CMD_SEC_DECRYPT, CMD_SEC_SIGN, CMD_SEC_SIGN_DATA, CMD_SEC_SIGN_HASH, CMD_SEC_GET_PK, CMD_SEC_CLI_STATS, /* from main to sec-mod and vice versa */ MIN_SECM_CMD=239, CMD_SECM_SESSION_OPEN, /* sync: reply is CMD_SECM_SESSION_REPLY */ CMD_SECM_SESSION_CLOSE, /* sync: reply is CMD_SECM_CLI_STATS */ CMD_SECM_SESSION_REPLY, CMD_SECM_BAN_IP, CMD_SECM_BAN_IP_REPLY, CMD_SECM_CLI_STATS, CMD_SECM_LIST_COOKIES, CMD_SECM_LIST_COOKIES_REPLY, CMD_SECM_STATS, /* sent periodically */ CMD_SECM_RELOAD, CMD_SECM_RELOAD_REPLY, MAX_SECM_CMD, } cmd_request_t; /* Error codes */ #define ERR_SUCCESS 0 #define ERR_BAD_COMMAND -2 #define ERR_AUTH_FAIL -3 #define ERR_AUTH_CONTINUE -4 #define ERR_WAIT_FOR_SCRIPT -5 #define ERR_MEM -6 #define ERR_READ_CONFIG -7 #define ERR_NO_IP -8 #define ERR_PARSING -9 #define ERR_EXEC -10 #define ERR_PEER_TERMINATED -11 #define ERR_CTL -12 #define ERR_NO_CMD_FD -13 #define ERR_WORKER_TERMINATED ERR_PEER_TERMINATED #endif