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

📄 htaaprot.h

📁 用于linux和其他unix下面的
💻 H
字号:
/*                                   PROTECTION SETUP FILE */#ifndef HTAAPROT_H#define HTAAPROT_H#include <HTGroup.h>#include <HTAssoc.h>/*Server's Representation of Document (Tree) Protections */typedef struct {    char *        template;     /* Template for this protection         */    char *        filename;     /* Current document file                */    char *        uid_name;     /* Effective uid (name of it)           */    char *        gid_name;     /* Effective gid (name of it)           */    GroupDef *    mask_group;   /* Allowed users and IP addresses       */    HTList *      valid_schemes;/* Valid authentication schemes         */    HTAssocList * values;       /* Association list for scheme specific */                                /* parameters.                          */} HTAAProt;/*Callbacks for rule system   The following three functioncs are called by the rule system:      HTAA_clearProtections() when starting to translate a filename      HTAA_setDefaultProtection() when "defprot" rule is matched      HTAA_setCurrentProtection() when "protect" rule is matched   Protection setup files are cached by these functions. *//* PUBLIC                                       HTAA_setDefaultProtection()**              SET THE DEFAULT PROTECTION MODE**              (called by rule system when a**              "defprot" rule is matched)** ON ENTRY:**      cur_docname     is the current result of rule translations.**      prot_filename   is the protection setup file (second argument**                      for "defprot" rule, optional)**      eff_ids         contains user and group names separated by**                      a dot, corresponding to the effective uid**                      gid under which the server should run,**                      default is "nobody.nogroup" (third argument**                      for "defprot" rule, optional; can be given**                      only if protection setup file is also given).**** ON EXIT:**      returns         nothing.**                      Sets the module-wide variable default_prot.*/extern void HTAA_setDefaultProtection PARAMS((CONST char *      cur_docname,                                              CONST char *      prot_filename,                                              CONST char *      eff_ids));/* PUBLIC                                       HTAA_setCurrentProtection()**              SET THE CURRENT PROTECTION MODE**              (called by rule system when a**              "protect" rule is matched)** ON ENTRY:**      cur_docname     is the current result of rule translations.**      prot_filename   is the protection setup file (second argument**                      for "protect" rule, optional)**      eff_ids         contains user and group names separated by**                      a dot, corresponding to the effective uid**                      gid under which the server should run,**                      default is "nobody.nogroup" (third argument**                      for "protect" rule, optional; can be given**                      only if protection setup file is also given).**** ON EXIT:**      returns         nothing.**                      Sets the module-wide variable current_prot.*/extern void HTAA_setCurrentProtection PARAMS((CONST char *      cur_docname,                                              CONST char *      prot_filename,                                              CONST char *      eff_ids));/* SERVER INTERNAL                                      HTAA_clearProtections()**              CLEAR DOCUMENT PROTECTION MODE**              (ALSO DEFAULT PROTECTION)**              (called by the rule system)** ON ENTRY:**      No arguments.**** ON EXIT:**      returns nothing.**              Frees the memory used by protection information.*/extern void HTAA_clearProtections NOPARAMS;/*Getting Protection Settings      HTAA_getCurrentProtection() returns the current protection mode (if there was a      "protect" rule). NULL, if no "protect" rule has been matched.      HTAA_getDefaultProtection() sets the current protection mode to what it was set to      by "defprot" rule and also returns it (therefore after this call also      HTAA_getCurrentProtection() returns the same structure. *//* PUBLIC                                       HTAA_getCurrentProtection()**              GET CURRENT PROTECTION SETUP STRUCTURE**              (this is set up by callbacks made from**               the rule system when matching "protect"**               (and "defprot") rules)** ON ENTRY:**      HTTranslate() must have been called before calling**      this function.**** ON EXIT:**      returns a HTAAProt structure representing the**              protection setup of the HTTranslate()'d file.**              This must not be free()'d.*/extern HTAAProt *HTAA_getCurrentProtection NOPARAMS;/* PUBLIC                                       HTAA_getDefaultProtection()**              GET DEFAULT PROTECTION SETUP STRUCTURE**              (this is set up by callbacks made from**               the rule system when matching "defprot"**               rules)** ON ENTRY:**      HTTranslate() must have been called before calling**      this function.**** ON EXIT:**      returns a HTAAProt structure representing the**              default protection setup of the HTTranslate()'d**              file (if HTAA_getCurrentProtection() returned**              NULL, i.e., if there is no "protect" rule**              but ACL exists, and we need to know default**              protection settings).**              This must not be free()'d.*/extern HTAAProt *HTAA_getDefaultProtection NOPARAMS;/*Get User and Group IDs to Which Set to */#ifndef VMS/* PUBLIC                                                       HTAA_getUid()**              GET THE USER ID TO CHANGE THE PROCESS UID TO** ON ENTRY:**      No arguments.**** ON EXIT:**      returns the uid number to give to setuid() system call.**              Default is 65534 (nobody).*/extern int HTAA_getUid NOPARAMS;/* PUBLIC                                                       HTAA_getGid()**              GET THE GROUP ID TO CHANGE THE PROCESS GID TO** ON ENTRY:**      No arguments.**** ON EXIT:**      returns the uid number to give to setgid() system call.**              Default is 65534 (nogroup).*/extern int HTAA_getGid NOPARAMS;#endif /* not VMS *//*   For VMS: */#ifdef VMS/* PUBLIC                                                       HTAA_getUidName()**              GET THE USER ID NAME (VMS ONLY)** ON ENTRY:**      No arguments.**** ON EXIT:**      returns the user name**              Default is "" (nobody).*/extern char * HTAA_getUidName NOPARAMS;/* PUBLIC                                                       HTAA_getFileName**              GET THE FILENAME (VMS ONLY)** ON ENTRY:**      No arguments.**** ON EXIT:**      returns the filename*/extern char * HTAA_getFileName NOPARAMS;#endif /* VMS *//* PUBLIC                                                       HTAA_UidToName**              GET THE USER NAME** ON ENTRY:**      The user-id**** ON EXIT:**      returns the user name*/extern char * HTAA_UidToName PARAMS((int uid));/* PUBLIC                                                       HTAA_NameToUid**              GET THE USER ID** ON ENTRY:**      The user-name**** ON EXIT:**      returns the user id*/extern int HTAA_NameToUid PARAMS((char *name));/* PUBLIC                                                       HTAA_GidToName**              GET THE GROUP NAME** ON ENTRY:**      The group-id**** ON EXIT:**      returns the group name*/extern char * HTAA_GidToName PARAMS((int gid));/* PUBLIC                                                       HTAA_NameToGid**              GET THE GROUP ID** ON ENTRY:**      The group-name**** ON EXIT:**      returns the group id*/extern int HTAA_NameToGid PARAMS((char *name));/* */#endif /* not HTAAPROT_H *//*   End of file HTAAProt.h.  */

⌨️ 快捷键说明

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