about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation/HTAAUtil.h
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library/Implementation/HTAAUtil.h')
-rw-r--r--WWW/Library/Implementation/HTAAUtil.h318
1 files changed, 0 insertions, 318 deletions
diff --git a/WWW/Library/Implementation/HTAAUtil.h b/WWW/Library/Implementation/HTAAUtil.h
deleted file mode 100644
index 33a8ee30..00000000
--- a/WWW/Library/Implementation/HTAAUtil.h
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * $LynxId: HTAAUtil.h,v 1.13 2010/10/27 00:09:52 tom Exp $
- *
- *                                            Utilities for the Authorization parts of libwww
- *           COMMON PARTS OF AUTHORIZATION MODULE TO BOTH SERVER AND BROWSER
- *
- * This module is the interface to the common parts of Access Authorization (AA) package
- * for both server and browser.  Important to know about memory allocation:
- *
- * Routines in this module use dynamic allocation, but free automatically all the memory
- * reserved by them.
- *
- * Therefore the caller never has to (and never should) free() any object returned by
- * these functions.
- *
- * Therefore also all the strings returned by this package are only valid until the next
- * call to the same function is made. This approach is selected, because of the nature of
- * access authorization: no string returned by the package needs to be valid longer than
- * until the next call.
- *
- * This also makes it easy to plug the AA package in: you don't have to ponder whether to
- * free() something here or is it done somewhere else (because it is always done somewhere
- * else).
- *
- * The strings that the package needs to store are copied so the original strings given as
- * parameters to AA functions may be freed or modified with no side effects.
- *
- * Also note: The AA package does not free() anything else than what it has itself
- * allocated.
- *
- */
-
-#ifndef HTAAUTIL_H
-#define HTAAUTIL_H
-
-#include <HTList.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Numeric constants
- */
-#define MAX_USERNAME_LEN        16	/* @@ Longest allowed username    */
-#define MAX_PASSWORD_LEN        3*13	/* @@ Longest allowed password    */
-    /* (encrypted, so really only 3*8) */
-#define MAX_METHODNAME_LEN      12	/* @@ Longest allowed method name */
-#define MAX_FIELDNAME_LEN       16	/* @@ Longest field name in       */
-    /* protection setup file          */
-#define MAX_PATHNAME_LEN        80	/* @@ Longest passwd/group file   */
-/* pathname to allow               */
-/*
-
-   Datatype definitions
-
-   HTAASCHEME
-
-   The enumeration HTAAScheme represents the possible authentication schemes used by the
-   WWW Access Authorization.
-
- */ typedef enum {
-	HTAA_UNKNOWN,
-	HTAA_NONE,
-	HTAA_BASIC,
-	HTAA_PUBKEY,
-	HTAA_KERBEROS_V4,
-	HTAA_KERBEROS_V5,
-	HTAA_MAX_SCHEMES	/* THIS MUST ALWAYS BE LAST! Number of schemes */
-    } HTAAScheme;
-
-/*
-
-  ENUMERATION TO REPRESENT HTTP METHODS
-
- */
-
-    typedef enum {
-	METHOD_UNKNOWN,
-	METHOD_GET,
-	METHOD_PUT
-    } HTAAMethod;
-
-/*
-
-Authentication Schemes
-
- */
-
-/* PUBLIC                                               HTAAScheme_enum()
- *              TRANSLATE SCHEME NAME TO A SCHEME ENUMERATION
- * ON ENTRY:
- *      name            is a string representing the scheme name.
- *
- * ON EXIT:
- *      returns         the enumerated constant for that scheme.
- */
-    extern HTAAScheme HTAAScheme_enum(const char *name);
-
-/* PUBLIC                                               HTAAScheme_name()
- *                      GET THE NAME OF A GIVEN SCHEME
- * ON ENTRY:
- *      scheme          is one of the scheme enum values:
- *                      HTAA_NONE, HTAA_BASIC, HTAA_PUBKEY, ...
- *
- * ON EXIT:
- *      returns         the name of the scheme, i.e.
- *                      "none", "basic", "pubkey", ...
- */
-    extern const char *HTAAScheme_name(HTAAScheme scheme);
-
-/*
-
-Methods
-
- */
-
-/* PUBLIC                                                   HTAAMethod_enum()
- *              TRANSLATE METHOD NAME INTO AN ENUMERATED VALUE
- * ON ENTRY:
- *      name            is the method name to translate.
- *
- * ON EXIT:
- *      returns         HTAAMethod enumerated value corresponding
- *                      to the given name.
- */
-    extern HTAAMethod HTAAMethod_enum(const char *name);
-
-/* PUBLIC                                               HTAAMethod_name()
- *                      GET THE NAME OF A GIVEN METHOD
- * ON ENTRY:
- *      method          is one of the method enum values:
- *                      METHOD_GET, METHOD_PUT, ...
- *
- * ON EXIT:
- *      returns         the name of the scheme, i.e.
- *                      "GET", "PUT", ...
- */
-    extern const char *HTAAMethod_name(HTAAMethod method);
-
-/* PUBLIC                                               HTAAMethod_inList()
- *              IS A METHOD IN A LIST OF METHOD NAMES
- * ON ENTRY:
- *      method          is the method to look for.
- *      list            is a list of method names.
- *
- * ON EXIT:
- *      returns         YES, if method was found.
- *                      NO, if not found.
- */
-    extern BOOL HTAAMethod_inList(HTAAMethod method, HTList *list);
-
-/*
-
-Match Template Against Filename
-
- */
-
-/* PUBLIC                                               HTAA_templateMatch()
- *              STRING COMPARISON FUNCTION FOR FILE NAMES
- *                 WITH ONE WILDCARD * IN THE TEMPLATE
- * NOTE:
- *      This is essentially the same code as in HTRules.c, but it
- *      cannot be used because it is embedded in between other code.
- *      (In fact, HTRules.c should use this routine, but then this
- *       routine would have to be more sophisticated... why is life
- *       sometimes so hard...)
- *
- * ON ENTRY:
- *      ctemplate       is a template string to match the file name
- *                      against, may contain a single wildcard
- *                      character * which matches zero or more
- *                      arbitrary characters.
- *      filename        is the filename (or pathname) to be matched
- *                      against the template.
- *
- * ON EXIT:
- *      returns         YES, if filename matches the template.
- *                      NO, otherwise.
- */
-    extern BOOL HTAA_templateMatch(const char *ctemplate,
-				   const char *filename);
-
-/* PUBLIC                                               HTAA_templateCaseMatch()
- *              STRING COMPARISON FUNCTION FOR FILE NAMES
- *                 WITH ONE WILDCARD * IN THE TEMPLATE (Case Insensitive)
- * NOTE:
- *      This is essentially the same code as in HTAA_templateMatch, but
- *      it compares case insensitive (for VMS). Reason for this routine
- *      is that HTAA_templateMatch gets called from several places, also
- *      there where a case sensitive match is needed, so one cannot just
- *      change the HTAA_templateMatch routine for VMS.
- *
- * ON ENTRY:
- *      ctemplate       is a template string to match the file name
- *                      against, may contain a single wildcard
- *                      character * which matches zero or more
- *                      arbitrary characters.
- *      filename        is the filename (or pathname) to be matched
- *                      against the template.
- *
- * ON EXIT:
- *      returns         YES, if filename matches the template.
- *                      NO, otherwise.
- */
-    extern BOOL HTAA_templateCaseMatch(const char *ctemplate,
-				       const char *filename);
-
-/* PUBLIC                                       HTAA_makeProtectionTemplate()
- *              CREATE A PROTECTION TEMPLATE FOR THE FILES
- *              IN THE SAME DIRECTORY AS THE GIVEN FILE
- *              (Used by server if there is no fancier way for
- *              it to tell the client, and by browser if server
- *              didn't send WWW-ProtectionTemplate: field)
- * ON ENTRY:
- *      docname is the document pathname (from URL).
- *
- * ON EXIT:
- *      returns a template matching docname, and other files
- *              files in that directory.
- *
- *              E.g.  /foo/bar/x.html  =>  /foo/bar/ *
- *                                                  ^
- *                              Space only to prevent it from
- *                              being a comment marker here,
- *                              there really isn't any space.
- */
-    extern char *HTAA_makeProtectionTemplate(const char *docname);
-
-/*
-
-MIME Argument List Parser
-
- */
-
-/* PUBLIC                                               HTAA_parseArgList()
- *              PARSE AN ARGUMENT LIST GIVEN IN A HEADER FIELD
- * ON ENTRY:
- *      str     is a comma-separated list:
- *
- *                      item, item, item
- *              where
- *                      item ::= value
- *                             | name=value
- *                             | name="value"
- *
- *              Leading and trailing whitespace is ignored
- *              everywhere except inside quotes, so the following
- *              examples are equal:
- *
- *                      name=value,foo=bar
- *                       name="value",foo="bar"
- *                        name = value ,  foo = bar
- *                         name = "value" ,  foo = "bar"
- *
- * ON EXIT:
- *      returns a list of name-value pairs (actually HTAssocList*).
- *              For items with no name, just value, the name is
- *              the number of order number of that item. E.g.
- *              "1" for the first, etc.
- */
-    extern HTList *HTAA_parseArgList(char *str);
-
-/*
-
-Header Line Reader
-
- */
-
-/* PUBLIC                                               HTAA_setupReader()
- *              SET UP HEADER LINE READER, i.e., give
- *              the already-read-but-not-yet-processed
- *              buffer of text to be read before more
- *              is read from the socket.
- * ON ENTRY:
- *      start_of_headers is a pointer to a buffer containing
- *                      the beginning of the header lines
- *                      (rest will be read from a socket).
- *      length          is the number of valid characters in
- *                      'start_of_headers' buffer.
- *      soc             is the socket to use when start_of_headers
- *                      buffer is used up.
- * ON EXIT:
- *      returns         nothing.
- *                      Subsequent calls to HTAA_getUnfoldedLine()
- *                      will use this buffer first and then
- *                      proceed to read from socket.
- */
-    extern void HTAA_setupReader(char *start_of_headers,
-				 size_t length,
-				 int soc);
-
-/* PUBLIC                                               HTAA_getUnfoldedLine()
- *              READ AN UNFOLDED HEADER LINE FROM SOCKET
- * ON ENTRY:
- *      HTAA_setupReader must absolutely be called before
- *      this function to set up internal buffer.
- *
- * ON EXIT:
- *      returns a newly-allocated character string representing
- *              the read line.  The line is unfolded, i.e.
- *              lines that begin with whitespace are appended
- *              to current line.  E.g.
- *
- *                      Field-Name: Blaa-Blaa
- *                       This-Is-A-Continuation-Line
- *                       Here-Is_Another
- *
- *              is seen by the caller as:
- *
- *      Field-Name: Blaa-Blaa This-Is-A-Continuation-Line Here-Is_Another
- *
- */
-    extern char *HTAA_getUnfoldedLine(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif				/* NOT HTAAUTIL_H */