Changeset 7cdd67a86b56024958cccb41041404e8bfa465a5

Show
Ignore:
Timestamp:
02/02/08 16:43:44 (6 years ago)
Author:
Theo Schlossnagle <jesus@omniti.com>
git-committer:
Theo Schlossnagle <jesus@omniti.com> 1201970624 +0000
git-parent:

[5f413b75efe299d3b88314bbcc3c21cbbcec36a7]

git-author:
Theo Schlossnagle <jesus@omniti.com> 1201970624 +0000
Message:

inherited options

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/noit_conf.c

    r5f413b7 r7cdd67a  
    165165  pobj = xmlXPathEval((xmlChar *)path, current_ctxt); 
    166166  if(pobj) { 
     167    xmlNodePtr node; 
    167168    switch(pobj->type) { 
    168169      case XPATH_NODESET: 
    169170        if(xmlXPathNodeSetIsEmpty(pobj->nodesetval)) return 0; 
    170171        i = xmlXPathNodeSetGetLength(pobj->nodesetval); 
    171         assert(i == 1); 
    172         *value = (char *)xmlXPathCastNodeSetToString(pobj->nodesetval); 
     172        node = xmlXPathNodeSetItem(pobj->nodesetval, i-1); 
     173        *value = (char *)xmlXPathCastNodeToString(node); 
    173174        break; 
    174175      default: 
  • src/noit_poller.c

    r5f413b7 r7cdd67a  
    8282      continue; 
    8383    } 
    84     if(!noit_conf_get_stringbuf(sec[i], "target", target, sizeof(target))) { 
    85       if(!noit_conf_get_stringbuf(sec[i], "../target", target, sizeof(target))) { 
    86          noitL(noit_stderr, "check uuid: '%s' has no target\n", 
    87                   uuid_str); 
    88          continue; 
    89       } 
    90     } 
    91     if(!noit_conf_get_stringbuf(sec[i], "module", module, sizeof(module))) { 
    92       if(!noit_conf_get_stringbuf(sec[i], "../module", module, sizeof(module))) { 
    93         noitL(noit_stderr, "check uuid: '%s' has no module\n", 
    94               uuid_str); 
    95         continue; 
    96       } 
     84    if(!noit_conf_get_stringbuf(sec[i], "ancestor-or-self::node()/target", target, sizeof(target))) { 
     85      noitL(noit_stderr, "check uuid: '%s' has no target\n", 
     86            uuid_str); 
     87      continue; 
     88    } 
     89    if(!noit_conf_get_stringbuf(sec[i], "ancestor-or-self::node()/module", module, sizeof(module))) { 
     90      noitL(noit_stderr, "check uuid: '%s' has no module\n", 
     91            uuid_str); 
     92      continue; 
    9793    } 
    9894    if(!noit_conf_get_stringbuf(sec[i], "name", name, sizeof(name))) { 
    9995      strcpy(name, module); 
    10096    } 
    101     if(!noit_conf_get_int(sec[i], "period", &period)) { 
    102       if(!noit_conf_get_int(sec[i], "../period", &period)) { 
    103         no_period = 1; 
    104       } 
    105     } 
    106     if(!noit_conf_get_stringbuf(sec[i], "oncheck", oncheck, sizeof(oncheck))) { 
    107       if(!noit_conf_get_stringbuf(sec[i], "../oncheck", oncheck, sizeof(oncheck))) { 
    108         oncheck[0] = '\0'; 
    109         no_oncheck = 1; 
    110       } 
     97    if(!noit_conf_get_int(sec[i], "ancestor-or-self::node()/period", &period)) { 
     98      no_period = 1; 
     99    } 
     100    if(!noit_conf_get_stringbuf(sec[i], "ancestor-or-self::node()/oncheck", oncheck, sizeof(oncheck))) { 
     101      oncheck[0] = '\0'; 
     102      no_oncheck = 1; 
    111103    } 
    112104    if(no_period && no_oncheck) { 
     
    120112      continue; 
    121113    } 
    122     if(!noit_conf_get_int(sec[i], "timeout", &timeout)) { 
    123       if(!noit_conf_get_int(sec[i], "../timeout", &timeout)) { 
    124         noitL(noit_stderr, "check uuid: '%s' has no timeout\n", uuid_str); 
    125         continue; 
    126       } 
     114    if(!noit_conf_get_int(sec[i], "ancestor-or-self::node()/timeout", &timeout)) { 
     115      noitL(noit_stderr, "check uuid: '%s' has no timeout\n", uuid_str); 
     116      continue; 
    127117    } 
    128118    if(!no_period && timeout >= period) { 
  • src/sample.conf

    r5f413b7 r7cdd67a  
    6666      <check uuid="1b4e28ba-2fa1-11d2-883f-b9a761bde3fd"> 
    6767        <target>10.225.209.36</target> 
     68        <timeout>2000</timeout> 
    6869      </check> 
    6970    </checkgroup>