1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
/************************************************************************
*
* COMMON.H - NSCA Common Include File
* Copyright (c) 1999-2003 Ethan Galstad (nagios@nagios.org)
* Last Modified: 01-07-2003
*
* License:
*
* 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 "config.h"
#define PROGRAM_VERSION "2.7.2"
#define MODIFICATION_DATE "07-03-2007"
#define OK 0
#define ERROR -1
#define TRUE 1
#define FALSE 0
#define STATE_UNKNOWN 3 /* service state return codes */
#define STATE_CRITICAL 2
#define STATE_WARNING 1
#define STATE_OK 0
#define DEFAULT_SOCKET_TIMEOUT 10 /* timeout after 10 seconds */
#define MAX_INPUT_BUFFER 2048 /* max size of most buffers we use */
#define MAX_HOST_ADDRESS_LENGTH 256 /* max size of a host address */
#define MAX_HOSTNAME_LENGTH 64
#define MAX_DESCRIPTION_LENGTH 128
#define MAX_PLUGINOUTPUT_LENGTH 512
#define MAX_PASSWORD_LENGTH 512
/********************* ENCRYPTION TYPES ****************/
#define ENCRYPT_NONE 0 /* no encryption */
#define ENCRYPT_XOR 1 /* not really encrypted, just obfuscated */
#ifdef HAVE_LIBMCRYPT
#define ENCRYPT_DES 2 /* DES */
#define ENCRYPT_3DES 3 /* 3DES or Triple DES */
#define ENCRYPT_CAST128 4 /* CAST-128 */
#define ENCRYPT_CAST256 5 /* CAST-256 */
#define ENCRYPT_XTEA 6 /* xTEA */
#define ENCRYPT_3WAY 7 /* 3-WAY */
#define ENCRYPT_BLOWFISH 8 /* SKIPJACK */
#define ENCRYPT_TWOFISH 9 /* TWOFISH */
#define ENCRYPT_LOKI97 10 /* LOKI97 */
#define ENCRYPT_RC2 11 /* RC2 */
#define ENCRYPT_ARCFOUR 12 /* RC4 */
#define ENCRYPT_RC6 13 /* RC6 */ /* UNUSED */
#define ENCRYPT_RIJNDAEL128 14 /* RIJNDAEL-128 */
#define ENCRYPT_RIJNDAEL192 15 /* RIJNDAEL-192 */
#define ENCRYPT_RIJNDAEL256 16 /* RIJNDAEL-256 */
#define ENCRYPT_MARS 17 /* MARS */ /* UNUSED */
#define ENCRYPT_PANAMA 18 /* PANAMA */ /* UNUSED */
#define ENCRYPT_WAKE 19 /* WAKE */
#define ENCRYPT_SERPENT 20 /* SERPENT */
#define ENCRYPT_IDEA 21 /* IDEA */ /* UNUSED */
#define ENCRYPT_ENIGMA 22 /* ENIGMA (Unix crypt) */
#define ENCRYPT_GOST 23 /* GOST */
#define ENCRYPT_SAFER64 24 /* SAFER-sk64 */
#define ENCRYPT_SAFER128 25 /* SAFER-sk128 */
#define ENCRYPT_SAFERPLUS 26 /* SAFER+ */
#endif
/******************** MISC DEFINITIONS *****************/
#define TRANSMITTED_IV_SIZE 128 /* size of IV to transmit - must be as big as largest IV needed for any crypto algorithm */
/*************** PACKET STRUCTURE DEFINITIONS **********/
#define NSCA_PACKET_VERSION_3 3 /* packet version identifier */
#define NSCA_PACKET_VERSION_2 2 /* older packet version identifiers */
#define NSCA_PACKET_VERSION_1 1
/* data packet containing service check results */
typedef struct data_packet_struct{
int16_t packet_version;
u_int32_t crc32_value;
u_int32_t timestamp;
int16_t return_code;
char host_name[MAX_HOSTNAME_LENGTH];
char svc_description[MAX_DESCRIPTION_LENGTH];
char plugin_output[MAX_PLUGINOUTPUT_LENGTH];
}data_packet;
/* initialization packet containing IV and timestamp */
typedef struct init_packet_struct{
char iv[TRANSMITTED_IV_SIZE];
u_int32_t timestamp;
}init_packet;
|