lesser requires. now i know why xx. it is for padding.

This commit is contained in:
Denis Knauf 2013-04-08 21:16:35 +02:00
parent 039bd43350
commit b10939b6fb
3 changed files with 2 additions and 24 deletions

View file

@ -1,9 +1,3 @@
require 'socket'
require 'enum'
require 'timeout'
require 'benchmark'
require 'securerandom'
module NSCA module NSCA
class Client class Client
class Connection class Connection

View file

@ -1,9 +1,3 @@
require 'socket'
require 'enum'
require 'timeout'
require 'benchmark'
require 'securerandom'
module NSCA module NSCA
class <<self class <<self
def xor key, msg, key_a = nil def xor key, msg, key_a = nil
@ -68,18 +62,14 @@ module NSCA
# these line describes the data package: # these line describes the data package:
# typedef struct data_packet_struct{ # typedef struct data_packet_struct{
# int16_t packet_version; # int16_t packet_version;
# /* xx means, 2 bytes without any data. # /* two padding bytes (because aligning): xx */
# * i do not know, why but there are 2 extra bytes without any need and
# * no where i can find information how these will be send,
# * because these struct does not know it.
# */
# u_int32_t crc32_value; # u_int32_t crc32_value;
# u_int32_t timestamp; # u_int32_t timestamp;
# int16_t return_code; # int16_t return_code;
# char host_name[MAX_HOSTNAME_LENGTH]; # char host_name[MAX_HOSTNAME_LENGTH];
# char svc_description[MAX_DESCRIPTION_LENGTH]; # char svc_description[MAX_DESCRIPTION_LENGTH];
# char plugin_output[MAX_PLUGINOUTPUT_LENGTH]; # char plugin_output[MAX_PLUGINOUTPUT_LENGTH];
# /* 2 extre xx, too. */ # /* two extra padding-xx, too. */
# }data_packet; # }data_packet;
PACK_STRING = "s> xx L> L> s> Z#{HOSTNAME_LENGTH} Z#{SERVICE_LENGTH} Z#{STATUS_LENGTH} xx" PACK_STRING = "s> xx L> L> s> Z#{HOSTNAME_LENGTH} Z#{SERVICE_LENGTH} Z#{STATUS_LENGTH} xx"
PACK_LENGTH = 2+2+4+4+2+HOSTNAME_LENGTH+SERVICE_LENGTH+STATUS_LENGTH+2 PACK_LENGTH = 2+2+4+4+2+HOSTNAME_LENGTH+SERVICE_LENGTH+STATUS_LENGTH+2

View file

@ -1,9 +1,3 @@
require 'socket'
require 'enum'
require 'timeout'
require 'benchmark'
require 'securerandom'
module NSCA module NSCA
class Server class Server
include Enumerable include Enumerable