-struct ConfItem {
- unsigned int status; /* If CONF_ILLEGAL, delete when no clients */
- unsigned int clients; /* Number of *LOCAL* clients using this */
- struct in_addr ipnum; /* ip number of host field */
- char bits; /* Number of bits for ipkills */
- char* host;
- char* passwd;
- char* name;
- unsigned short int port;
- time_t hold; /* Hold until this time (calendar time) */
- int dns_pending; /* a dns request is pending */
- struct ConfClass* confClass; /* Class of connection */
- struct ConfItem* next;
+/** Configuration item to limit peer or client access. */
+struct ConfItem
+{
+ struct ConfItem *next; /**< Next ConfItem in #GlobalConfList */
+ unsigned int status; /**< Set of CONF_* bits. */
+ unsigned int clients; /**< Number of *LOCAL* clients using this */
+ unsigned int maximum; /**< For CONF_SERVER, max hops.
+ For CONF_CLIENT, max connects per IP. */
+ struct ConnectionClass *conn_class; /**< Class of connection */
+ struct irc_sockaddr origin; /**< Local address for outbound connections */
+ struct irc_sockaddr address; /**< IP and port */
+ char *username; /**< For CONF_CLIENT and CONF_OPERATOR, username mask. */
+ char *host; /**< Peer hostname */
+ char *origin_name; /**< Text form of origin address */
+ char *passwd; /**< Password field */
+ char *name; /**< Name of peer */
+ char *hub_limit; /**< Mask that limits servers allowed behind
+ this one. */
+ time_t hold; /**< Earliest time to attempt an outbound
+ connect on this ConfItem. */
+ int dns_pending; /**< A dns request is pending. */
+ int usessl; /**< establish SSL connection */
+ int flags; /**< Additional modifiers for item. */
+ int addrbits; /**< Number of bits valid in ConfItem::address. */
+ struct Privs privs; /**< Privileges for all users in this class. */
+ /** Used to detect if a privilege has been set by this ConfItem. */
+ struct Privs privs_dirty;