diff options
Diffstat (limited to 'apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame')
12 files changed, 0 insertions, 1269 deletions
diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/conf.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/conf.h deleted file mode 100644 index 79a8b84dbbc..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/conf.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * conf.h: Deals with the server configuration file. - * - * Object configuration is an entirely different matter. This deals with - * things like what port the server runs on, how many children it spawns, - * and other server-related issues. Information related configuration is - * handled by the object conf. - * - * Rob McCool - */ - - -#ifndef CONF_H -#define CONF_H - -#ifdef XP_WIN32 -#include <nt/ntconf.h> -#else - -#include "netsite.h" -#include "frame/objset.h" -#include "base/daemon.h" /* daemon struct */ - -#include <pwd.h> /* struct passwd */ - -/* ------------------------------ Constants ------------------------------- */ - - -/* The longest line in the configuration file */ -#define CONF_MAXLEN 16384 - -#define LF 10 -#define CR 13 - - -#if defined(DAEMON_ANY) -#ifdef MCC_PROXY -#define DEFAULT_PORT 8080 -#else -#define DEFAULT_PORT 80 -#endif -#endif - -#if defined(DAEMON_UNIX_POOL) || defined(DAEMON_UNIX_MOBRULE) -#define DEFAULT_POOL_MAX 50 -#endif - - - -/* ------------------------------- Globals -------------------------------- */ - - -#ifndef CONF_C - -/* - * These server parameters are made global because they really don't - * belong anywhere else. - */ - -#if defined(DAEMON_ANY) - -#include <sys/types.h> - -/* What port we listen to */ -extern int port; - -/* What address to bind to */ -extern char *addr; - -/* User to run as */ -extern struct passwd *userpw; - -/* Directory to chroot to */ -extern char *chr; - -/* Where to log our pid to */ -extern char *pidfn; - -#if defined(DAEMON_UNIX_POOL) || defined(DAEMON_UNIX_MOBRULE) -/* The maximum number of processes to keep in the pool */ -extern int pool_max; -/* The minimum number of processes to keep in the pool */ -extern int pool_min; -/* The maximum number of requests each process should handle. -1=default */ -extern int pool_life; -#endif - -#ifdef NET_SSL -extern char *secure_keyfn; -extern char *secure_certfn; -extern char *secure_dongle; -extern int security_active; -extern int secure_auth; -extern int security_session_timeout; -#endif - -#endif - -/* The server's hostname as should be reported in self-ref URLs */ -extern char *server_hostname; - -/* The main object from which all are derived */ -extern char *root_object; - -/* The object set the administrator has asked us to load */ -extern httpd_objset *std_os; - -/* The main error log, where all errors are logged */ -extern char *master_error_log; - -/* The e-mail address of someone to mail upon catastrophic error */ -extern char *admin_email; - -#endif - - -/* ------------------------------ Prototypes ------------------------------ */ - - -/* - * conf_init reads the given configuration file and sets any non-default - * parameters to their given setting. - */ - -char *conf_init(char *cfn); - -/* - * conf_terminate frees any data the conf routines may be holding. - */ - -void conf_terminate(void); - - -/* - * conf_vars2daemon transfers these globals to a daemon structure - */ -void conf_vars2daemon(daemon_s *d); - -#endif -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/dnfilter.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/dnfilter.h deleted file mode 100644 index 63545df5ad1..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/dnfilter.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -#ifndef __dnfilter_h -#define __dnfilter_h - -/* Error codes */ -#define DNFERR_MAX (-1) /* maximum error code */ -#define DNFERR_MALLOC (-1) /* insufficient memory */ -#define DNFERR_FOPEN (-2) /* file open error */ -#define DNFERR_FILEIO (-3) /* file I/O error */ -#define DNFERR_DUPSPEC (-4) /* duplicate filter specification */ -#define DNFERR_INTERR (-5) /* internal error (bug) */ -#define DNFERR_SYNTAX (-6) /* syntax error in filter file */ -#define DNFERR_MIN (-6) /* minimum error code */ - -/* This is used to return error information from dns_filter_setup() */ -typedef struct DNSFilterErr_s DNSFilterErr_t; -struct DNSFilterErr_s { - int errNo; /* DNFERR_xxxx error code */ - int lineno; /* file line number, if applicable */ - char * filename; /* filename, if applicable */ - char * errstr; /* error text, if any */ -}; - -/* Data and functions in dnfilter.c */ -extern void * dnf_objndx; -extern void dns_filter_destroy(void * dnfptr); -extern int dns_filter_setup(pblock * client, DNSFilterErr_t * reterr); -extern int dns_filter_check(pblock * client, char * cdns); - -#endif /* __dnfilter_h */ diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/func.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/func.h deleted file mode 100644 index 7bce6c285ba..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/func.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * func.h: Handles the function hash table - * - * httpd uses a table of internal functions hashed by a name string such that - * users can reference specific functions from the configuration files. - * - * Any function referenced by configuration files will be passed a - * parameter, a Request structure. The functions do not return anything. - * - * Rob McCool - */ - -#ifndef FUNC_H -#define FUNC_H - - -#include "netsite.h" -#include "base/pblock.h" -#include "base/session.h" /* Session structure */ -#include "frame/req.h" /* Request structure */ - - -/* -------------------------- Structure and Type -------------------------- */ - - -/* - * FuncPtr is a pointer to our kind of functions - */ - -typedef int Func(pblock *, Session *, Request *); -typedef Func *FuncPtr; - -/* - * FuncStruct is a structure used in the static declaration of the - * functions. This static declaration is parsed into a hash table at - * startup. You should initialize the next entry to NULL. - */ - -struct FuncStruct { - char *name; - FuncPtr func; - struct FuncStruct *next; -}; - - -/* --------------------------- Hash definitions --------------------------- */ - - -/* - * This is a primitive hash function. Once more is known about the names of - * the functions, this will be optimized. - */ - -#define NUM_HASH 20 -#define FUNC_HASH(s) (s[0] % NUM_HASH) - - -/* ------------------------------ Prototypes ------------------------------ */ - - -/* - * func_init reads the static FuncStruct arrays and creates the global - * function table from them. - * - * func_init will only read from the static arrays defined in func.c. - */ - -void func_init(void); - -/* - * func_find returns a pointer to the function named name, or NULL if none - * exists. - */ - -FuncPtr func_find(char *name); - -/* - * func_exec will try to execute the function whose name is the "fn" entry - * in the given pblock. If name is not found, it will log a misconfig of - * missing fn parameter. If it can't find it, it will log that. In these - * cases it will return REQ_ABORTED. Otherwise, it will return what the - * function being executed returns. - */ - -int func_exec(pblock *pb, Session *sn, Request *rq); - -/* - * func_insert dynamically inserts a named function into the server's - * table of functions. Returns the FuncStruct it keeps in internal - * databases, because on server restart you are responsible for freeing - * (or not) its contents. - */ - -struct FuncStruct *func_insert(char *name, FuncPtr fn); - -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/http.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/http.h deleted file mode 100644 index c139d536482..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/http.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * http.h: Deals with HTTP-related issues - * - * Rob McCool - */ - - -#ifndef HTTP_H -#define HTTP_H - - -#include "netsite.h" -#include "base/session.h" -#include "base/pblock.h" - -#include "frame/req.h" /* REQ_MAX_LINE, Request structure */ - -/* ------------------------------ Constants ------------------------------- */ - - -#define HTTP_DATE_LEN 128 -#define HTTP_DATE_FMT "%A, %d-%b-%y %T GMT" - - -/* The maximum number of RFC-822 headers we'll allow */ -/* This would be smaller if a certain browser wasn't so damn stupid. */ -#define HTTP_MAX_HEADERS 200 - -/* Whether or not we should read the headers for if-modified-since */ -#define HTTP_DO_IMS -#define HTTP_ALWAYS_LOADHDRS - -/* HTTP status codes */ - -#define PROTOCOL_OK 200 -#define PROTOCOL_NO_RESPONSE 204 -#define PROTOCOL_REDIRECT 302 -#define PROTOCOL_NOT_MODIFIED 304 -#define PROTOCOL_BAD_REQUEST 400 -#define PROTOCOL_UNAUTHORIZED 401 -#define PROTOCOL_FORBIDDEN 403 -#define PROTOCOL_NOT_FOUND 404 -#define PROTOCOL_PROXY_UNAUTHORIZED 407 -#define PROTOCOL_SERVER_ERROR 500 -#define PROTOCOL_NOT_IMPLEMENTED 501 - - -#ifdef NET_SSL -#define HTTPS_PORT 443 -#define HTTPS_URL "https" -#endif -#define HTTP_PORT 80 -#define HTTP_URL "http" - -/* -------------------------- http_scan_headers --------------------------- */ - - -/* - * parses the first line of an HTTP request - */ - -#define protocol_parse_request http_parse_request -int http_parse_request(char *t, Request *rq, Session *sn); - -/* - * Scans HTTP headers from the given netbuf, and places them in headers. - * If netbuf is NULL, the session's inbuf is used. - * - * Folded lines are joined and the linefeed removed (but not the whitespace). - * If there are any repeat headers they are joined and the two field bodies - * separated by a comma and space. - * - * t should be a string of length REQ_MAX_LINE. This is a convenience to - * req.c so that we don't use too much runtime stack. - * - * Session is an optional parameter. Use NULL if you wish. It's used for - * error logs. - */ - -#define protocol_scan_headers http_scan_headers -int http_scan_headers(Session *sn, netbuf *buf, char *t, pblock *headers); - - -/* - * Starts the HTTP response. If HTTP/0.9, does nothing. If 1.0, sends header. - * If this returns REQ_NOACTION, the method was head and no body should be - * sent. Otherwise, it will return REQ_PROCEED. - */ - -#define protocol_start_response http_start_response -int http_start_response(Session *sn, Request *rq); - - -/* - * http_hdrs2env takes the entries from the given pblock and converts them - * to an environment. - * - * Each name entry will be made uppercase, prefixed with HTTP_ and any - * occurrence of - will be converted to _. - */ - -char **http_hdrs2env(pblock *pb); - - -/* - * http_status sets status to the code n, with reason string r. If r is - * NULL, the server will attempt to find one for the given status code. - * If it finds none, it will give "Because I felt like it." - */ - -#define protocol_status http_status -void http_status(Session *sn, Request *rq, int n, char *r); - -/* - * http_set_finfo sets content-length and last-modified - */ - -#define protocol_set_finfo http_set_finfo -int http_set_finfo(Session *sn, Request *rq, struct stat *finfo); - - -/* - * Takes the given pblock and prints headers into the given buffer at - * position pos. Returns the buffer, reallocated if needed. Modifies pos. - */ - -char *http_dump822(pblock *pb, char *t, int *pos, int tsz); - -/* - * Finishes a request. For HTTP, this just closes the socket. - */ - -#define protocol_finish_request http_finish_request -void http_finish_request(Session *sn, Request *rq); - - -/* - * http_handle_session processes each request generated by Session - */ - -#define protocol_handle_session http_handle_session -void http_handle_session(Session *sn); - -/* - * http_uri2url takes the give URI prefix and URI suffix and creates a - * newly-allocated full URL from them of the form - * http://(server):(port)(prefix)(suffix) - * - * If you want either prefix or suffix to be skipped, use "" instead of NULL. - */ - -#define protocol_uri2url http_uri2url -char *http_uri2url(char *prefix, char *suffix); - -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/httpact.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/httpact.h deleted file mode 100644 index ee50b8a7821..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/httpact.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * httpact.h: Defines the API characteristics for HTTP servers - * - * Rob McCool - */ - - -#ifndef HTTPACT_H -#define HTTPACT_H - -#include "frame/req.h" -#include "frame/object.h" - - -/* ------------------------------ Constants ------------------------------- */ - -#ifdef MCC_BATMAN -#define NUM_DIRECTIVES 5 -#else -#ifdef MCC_PROXY -#define NUM_DIRECTIVES 10 -#else -#define NUM_DIRECTIVES 7 -#endif -#endif - - -/* -------------------------- Generic Prototypes -------------------------- */ - - -/* - * directive_name2num will return the position of the abbreviated directive - * dir in the directive table. - * - * If dir does not exist in the table, it will return -1. - */ - -int directive_name2num(char *dir); - - -/* - * directive_num2name returns a string describing directive number num. - */ -const char *directive_num2name(int num); - - -/* - * servact_finderror looks through the request's object set to find a - * suitable error function to execute. Returns REQ_PROCEED if a function - * was found and executed successfully, REQ_NOACTION otherwise. - */ -int servact_finderror(Session *sn, Request *rq); - - -/* - * Read in and handle one request from the given session - */ -void servact_handle(Session *sn); - - -/* ----------------------- HTTP specific prototypes ----------------------- */ - - -int servact_handle_processed(Session *sn, Request *rq); - -/* - * Returns the translated path (filename) for the given uri, NULL otherwise. - * If authentication is required for the given uri, nothing is returned even - * if the current user has authenticated to that area. - */ -char *servact_translate_uri(char *uri, Session *sn); - - - -#ifdef MCC_PROXY - -/* ----------------------- proxy specific prototypes ---------------------- */ - -/* - * Resolves the given hostname, first trying to find a resolver - * function from obj.conf, and if that fails, just calls gethostbyname(). - * - */ -struct hostent *servact_gethostbyname(char *host, Session *sn, Request *rq); - - -/* - * Establishes a connection to the specified host and port using - * a Connect class function from obj.conf. Returns the sockect - * descriptor that is connected (and which should be SSL_Import()'ed - * by the caller). - * - * Returns -2 (REQ_NOACTION), if no such Connect class function exists. - * The caller should use the native connect mechanism in that case. - * - * Returns -1 (REQ_ABORT) on failure to connect. The caller should not - * attempt to use the native connect. - * - */ -int servact_connect(char *host, int port, Session *sn, Request *rq); - - -#endif /* ! MCC_PROXY */ - -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h deleted file mode 100644 index a5d490798c3..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/ipfilter.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -#ifndef __ipfilter_h -#define __ipfilter_h - -/* Define error codes */ -#define IPFERR_MAX (-1) /* maximum error code value */ -#define IPFERR_MALLOC (-1) /* insufficient memory */ -#define IPFERR_FOPEN (-2) /* file open error */ -#define IPFERR_FILEIO (-3) /* file I/O error */ -#define IPFERR_DUPSPEC (-4) /* duplicate filter specification */ -#define IPFERR_INTERR (-5) /* internal error (bug) */ -#define IPFERR_SYNTAX (-6) /* syntax error in filter file */ -#define IPFERR_CNFLICT (-7) /* conflicting filter specification */ -#define IPFERR_MIN (-7) /* minimum error code value */ - -/* Define a scalar IP address value */ -typedef unsigned long IPAddr_t; - -/* Define structure for returning error information */ -typedef struct IPFilterErr_s IPFilterErr_t; -struct IPFilterErr_s { - int errNo; /* IPFERR_xxxx error code */ - int lineno; /* file line number, if applicable */ - char * filename; /* filename, if applicable */ - char * errstr; /* error text, if any */ -}; - -/* Data and functions in ipfilter.c */ -extern void * ipf_objndx; -extern void ip_filter_destroy(void * ipfptr); -extern int ip_filter_setup(pblock * client, IPFilterErr_t * reterr); -extern int ip_filter_check(pblock * client, IPAddr_t cip); - -#endif /* __ipfilter_h */ diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/log.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/log.h deleted file mode 100644 index 6666b336c15..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/log.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * log.h: Records transactions, reports errors to administrators, etc. - * - * Rob McCool - */ - - -#ifndef LOG_H -#define LOG_H - - -#include "netsite.h" -#include "base/session.h" /* Session structure */ -#include "frame/req.h" /* Request struct */ -#include "base/ereport.h" /* Error reporting, degrees */ - - -#define ERROR_CUTOFF 128 - - -/* ------------------------------ Prototypes ------------------------------ */ - - -/* - * log_error logs an error of the given degree from the function func - * and formats the arguments with the printf() style fmt. Returns whether the - * log was successful. Records the current date. - * - * sn and rq are optional parameters. If given, information about the client - * will be reported. - */ - -int log_error(int degree, char *func, Session *sn, Request *rq, - char *fmt, ...); - -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/object.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/object.h deleted file mode 100644 index 40a1590e913..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/object.h +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * object.h: Handle httpd objects - * - * Manages information about a document from config. files. Called mainly - * by objset.c. - * - * This module does not assume anything about the directives being parsed. - * That is handled by objset.c. - * - * This module requires the pblock module from the base library. - * - * Rob McCool - * - */ - - -#ifndef OBJECT_H -#define OBJECT_H - - -#include "netsite.h" -#include "base/pblock.h" -#include "base/session.h" - - - - -/* ------------------------------ Constants ------------------------------- */ - - -/* The maximum directive length unabbreviated, plus one space */ -#define MAX_DNAME_LEN 11 -#define NUM_DIRECTIVES 7 - - -/* ------------------------------ Structures ------------------------------ */ - - - -/* - * Hierarchy of httpd_object - * - * An object contains dtables. - * - * Each dtable is a table of directives that were entered of a certain type. - * There is one dtable for each unique type of directive. - * - * Each dtable contains an array of directives, each of which is equivalent - * to one directive that occurred in a config. file. - * - * It is up to the caller to determine how many dtables will be allocated - * and to keep track of which of their directive types maps to which dtable - * number. - */ - - -/* - * directive is a structure containing the protection and parameters to an - * instance of a directive within an httpd_object. - * - * param is the parameters, client is the protection. - */ - -typedef struct { - pblock *param; - pblock *client; -} directive; - -/* - * dtable is a structure for creating tables of directives - */ - -typedef struct { - int ni; - directive *inst; -} dtable; - -/* - * The httpd_object structure. - * - * The name pblock array contains the names for this object, such as its - * virtual location, its physical location, or its identifier. - * - * tmpl contains any templates allocated to this object. - */ - -typedef struct { - pblock *name; - - int nd; - dtable *dt; -} httpd_object; - - - - -/* ------------------------------ Prototypes ------------------------------ */ - - -/* - * directive_name2num will return the position of the abbreviated directive - * dir in the directive table. - * - * If dir does not exist in the table, it will return -1. - */ - -int directive_name2num(char *dir); - - -/* - * directive_num2name returns a string describing directive number num. - */ - -const char *directive_num2name(int num); - - -/* - * object_create will create a new object and return a pointer to it. - * It will allocate space for nd directive types and set name accordingly. - */ - -httpd_object *object_create(int nd, pblock *name); - -/* - * object_free will free an object and any data associated with it. - */ - -void object_free(httpd_object *obj); - -/* - * object_add_directive will add a new directive to the dtable for - * the directive class at position dc. - */ - -void object_add_directive(int dc, pblock *p, pblock *c, httpd_object *obj); - - -/* - * object_findnext finds the object configured to follow the given object, - * and stores the variables in rq->vars. It returns REQ_PROCEED if more - * objects should be processed, or REQ_NOACTION if it did not find any - * further objects to process. If something bad happens, REQ_ABORTED is - * returned. - * - * Handles all DIRECTIVE_CONSTRUCT type directives such as NameTrans and - * AuthType. - */ - - -/* --------- Prototype moved to req.h because of interdependency ---------- */ - -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/objset.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/objset.h deleted file mode 100644 index 6022433e27d..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/objset.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * objset.h: Handles object sets - * - * Each object is produced by reading a config file of some form. See the - * server documentation for descriptions of the directives that are - * recognized, what they do, and how they are parsed. - * - * This module requires the pblock and buffer modules from the base library. - * - * Rob McCool - */ - - -#ifndef OBJSET_H -#define OBJSET_H - -#ifdef XP_WIN32 -#include <nt/ntobjset.h> -#else - - -#include "netsite.h" -#include "base/pblock.h" -#include "base/buffer.h" -#include "frame/object.h" - - - -/* ------------------------------ Constants ------------------------------- */ - - -/* - * The default number of objects to leave room for in an object set, - * and the number of new entries by which to increase the size when that - * room is filled. - */ - -#define OBJSET_INCSIZE 8 - -/* - * When parsing config. files, httpd will put a limit on how long - * the parameters to a directive can be (in characters). - * - * Currently set to 10 lines (80 chars/line). - */ - -#define MAX_DIRECTIVE_LEN 800 - -/* - * The size of the hash tables that store a directive's parameters - */ - -#define PARAMETER_HASH_SIZE 3 - - -/* ------------------------------ Structures ------------------------------ */ - - -/* - * httpd_objset is a container for a bunch of objects. obj is a - * NULL-terminated array of objects. pos points to the entry after the last - * one in the array. You should not mess with pos, but can read it to find - * the last entry. - */ - -typedef struct { - int pos; - httpd_object **obj; -} httpd_objset; - - -/* ------------------------------ Prototypes ------------------------------ */ - - -/* - * objset_scan_buffer will scan through buffer, looking for object - * configuration information, and adding them to the object set os if it - * finds any. If os is NULL it will allocate a new object set. - * - * If any error occurs (syntax error, premature EOF) this function will - * free os, print an error message into errstr, and return NULL. - * This is because a config. file error is viewed as a catastrophic error - * from which httpd should not try to recover. If httpd were to continue - * after an error, it would not behave as the admin. expected and he/she - * may not notice until it's too late. - * - * Upon EOF the file will not be closed. - */ - -httpd_objset *objset_scan_buffer(filebuf *buf, char *errstr, httpd_objset *os); - -/* - * objset_create creates a new object set and returns a pointer to it. - */ - -httpd_objset *objset_create(void); - -/* - * objset_free will free an object set and any associated objects. - */ - -void objset_free(httpd_objset *os); - -/* - * objset_free_setonly frees only the object set. - */ -void objset_free_setonly(httpd_objset *os); - -/* - * objset_new_object will add a new object to objset with the specified - * name. It returns a pointer to the new object (which may be anywhere in - * the objset). - */ - -httpd_object *objset_new_object(pblock *name, httpd_objset *os); - -/* - * objset_add_object will add the existing object to os. - */ - -void objset_add_object(httpd_object *obj, httpd_objset *os); - -/* - * objset_findbyname will find the object in objset having the given name, - * and return the object if found, and NULL otherwise. - * ign is a set of objects to ignore. - */ - -httpd_object *objset_findbyname(char *name, httpd_objset *ign, - httpd_objset *os); - -/* - * objset_findbyppath will find the object in objset having the given - * partial path entry. Returns object if found, NULL otherwise. - * ign is a set of objects to ignore. - */ - -httpd_object *objset_findbyppath(char *ppath, httpd_objset *ign, - httpd_objset *os); - - -#endif -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/protocol.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/protocol.h deleted file mode 100644 index bf7f6ec3e4d..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/protocol.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * protocol.h: Switch which protocol we're speaking. - * - * Currently only HTTP, but expected to include MTP in the future. - * - * Rob McCool - */ - - -#ifdef MCC_HTTPD -#include "http.h" -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/req.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/req.h deleted file mode 100644 index e198ce22df8..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/req.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * req.h: Request-specific data structures and functions - * - * Rob McCool - */ - - -#ifndef REQ_H -#define REQ_H - - -#include "netsite.h" -#include "base/pblock.h" -#include "base/session.h" -#include "frame/objset.h" - -#include <sys/stat.h> - - - -/* ------------------------------ Constants ------------------------------- */ - - -#define REQ_HASHSIZE 10 -#define REQ_MAX_LINE 4096 - - -/* - * The REQ_ return codes. These codes are used to determine what the server - * should do after a particular module completes its task. - * - * Func type functions return these as do many internal functions. - */ - -/* The function performed its task, proceed with the request */ -#define REQ_PROCEED 0 -/* The entire request should be aborted: An error occurred */ -#define REQ_ABORTED -1 -/* The function performed no task, but proceed anyway. */ -#define REQ_NOACTION -2 -/* Tear down the session and exit */ -#define REQ_EXIT -3 - - - -/* ------------------------------ Structures ------------------------------ */ - - -typedef struct { - /* Server working variables */ - pblock *vars; - - /* The method, URI, and protocol revision of this request */ - pblock *reqpb; - /* Protocol specific headers */ - int loadhdrs; - pblock *headers; - - /* Server's response headers */ - pblock *srvhdrs; - - /* The object set constructed to fulfill this request */ - httpd_objset *os; - /* Array of objects that were created from .nsconfig files */ - httpd_objset *tmpos; - - /* The stat last returned by request_stat_path */ - char *statpath; - char *staterr; - struct stat *finfo; - -#ifdef MCC_PROXY - /* SOCKS request data */ - void *socks_rq; -#endif - -} Request; - - -/* ------------------------------ Prototypes ------------------------------ */ - - -/* - * request_create creates a new request structure. - */ - -Request *request_create(void); - -/* - * request_free destroys a request structure. - */ - -void request_free(Request *req); - - -/* - * Restarts a request for a given URI internally. If rq is non-NULL, the - * function will keep the old request's headers and protocol, but with a new - * URI and method of GET. If the previous method was HEAD, this is preserved. - * Any other method becomes GET. You may assume that if you give it a request - * structure that it will use the same structure. - * - * Once you have this new Request, you must then do what you want with - * it (e.g. send the object back, perform uri2path translation, etc.) - */ - -Request *request_restart_internal(char *uri, Request *rq); - - -/* - * request_translate_uri performs virtual to physical mapping on the given - * uri and returns either a path string or NULL depending on whether it was - * successful or not. - */ - -char *request_translate_uri(char *uri, Session *sn); - - -/* - * request_header finds the named header depending on the requesting - * protocol. If possible, it will not load headers until the first is - * requested. You have to watch out because this can return REQ_ABORTED. - */ - -int request_header(char *name, char **value, Session *sn, Request *rq); - -/* - * request_loadheaders just makes sure the headers have been loaded. - */ - -int request_loadheaders(Session *sn, Request *rq); - - -/* - * request_stat_path tries to stat path. If path is NULL, it will look in - * the vars pblock for "path". If the stat is successful, it returns the stat - * structure. If not, returns NULL and leaves a message in rq->staterr. If a - * previous call to this function was successful, and path is the same, the - * function will simply return the previously found value. - * - * User functions should not free this structure. - */ - -struct stat *request_stat_path(char *path, Request *rq); - - -/* - * Parses the URI parameter in rq->vars and finds out what objects it - * references (using NameTrans). Builds the request's object set. - */ - -int request_uri2path(Session *sn, Request *rq); - -/* - * Performs any path checks needed for this request. - */ - -int request_pathchecks(Session *sn, Request *rq); - -/* - * Does all the ObjectType directives for a request - */ - -int request_fileinfo(Session *sn, Request *rq); - - -/* - * request_handle_processed takes a Request structure with its reqpb - * block filled in and handles the request. - */ - -int request_handle_processed(Session *sn, Request *rq); - - -/* - * Complete a request by finding the service function and using it. Returns - * REQ_NOACTION if no matching function was found. - */ - -int request_service(Session *sn, Request *rq); - - -/* - * request_handle handles one request from the session's inbuf. - */ - -void request_handle(Session *sn); - -/* - * Moved here due to problems with interdependency. See object.h for - * description. - */ - -int object_findnext(Session *sn, Request *rq, httpd_object *obj); -int object_pathcheck(Session *sn, Request *rq, httpd_object *obj); -int object_findinfo(Session *sn, Request *rq, httpd_object *obj); -int object_findservice(Session *sn, Request *rq, httpd_object *obj); -int object_finderror(Session *sn, Request *rq, httpd_object *obj); -int object_findlogs(Session *sn, Request *rq, httpd_object *obj); - -#endif diff --git a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/servact.h b/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/servact.h deleted file mode 100644 index 292ca95d732..00000000000 --- a/apps/JAWS/clients/WebSTONE/src/nsapi-includes/frame/servact.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 1994, 1995. Netscape Communications Corporation. All - * rights reserved. - * - * Use of this software is governed by the terms of the license agreement for - * the Netscape Communications or Netscape Comemrce Server between the - * parties. - */ - - -/* ------------------------------------------------------------------------ */ - - -/* - * servact.h: Define the server's actions, depending on what type of - * server it is. - * - * Rob McCool - */ - - -#if defined(MCC_HTTPD) || defined(MCC_PROXY) || defined(MCC_NEWS) -#include "httpact.h" -#endif |