home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.lbl.gov / 2014.05.ftp.ee.lbl.gov.tar / ftp.ee.lbl.gov / acld-1.11.tar.gz / acld-1.11.tar / acld-1.11 / cf.h < prev    next >
C/C++ Source or Header  |  2012-02-07  |  3KB  |  91 lines

  1. /* @(#) $Id: cf.h 806 2012-02-08 03:40:06Z leres $ (LBL) */
  2. #ifndef acld_cf_h
  3. #define acld_cf_h
  4.  
  5. #include "acl.h"
  6.  
  7. /* Validate unsigned 16 bit value */
  8. #define VALID_PORT(p) ((p) > 0 && (p) <= 0xFFFF)
  9.  
  10. struct cf {
  11.     time_t c_time;            /* unix timestamp of config file */
  12.     int c_port;            /* local port to listen for clients */
  13.     int c_portro;            /* read only clients */
  14.     int c_portweb;            /* web registration clients */
  15.     int c_login_secs;        /* seconds to between login attempts */
  16.     int c_ayt_secs;            /* seconds to wait before sync'ing */
  17.     int c_sync_secs;        /* seconds to wait before sync'ing */
  18.     int c_select_secs;        /* default seconds in select loop */
  19.     int c_incrseq;            /* increment or decrement seq numbers */
  20.     int c_netsfac;            /* syslog() facility for nets_log() */
  21.  
  22.     int c_lowseq;            /* lowest sequence number */
  23.     int c_highseq;            /* highest sequence number */
  24.     int c_maxseq;            /* maximum total number of rules */
  25.  
  26.     int c_lowportseq;        /* lowest port sequence number */
  27.     int c_highportseq;        /* highest port sequence number */
  28.  
  29.     int c_lowpermithostportseq;    /* lowest host/port sequence number */
  30.     int c_highpermithostportseq;    /* highest host/port sequence number */
  31.  
  32.     int c_nullzeromax;        /* maximum total number of nullzero's */
  33.  
  34.     struct addr c_bindaddr;        /* local addr to bind to */
  35.  
  36.     int c_ipv4_maxwidth;        /* widest dropable IPv4 cidr block */
  37.     int c_ipv6_maxwidth;        /* widest dropable IPv4 cidr block */
  38.  
  39.     char *c_cuser;            /* connect username */
  40.     char *c_cpass1;            /* primary connect password */
  41.     char *c_cpass2;            /* backup connect password */
  42.  
  43.     char *c_euser;            /* enable username */
  44.     char *c_epass1;            /* primary enable password */
  45.     char *c_epass2;            /* backup enable password */
  46.  
  47.     char *c_expect;            /* pathname expect binary */
  48.     char *c_router;            /* ip addr or hostname of router */
  49.     char *c_script;            /* pathname expect binary */
  50.     char *c_id;            /* optional NETS log id */
  51. #ifdef HAVE_BROCCOLI
  52.     struct addr c_broaddr;        /* broccoli listen address */
  53.     int c_portbro;            /* broccoli listen port */
  54. #endif
  55.  
  56. #ifdef HAVE_CFORCE
  57.     char *c_cforceaddr;        /* cForce device ip addr or hostname */
  58.     char *c_cforcedata;        /* cForce saved data file location */
  59.     int c_portcforce;        /* cForce device port */
  60. #endif
  61.  
  62.     struct acllimit *c_acllimit;
  63.     size_t c_acllimitlen;
  64.     size_t c_acllimitsize;
  65.  
  66.     struct acllist *c_acllist;
  67.     size_t c_acllistlen;
  68.     size_t c_acllistsize;
  69.  
  70.     struct attrlist *c_attrlist;
  71.     size_t c_attrlistlen;
  72.     size_t c_attrlistsize;
  73.  
  74.     struct intlist *c_intlist;
  75.     size_t c_intlistlen;
  76.     size_t c_intlistsize;
  77.  
  78.     struct route *c_nullzeronets;
  79.     size_t c_nullzeronetslen;
  80.     size_t c_nullzeronetssize;
  81.  
  82.     char *c_whitelistfn;
  83.     struct addr *c_whitelist;
  84.     size_t c_whitelistlen;
  85.     size_t c_whitelistsize;
  86. };
  87.  
  88. void freecf(struct cf *);
  89. struct cf *parsecf(const char *);
  90. #endif
  91.