"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/p.y" between
monit-5.27.2.tar.gz and monit-5.28.0.tar.gz

About: Monit is a utility for managing and monitoring processes, files, directories and filesystems (with automatic error recovery).

p.y  (monit-5.27.2):p.y  (monit-5.28.0)
skipping to change at line 190 skipping to change at line 190
static struct Gid_T gidset = {}; static struct Gid_T gidset = {};
static struct Pid_T pidset = {}; static struct Pid_T pidset = {};
static struct Pid_T ppidset = {}; static struct Pid_T ppidset = {};
static struct FsFlag_T fsflagset = {}; static struct FsFlag_T fsflagset = {};
static struct NonExist_T nonexistset = {}; static struct NonExist_T nonexistset = {};
static struct Exist_T existset = {}; static struct Exist_T existset = {};
static struct Status_T statusset = {}; static struct Status_T statusset = {};
static struct Perm_T permset = {}; static struct Perm_T permset = {};
static struct Size_T sizeset = {}; static struct Size_T sizeset = {};
static struct Uptime_T uptimeset = {}; static struct Uptime_T uptimeset = {};
static struct ResponseTime_T responsetimeset = {};
static struct LinkStatus_T linkstatusset = {}; static struct LinkStatus_T linkstatusset = {};
static struct LinkSpeed_T linkspeedset = {}; static struct LinkSpeed_T linkspeedset = {};
static struct LinkSaturation_T linksaturationset = {}; static struct LinkSaturation_T linksaturationset = {};
static struct Bandwidth_T bandwidthset = {}; static struct Bandwidth_T bandwidthset = {};
static struct Match_T matchset = {}; static struct Match_T matchset = {};
static struct Icmp_T icmpset = {}; static struct Icmp_T icmpset = {};
static struct Mail_T mailset = {}; static struct Mail_T mailset = {};
static struct SslOptions_T sslset = {}; static struct SslOptions_T sslset = {};
static struct Port_T portset = {}; static struct Port_T portset = {};
static struct MailServer_T mailserverset = {}; static struct MailServer_T mailserverset = {};
skipping to change at line 282 skipping to change at line 283
static void reset_sslset(void); static void reset_sslset(void);
static void reset_mailset(void); static void reset_mailset(void);
static void reset_mailserverset(void); static void reset_mailserverset(void);
static void reset_mmonitset(void); static void reset_mmonitset(void);
static void reset_portset(void); static void reset_portset(void);
static void reset_resourceset(void); static void reset_resourceset(void);
static void reset_timestampset(void); static void reset_timestampset(void);
static void reset_actionrateset(void); static void reset_actionrateset(void);
static void reset_sizeset(void); static void reset_sizeset(void);
static void reset_uptimeset(void); static void reset_uptimeset(void);
static void reset_responsetimeset(void);
static void reset_pidset(void); static void reset_pidset(void);
static void reset_ppidset(void); static void reset_ppidset(void);
static void reset_fsflagset(void); static void reset_fsflagset(void);
static void reset_nonexistset(void); static void reset_nonexistset(void);
static void reset_existset(void); static void reset_existset(void);
static void reset_linkstatusset(void); static void reset_linkstatusset(void);
static void reset_linkspeedset(void); static void reset_linkspeedset(void);
static void reset_linksaturationset(void); static void reset_linksaturationset(void);
static void reset_bandwidthset(void); static void reset_bandwidthset(void);
static void reset_checksumset(void); static void reset_checksumset(void);
skipping to change at line 330 skipping to change at line 332
Address_T address; Address_T address;
float real; float real;
int number; int number;
char *string; char *string;
} }
%token IF ELSE THEN FAILED %token IF ELSE THEN FAILED
%token SET LOGFILE FACILITY DAEMON SYSLOG MAILSERVER HTTPD ALLOW REJECTOPT ADDRE SS INIT TERMINAL BATCH %token SET LOGFILE FACILITY DAEMON SYSLOG MAILSERVER HTTPD ALLOW REJECTOPT ADDRE SS INIT TERMINAL BATCH
%token READONLY CLEARTEXT MD5HASH SHA1HASH CRYPT DELAY %token READONLY CLEARTEXT MD5HASH SHA1HASH CRYPT DELAY
%token PEMFILE PEMKEY PEMCHAIN ENABLE DISABLE SSLTOKEN CIPHER CLIENTPEMFILE ALLO WSELFCERTIFICATION SELFSIGNED VERIFY CERTIFICATE CACERTIFICATEFILE CACERTIFICATE PATH VALID %token PEMFILE PEMKEY PEMCHAIN ENABLE DISABLE SSLTOKEN CIPHER CLIENTPEMFILE ALLO WSELFCERTIFICATION SELFSIGNED VERIFY CERTIFICATE CACERTIFICATEFILE CACERTIFICATE PATH VALID
%token INTERFACE LINK PACKET BYTEIN BYTEOUT PACKETIN PACKETOUT SPEED SATURATION UPLOAD DOWNLOAD TOTAL %token INTERFACE LINK PACKET BYTEIN BYTEOUT PACKETIN PACKETOUT SPEED SATURATION UPLOAD DOWNLOAD TOTAL UP DOWN
%token IDFILE STATEFILE SEND EXPECT CYCLE COUNT REMINDER REPEAT %token IDFILE STATEFILE SEND EXPECT CYCLE COUNT REMINDER REPEAT
%token LIMITS SENDEXPECTBUFFER EXPECTBUFFER FILECONTENTBUFFER HTTPCONTENTBUFFER PROGRAMOUTPUT NETWORKTIMEOUT PROGRAMTIMEOUT STARTTIMEOUT STOPTIMEOUT RESTARTTIME OUT %token LIMITS SENDEXPECTBUFFER EXPECTBUFFER FILECONTENTBUFFER HTTPCONTENTBUFFER PROGRAMOUTPUT NETWORKTIMEOUT PROGRAMTIMEOUT STARTTIMEOUT STOPTIMEOUT RESTARTTIME OUT
%token PIDFILE START STOP PATHTOK RSAKEY %token PIDFILE START STOP PATHTOK RSAKEY
%token HOST HOSTNAME PORT IPV4 IPV6 TYPE UDP TCP TCPSSL PROTOCOL CONNECTION %token HOST HOSTNAME PORT IPV4 IPV6 TYPE UDP TCP TCPSSL PROTOCOL CONNECTION
%token ALERT NOALERT MAILFORMAT UNIXSOCKET SIGNATURE %token ALERT NOALERT MAILFORMAT UNIXSOCKET SIGNATURE
%token TIMEOUT RETRY RESTART CHECKSUM EVERY NOTEVERY %token TIMEOUT RETRY RESTART CHECKSUM EVERY NOTEVERY
%token DEFAULT HTTP HTTPS APACHESTATUS FTP SMTP SMTPS POP POPS IMAP IMAPS CLAMAV NNTP NTP3 MYSQL MYSQLS DNS WEBSOCKET MQTT %token DEFAULT HTTP HTTPS APACHESTATUS FTP SMTP SMTPS POP POPS IMAP IMAPS CLAMAV NNTP NTP3 MYSQL MYSQLS DNS WEBSOCKET MQTT
%token SSH DWP LDAP2 LDAP3 RDATE RSYNC TNS PGSQL POSTFIXPOLICY SIP LMTP GPS RADI US MEMCACHE REDIS MONGODB SIEVE SPAMASSASSIN FAIL2BAN %token SSH DWP LDAP2 LDAP3 RDATE RSYNC TNS PGSQL POSTFIXPOLICY SIP LMTP GPS RADI US MEMCACHE REDIS MONGODB SIEVE SPAMASSASSIN FAIL2BAN
%token <string> STRING PATH MAILADDR MAILFROM MAILREPLYTO MAILSUBJECT %token <string> STRING PATH MAILADDR MAILFROM MAILREPLYTO MAILSUBJECT
%token <string> MAILBODY SERVICENAME STRINGNAME %token <string> MAILBODY SERVICENAME STRINGNAME
skipping to change at line 356 skipping to change at line 358
%token THREADS CHILDREN METHOD GET HEAD STATUS ORIGIN VERSIONOPT READ WRITE OPER ATION SERVICETIME DISK %token THREADS CHILDREN METHOD GET HEAD STATUS ORIGIN VERSIONOPT READ WRITE OPER ATION SERVICETIME DISK
%token RESOURCE MEMORY TOTALMEMORY LOADAVG1 LOADAVG5 LOADAVG15 SWAP %token RESOURCE MEMORY TOTALMEMORY LOADAVG1 LOADAVG5 LOADAVG15 SWAP
%token MODE ACTIVE PASSIVE MANUAL ONREBOOT NOSTART LASTSTATE %token MODE ACTIVE PASSIVE MANUAL ONREBOOT NOSTART LASTSTATE
%token CORE CPU TOTALCPU CPUUSER CPUSYSTEM CPUWAIT CPUNICE CPUHARDIRQ CPUSOFTIRQ CPUSTEAL CPUGUEST CPUGUESTNICE %token CORE CPU TOTALCPU CPUUSER CPUSYSTEM CPUWAIT CPUNICE CPUHARDIRQ CPUSOFTIRQ CPUSTEAL CPUGUEST CPUGUESTNICE
%token GROUP REQUEST DEPENDS BASEDIR SLOT EVENTQUEUE SECRET HOSTHEADER %token GROUP REQUEST DEPENDS BASEDIR SLOT EVENTQUEUE SECRET HOSTHEADER
%token UID EUID GID MMONIT INSTANCE USERNAME PASSWORD %token UID EUID GID MMONIT INSTANCE USERNAME PASSWORD
%token TIME ATIME CTIME MTIME CHANGED MILLISECOND SECOND MINUTE HOUR DAY MONTH %token TIME ATIME CTIME MTIME CHANGED MILLISECOND SECOND MINUTE HOUR DAY MONTH
%token SSLV2 SSLV3 TLSV1 TLSV11 TLSV12 TLSV13 CERTMD5 AUTO %token SSLV2 SSLV3 TLSV1 TLSV11 TLSV12 TLSV13 CERTMD5 AUTO
%token NOSSLV2 NOSSLV3 NOTLSV1 NOTLSV11 NOTLSV12 NOTLSV13 %token NOSSLV2 NOSSLV3 NOTLSV1 NOTLSV11 NOTLSV12 NOTLSV13
%token BYTE KILOBYTE MEGABYTE GIGABYTE %token BYTE KILOBYTE MEGABYTE GIGABYTE
%token INODE SPACE TFREE PERMISSION SIZE MATCH NOT IGNORE ACTION UPTIME %token INODE SPACE TFREE PERMISSION SIZE MATCH NOT IGNORE ACTION UPTIME RESPONSE TIME
%token EXEC UNMONITOR PING PING4 PING6 ICMP ICMPECHO NONEXIST EXIST INVALID DATA RECOVERED PASSED SUCCEEDED %token EXEC UNMONITOR PING PING4 PING6 ICMP ICMPECHO NONEXIST EXIST INVALID DATA RECOVERED PASSED SUCCEEDED
%token URL CONTENT PID PPID FSFLAG %token URL CONTENT PID PPID FSFLAG
%token REGISTER CREDENTIALS %token REGISTER CREDENTIALS
%token <url> URLOBJECT %token <url> URLOBJECT
%token <address> ADDRESSOBJECT %token <address> ADDRESSOBJECT
%token <string> TARGET TIMESPEC HTTPHEADER %token <string> TARGET TIMESPEC HTTPHEADER
%token <number> MAXFORWARD %token <number> MAXFORWARD
%token FIPS %token FIPS
%token SECURITY ATTRIBUTE %token SECURITY ATTRIBUTE
%token FILEDESCRIPTORS %token FILEDESCRIPTORS
skipping to change at line 1419 skipping to change at line 1421
; ;
hostname : /* EMPTY */ { hostname : /* EMPTY */ {
$<string>$ = NULL; $<string>$ = NULL;
} }
| HOSTNAME STRING { | HOSTNAME STRING {
$<string>$ = $2; $<string>$ = $2;
} }
; ;
connection : IF FAILED host port connectionoptlist rate1 THEN action1 recov ery { connection : IF FAILED host port connectionoptlist rate1 THEN action1 recov ery_success {
/* This is a workaround to support content match without having to create an URL object. 'urloption' creates the Request_T object we nee d minus the URL object, but with enough information to perform content test. /* This is a workaround to support content match without having to create an URL object. 'urloption' creates the Request_T object we nee d minus the URL object, but with enough information to perform content test.
TODO: Parser is in need of refactoring */ TODO: Parser is in need of refactoring */
portset.url_request = urlrequest; portset.url_request = urlrequest;
portset.check_invers = false;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, $<number>8, $<number>9
);
addport(&(current->portlist), &portset);
}
| IF SUCCEEDED host port connectionoptlist rate1 THEN action1 re
covery_failure {
portset.url_request = urlrequest;
portset.check_invers = true;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, $<number>8, $<number>9 ); addeventaction(&(portset).action, $<number>8, $<number>9 );
addport(&(current->portlist), &portset); addport(&(current->portlist), &portset);
} }
; ;
connectionoptlist : /* EMPTY */ connectionoptlist : /* EMPTY */
| connectionoptlist connectionopt | connectionoptlist connectionopt
; ;
connectionopt : ip connectionopt : ip
| type | type
| protocol | protocol
| sendexpect | sendexpect
| urloption | urloption
| connectiontimeout | connectiontimeout
| responsetime
| outgoing | outgoing
| retry | retry
| ssl | ssl
| sslchecksum | sslchecksum
| sslexpire | sslexpire
; ;
connectionurl : IF FAILED URL URLOBJECT connectionurloptlist rate1 THEN action connectionurl : IF FAILED URL URLOBJECT connectionurloptlist rate1 THEN action
1 recovery { 1 recovery_success {
portset.check_invers = false;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
prepare_urlrequest($<url>4);
addeventaction(&(portset).action, $<number>8, $<number>9
);
addport(&(current->portlist), &portset);
}
| IF SUCCEEDED URL URLOBJECT connectionurloptlist rate1 THEN act
ion1 recovery_failure {
portset.check_invers = true;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
prepare_urlrequest($<url>4); prepare_urlrequest($<url>4);
addeventaction(&(portset).action, $<number>8, $<number>9 ); addeventaction(&(portset).action, $<number>8, $<number>9 );
addport(&(current->portlist), &portset); addport(&(current->portlist), &portset);
} }
; ;
connectionurloptlist : /* EMPTY */ connectionurloptlist : /* EMPTY */
| connectionurloptlist connectionurlopt | connectionurloptlist connectionurlopt
; ;
connectionurlopt : urloption connectionurlopt : urloption
| connectiontimeout | connectiontimeout
| retry | retry
| ssl | ssl
| sslchecksum | sslchecksum
| sslexpire | sslexpire
; ;
connectionunix : IF FAILED unixsocket connectionuxoptlist rate1 THEN action1 re connectionunix : IF FAILED unixsocket connectionuxoptlist rate1 THEN action1 re
covery { covery_success {
portset.check_invers = false;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, $<number>7, $<number>8
);
addport(&(current->socketlist), &portset);
}
| IF SUCCEEDED unixsocket connectionuxoptlist rate1 THEN action1
recovery_failure {
portset.check_invers = true;
portset.responsetime.operator = responsetimeset.operator
;
portset.responsetime.limit = responsetimeset.limit;
addeventaction(&(portset).action, $<number>7, $<number>8 ); addeventaction(&(portset).action, $<number>7, $<number>8 );
addport(&(current->socketlist), &portset); addport(&(current->socketlist), &portset);
} }
; ;
connectionuxoptlist : /* EMPTY */ connectionuxoptlist : /* EMPTY */
| connectionuxoptlist connectionuxopt | connectionuxoptlist connectionuxopt
; ;
connectionuxopt : type connectionuxopt : type
| protocol | protocol
| sendexpect | sendexpect
| connectiontimeout | connectiontimeout
| responsetime
| retry | retry
; ;
icmp : IF FAILED ICMP icmptype icmpoptlist rate1 THEN action1 recover y { icmp : IF FAILED ICMP icmptype icmpoptlist rate1 THEN action1 recover y_success {
icmpset.family = Socket_Ip; icmpset.family = Socket_Ip;
icmpset.check_invers = false;
icmpset.type = $<number>4; icmpset.type = $<number>4;
icmpset.responsetime.operator = responsetimeset.operator
;
icmpset.responsetime.limit = responsetimeset.limit;
addeventaction(&(icmpset).action, $<number>8, $<number>9 ); addeventaction(&(icmpset).action, $<number>8, $<number>9 );
addicmp(&icmpset); addicmp(&icmpset);
} }
| IF FAILED PING icmpoptlist rate1 THEN action1 recovery { | IF FAILED PING icmpoptlist rate1 THEN action1 recovery_success {
icmpset.family = Socket_Ip; icmpset.family = Socket_Ip;
icmpset.check_invers = false;
addeventaction(&(icmpset).action, $<number>7, $<number>8 ); addeventaction(&(icmpset).action, $<number>7, $<number>8 );
addicmp(&icmpset); addicmp(&icmpset);
} }
| IF FAILED PING4 icmpoptlist rate1 THEN action1 recovery { | IF FAILED PING4 icmpoptlist rate1 THEN action1 recovery_succes s {
icmpset.family = Socket_Ip4; icmpset.family = Socket_Ip4;
icmpset.check_invers = false;
addeventaction(&(icmpset).action, $<number>7, $<number>8 ); addeventaction(&(icmpset).action, $<number>7, $<number>8 );
addicmp(&icmpset); addicmp(&icmpset);
} }
| IF FAILED PING6 icmpoptlist rate1 THEN action1 recovery { | IF FAILED PING6 icmpoptlist rate1 THEN action1 recovery_succes s {
icmpset.family = Socket_Ip6; icmpset.family = Socket_Ip6;
icmpset.check_invers = false;
addeventaction(&(icmpset).action, $<number>7, $<number>8
);
addicmp(&icmpset);
}
| IF SUCCEEDED ICMP icmptype icmpoptlist rate1 THEN action1 reco
very_failure {
icmpset.family = Socket_Ip;
icmpset.check_invers = true;
icmpset.type = $<number>4;
icmpset.responsetime.operator = responsetimeset.operator
;
icmpset.responsetime.limit = responsetimeset.limit;
addeventaction(&(icmpset).action, $<number>8, $<number>9
);
addicmp(&icmpset);
}
| IF SUCCEEDED PING icmpoptlist rate1 THEN action1 recovery_fail
ure {
icmpset.family = Socket_Ip;
icmpset.check_invers = true;
addeventaction(&(icmpset).action, $<number>7, $<number>8
);
addicmp(&icmpset);
}
| IF SUCCEEDED PING4 icmpoptlist rate1 THEN action1 recovery_fai
lure {
icmpset.family = Socket_Ip4;
icmpset.check_invers = true;
addeventaction(&(icmpset).action, $<number>7, $<number>8
);
addicmp(&icmpset);
}
| IF SUCCEEDED PING6 icmpoptlist rate1 THEN action1 recovery_fai
lure {
icmpset.family = Socket_Ip6;
icmpset.check_invers = true;
addeventaction(&(icmpset).action, $<number>7, $<number>8 ); addeventaction(&(icmpset).action, $<number>7, $<number>8 );
addicmp(&icmpset); addicmp(&icmpset);
} }
; ;
icmpoptlist : /* EMPTY */ icmpoptlist : /* EMPTY */
| icmpoptlist icmpopt | icmpoptlist icmpopt
; ;
icmpopt : icmpcount icmpopt : icmpcount
skipping to change at line 1947 skipping to change at line 2016
| GRACEFULLIMIT operator NUMBER PERCENT { | GRACEFULLIMIT operator NUMBER PERCENT {
portset.parameters.apachestatus.gracefullimitOP = $<numb er>2; portset.parameters.apachestatus.gracefullimitOP = $<numb er>2;
portset.parameters.apachestatus.gracefullimit = $<number >3; portset.parameters.apachestatus.gracefullimit = $<number >3;
} }
| CLEANUPLIMIT operator NUMBER PERCENT { | CLEANUPLIMIT operator NUMBER PERCENT {
portset.parameters.apachestatus.cleanuplimitOP = $<numbe r>2; portset.parameters.apachestatus.cleanuplimitOP = $<numbe r>2;
portset.parameters.apachestatus.cleanuplimit = $<number> 3; portset.parameters.apachestatus.cleanuplimit = $<number> 3;
} }
; ;
exist : IF NOT EXIST rate1 THEN action1 recovery { exist : IF NOT EXIST rate1 THEN action1 recovery_success {
addeventaction(&(nonexistset).action, $<number>6, $<numb er>7); addeventaction(&(nonexistset).action, $<number>6, $<numb er>7);
addnonexist(&nonexistset); addnonexist(&nonexistset);
} }
| IF EXIST rate1 THEN action1 recovery { | IF EXIST rate1 THEN action1 recovery_success {
addeventaction(&(existset).action, $<number>5, $<number> 6); addeventaction(&(existset).action, $<number>5, $<number> 6);
addexist(&existset); addexist(&existset);
} }
; ;
pid : IF CHANGED PID rate1 THEN action1 { pid : IF CHANGED PID rate1 THEN action1 {
addeventaction(&(pidset).action, $<number>6, Action_Igno red); addeventaction(&(pidset).action, $<number>6, Action_Igno red);
addpid(&pidset); addpid(&pidset);
} }
; ;
ppid : IF CHANGED PPID rate1 THEN action1 { ppid : IF CHANGED PPID rate1 THEN action1 {
addeventaction(&(ppidset).action, $<number>6, Action_Ign ored); addeventaction(&(ppidset).action, $<number>6, Action_Ign ored);
addppid(&ppidset); addppid(&ppidset);
} }
; ;
uptime : IF UPTIME operator NUMBER time rate1 THEN action1 recovery { uptime : IF UPTIME operator NUMBER time rate1 THEN action1 recovery_suc cess {
uptimeset.operator = $<number>3; uptimeset.operator = $<number>3;
uptimeset.uptime = ((unsigned long long)$4 * $<number>5) ; uptimeset.uptime = ((unsigned long long)$4 * $<number>5) ;
addeventaction(&(uptimeset).action, $<number>8, $<number >9); addeventaction(&(uptimeset).action, $<number>8, $<number >9);
adduptime(&uptimeset); adduptime(&uptimeset);
} }
; ;
responsetime : RESPONSETIME operator NUMBER MILLISECOND {
responsetimeset.operator = $<number>2;
responsetimeset.limit = $3;
}
| RESPONSETIME operator NUMBER SECOND {
responsetimeset.operator = $<number>2;
responsetimeset.limit = $3 * 1000;
}
;
icmpcount : COUNT NUMBER { icmpcount : COUNT NUMBER {
icmpset.count = $<number>2; icmpset.count = $<number>2;
} }
; ;
icmpsize : SIZE NUMBER { icmpsize : SIZE NUMBER {
icmpset.size = $<number>2; icmpset.size = $<number>2;
if (icmpset.size < 8) { if (icmpset.size < 8) {
yyerror2("The minimum ping size is 8 bytes"); yyerror2("The minimum ping size is 8 bytes");
} else if (icmpset.size > 1492) { } else if (icmpset.size > 1492) {
skipping to change at line 2202 skipping to change at line 2281
depend : DEPENDS dependlist depend : DEPENDS dependlist
; ;
dependlist : dependant dependlist : dependant
| dependlist dependant | dependlist dependant
; ;
dependant : SERVICENAME { adddependant($<string>1); } dependant : SERVICENAME { adddependant($<string>1); }
; ;
statusvalue : IF STATUS operator NUMBER rate1 THEN action1 recovery { statusvalue : IF STATUS operator NUMBER rate1 THEN action1 recovery_success {
statusset.initialized = true; statusset.initialized = true;
statusset.operator = $<number>3; statusset.operator = $<number>3;
statusset.return_value = $<number>4; statusset.return_value = $<number>4;
addeventaction(&(statusset).action, $<number>7, $<number >8); addeventaction(&(statusset).action, $<number>7, $<number >8);
addstatus(&statusset); addstatus(&statusset);
} }
| IF CHANGED STATUS rate1 THEN action1 { | IF CHANGED STATUS rate1 THEN action1 {
statusset.initialized = false; statusset.initialized = false;
statusset.operator = Operator_Changed; statusset.operator = Operator_Changed;
statusset.return_value = 0; statusset.return_value = 0;
addeventaction(&(statusset).action, $<number>6, Action_I gnored); addeventaction(&(statusset).action, $<number>6, Action_I gnored);
addstatus(&statusset); addstatus(&statusset);
} }
; ;
resourceprocess : IF resourceprocesslist rate1 THEN action1 recovery { resourceprocess : IF resourceprocesslist rate1 THEN action1 recovery_success {
addeventaction(&(resourceset).action, $<number>5, $<numb er>6); addeventaction(&(resourceset).action, $<number>5, $<numb er>6);
addresource(&resourceset); addresource(&resourceset);
} }
; ;
resourceprocesslist : resourceprocessopt resourceprocesslist : resourceprocessopt
| resourceprocesslist resourceprocessopt | resourceprocesslist resourceprocessopt
; ;
resourceprocessopt : resourcecpuproc resourceprocessopt : resourcecpuproc
| resourcememproc | resourcememproc
| resourcethreads | resourcethreads
| resourcechild | resourcechild
| resourceload | resourceload
| resourceread | resourceread
| resourcewrite | resourcewrite
; ;
resourcesystem : IF resourcesystemlist rate1 THEN action1 recovery { resourcesystem : IF resourcesystemlist rate1 THEN action1 recovery_success {
addeventaction(&(resourceset).action, $<number>5, $<numb er>6); addeventaction(&(resourceset).action, $<number>5, $<numb er>6);
addresource(&resourceset); addresource(&resourceset);
} }
; ;
resourcesystemlist : resourcesystemopt resourcesystemlist : resourcesystemopt
| resourcesystemlist resourcesystemopt | resourcesystemlist resourcesystemopt
; ;
resourcesystemopt : resourceload resourcesystemopt : resourceload
skipping to change at line 2464 skipping to change at line 2543
value : REAL { $<real>$ = $1; } value : REAL { $<real>$ = $1; }
| NUMBER { $<real>$ = (float) $1; } | NUMBER { $<real>$ = (float) $1; }
; ;
timestamptype : TIME { $<number>$ = Timestamp_Default; } timestamptype : TIME { $<number>$ = Timestamp_Default; }
| ATIME { $<number>$ = Timestamp_Access; } | ATIME { $<number>$ = Timestamp_Access; }
| CTIME { $<number>$ = Timestamp_Change; } | CTIME { $<number>$ = Timestamp_Change; }
| MTIME { $<number>$ = Timestamp_Modification; } | MTIME { $<number>$ = Timestamp_Modification; }
; ;
timestamp : IF timestamptype operator NUMBER time rate1 THEN action1 recov ery { timestamp : IF timestamptype operator NUMBER time rate1 THEN action1 recov ery_success {
timestampset.type = $<number>2; timestampset.type = $<number>2;
timestampset.operator = $<number>3; timestampset.operator = $<number>3;
timestampset.time = ($4 * $<number>5); timestampset.time = ($4 * $<number>5);
addeventaction(&(timestampset).action, $<number>8, $<num ber>9); addeventaction(&(timestampset).action, $<number>8, $<num ber>9);
addtimestamp(&timestampset); addtimestamp(&timestampset);
} }
| IF CHANGED timestamptype rate1 THEN action1 { | IF CHANGED timestamptype rate1 THEN action1 {
timestampset.type = $<number>3; timestampset.type = $<number>3;
timestampset.test_changes = true; timestampset.test_changes = true;
addeventaction(&(timestampset).action, $<number>6, Actio n_Ignored); addeventaction(&(timestampset).action, $<number>6, Actio n_Ignored);
skipping to change at line 2612 skipping to change at line 2691
rate2.cycles = rate.cycles; rate2.cycles = rate.cycles;
reset_rateset(&rate); reset_rateset(&rate);
} }
| rateXYcycles { | rateXYcycles {
rate2.count = rate.count; rate2.count = rate.count;
rate2.cycles = rate.cycles; rate2.cycles = rate.cycles;
reset_rateset(&rate); reset_rateset(&rate);
} }
; ;
recovery : /* EMPTY */ { recovery_success : /* EMPTY */ {
$<number>$ = Action_Alert; $<number>$ = Action_Alert;
} }
| ELSE action2 {
$<number>$ = $<number>2;
}
| ELSE IF RECOVERED rate2 THEN action2 { | ELSE IF RECOVERED rate2 THEN action2 {
$<number>$ = $<number>6; $<number>$ = $<number>6;
} }
| ELSE IF PASSED rate2 THEN action2 { | ELSE IF PASSED rate2 THEN action2 {
$<number>$ = $<number>6; $<number>$ = $<number>6;
} }
| ELSE IF SUCCEEDED rate2 THEN action2 { | ELSE IF SUCCEEDED rate2 THEN action2 {
$<number>$ = $<number>6; $<number>$ = $<number>6;
} }
; ;
checksum : IF FAILED hashtype CHECKSUM rate1 THEN action1 recovery { recovery_failure : /* EMPTY */ {
$<number>$ = Action_Alert;
}
| ELSE action2 {
$<number>$ = $<number>2;
}
| ELSE IF FAILED rate2 THEN action2 {
$<number>$ = $<number>6;
}
;
checksum : IF FAILED hashtype CHECKSUM rate1 THEN action1 recovery_succes
s {
addeventaction(&(checksumset).action, $<number>7, $<numb er>8); addeventaction(&(checksumset).action, $<number>7, $<numb er>8);
addchecksum(&checksumset); addchecksum(&checksumset);
} }
| IF FAILED hashtype CHECKSUM EXPECT STRING rate1 THEN action1 | IF FAILED hashtype CHECKSUM EXPECT STRING rate1 THEN action1
recovery { recovery_success {
snprintf(checksumset.hash, sizeof(checksumset.hash), "%s ", $6); snprintf(checksumset.hash, sizeof(checksumset.hash), "%s ", $6);
FREE($6); FREE($6);
addeventaction(&(checksumset).action, $<number>9, $<numb er>10); addeventaction(&(checksumset).action, $<number>9, $<numb er>10);
addchecksum(&checksumset); addchecksum(&checksumset);
} }
| IF CHANGED hashtype CHECKSUM rate1 THEN action1 { | IF CHANGED hashtype CHECKSUM rate1 THEN action1 {
checksumset.test_changes = true; checksumset.test_changes = true;
addeventaction(&(checksumset).action, $<number>7, Action _Ignored); addeventaction(&(checksumset).action, $<number>7, Action _Ignored);
addchecksum(&checksumset); addchecksum(&checksumset);
} }
; ;
hashtype : /* EMPTY */ { checksumset.type = Hash_Unknown; } hashtype : /* EMPTY */ { checksumset.type = Hash_Unknown; }
| MD5HASH { checksumset.type = Hash_Md5; } | MD5HASH { checksumset.type = Hash_Md5; }
| SHA1HASH { checksumset.type = Hash_Sha1; } | SHA1HASH { checksumset.type = Hash_Sha1; }
; ;
inode : IF INODE operator NUMBER rate1 THEN action1 recovery { inode : IF INODE operator NUMBER rate1 THEN action1 recovery_success {
filesystemset.resource = Resource_Inode; filesystemset.resource = Resource_Inode;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $4; filesystemset.limit_absolute = $4;
addeventaction(&(filesystemset).action, $<number>7, $<nu mber>8); addeventaction(&(filesystemset).action, $<number>7, $<nu mber>8);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF INODE operator value PERCENT rate1 THEN action1 recovery { | IF INODE operator value PERCENT rate1 THEN action1 recovery_su ccess {
filesystemset.resource = Resource_Inode; filesystemset.resource = Resource_Inode;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_percent = $<real>4; filesystemset.limit_percent = $<real>4;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF INODE TFREE operator NUMBER rate1 THEN action1 recovery { | IF INODE TFREE operator NUMBER rate1 THEN action1 recovery_suc cess {
filesystemset.resource = Resource_InodeFree; filesystemset.resource = Resource_InodeFree;
filesystemset.operator = $<number>4; filesystemset.operator = $<number>4;
filesystemset.limit_absolute = $5; filesystemset.limit_absolute = $5;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF INODE TFREE operator value PERCENT rate1 THEN action1 recov ery { | IF INODE TFREE operator value PERCENT rate1 THEN action1 recov ery_success {
filesystemset.resource = Resource_InodeFree; filesystemset.resource = Resource_InodeFree;
filesystemset.operator = $<number>4; filesystemset.operator = $<number>4;
filesystemset.limit_percent = $<real>5; filesystemset.limit_percent = $<real>5;
addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10); addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
; ;
space : IF SPACE operator value unit rate1 THEN action1 recovery { space : IF SPACE operator value unit rate1 THEN action1 recovery_succe ss {
filesystemset.resource = Resource_Space; filesystemset.resource = Resource_Space;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $<real>4 * $<number>5; filesystemset.limit_absolute = $<real>4 * $<number>5;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF SPACE operator value PERCENT rate1 THEN action1 recovery { | IF SPACE operator value PERCENT rate1 THEN action1 recovery_su ccess {
filesystemset.resource = Resource_Space; filesystemset.resource = Resource_Space;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_percent = $<real>4; filesystemset.limit_percent = $<real>4;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF SPACE TFREE operator value unit rate1 THEN action1 recovery { | IF SPACE TFREE operator value unit rate1 THEN action1 recovery _success {
filesystemset.resource = Resource_SpaceFree; filesystemset.resource = Resource_SpaceFree;
filesystemset.operator = $<number>4; filesystemset.operator = $<number>4;
filesystemset.limit_absolute = $<real>5 * $<number>6; filesystemset.limit_absolute = $<real>5 * $<number>6;
addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10); addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF SPACE TFREE operator value PERCENT rate1 THEN action1 recov ery { | IF SPACE TFREE operator value PERCENT rate1 THEN action1 recov ery_success {
filesystemset.resource = Resource_SpaceFree; filesystemset.resource = Resource_SpaceFree;
filesystemset.operator = $<number>4; filesystemset.operator = $<number>4;
filesystemset.limit_percent = $<real>5; filesystemset.limit_percent = $<real>5;
addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10); addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
; ;
read : IF READ operator value unit currenttime rate1 THEN action1 rec overy { read : IF READ operator value unit currenttime rate1 THEN action1 rec overy_success {
filesystemset.resource = Resource_ReadBytes; filesystemset.resource = Resource_ReadBytes;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $<real>4 * $<number>5; filesystemset.limit_absolute = $<real>4 * $<number>5;
addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10); addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF READ operator NUMBER OPERATION rate1 THEN action1 recovery { | IF READ operator NUMBER OPERATION rate1 THEN action1 recovery_ success {
filesystemset.resource = Resource_ReadOperations; filesystemset.resource = Resource_ReadOperations;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $<number>4; filesystemset.limit_absolute = $<number>4;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
; ;
write : IF WRITE operator value unit currenttime rate1 THEN action1 re covery { write : IF WRITE operator value unit currenttime rate1 THEN action1 re covery_success {
filesystemset.resource = Resource_WriteBytes; filesystemset.resource = Resource_WriteBytes;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $<real>4 * $<number>5; filesystemset.limit_absolute = $<real>4 * $<number>5;
addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10); addeventaction(&(filesystemset).action, $<number>9, $<nu mber>10);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF WRITE operator NUMBER OPERATION rate1 THEN action1 recovery { | IF WRITE operator NUMBER OPERATION rate1 THEN action1 recovery _success {
filesystemset.resource = Resource_WriteOperations; filesystemset.resource = Resource_WriteOperations;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $<number>4; filesystemset.limit_absolute = $<number>4;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
; ;
servicetime : IF SERVICETIME operator NUMBER MILLISECOND rate1 THEN action1 recovery { servicetime : IF SERVICETIME operator NUMBER MILLISECOND rate1 THEN action1 recovery_success {
filesystemset.resource = Resource_ServiceTime; filesystemset.resource = Resource_ServiceTime;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $<number>4; filesystemset.limit_absolute = $<number>4;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
| IF SERVICETIME operator value SECOND rate1 THEN action1 recove ry { | IF SERVICETIME operator value SECOND rate1 THEN action1 recove ry_success {
filesystemset.resource = Resource_ServiceTime; filesystemset.resource = Resource_ServiceTime;
filesystemset.operator = $<number>3; filesystemset.operator = $<number>3;
filesystemset.limit_absolute = $<real>4 * 1000; filesystemset.limit_absolute = $<real>4 * 1000;
addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9); addeventaction(&(filesystemset).action, $<number>8, $<nu mber>9);
addfilesystem(&filesystemset); addfilesystem(&filesystemset);
} }
; ;
fsflag : IF CHANGED FSFLAG rate1 THEN action1 { fsflag : IF CHANGED FSFLAG rate1 THEN action1 {
addeventaction(&(fsflagset).action, $<number>6, Action_I gnored); addeventaction(&(fsflagset).action, $<number>6, Action_I gnored);
skipping to change at line 2769 skipping to change at line 2862
} }
; ;
unit : /* empty */ { $<number>$ = Unit_Byte; } unit : /* empty */ { $<number>$ = Unit_Byte; }
| BYTE { $<number>$ = Unit_Byte; } | BYTE { $<number>$ = Unit_Byte; }
| KILOBYTE { $<number>$ = Unit_Kilobyte; } | KILOBYTE { $<number>$ = Unit_Kilobyte; }
| MEGABYTE { $<number>$ = Unit_Megabyte; } | MEGABYTE { $<number>$ = Unit_Megabyte; }
| GIGABYTE { $<number>$ = Unit_Gigabyte; } | GIGABYTE { $<number>$ = Unit_Gigabyte; }
; ;
permission : IF FAILED PERMISSION NUMBER rate1 THEN action1 recovery { permission : IF FAILED PERMISSION NUMBER rate1 THEN action1 recovery_succes s {
permset.perm = check_perm($4); permset.perm = check_perm($4);
addeventaction(&(permset).action, $<number>7, $<number>8 ); addeventaction(&(permset).action, $<number>7, $<number>8 );
addperm(&permset); addperm(&permset);
} }
| IF CHANGED PERMISSION rate1 THEN action1 recovery { | IF CHANGED PERMISSION rate1 THEN action1 recovery_success {
permset.test_changes = true; permset.test_changes = true;
addeventaction(&(permset).action, $<number>6, Action_Ign ored); addeventaction(&(permset).action, $<number>6, Action_Ign ored);
addperm(&permset); addperm(&permset);
} }
; ;
match : IF CONTENT urloperator PATH rate1 THEN action1 { match : IF CONTENT urloperator PATH rate1 THEN action1 {
matchset.not = $<number>3 == Operator_Equal ? false : tr ue; matchset.not = $<number>3 == Operator_Equal ? false : tr ue;
matchset.ignore = false; matchset.ignore = false;
matchset.match_path = $4; matchset.match_path = $4;
skipping to change at line 2848 skipping to change at line 2941
; ;
matchflagnot : /* EMPTY */ { matchflagnot : /* EMPTY */ {
matchset.not = false; matchset.not = false;
} }
| NOT { | NOT {
matchset.not = true; matchset.not = true;
} }
; ;
size : IF SIZE operator NUMBER unit rate1 THEN action1 recovery { size : IF SIZE operator NUMBER unit rate1 THEN action1 recovery_succe ss {
sizeset.operator = $<number>3; sizeset.operator = $<number>3;
sizeset.size = ((unsigned long long)$4 * $<number>5); sizeset.size = ((unsigned long long)$4 * $<number>5);
addeventaction(&(sizeset).action, $<number>8, $<number>9 ); addeventaction(&(sizeset).action, $<number>8, $<number>9 );
addsize(&sizeset); addsize(&sizeset);
} }
| IF CHANGED SIZE rate1 THEN action1 { | IF CHANGED SIZE rate1 THEN action1 {
sizeset.test_changes = true; sizeset.test_changes = true;
addeventaction(&(sizeset).action, $<number>6, Action_Ign ored); addeventaction(&(sizeset).action, $<number>6, Action_Ign ored);
addsize(&sizeset); addsize(&sizeset);
} }
; ;
uid : IF FAILED UID STRING rate1 THEN action1 recovery { uid : IF FAILED UID STRING rate1 THEN action1 recovery_success {
uidset.uid = get_uid($4, 0); uidset.uid = get_uid($4, 0);
addeventaction(&(uidset).action, $<number>7, $<number>8) ; addeventaction(&(uidset).action, $<number>7, $<number>8) ;
current->uid = adduid(&uidset); current->uid = adduid(&uidset);
FREE($4); FREE($4);
} }
| IF FAILED UID NUMBER rate1 THEN action1 recovery { | IF FAILED UID NUMBER rate1 THEN action1 recovery_success {
uidset.uid = get_uid(NULL, $4); uidset.uid = get_uid(NULL, $4);
addeventaction(&(uidset).action, $<number>7, $<number>8); addeventaction(&(uidset).action, $<number>7, $<number>8);
current->uid = adduid(&uidset); current->uid = adduid(&uidset);
} }
; ;
euid : IF FAILED EUID STRING rate1 THEN action1 recovery { euid : IF FAILED EUID STRING rate1 THEN action1 recovery_success {
uidset.uid = get_uid($4, 0); uidset.uid = get_uid($4, 0);
addeventaction(&(uidset).action, $<number>7, $<number>8) ; addeventaction(&(uidset).action, $<number>7, $<number>8) ;
current->euid = adduid(&uidset); current->euid = adduid(&uidset);
FREE($4); FREE($4);
} }
| IF FAILED EUID NUMBER rate1 THEN action1 recovery { | IF FAILED EUID NUMBER rate1 THEN action1 recovery_success {
uidset.uid = get_uid(NULL, $4); uidset.uid = get_uid(NULL, $4);
addeventaction(&(uidset).action, $<number>7, $<number>8) ; addeventaction(&(uidset).action, $<number>7, $<number>8) ;
current->euid = adduid(&uidset); current->euid = adduid(&uidset);
} }
; ;
secattr : IF FAILED SECURITY ATTRIBUTE STRING rate1 THEN action1 recover y { secattr : IF FAILED SECURITY ATTRIBUTE STRING rate1 THEN action1 recover y_success {
addsecurityattribute($5, $<number>8, $<number>9); addsecurityattribute($5, $<number>8, $<number>9);
} }
| IF FAILED SECURITY ATTRIBUTE PATH rate1 THEN action1 recovery { | IF FAILED SECURITY ATTRIBUTE PATH rate1 THEN action1 recovery_ success {
addsecurityattribute($5, $<number>8, $<number>9); addsecurityattribute($5, $<number>8, $<number>9);
} }
; ;
filedescriptorssystem : IF FILEDESCRIPTORS operator NUMBER rate1 THEN action1 re covery { filedescriptorssystem : IF FILEDESCRIPTORS operator NUMBER rate1 THEN action1 re covery_success {
if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerSystem) if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerSystem)
addfiledescriptors($<number>3, false, (long long )$4, -1., $<number>7, $<number>8); addfiledescriptors($<number>3, false, (long long )$4, -1., $<number>7, $<number>8);
else else
yywarning("The per-system filedescriptors statis tics is not available on this system\n"); yywarning("The per-system filedescriptors statis tics is not available on this system\n");
} }
| IF FILEDESCRIPTORS operator value PERCENT rate1 THEN action1 r ecovery { | IF FILEDESCRIPTORS operator value PERCENT rate1 THEN action1 r ecovery_success {
if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerSystem) if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerSystem)
addfiledescriptors($<number>3, false, -1LL, $<re al>4, $<number>8, $<number>9); addfiledescriptors($<number>3, false, -1LL, $<re al>4, $<number>8, $<number>9);
else else
yywarning("The per-system filedescriptors statis tics is not available on this system\n"); yywarning("The per-system filedescriptors statis tics is not available on this system\n");
} }
; ;
filedescriptorsprocess : IF FILEDESCRIPTORS operator NUMBER rate1 THEN action1 r ecovery { filedescriptorsprocess : IF FILEDESCRIPTORS operator NUMBER rate1 THEN action1 r ecovery_success {
if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerProcess) if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerProcess)
addfiledescriptors($<number>3, false, (long long )$4, -1., $<number>7, $<number>8); addfiledescriptors($<number>3, false, (long long )$4, -1., $<number>7, $<number>8);
else else
yywarning("The per-process filedescriptors stati stics is not available on this system\n"); yywarning("The per-process filedescriptors stati stics is not available on this system\n");
} }
| IF FILEDESCRIPTORS operator value PERCENT rate1 THEN action1 r ecovery { | IF FILEDESCRIPTORS operator value PERCENT rate1 THEN action1 r ecovery_success {
if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerProcessMax) if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerProcessMax)
addfiledescriptors($<number>3, false, -1LL, $<re al>4, $<number>8, $<number>9); addfiledescriptors($<number>3, false, -1LL, $<re al>4, $<number>8, $<number>9);
else else
yywarning("The per-process filedescriptors maxim um is not exposed on this system, so we cannot compute usage %%, please use the test with absolute value\n"); yywarning("The per-process filedescriptors maxim um is not exposed on this system, so we cannot compute usage %%, please use the test with absolute value\n");
} }
; ;
filedescriptorsprocesstotal : IF TOTAL FILEDESCRIPTORS operator NUMBER rate1 THE N action1 recovery { filedescriptorsprocesstotal : IF TOTAL FILEDESCRIPTORS operator NUMBER rate1 THE N action1 recovery_success {
if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerProcess) if (systeminfo.statisticsAvailable & Statistics_Filedesc riptorsPerProcess)
addfiledescriptors($<number>4, true, (long long) $5, -1., $<number>8, $<number>9); addfiledescriptors($<number>4, true, (long long) $5, -1., $<number>8, $<number>9);
else else
yywarning("The per-process filedescriptors stati stics is not available on this system\n"); yywarning("The per-process filedescriptors stati stics is not available on this system\n");
} }
; ;
gid : IF FAILED GID STRING rate1 THEN action1 recovery { gid : IF FAILED GID STRING rate1 THEN action1 recovery_success {
gidset.gid = get_gid($4, 0); gidset.gid = get_gid($4, 0);
addeventaction(&(gidset).action, $<number>7, $<number>8) ; addeventaction(&(gidset).action, $<number>7, $<number>8) ;
current->gid = addgid(&gidset); current->gid = addgid(&gidset);
FREE($4); FREE($4);
} }
| IF FAILED GID NUMBER rate1 THEN action1 recovery { | IF FAILED GID NUMBER rate1 THEN action1 recovery_success {
gidset.gid = get_gid(NULL, $4); gidset.gid = get_gid(NULL, $4);
addeventaction(&(gidset).action, $<number>7, $<number>8) ; addeventaction(&(gidset).action, $<number>7, $<number>8) ;
current->gid = addgid(&gidset); current->gid = addgid(&gidset);
} }
; ;
linkstatus : IF FAILED LINK rate1 THEN action1 recovery { linkstatus : IF FAILED LINK rate1 THEN action1 recovery_success { /* Deprecate
d */
addeventaction(&(linkstatusset).action, $<number>6, $<nu
mber>7);
addlinkstatus(current, &linkstatusset);
}
| IF LINK DOWN rate1 THEN action1 recovery_failure {
linkstatusset.check_invers = false;
addeventaction(&(linkstatusset).action, $<number>6, $<nu
mber>7);
addlinkstatus(current, &linkstatusset);
}
| IF LINK UP rate1 THEN action1 recovery_success {
linkstatusset.check_invers = true;
addeventaction(&(linkstatusset).action, $<number>6, $<nu mber>7); addeventaction(&(linkstatusset).action, $<number>6, $<nu mber>7);
addlinkstatus(current, &linkstatusset); addlinkstatus(current, &linkstatusset);
} }
; ;
linkspeed : IF CHANGED LINK rate1 THEN action1 recovery { linkspeed : IF CHANGED LINK rate1 THEN action1 recovery_success {
addeventaction(&(linkspeedset).action, $<number>6, $<num ber>7); addeventaction(&(linkspeedset).action, $<number>6, $<num ber>7);
addlinkspeed(current, &linkspeedset); addlinkspeed(current, &linkspeedset);
} }
linksaturation : IF SATURATION operator NUMBER PERCENT rate1 THEN action1 recove ry { linksaturation : IF SATURATION operator NUMBER PERCENT rate1 THEN action1 recove ry_success {
linksaturationset.operator = $<number>3; linksaturationset.operator = $<number>3;
linksaturationset.limit = (unsigned long long)$4; linksaturationset.limit = (unsigned long long)$4;
addeventaction(&(linksaturationset).action, $<number>8, $<number>9); addeventaction(&(linksaturationset).action, $<number>8, $<number>9);
addlinksaturation(current, &linksaturationset); addlinksaturation(current, &linksaturationset);
} }
; ;
upload : IF UPLOAD operator NUMBER unit currenttime rate1 THEN action1 recovery { upload : IF UPLOAD operator NUMBER unit currenttime rate1 THEN action1 recovery_success {
bandwidthset.operator = $<number>3; bandwidthset.operator = $<number>3;
bandwidthset.limit = ((unsigned long long)$4 * $<number> 5); bandwidthset.limit = ((unsigned long long)$4 * $<number> 5);
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>6; bandwidthset.range = $<number>6;
addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10); addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10);
addbandwidth(&(current->uploadbyteslist), &bandwidthset) ; addbandwidth(&(current->uploadbyteslist), &bandwidthset) ;
} }
| IF TOTAL UPLOAD operator NUMBER unit totaltime rate1 THEN acti on1 recovery { | IF TOTAL UPLOAD operator NUMBER unit totaltime rate1 THEN acti on1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = ((unsigned long long)$5 * $<number> 6); bandwidthset.limit = ((unsigned long long)$5 * $<number> 6);
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>7; bandwidthset.range = $<number>7;
addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11); addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11);
addbandwidth(&(current->uploadbyteslist), &bandwidthset) ; addbandwidth(&(current->uploadbyteslist), &bandwidthset) ;
} }
| IF TOTAL UPLOAD operator NUMBER unit NUMBER totaltime rate1 TH EN action1 recovery { | IF TOTAL UPLOAD operator NUMBER unit NUMBER totaltime rate1 TH EN action1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = ((unsigned long long)$5 * $<number> 6); bandwidthset.limit = ((unsigned long long)$5 * $<number> 6);
bandwidthset.rangecount = $7; bandwidthset.rangecount = $7;
bandwidthset.range = $<number>8; bandwidthset.range = $<number>8;
addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12); addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12);
addbandwidth(&(current->uploadbyteslist), &bandwidthset) ; addbandwidth(&(current->uploadbyteslist), &bandwidthset) ;
} }
| IF UPLOAD operator NUMBER PACKET currenttime rate1 THEN action 1 recovery { | IF UPLOAD operator NUMBER PACKET currenttime rate1 THEN action 1 recovery_success {
bandwidthset.operator = $<number>3; bandwidthset.operator = $<number>3;
bandwidthset.limit = (unsigned long long)$4; bandwidthset.limit = (unsigned long long)$4;
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>6; bandwidthset.range = $<number>6;
addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10); addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10);
addbandwidth(&(current->uploadpacketslist), &bandwidthse t); addbandwidth(&(current->uploadpacketslist), &bandwidthse t);
} }
| IF TOTAL UPLOAD operator NUMBER PACKET totaltime rate1 THEN ac tion1 recovery { | IF TOTAL UPLOAD operator NUMBER PACKET totaltime rate1 THEN ac tion1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = (unsigned long long)$5; bandwidthset.limit = (unsigned long long)$5;
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>7; bandwidthset.range = $<number>7;
addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11); addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11);
addbandwidth(&(current->uploadpacketslist), &bandwidthse t); addbandwidth(&(current->uploadpacketslist), &bandwidthse t);
} }
| IF TOTAL UPLOAD operator NUMBER PACKET NUMBER totaltime rate1 THEN action1 recovery { | IF TOTAL UPLOAD operator NUMBER PACKET NUMBER totaltime rate1 THEN action1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = (unsigned long long)$5; bandwidthset.limit = (unsigned long long)$5;
bandwidthset.rangecount = $7; bandwidthset.rangecount = $7;
bandwidthset.range = $<number>8; bandwidthset.range = $<number>8;
addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12); addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12);
addbandwidth(&(current->uploadpacketslist), &bandwidthse t); addbandwidth(&(current->uploadpacketslist), &bandwidthse t);
} }
; ;
download : IF DOWNLOAD operator NUMBER unit currenttime rate1 THEN action 1 recovery { download : IF DOWNLOAD operator NUMBER unit currenttime rate1 THEN action 1 recovery_success {
bandwidthset.operator = $<number>3; bandwidthset.operator = $<number>3;
bandwidthset.limit = ((unsigned long long)$4 * $<number> 5); bandwidthset.limit = ((unsigned long long)$4 * $<number> 5);
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>6; bandwidthset.range = $<number>6;
addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10); addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10);
addbandwidth(&(current->downloadbyteslist), &bandwidthse t); addbandwidth(&(current->downloadbyteslist), &bandwidthse t);
} }
| IF TOTAL DOWNLOAD operator NUMBER unit totaltime rate1 THEN ac tion1 recovery { | IF TOTAL DOWNLOAD operator NUMBER unit totaltime rate1 THEN ac tion1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = ((unsigned long long)$5 * $<number> 6); bandwidthset.limit = ((unsigned long long)$5 * $<number> 6);
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>7; bandwidthset.range = $<number>7;
addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11); addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11);
addbandwidth(&(current->downloadbyteslist), &bandwidthse t); addbandwidth(&(current->downloadbyteslist), &bandwidthse t);
} }
| IF TOTAL DOWNLOAD operator NUMBER unit NUMBER totaltime rate1 THEN action1 recovery { | IF TOTAL DOWNLOAD operator NUMBER unit NUMBER totaltime rate1 THEN action1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = ((unsigned long long)$5 * $<number> 6); bandwidthset.limit = ((unsigned long long)$5 * $<number> 6);
bandwidthset.rangecount = $7; bandwidthset.rangecount = $7;
bandwidthset.range = $<number>8; bandwidthset.range = $<number>8;
addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12); addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12);
addbandwidth(&(current->downloadbyteslist), &bandwidthse t); addbandwidth(&(current->downloadbyteslist), &bandwidthse t);
} }
| IF DOWNLOAD operator NUMBER PACKET currenttime rate1 THEN acti on1 recovery { | IF DOWNLOAD operator NUMBER PACKET currenttime rate1 THEN acti on1 recovery_success {
bandwidthset.operator = $<number>3; bandwidthset.operator = $<number>3;
bandwidthset.limit = (unsigned long long)$4; bandwidthset.limit = (unsigned long long)$4;
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>6; bandwidthset.range = $<number>6;
addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10); addeventaction(&(bandwidthset).action, $<number>9, $<num ber>10);
addbandwidth(&(current->downloadpacketslist), &bandwidth set); addbandwidth(&(current->downloadpacketslist), &bandwidth set);
} }
| IF TOTAL DOWNLOAD operator NUMBER PACKET totaltime rate1 THEN action1 recovery { | IF TOTAL DOWNLOAD operator NUMBER PACKET totaltime rate1 THEN action1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = (unsigned long long)$5; bandwidthset.limit = (unsigned long long)$5;
bandwidthset.rangecount = 1; bandwidthset.rangecount = 1;
bandwidthset.range = $<number>7; bandwidthset.range = $<number>7;
addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11); addeventaction(&(bandwidthset).action, $<number>10, $<nu mber>11);
addbandwidth(&(current->downloadpacketslist), &bandwidth set); addbandwidth(&(current->downloadpacketslist), &bandwidth set);
} }
| IF TOTAL DOWNLOAD operator NUMBER PACKET NUMBER totaltime rate 1 THEN action1 recovery { | IF TOTAL DOWNLOAD operator NUMBER PACKET NUMBER totaltime rate 1 THEN action1 recovery_success {
bandwidthset.operator = $<number>4; bandwidthset.operator = $<number>4;
bandwidthset.limit = (unsigned long long)$5; bandwidthset.limit = (unsigned long long)$5;
bandwidthset.rangecount = $7; bandwidthset.rangecount = $7;
bandwidthset.range = $<number>8; bandwidthset.range = $<number>8;
addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12); addeventaction(&(bandwidthset).action, $<number>11, $<nu mber>12);
addbandwidth(&(current->downloadpacketslist), &bandwidth set); addbandwidth(&(current->downloadpacketslist), &bandwidth set);
} }
; ;
icmptype : TYPE ICMPECHO { $<number>$ = ICMP_ECHO; } icmptype : TYPE ICMPECHO { $<number>$ = ICMP_ECHO; }
skipping to change at line 3236 skipping to change at line 3339
* Initialize objects * Initialize objects
*/ */
reset_uidset(); reset_uidset();
reset_gidset(); reset_gidset();
reset_statusset(); reset_statusset();
reset_sizeset(); reset_sizeset();
reset_mailset(); reset_mailset();
reset_sslset(); reset_sslset();
reset_mailserverset(); reset_mailserverset();
reset_mmonitset(); reset_mmonitset();
reset_responsetimeset();
reset_portset(); reset_portset();
reset_permset(); reset_permset();
reset_icmpset(); reset_icmpset();
reset_linkstatusset(); reset_linkstatusset();
reset_linkspeedset(); reset_linkspeedset();
reset_linksaturationset(); reset_linksaturationset();
reset_bandwidthset(); reset_bandwidthset();
reset_rateset(&rate); reset_rateset(&rate);
reset_rateset(&rate1); reset_rateset(&rate1);
reset_rateset(&rate2); reset_rateset(&rate2);
skipping to change at line 3572 skipping to change at line 3676
*/ */
static void addport(Port_T *list, Port_T port) { static void addport(Port_T *list, Port_T port) {
ASSERT(port); ASSERT(port);
if (port->protocol->check == check_radius && port->type != Socket_Udp) if (port->protocol->check == check_radius && port->type != Socket_Udp)
yyerror("Radius protocol test supports UDP only"); yyerror("Radius protocol test supports UDP only");
Port_T p; Port_T p;
NEW(p); NEW(p);
p->is_available = Connection_Init; p->is_available = Connection_Init;
p->check_invers = port->check_invers;
p->type = port->type; p->type = port->type;
p->socket = port->socket; p->socket = port->socket;
p->family = port->family; p->family = port->family;
p->action = port->action; p->action = port->action;
p->timeout = port->timeout; p->timeout = port->timeout;
p->retry = port->retry; p->retry = port->retry;
p->protocol = port->protocol; p->protocol = port->protocol;
p->hostname = port->hostname; p->hostname = port->hostname;
p->url_request = port->url_request; p->url_request = port->url_request;
p->outgoing = port->outgoing; p->outgoing = port->outgoing;
if (p->family == Socket_Unix) { if (p->family == Socket_Unix) {
p->target.unix.pathname = port->target.unix.pathname; p->target.unix.pathname = port->target.unix.pathname;
} else { } else {
p->target.net.port = port->target.net.port; p->target.net.port = port->target.net.port;
if (sslset.flags) { if (sslset.flags) {
#ifdef HAVE_OPENSSL #ifdef HAVE_OPENSSL
p->target.net.ssl.certificate.minimumDays = port->target .net.ssl.certificate.minimumDays; p->target.net.ssl.certificate.minimumDays = port->target .net.ssl.certificate.minimumDays;
if (sslset.flags && (p->target.net.port == 25 || p->targ et.net.port == 143 || p->target.net.port == 587)) if (sslset.flags && (p->target.net.port == 25 || p->targ et.net.port == 143 || p->target.net.port == 587))
sslset.flags = SSL_StartTLS; sslset.flags = SSL_StartTLS;
_setSSLOptions(&(p->target.net.ssl.options)); _setSSLOptions(&(p->target.net.ssl.options));
skipping to change at line 3628 skipping to change at line 3734
} }
} else if (p->protocol->check == check_mysql) { } else if (p->protocol->check == check_mysql) {
if (p->parameters.mysql.rsaChecksum) { if (p->parameters.mysql.rsaChecksum) {
if (! p->parameters.mysql.username) if (! p->parameters.mysql.username)
yyerror2("the rsakey checksum test requires cred entials to be defined"); yyerror2("the rsakey checksum test requires cred entials to be defined");
if (p->target.net.ssl.options.flags != SSL_Disabled) if (p->target.net.ssl.options.flags != SSL_Disabled)
yyerror2("the rsakey checksum test can be used j ust with unsecured mysql protocol"); yyerror2("the rsakey checksum test can be used j ust with unsecured mysql protocol");
} }
} }
p->responsetime.limit = responsetimeset.limit;
p->responsetime.current = responsetimeset.current;
p->responsetime.operator = responsetimeset.operator;
p->next = *list; p->next = *list;
*list = p; *list = p;
reset_sslset(); reset_sslset();
reset_responsetimeset();
reset_portset(); reset_portset();
} }
static void addhttpheader(Port_T port, const char *header) { static void addhttpheader(Port_T port, const char *header) {
if (! port->parameters.http.headers) { if (! port->parameters.http.headers) {
port->parameters.http.headers = List_new(); port->parameters.http.headers = List_new();
} }
if (Str_startsWith(header, "Connection:") && ! Str_sub(header, "close")) { if (Str_startsWith(header, "Connection:") && ! Str_sub(header, "close")) {
yywarning("We don't recommend setting the Connection header. Mon it will always close the connection even if 'keep-alive' is set\n"); yywarning("We don't recommend setting the Connection header. Mon it will always close the connection even if 'keep-alive' is set\n");
skipping to change at line 3908 skipping to change at line 4019
p->perm = ps->perm; p->perm = ps->perm;
} }
current->perm = p; current->perm = p;
reset_permset(); reset_permset();
} }
static void addlinkstatus(Service_T s, LinkStatus_T L) { static void addlinkstatus(Service_T s, LinkStatus_T L) {
ASSERT(L); ASSERT(L);
LinkStatus_T l; LinkStatus_T l;
// Sanity check: we don't support link up/down tests mix
for (l = s->linkstatuslist; l; l = l->next) {
if (l->check_invers != L->check_invers)
yyerror2("Mixing link up and down tests is not supported
");
}
if (L->check_invers)
s->inverseStatus = true;
NEW(l); NEW(l);
l->check_invers = L->check_invers;
l->action = L->action; l->action = L->action;
l->next = s->linkstatuslist; l->next = s->linkstatuslist;
s->linkstatuslist = l; s->linkstatuslist = l;
reset_linkstatusset(); reset_linkstatusset();
} }
static void addlinkspeed(Service_T s, LinkSpeed_T L) { static void addlinkspeed(Service_T s, LinkSpeed_T L) {
ASSERT(L); ASSERT(L);
skipping to change at line 4142 skipping to change at line 4264
/* /*
* Add a new icmp object to the current service's icmp list * Add a new icmp object to the current service's icmp list
*/ */
static void addicmp(Icmp_T is) { static void addicmp(Icmp_T is) {
Icmp_T icmp; Icmp_T icmp;
ASSERT(is); ASSERT(is);
NEW(icmp); NEW(icmp);
icmp->family = is->family; icmp->family = is->family;
icmp->type = is->type; icmp->type = is->type;
icmp->size = is->size; icmp->size = is->size;
icmp->count = is->count; icmp->count = is->count;
icmp->timeout = is->timeout; icmp->timeout = is->timeout;
icmp->action = is->action; icmp->action = is->action;
icmp->outgoing = is->outgoing; icmp->outgoing = is->outgoing;
icmp->is_available = Connection_Init; icmp->check_invers = is->check_invers;
icmp->response = -1; icmp->is_available = Connection_Init;
icmp->responsetime.limit = responsetimeset.limit;
icmp->responsetime.current = responsetimeset.current;
icmp->responsetime.operator = responsetimeset.operator;
icmp->next = current->icmplist; icmp->next = current->icmplist;
current->icmplist = icmp; current->icmplist = icmp;
reset_responsetimeset();
reset_icmpset(); reset_icmpset();
} }
/* /*
* Set EventAction object * Set EventAction object
*/ */
static void addeventaction(EventAction_T *_ea, Action_Type failed, Action_Type s ucceeded) { static void addeventaction(EventAction_T *_ea, Action_Type failed, Action_Type s ucceeded) {
EventAction_T ea; EventAction_T ea;
ASSERT(_ea); ASSERT(_ea);
skipping to change at line 4701 skipping to change at line 4828
static void reset_mmonitset() { static void reset_mmonitset() {
memset(&mmonitset, 0, sizeof(struct Mmonit_T)); memset(&mmonitset, 0, sizeof(struct Mmonit_T));
mmonitset.timeout = Run.limits.networkTimeout; mmonitset.timeout = Run.limits.networkTimeout;
} }
/* /*
* Reset the Port set to default values * Reset the Port set to default values
*/ */
static void reset_portset() { static void reset_portset() {
memset(&portset, 0, sizeof(struct Port_T)); memset(&portset, 0, sizeof(struct Port_T));
portset.check_invers = false;
portset.socket = -1; portset.socket = -1;
portset.type = Socket_Tcp; portset.type = Socket_Tcp;
portset.family = Socket_Ip; portset.family = Socket_Ip;
portset.timeout = Run.limits.networkTimeout; portset.timeout = Run.limits.networkTimeout;
portset.retry = 1; portset.retry = 1;
portset.protocol = Protocol_get(Protocol_DEFAULT); portset.protocol = Protocol_get(Protocol_DEFAULT);
urlrequest = NULL; urlrequest = NULL;
} }
/* /*
skipping to change at line 4760 skipping to change at line 4888
/* /*
* Reset the Uptime set to default values * Reset the Uptime set to default values
*/ */
static void reset_uptimeset() { static void reset_uptimeset() {
uptimeset.operator = Operator_Equal; uptimeset.operator = Operator_Equal;
uptimeset.uptime = 0; uptimeset.uptime = 0;
uptimeset.action = NULL; uptimeset.action = NULL;
} }
static void reset_responsetimeset() {
responsetimeset.operator = Operator_Less;
responsetimeset.current = 0.;
responsetimeset.limit = -1.;
}
static void reset_linkstatusset() { static void reset_linkstatusset() {
linkstatusset.check_invers = false;
linkstatusset.action = NULL; linkstatusset.action = NULL;
} }
static void reset_linkspeedset() { static void reset_linkspeedset() {
linkspeedset.action = NULL; linkspeedset.action = NULL;
} }
static void reset_linksaturationset() { static void reset_linksaturationset() {
linksaturationset.limit = 0.; linksaturationset.limit = 0.;
linksaturationset.operator = Operator_Equal; linksaturationset.operator = Operator_Equal;
skipping to change at line 4879 skipping to change at line 5014
} }
/* /*
* Reset the ICMP set to default values * Reset the ICMP set to default values
*/ */
static void reset_icmpset() { static void reset_icmpset() {
icmpset.type = ICMP_ECHO; icmpset.type = ICMP_ECHO;
icmpset.size = ICMP_SIZE; icmpset.size = ICMP_SIZE;
icmpset.count = ICMP_ATTEMPT_COUNT; icmpset.count = ICMP_ATTEMPT_COUNT;
icmpset.timeout = Run.limits.networkTimeout; icmpset.timeout = Run.limits.networkTimeout;
icmpset.check_invers = false;
icmpset.action = NULL; icmpset.action = NULL;
} }
/* /*
* Reset the Rate set to default values * Reset the Rate set to default values
*/ */
static void reset_rateset(struct rate_t *r) { static void reset_rateset(struct rate_t *r) {
r->count = 1; r->count = 1;
r->cycles = 1; r->cycles = 1;
} }
 End of changes. 90 change blocks. 
77 lines changed or deleted 240 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)