⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htgroup.h

📁 用于linux和其他unix下面的
💻 H
字号:
/*                                    GROUP FILE ROUTINES */#ifndef HTGROUP_H#define HTGROUP_H#include <HTList.h>typedef HTList GroupDefList;typedef HTList ItemList;typedef struct {    char *      group_name;    ItemList *  item_list;} GroupDef;/*** Access Authorization failure reasons*/typedef enum {    HTAA_OK,            /* 200 OK                               */    HTAA_OK_GATEWAY,    /* 200 OK, acting as a gateway          */    HTAA_NO_AUTH,       /* 401 Unauthorized, not authenticated  */    HTAA_NOT_MEMBER,    /* 401 Unauthorized, not authorized     */    HTAA_IP_MASK,       /* 403 Forbidden by IP mask             */    HTAA_BY_RULE,       /* 403 Forbidden by rule                */    HTAA_NO_ACL,        /* 403 Forbidden, ACL non-existent      */    HTAA_NO_ENTRY,      /* 403 Forbidden, no ACL entry          */    HTAA_SETUP_ERROR,   /* 403 Forbidden, server setup error    */    HTAA_DOTDOT,        /* 403 Forbidden, URL with /../ illegal */    HTAA_HTBIN,         /* 403 Forbidden, /htbin not enabled    */    HTAA_NOT_FOUND      /* 404 Not found, or read protected     */} HTAAFailReasonType;/*Group definition grammar  string                         "sequence of alphanumeric characters"  user_name                         string  group_name                         string  group_ref                         group_name  user_def                         user_name | group_ref  user_def_list                           user_def { ',' user_def }  user_part                         user_def | '(' user_def_list ')'  templ                         "sequence of alphanumeric characters and '*'s"  ip_number_mask                         templ '.' templ '.' templ '.' templ  domain_name_mask                         templ { '.' templ }  address                         ip_number_mask | domain_name_mask  address_def                         address  address_def_list                         address_def { ',' address_def }  address_part                         address_def | '(' address_def_list ')'  item                         [user_part] ['@' address_part]  item_list                         item { ',' item }  group_def                         item_list  group_decl                         group_name ':' group_def  PARSE GROUP DEFINITION */PUBLIC GroupDef *HTAA_parseGroupDef PARAMS((FILE * fp));/*Fill in Pointers to referenced Group Definitions in a Group Definition   References to groups (by their name) are resolved from group_def_list and pointers to   those structures are added to group_def. */PUBLIC void HTAA_resolveGroupReferences PARAMS((GroupDef *     group_def,                                                GroupDefList * group_def_list));/*Read Group File (and do caching)   If group file is already in cache returns a pointer to previously read group definition   list. */PUBLIC GroupDefList *HTAA_readGroupFile PARAMS((CONST char * filename));/*Delete Group Definition   Groups in cache should never be freed by this function.  This should only be used to   free group definitions read by HTAA_parseGroupDef. */PUBLIC void GroupDef_delete PARAMS((GroupDef * group_def));/*Print Out Group Definition (for trace purposes) */PUBLIC void HTAA_printGroupDef PARAMS((GroupDef * group_def));/*Does a User Belong to a Given Set of Groups   This function checks both the username and the internet address. *//* PUBLIC                                       HTAA_userAndInetInGroup()**              CHECK IF USER BELONGS TO TO A GIVEN GROUP**              AND THAT THE CONNECTION COMES FROM AN**              ADDRESS THAT IS ALLOWED BY THAT GROUP** ON ENTRY:**      group           the group definition structure.**      username        connecting user.**      ip_number       browser host IP number, optional.**      ip_name         browser host IP name, optional.**                      However, one of ip_number or ip_name**                      must be given.** ON EXIT:**      returns         HTAA_IP_MASK, if IP address mask was**                      reason for failing.**                      HTAA_NOT_MEMBER, if user does not belong**                      to the group.**                      HTAA_OK if both IP address and user are ok.*/PUBLIC HTAAFailReasonType HTAA_userAndInetInGroup PARAMS((GroupDef * group,                                                          char *     username,                                                          char *     ip_number,                                                          char *     ip_name));/* */#endif /* not HTGROUP_H *//*   End of file HTGroup.h.  */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -