/[monit]/monit/p.y
ViewVC logotype

Diff of /monit/p.y

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.93 by martinp, Sun Aug 3 19:19:39 2003 UTC revision 1.94 by hauk, Mon Aug 4 07:52:12 2003 UTC
# Line 97  Line 97 
97      char *pathname;      char *pathname;
98      char *certmd5;      char *certmd5;
99      Protocol_T protocol;      Protocol_T protocol;
100        int  action;
101        int timeout;
102    };    };
103    
104    struct ResourceSet {    struct ResourceSet {
# Line 150  Line 152 
152    static Service_T depend_list= NULL;    static Service_T depend_list= NULL;
153    static struct IHavePrecedence ihp= {FALSE, FALSE, FALSE};    static struct IHavePrecedence ihp= {FALSE, FALSE, FALSE};
154    static struct PortSet portset= {-1, NULL, 0, SOCK_STREAM, AF_INET, FALSE,    static struct PortSet portset= {-1, NULL, 0, SOCK_STREAM, AF_INET, FALSE,
155      SSL_VERSION_AUTO, NULL, NULL, NULL, NULL};     SSL_VERSION_AUTO, NULL, NULL, NULL, NULL, ACTION_ALERT, NET_TIMEOUT};
156    static struct ResourceSet resourceset= {0, 0, OPERATOR_EQUAL, 1,    static struct ResourceSet resourceset= {0, 0, OPERATOR_EQUAL, 1,
157      ACTION_ALERT};      ACTION_ALERT};
158    static struct TimestampSet timestampset= {NULL, OPERATOR_EQUAL, 0, 0,    static struct TimestampSet timestampset= {NULL, OPERATOR_EQUAL, 0, 0,
# Line 208  Line 210 
210    char *string;    char *string;
211  }  }
212    
213  %token SET LOGFILE DAEMON SYSLOG MAILSERVER HTTPD ALLOW ADDRESS INIT  %token SET LOGFILE FACILITY DAEMON SYSLOG MAILSERVER HTTPD ALLOW ADDRESS INIT
214  %token PEMFILE ENABLE DISABLE HTTPDSSL CLIENTPEMFILE ALLOWSELFCERTIFICATION  %token PEMFILE ENABLE DISABLE HTTPDSSL CLIENTPEMFILE ALLOWSELFCERTIFICATION
215  %token STATEFILE  %token STATEFILE
216  %token CHECK PIDFILE START STOP PATHTOK  %token CHECK PIDFILE START STOP PATHTOK
217  %token HOST PORT TYPE UDP TCP TCPSSL PROTOCOL FACILITY  %token HOST PORT TYPE UDP TCP TCPSSL PROTOCOL CONNECTION
218  %token ALERT MAILFORMAT UNIXSOCKET  %token ALERT MAILFORMAT UNIXSOCKET
219  %token TIMEOUT RESTART CHECKSUM EXPECT EVERY  %token TIMEOUT RESTART CHECKSUM EXPECT EVERY
220  %token DEFAULT HTTP FTP SMTP POP IMAP NNTP SSH DWP LDAP2 LDAP3 RDATE  %token DEFAULT HTTP FTP SMTP POP IMAP NNTP SSH DWP LDAP2 LDAP3 RDATE
# Line 230  Line 232 
232  %token SSLAUTO SSLV2 SSLV3 TLSV1 CERTMD5  %token SSLAUTO SSLV2 SSLV3 TLSV1 CERTMD5
233  %token BYTE KILOBYTE MEGABYTE GIGABYTE  %token BYTE KILOBYTE MEGABYTE GIGABYTE
234  %token INODE SPACE PERM SIZE  %token INODE SPACE PERM SIZE
235  %token EXEC  %token EXEC AFTER
236    
237  %left GREATER LESS EQUAL NOTEQUAL  %left GREATER LESS EQUAL NOTEQUAL
238    
# Line 264  optproclist     : /* EMPTY */ Line 266  optproclist     : /* EMPTY */
266    
267  optproc         : start  optproc         : start
268                  | stop                  | stop
269                  | host port type protocol {                  | host port type protocol timeoutafter action {
270                     addport(&portset);                     portset.timeout= $<number>5;
271                    }                     portset.action= $<number>6;
272                  | unixsocket type protocol {                     addport(&portset);
273                      }
274                    | unixsocket type protocol timeoutafter action {
275                       portset.timeout= $<number>5;
276                       portset.action= $<number>6;
277                     addport(&portset);                     addport(&portset);
278                    }                    }
279                  | timestamp {                  | timestamp {
# Line 612  timeout         : TIMEOUT NUMBER NUMBER Line 618  timeout         : TIMEOUT NUMBER NUMBER
618                   }                   }
619                  ;                  ;
620    
621    timeoutafter    : /* EMPTY */ {
622                       $<number>$= NET_TIMEOUT;
623                      }
624                    | TIMEOUT AFTER NUMBER SECOND {
625                       $<number>$= $3;
626                      }
627                    ;
628    
629  alert           : alertmail '{' eventoptionlist '}' formatlist {  alert           : alertmail '{' eventoptionlist '}' formatlist {
630                     addmail($<string>1, &mailset, eventset);                     addmail($<string>1, &mailset, eventset);
631                   }                   }
# Line 628  eventoptionlist : eventoption Line 642  eventoptionlist : eventoption
642                  | eventoptionlist eventoption                  | eventoptionlist eventoption
643                  ;                  ;
644    
645  eventoption     : START     { eventset |= EVENT_START; }  eventoption     : START      { eventset |= EVENT_START; }
646                  | STOP      { eventset |= EVENT_STOP; }                  | STOP       { eventset |= EVENT_STOP; }
647                  | RESTART   { eventset |= EVENT_RESTART; }                  | RESTART    { eventset |= EVENT_RESTART; }
648                  | CHECKSUM  { eventset |= EVENT_CHECKSUM; }                  | CHECKSUM   { eventset |= EVENT_CHECKSUM; }
649                  | RESOURCE  { eventset |= EVENT_RESOURCE; }                  | RESOURCE   { eventset |= EVENT_RESOURCE; }
650                  | TIMEOUT   { eventset |= EVENT_TIMEOUT; }                  | TIMEOUT    { eventset |= EVENT_TIMEOUT; }
651                  | TIMESTAMP { eventset |= EVENT_TIMESTAMP; }                  | TIMESTAMP  { eventset |= EVENT_TIMESTAMP; }
652                  | SIZE      { eventset |= EVENT_SIZE; }                  | SIZE       { eventset |= EVENT_SIZE; }
653                    | CONNECTION { eventset |= EVENT_CONNECTION; }
654                  ;                  ;
655    
656  formatlist      : /* EMPTY */  formatlist      : /* EMPTY */
# Line 1117  static void addport(struct PortSet *pp) Line 1132  static void addport(struct PortSet *pp)
1132    p->type= pp->type;    p->type= pp->type;
1133    p->socket= pp->socket;    p->socket= pp->socket;
1134    p->family= pp->family;    p->family= pp->family;
1135      p->action= pp->action;
1136      p->timeout= pp->timeout;
1137    p->request= pp->request;    p->request= pp->request;
1138    p->protocol= pp->protocol;    p->protocol= pp->protocol;
1139    p->pathname= pp->pathname;    p->pathname= pp->pathname;
# Line 1127  static void addport(struct PortSet *pp) Line 1144  static void addport(struct PortSet *pp)
1144    } else if(pp->family == AF_UNIX) {    } else if(pp->family == AF_UNIX) {
1145      snprintf(address, STRLEN, "UNIX[%s]", pp->pathname);      snprintf(address, STRLEN, "UNIX[%s]", pp->pathname);
1146    }    }
1147      p->address= xstrdup(address);
1148      
1149    if(pp->ssl == TRUE) {    if(pp->ssl == TRUE) {
1150      if(!have_ssl()) {      if(!have_ssl()) {
1151        log("%s: The ssl check cannot be activated at line %d, "        log("%s: The ssl check cannot be activated at line %d, "
# Line 1143  static void addport(struct PortSet *pp) Line 1161  static void addport(struct PortSet *pp)
1161        p->SSL.version= pp->sslversion;        p->SSL.version= pp->sslversion;
1162      }      }
1163    }    }
1164      
1165    p->address= xstrdup(address);    if((p->action == ACTION_EXEC) && command) {
1166        p->exec= command;
1167        command= NULL;
1168      }
1169        
1170    p->next= current->portlist;    p->next= current->portlist;
1171    current->portlist= p;    current->portlist= p;
# Line 1243  static void addtimestamp(struct Timestam Line 1264  static void addtimestamp(struct Timestam
1264    
1265    
1266  /*  /*
1267   * Add a new file object to the current service size list   * Add a new Size object to the current service size list
1268   */   */
1269  static void addsize(struct SizeSet *ss) {  static void addsize(struct SizeSet *ss) {
1270    
# Line 1705  static void reset_portset() { Line 1726  static void reset_portset() {
1726    portset.request= NULL;    portset.request= NULL;
1727    portset.protocol= NULL;    portset.protocol= NULL;
1728    portset.pathname= NULL;    portset.pathname= NULL;
1729      portset.action= ACTION_ALERT;
1730      portset.timeout= NET_TIMEOUT;
1731    
1732  }  }
1733    

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.94

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26