mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-11-09 08:37:58 +08:00
Remove (discontinued).
This commit is contained in:
1 parent
9da9cf4a87
commit
44b7bcd59c
50 files changed
-23608
No files matched your search
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,33 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
## DEPRECATED, don't use.
|
||||
|
||||
include $(top_srcdir)/automake/compile.am
|
||||
|
||||
AM_CPPFLAGS += -DWEBS -DUEMF
|
||||
|
||||
if LIBHTTPD
|
||||
## Always install this header file. Both webservers use it.
|
||||
include_HEADERS = rtems_webserver.h
|
||||
|
||||
if HAS_PTHREADS
|
||||
include_goaheaddir = $(includedir)/goahead
|
||||
|
||||
include_goahead_HEADERS = ej.h ejIntrn.h emfdb.h md5.h uemf.h um.h webs.h \
|
||||
wsIntrn.h
|
||||
|
||||
project_lib_LIBRARIES = libhttpd.a
|
||||
libhttpd_a_SOURCES = asp.c balloc.c default.c ejlex.c ejparse.c emfdb.c \
|
||||
form.c h.c handler.c md5c.c mime.c misc.c webpage.c ringq.c rom.c \
|
||||
security.c sock.c socket.c sym.c uemf.c um.c url.c value.c wbase64.c \
|
||||
webrom.c webs.c websuemf.c webmain.c
|
||||
libhttpd_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
endif
|
||||
endif
|
||||
|
||||
EXTRA_DIST = webcomp.c webpage.c
|
||||
|
||||
include $(srcdir)/preinstall.am
|
||||
include $(top_srcdir)/automake/local.am
|
||||
@@ -1,36 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
Notes on merging GoAhead Webs 2.1.4. Eventually RTEMS should be supported
|
||||
in their distributions and this directory removed.
|
||||
|
||||
Applied patch from Antti P Miettinen <antti.p.miettinen@nokia.com>.
|
||||
|
||||
Obtain the original distribution from http://www.goahead.com for
|
||||
documentation.
|
||||
|
||||
Porting
|
||||
=======
|
||||
- added rtems complier flags to uemf.h and misc.c
|
||||
- following source files are distributed with the web server
|
||||
but not currently used by RTEMS
|
||||
[cgi.c, sockGen.c, umui.c, websSSL.c, websda.c]
|
||||
|
||||
Tailoring
|
||||
=========
|
||||
socket.c is RTEMS specific
|
||||
|
||||
Renames
|
||||
=======
|
||||
|
||||
Distributed as This Directory
|
||||
============== ================
|
||||
base64.c wbase64.c
|
||||
page.c webpage.c
|
||||
|
||||
RTEMS Specific Additions
|
||||
========================
|
||||
webmain.c
|
||||
rtems_webserver.h
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,46 +0,0 @@
|
||||
/*
|
||||
* ej.h -- Ejscript(TM) header
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1992-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for information on usage and redistribution
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _h_EJ
|
||||
#define _h_EJ 1
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* GoAhead Ejscript(TM) header. This defines the Ejscript API and internal
|
||||
* structures.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#ifndef UEMF
|
||||
#include "basic/basic.h"
|
||||
#include "emf/emf.h"
|
||||
#else
|
||||
#include "uemf.h"
|
||||
#endif
|
||||
|
||||
/********************************** Defines ***********************************/
|
||||
|
||||
/******************************** Prototypes **********************************/
|
||||
|
||||
extern int ejArgs(int argc, char_t **argv, char_t *fmt, ...);
|
||||
extern void ejSetResult(int eid, char_t *s);
|
||||
extern int ejOpenEngine(sym_fd_t variables, sym_fd_t functions);
|
||||
extern void ejCloseEngine(int eid);
|
||||
extern int ejSetGlobalFunction(int eid, char_t *name,
|
||||
int (*fn)(int eid, void *handle, int argc, char_t **argv));
|
||||
extern void ejSetVar(int eid, char_t *var, char_t *value);
|
||||
extern int ejGetVar(int eid, char_t *var, char_t **value);
|
||||
extern char_t *ejEval(int eid, char_t *script, char_t **emsg);
|
||||
|
||||
#endif /* _h_EJ */
|
||||
|
||||
/*****************************************************************************/
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,101 +0,0 @@
|
||||
/*
|
||||
* emfdb.h -- EMF database compatability functions for GoAhead WebServer.
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/******************************** Description *********************************/
|
||||
/*
|
||||
* Emf-like textfile database support for WebServer 2.1.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#ifndef _h_EMFDB
|
||||
#define _h_EMFDB 1
|
||||
|
||||
#ifndef UEMF
|
||||
#include "basic/basic.h"
|
||||
#include "emf/emf.h"
|
||||
#else
|
||||
#include "uemf.h"
|
||||
#endif
|
||||
|
||||
|
||||
/********************************* Defines ************************************/
|
||||
|
||||
#define T_INT 0
|
||||
#define T_STRING 1
|
||||
|
||||
#define DB_OK 0
|
||||
#define DB_ERR_GENERAL -1
|
||||
#define DB_ERR_COL_NOT_FOUND -2
|
||||
#define DB_ERR_COL_DELETED -3
|
||||
#define DB_ERR_ROW_NOT_FOUND -4
|
||||
#define DB_ERR_ROW_DELETED -5
|
||||
#define DB_ERR_TABLE_NOT_FOUND -6
|
||||
#define DB_ERR_TABLE_DELETED -7
|
||||
#define DB_ERR_BAD_FORMAT -8
|
||||
|
||||
typedef struct dbTable_s {
|
||||
char_t *name;
|
||||
int nColumns;
|
||||
char_t **columnNames;
|
||||
int *columnTypes;
|
||||
int nRows;
|
||||
int **rows;
|
||||
} dbTable_t;
|
||||
|
||||
/********************************** Prototypes ********************************/
|
||||
|
||||
/*
|
||||
* Add a schema to the module-internal schema database
|
||||
*/
|
||||
extern int dbRegisterDBSchema(dbTable_t *sTable);
|
||||
|
||||
extern int dbOpen(char_t *databasename, char_t *filename,
|
||||
int (*gettime)(int did), int flags);
|
||||
extern void dbClose(int did);
|
||||
extern int dbGetTableId(int did, char_t *tname);
|
||||
extern char_t *dbGetTableName(int did, int tid);
|
||||
extern int dbReadInt(int did, char_t *table, char_t *column, int row,
|
||||
int *returnValue);
|
||||
extern int dbReadStr(int did, char_t *table, char_t *column, int row,
|
||||
char_t **returnValue);
|
||||
extern int dbWriteInt(int did, char_t *table, char_t *column, int row,
|
||||
int idata);
|
||||
extern int dbWriteStr(int did, char_t *table, char_t *column, int row,
|
||||
char_t *s);
|
||||
extern int dbAddRow(int did, char_t *table);
|
||||
extern int dbDeleteRow(int did, char_t *table, int rid);
|
||||
extern int dbSetTableNrow(int did, char_t *table, int nNewRows);
|
||||
extern int dbGetTableNrow(int did, char_t *table);
|
||||
|
||||
/*
|
||||
* Dump the contents of a database to file
|
||||
*/
|
||||
extern int dbSave(int did, char_t *filename, int flags);
|
||||
|
||||
/*
|
||||
* Load the contents of a database to file
|
||||
*/
|
||||
extern int dbLoad(int did, char_t *filename, int flags);
|
||||
|
||||
/*
|
||||
* Search for a data in a given column
|
||||
*/
|
||||
extern int dbSearchStr(int did, char_t *table, char_t *column,
|
||||
char_t *value, int flags);
|
||||
|
||||
extern void dbZero(int did);
|
||||
|
||||
extern char_t *basicGetProductDir(void);
|
||||
extern void basicSetProductDir(char_t *proddir);
|
||||
|
||||
#endif /* _h_EMFDB */
|
||||
|
||||
/******************************************************************************/
|
||||
@@ -1,168 +0,0 @@
|
||||
/*
|
||||
* form.c -- Form processing (in-memory CGI) for the GoAhead Web server
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/********************************** Description *******************************/
|
||||
|
||||
/*
|
||||
* This module implements the /goform handler. It emulates CGI processing
|
||||
* but performs this in-process and not as an external process. This enables
|
||||
* a very high performance implementation with easy parsing and decoding
|
||||
* of query strings and posted data.
|
||||
*/
|
||||
|
||||
/*********************************** Includes *********************************/
|
||||
|
||||
#include "wsIntrn.h"
|
||||
|
||||
/************************************ Locals **********************************/
|
||||
|
||||
static sym_fd_t formSymtab = -1; /* Symbol table for form handlers */
|
||||
|
||||
/************************************* Code ***********************************/
|
||||
/*
|
||||
* Process a form request. Returns 1 always to indicate it handled the URL
|
||||
*/
|
||||
|
||||
int websFormHandler(webs_t wp, char_t *urlPrefix, char_t *webDir, int arg,
|
||||
char_t *url, char_t *path, char_t *query)
|
||||
{
|
||||
sym_t *sp;
|
||||
char_t formBuf[FNAMESIZE];
|
||||
char_t *cp, *formName;
|
||||
int (*fn)(void *sock, char_t *path, char_t *args);
|
||||
|
||||
a_assert(websValid(wp));
|
||||
a_assert(url && *url);
|
||||
a_assert(path && *path == '/');
|
||||
|
||||
websStats.formHits++;
|
||||
|
||||
/*
|
||||
* Extract the form name
|
||||
*/
|
||||
gstrncpy(formBuf, path, TSZ(formBuf));
|
||||
if ((formName = gstrchr(&formBuf[1], '/')) == NULL) {
|
||||
websError(wp, 200, T("Missing form name"));
|
||||
return 1;
|
||||
}
|
||||
formName++;
|
||||
if ((cp = gstrchr(formName, '/')) != NULL) {
|
||||
*cp = '\0';
|
||||
}
|
||||
|
||||
/*
|
||||
* Lookup the C form function first and then try tcl (no javascript support
|
||||
* yet).
|
||||
*/
|
||||
sp = symLookup(formSymtab, formName);
|
||||
if (sp == NULL) {
|
||||
websError(wp, 200, T("Form %s is not defined"), formName);
|
||||
} else {
|
||||
fn = (int (*)(void *, char_t *, char_t *)) sp->content.value.integer;
|
||||
a_assert(fn);
|
||||
if (fn) {
|
||||
/*
|
||||
* For good practice, forms must call websDone()
|
||||
*/
|
||||
(*fn)((void*) wp, formName, query);
|
||||
|
||||
/*
|
||||
* Remove the test to force websDone, since this prevents
|
||||
* the server "push" from a form>
|
||||
*/
|
||||
#if 0 /* push */
|
||||
if (websValid(wp)) {
|
||||
websError(wp, 200, T("Form didn't call websDone"));
|
||||
}
|
||||
#endif /* push */
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Define a form function in the "form" map space.
|
||||
*/
|
||||
|
||||
int websFormDefine(char_t *name, void (*fn)(webs_t wp, char_t *path,
|
||||
char_t *query))
|
||||
{
|
||||
a_assert(name && *name);
|
||||
a_assert(fn);
|
||||
|
||||
if (fn == NULL) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
symEnter(formSymtab, name, valueInteger((int) fn), (int) NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Open the symbol table for forms.
|
||||
*/
|
||||
|
||||
void websFormOpen(void)
|
||||
{
|
||||
formSymtab = symOpen(WEBS_SYM_INIT);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Close the symbol table for forms.
|
||||
*/
|
||||
|
||||
void websFormClose(void)
|
||||
{
|
||||
if (formSymtab != -1) {
|
||||
symClose(formSymtab);
|
||||
formSymtab = -1;
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Write a webs header. This is a convenience routine to write a common
|
||||
* header for a form back to the browser.
|
||||
*/
|
||||
|
||||
void websHeader(webs_t wp)
|
||||
{
|
||||
a_assert(websValid(wp));
|
||||
|
||||
websWrite(wp, T("HTTP/1.0 200 OK\n"));
|
||||
|
||||
/*
|
||||
* By license terms the following line of code must not be modified
|
||||
*/
|
||||
websWrite(wp, T("Server: %s\r\n"), WEBS_NAME);
|
||||
|
||||
websWrite(wp, T("Pragma: no-cache\n"));
|
||||
websWrite(wp, T("Cache-control: no-cache\n"));
|
||||
websWrite(wp, T("Content-Type: text/html\n"));
|
||||
websWrite(wp, T("\n"));
|
||||
websWrite(wp, T("<html>\n"));
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Write a webs footer
|
||||
*/
|
||||
|
||||
void websFooter(webs_t wp)
|
||||
{
|
||||
a_assert(websValid(wp));
|
||||
|
||||
websWrite(wp, T("</html>\n"));
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
@@ -1,194 +0,0 @@
|
||||
/*
|
||||
* h.c -- Handle allocation module
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* This module provides a simple API to allocate and free handles
|
||||
* It maintains a dynamic array of pointers. These usually point to
|
||||
* per-handle structures.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#ifdef UEMF
|
||||
#include "uemf.h"
|
||||
#else
|
||||
#include "basic/basicInternal.h"
|
||||
#endif
|
||||
|
||||
/********************************** Defines ***********************************/
|
||||
/*
|
||||
* The handle list stores the length of the list and the number of used
|
||||
* handles in the first two words. These are hidden from the caller by
|
||||
* returning a pointer to the third word to the caller
|
||||
*/
|
||||
|
||||
#define H_LEN 0 /* First entry holds length of list */
|
||||
#define H_USED 1 /* Second entry holds number of used */
|
||||
#define H_OFFSET 2 /* Offset to real start of list */
|
||||
|
||||
#define H_INCR 16 /* Grow handle list in chunks this size */
|
||||
|
||||
/*********************************** Code *************************************/
|
||||
/*
|
||||
* Allocate a new file handle. On the first call, the caller must set the
|
||||
* handle map to be a pointer to a null pointer. *map points to the second
|
||||
* element in the handle array.
|
||||
*/
|
||||
|
||||
#ifdef B_STATS
|
||||
int HALLOC(B_ARGS_DEC, void ***map)
|
||||
#else
|
||||
int hAlloc(void ***map)
|
||||
#endif
|
||||
{
|
||||
int *mp;
|
||||
int handle, len, memsize, incr;
|
||||
|
||||
a_assert(map);
|
||||
|
||||
if (*map == NULL) {
|
||||
incr = H_INCR;
|
||||
memsize = (incr + H_OFFSET) * sizeof(void**);
|
||||
#ifdef B_STATS
|
||||
if ((mp = (int*) balloc(B_ARGS, memsize)) == NULL) {
|
||||
#else
|
||||
if ((mp = (int*) balloc(B_L, memsize)) == NULL) {
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
memset(mp, 0, memsize);
|
||||
mp[H_LEN] = incr;
|
||||
mp[H_USED] = 0;
|
||||
*map = (void**) &mp[H_OFFSET];
|
||||
} else {
|
||||
mp = &((*(int**)map)[-H_OFFSET]);
|
||||
}
|
||||
|
||||
len = mp[H_LEN];
|
||||
|
||||
/*
|
||||
* Find the first null handle
|
||||
*/
|
||||
if (mp[H_USED] < mp[H_LEN]) {
|
||||
for (handle = 0; handle < len; handle++) {
|
||||
if (mp[handle+H_OFFSET] == 0) {
|
||||
mp[H_USED]++;
|
||||
return handle;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
handle = len;
|
||||
}
|
||||
|
||||
/*
|
||||
* No free handle so grow the handle list. Grow list in chunks of H_INCR.
|
||||
*/
|
||||
len += H_INCR;
|
||||
memsize = (len + H_OFFSET) * sizeof(void**);
|
||||
if ((mp = (int*) brealloc(B_L, (void*) mp, memsize)) == NULL) {
|
||||
return -1;
|
||||
}
|
||||
*map = (void**) &mp[H_OFFSET];
|
||||
mp[H_LEN] = len;
|
||||
memset(&mp[H_OFFSET + len - H_INCR], 0, sizeof(int*) * H_INCR);
|
||||
mp[H_USED]++;
|
||||
return handle;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Free a handle. This function returns the value of the largest
|
||||
* handle in use plus 1, to be saved as a max value.
|
||||
*/
|
||||
|
||||
int hFree(void ***map, int handle)
|
||||
{
|
||||
int *mp;
|
||||
int len;
|
||||
|
||||
a_assert(map);
|
||||
mp = &((*(int**)map)[-H_OFFSET]);
|
||||
a_assert(mp[H_LEN] >= H_INCR);
|
||||
|
||||
a_assert(mp[handle + H_OFFSET]);
|
||||
a_assert(mp[H_USED]);
|
||||
mp[handle + H_OFFSET] = 0;
|
||||
if (--(mp[H_USED]) == 0) {
|
||||
bfree(B_L, (void*) mp);
|
||||
*map = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the greatest handle number in use.
|
||||
*/
|
||||
if (*map == NULL) {
|
||||
handle = -1;
|
||||
} else {
|
||||
len = mp[H_LEN];
|
||||
if (mp[H_USED] < mp[H_LEN]) {
|
||||
for (handle = len - 1; handle >= 0; handle--) {
|
||||
if (mp[handle + H_OFFSET])
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
handle = len;
|
||||
}
|
||||
}
|
||||
return handle + 1;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Allocate an entry in the halloc array.
|
||||
*/
|
||||
|
||||
#ifdef B_STATS
|
||||
int HALLOCENTRY(B_ARGS_DEC, void ***list, int *max, int size)
|
||||
#else
|
||||
int hAllocEntry(void ***list, int *max, int size)
|
||||
#endif
|
||||
{
|
||||
char_t *cp;
|
||||
int id;
|
||||
|
||||
a_assert(list);
|
||||
a_assert(max);
|
||||
|
||||
#ifdef B_STATS
|
||||
if ((id = HALLOC(B_ARGS, (void***) list)) < 0) {
|
||||
#else
|
||||
if ((id = hAlloc((void***) list)) < 0) {
|
||||
#endif
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (size > 0) {
|
||||
#ifdef B_STATS
|
||||
if ((cp = balloc(B_ARGS, size)) == NULL) {
|
||||
#else
|
||||
if ((cp = balloc(B_L, size)) == NULL) {
|
||||
#endif
|
||||
hFree(list, id);
|
||||
return -1;
|
||||
}
|
||||
a_assert(cp);
|
||||
memset(cp, 0, size);
|
||||
|
||||
(*list)[id] = (void*) cp;
|
||||
}
|
||||
|
||||
if (id >= *max) {
|
||||
*max = id + 1;
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,50 +0,0 @@
|
||||
/* MD5.H - header file for MD5C.C
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
|
||||
rights reserved.
|
||||
|
||||
License to copy and use this software is granted provided that it
|
||||
is identified as the "RSA Data Security, Inc. MD5 Message-Digest
|
||||
Algorithm" in all material mentioning or referencing this software
|
||||
or this function.
|
||||
|
||||
License is also granted to make and use derivative works provided
|
||||
that such works are identified as "derived from the RSA Data
|
||||
Security, Inc. MD5 Message-Digest Algorithm" in all material
|
||||
mentioning or referencing the derived work.
|
||||
|
||||
RSA Data Security, Inc. makes no representations concerning either
|
||||
the merchantability of this software or the suitability of this
|
||||
software for any particular purpose. It is provided "as is"
|
||||
without express or implied warranty of any kind.
|
||||
|
||||
These notices must be retained in any copies of any part of this
|
||||
documentation and/or software.
|
||||
*/
|
||||
|
||||
#ifndef _h_MD5
|
||||
#define _h_MD5 1
|
||||
|
||||
#ifndef UINT4
|
||||
#define UINT4 unsigned long
|
||||
#endif
|
||||
|
||||
#ifndef POINTER
|
||||
#define POINTER unsigned char *
|
||||
#endif
|
||||
|
||||
/* MD5 context. */
|
||||
typedef struct {
|
||||
UINT4 state[4]; /* state (ABCD) */
|
||||
UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
|
||||
unsigned char buffer[64]; /* input buffer */
|
||||
} MD5_CONTEXT;
|
||||
|
||||
extern void MD5Init (MD5_CONTEXT *);
|
||||
extern void MD5Update (MD5_CONTEXT *, unsigned char *, unsigned int);
|
||||
extern void MD5Final (unsigned char [16], MD5_CONTEXT *);
|
||||
|
||||
#endif /* _h_MD5 */
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,116 +0,0 @@
|
||||
/*
|
||||
* mime.c -- Web server mime types
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* Mime types and file extensions. This module maps URL extensions to
|
||||
* content types.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#include "wsIntrn.h"
|
||||
|
||||
/******************************** Global Data *********************************/
|
||||
/*
|
||||
* Addd entries to the MimeList as required for your content
|
||||
*/
|
||||
|
||||
|
||||
websMimeType websMimeList[] = {
|
||||
{ T("application/java"), T(".class") },
|
||||
{ T("application/java"), T(".jar") },
|
||||
{ T("text/html"), T(".asp") },
|
||||
{ T("text/html"), T(".htm") },
|
||||
{ T("text/html"), T(".html") },
|
||||
{ T("image/gif"), T(".gif") },
|
||||
{ T("image/jpeg"), T(".jpg") },
|
||||
{ T("text/css"), T(".css") },
|
||||
{ T("text/plain"), T(".txt") },
|
||||
{ T("application/x-javascript"), T(".js") },
|
||||
|
||||
#ifdef MORE_MIME_TYPES
|
||||
{ T("application/binary"), T(".exe") },
|
||||
{ T("application/compress"), T(".z") },
|
||||
{ T("application/gzip"), T(".gz") },
|
||||
{ T("application/octet-stream"), T(".bin") },
|
||||
{ T("application/oda"), T(".oda") },
|
||||
{ T("application/pdf"), T(".pdf") },
|
||||
{ T("application/postscript"), T(".ai") },
|
||||
{ T("application/postscript"), T(".eps") },
|
||||
{ T("application/postscript"), T(".ps") },
|
||||
{ T("application/rtf"), T(".rtf") },
|
||||
{ T("application/x-bcpio"), T(".bcpio") },
|
||||
{ T("application/x-cpio"), T(".cpio") },
|
||||
{ T("application/x-csh"), T(".csh") },
|
||||
{ T("application/x-dvi"), T(".dvi") },
|
||||
{ T("application/x-gtar"), T(".gtar") },
|
||||
{ T("application/x-hdf"), T(".hdf") },
|
||||
{ T("application/x-latex"), T(".latex") },
|
||||
{ T("application/x-mif"), T(".mif") },
|
||||
{ T("application/x-netcdf"), T(".nc") },
|
||||
{ T("application/x-netcdf"), T(".cdf") },
|
||||
{ T("application/x-ns-proxy-autoconfig"), T(".pac") },
|
||||
{ T("application/x-patch"), T(".patch") },
|
||||
{ T("application/x-sh"), T(".sh") },
|
||||
{ T("application/x-shar"), T(".shar") },
|
||||
{ T("application/x-sv4cpio"), T(".sv4cpio") },
|
||||
{ T("application/x-sv4crc"), T(".sv4crc") },
|
||||
{ T("application/x-tar"), T(".tar") },
|
||||
{ T("application/x-tcl"), T(".tcl") },
|
||||
{ T("application/x-tex"), T(".tex") },
|
||||
{ T("application/x-texinfo"), T(".texinfo") },
|
||||
{ T("application/x-texinfo"), T(".texi") },
|
||||
{ T("application/x-troff"), T(".t") },
|
||||
{ T("application/x-troff"), T(".tr") },
|
||||
{ T("application/x-troff"), T(".roff") },
|
||||
{ T("application/x-troff-man"), T(".man") },
|
||||
{ T("application/x-troff-me"), T(".me") },
|
||||
{ T("application/x-troff-ms"), T(".ms") },
|
||||
{ T("application/x-ustar"), T(".ustar") },
|
||||
{ T("application/x-wais-source"), T(".src") },
|
||||
{ T("application/zip"), T(".zip") },
|
||||
{ T("audio/basic"), T(".au snd") },
|
||||
{ T("audio/x-aiff"), T(".aif") },
|
||||
{ T("audio/x-aiff"), T(".aiff") },
|
||||
{ T("audio/x-aiff"), T(".aifc") },
|
||||
{ T("audio/x-wav"), T(".wav") },
|
||||
{ T("audio/x-wav"), T(".ram") },
|
||||
{ T("image/ief"), T(".ief") },
|
||||
{ T("image/jpeg"), T(".jpeg") },
|
||||
{ T("image/jpeg"), T(".jpe") },
|
||||
{ T("image/tiff"), T(".tiff") },
|
||||
{ T("image/tiff"), T(".tif") },
|
||||
{ T("image/x-cmu-raster"), T(".ras") },
|
||||
{ T("image/x-portable-anymap"), T(".pnm") },
|
||||
{ T("image/x-portable-bitmap"), T(".pbm") },
|
||||
{ T("image/x-portable-graymap"), T(".pgm") },
|
||||
{ T("image/x-portable-pixmap"), T(".ppm") },
|
||||
{ T("image/x-rgb"), T(".rgb") },
|
||||
{ T("image/x-xbitmap"), T(".xbm") },
|
||||
{ T("image/x-xpixmap"), T(".xpm") },
|
||||
{ T("image/x-xwindowdump"), T(".xwd") },
|
||||
{ T("text/html"), T(".cfm") },
|
||||
{ T("text/html"), T(".shtm") },
|
||||
{ T("text/html"), T(".shtml") },
|
||||
{ T("text/richtext"), T(".rtx") },
|
||||
{ T("text/tab-separated-values"), T(".tsv") },
|
||||
{ T("text/x-setext"), T(".etx") },
|
||||
{ T("video/mpeg"), T(".mpeg mpg mpe") },
|
||||
{ T("video/quicktime"), T(".qt") },
|
||||
{ T("video/quicktime"), T(".mov") },
|
||||
{ T("video/x-msvideo"), T(".avi") },
|
||||
{ T("video/x-sgi-movie"), T(".movie") },
|
||||
#endif
|
||||
{ NULL, NULL},
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,78 +0,0 @@
|
||||
## Automatically generated by ampolish3 - Do not edit
|
||||
|
||||
if AMPOLISH3
|
||||
$(srcdir)/preinstall.am: Makefile.am
|
||||
$(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
|
||||
endif
|
||||
|
||||
PREINSTALL_DIRS =
|
||||
DISTCLEANFILES = $(PREINSTALL_DIRS)
|
||||
|
||||
all-local: $(TMPINSTALL_FILES)
|
||||
|
||||
TMPINSTALL_FILES =
|
||||
CLEANFILES = $(TMPINSTALL_FILES)
|
||||
|
||||
all-am: $(PREINSTALL_FILES)
|
||||
|
||||
PREINSTALL_FILES =
|
||||
CLEANFILES += $(PREINSTALL_FILES)
|
||||
|
||||
$(PROJECT_LIB)/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_LIB)
|
||||
@: > $(PROJECT_LIB)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)
|
||||
@: > $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
|
||||
if LIBHTTPD
|
||||
$(PROJECT_INCLUDE)/rtems_webserver.h: rtems_webserver.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems_webserver.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems_webserver.h
|
||||
|
||||
if HAS_PTHREADS
|
||||
$(PROJECT_INCLUDE)/goahead/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/goahead
|
||||
@: > $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/ej.h: ej.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/ej.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/ej.h
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/ejIntrn.h: ejIntrn.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/ejIntrn.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/ejIntrn.h
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/emfdb.h: emfdb.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/emfdb.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/emfdb.h
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/md5.h: md5.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/md5.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/md5.h
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/uemf.h: uemf.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/uemf.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/uemf.h
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/um.h: um.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/um.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/um.h
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/webs.h: webs.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/webs.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/webs.h
|
||||
|
||||
$(PROJECT_INCLUDE)/goahead/wsIntrn.h: wsIntrn.h $(PROJECT_INCLUDE)/goahead/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/goahead/wsIntrn.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/goahead/wsIntrn.h
|
||||
|
||||
$(PROJECT_LIB)/libhttpd.a: libhttpd.a $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/libhttpd.a
|
||||
TMPINSTALL_FILES += $(PROJECT_LIB)/libhttpd.a
|
||||
endif
|
||||
endif
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,193 +0,0 @@
|
||||
/*
|
||||
* rom.c -- Support for ROMed page retrieval.
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* This module provides web page retrieval from compiled web pages. Use the
|
||||
* webcomp program to compile web pages and link into the GoAhead WebServer.
|
||||
* This module uses a hashed symbol table for fast page lookup.
|
||||
*
|
||||
* Usage: webcomp -f webPageFileList -p Prefix >webrom.c
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "wsIntrn.h"
|
||||
|
||||
/******************************** Local Data **********************************/
|
||||
|
||||
#ifdef WEBS_PAGE_ROM
|
||||
|
||||
sym_fd_t romTab; /* Symbol table for web pages */
|
||||
|
||||
/*********************************** Code *************************************/
|
||||
/*
|
||||
* Open the ROM module
|
||||
*/
|
||||
|
||||
int websRomOpen()
|
||||
{
|
||||
websRomPageIndexType *wip;
|
||||
int nchars;
|
||||
char_t name[SYM_MAX];
|
||||
|
||||
romTab = symOpen(WEBS_SYM_INIT);
|
||||
|
||||
for (wip = websRomPageIndex; wip->path; wip++) {
|
||||
gstrncpy(name, wip->path, SYM_MAX);
|
||||
nchars = gstrlen(name) - 1;
|
||||
if (nchars > 0 &&
|
||||
(name[nchars] == '/' || name[nchars] == '\\')) {
|
||||
name[nchars] = '\0';
|
||||
}
|
||||
symEnter(romTab, name, valueInteger((int) wip), 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Close the ROM module
|
||||
*/
|
||||
|
||||
void websRomClose()
|
||||
{
|
||||
symClose(romTab);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Open a web page
|
||||
*/
|
||||
|
||||
int websRomPageOpen(webs_t wp, char_t *path, int mode, int perm)
|
||||
{
|
||||
websRomPageIndexType *wip;
|
||||
sym_t *sp;
|
||||
|
||||
a_assert(websValid(wp));
|
||||
a_assert(path && *path);
|
||||
|
||||
if ((sp = symLookup(romTab, path)) == NULL) {
|
||||
return -1;
|
||||
}
|
||||
wip = (websRomPageIndexType*) sp->content.value.integer;
|
||||
wip->pos = 0;
|
||||
return (wp->docfd = wip - websRomPageIndex);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Close a web page
|
||||
*/
|
||||
|
||||
void websRomPageClose(int fd)
|
||||
{
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Stat a web page
|
||||
*/
|
||||
|
||||
int websRomPageStat(char_t *path, websStatType *sbuf)
|
||||
{
|
||||
websRomPageIndexType *wip;
|
||||
sym_t *sp;
|
||||
|
||||
a_assert(path && *path);
|
||||
|
||||
if ((sp = symLookup(romTab, path)) == NULL) {
|
||||
return -1;
|
||||
}
|
||||
wip = (websRomPageIndexType*) sp->content.value.integer;
|
||||
|
||||
memset(sbuf, 0, sizeof(websStatType));
|
||||
sbuf->size = wip->size;
|
||||
if (wip->page == NULL) {
|
||||
sbuf->isDir = 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Read a web page
|
||||
*/
|
||||
|
||||
int websRomPageReadData(webs_t wp, char *buf, int nBytes)
|
||||
{
|
||||
websRomPageIndexType *wip;
|
||||
int len;
|
||||
|
||||
a_assert(websValid(wp));
|
||||
a_assert(buf);
|
||||
a_assert(wp->docfd >= 0);
|
||||
|
||||
wip = &websRomPageIndex[wp->docfd];
|
||||
|
||||
len = min(wip->size - wip->pos, nBytes);
|
||||
memcpy(buf, &wip->page[wip->pos], len);
|
||||
wip->pos += len;
|
||||
return len;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Position a web page
|
||||
*/
|
||||
|
||||
long websRomPageSeek(webs_t wp, long offset, int origin)
|
||||
{
|
||||
websRomPageIndexType *wip;
|
||||
long pos;
|
||||
|
||||
a_assert(websValid(wp));
|
||||
a_assert(origin == SEEK_SET || origin == SEEK_CUR || origin == SEEK_END);
|
||||
a_assert(wp->docfd >= 0);
|
||||
|
||||
wip = &websRomPageIndex[wp->docfd];
|
||||
|
||||
if (origin != SEEK_SET && origin != SEEK_CUR && origin != SEEK_END) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (wp->docfd < 0) {
|
||||
errno = EBADF;
|
||||
return -1;
|
||||
}
|
||||
|
||||
pos = offset;
|
||||
switch (origin) {
|
||||
case SEEK_CUR:
|
||||
pos = wip->pos + offset;
|
||||
break;
|
||||
case SEEK_END:
|
||||
pos = wip->size + offset;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (pos < 0) {
|
||||
errno = EBADF;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return (wip->pos = pos);
|
||||
}
|
||||
|
||||
#endif /* WEBS_PAGE_ROM */
|
||||
|
||||
/******************************************************************************/
|
||||
@@ -1,17 +0,0 @@
|
||||
/**
|
||||
* @file rtems/rtems_webserver.h
|
||||
*/
|
||||
|
||||
#ifndef _rtems_rtems_webserver_h
|
||||
#define _rtems_rtems_webserver_h
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int rtems_initialize_webserver();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
-1110
File diff suppressed because it is too large.
Load diff
-1435
File diff suppressed because it is too large.
Load diff
@@ -1,183 +0,0 @@
|
||||
/*
|
||||
* um.h -- GoAhead User Management public header
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1992-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for information on usage and redistribution
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _h_UM
|
||||
#define _h_UM 1
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* GoAhead User Management header. This defines the User Management
|
||||
* public APIs. Include this header for files that contain access to
|
||||
* user inquiry or management.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#ifndef UEMF
|
||||
#include "basic/basic.h"
|
||||
#include "emf/emf.h"
|
||||
#else
|
||||
#include "uemf.h"
|
||||
#endif
|
||||
|
||||
/********************************** Defines ***********************************/
|
||||
|
||||
/*
|
||||
* Error Return Flags
|
||||
*/
|
||||
#define UM_OK 0
|
||||
#define UM_ERR_GENERAL -1
|
||||
#define UM_ERR_NOT_FOUND -2
|
||||
#define UM_ERR_PROTECTED -3
|
||||
#define UM_ERR_DUPLICATE -4
|
||||
#define UM_ERR_IN_USE -5
|
||||
#define UM_ERR_BAD_NAME -6
|
||||
#define UM_ERR_BAD_PASSWORD -7
|
||||
|
||||
/*
|
||||
* Privilege Masks
|
||||
*/
|
||||
#define PRIV_NONE 0x00
|
||||
#define PRIV_READ 0x01
|
||||
#define PRIV_WRITE 0x02
|
||||
#define PRIV_ADMIN 0x04
|
||||
|
||||
/*
|
||||
* User classes
|
||||
*/
|
||||
typedef short bool_t;
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
AM_NONE = 0,
|
||||
AM_FULL,
|
||||
AM_BASIC,
|
||||
AM_DIGEST,
|
||||
AM_INVALID
|
||||
} accessMeth_t;
|
||||
|
||||
/********************************** Prototypes ********************************/
|
||||
|
||||
/*
|
||||
* umOpen() must be called before accessing User Management functions
|
||||
*/
|
||||
extern int umOpen(void);
|
||||
|
||||
/*
|
||||
* umClose() should be called before shutdown to free memory
|
||||
*/
|
||||
extern void umClose(void);
|
||||
|
||||
/*
|
||||
* umCommit() persists the user management database
|
||||
*/
|
||||
extern int umCommit(char_t *filename);
|
||||
|
||||
/*
|
||||
* umRestore() loads the user management database
|
||||
*/
|
||||
extern int umRestore(char_t *filename);
|
||||
|
||||
/*
|
||||
* umUser functions use a user ID for a key
|
||||
*/
|
||||
extern int umAddUser(char_t *user, char_t *password,
|
||||
char_t *group, bool_t protect, bool_t disabled);
|
||||
|
||||
extern int umDeleteUser(char_t *user);
|
||||
|
||||
extern char_t *umGetFirstUser(void);
|
||||
extern char_t *umGetNextUser(char_t *lastUser);
|
||||
|
||||
extern bool_t umUserExists(char_t *user);
|
||||
|
||||
extern char_t *umGetUserPassword(char_t *user);
|
||||
extern int umSetUserPassword(char_t *user, char_t *password);
|
||||
|
||||
extern char_t *umGetUserGroup(char_t *user);
|
||||
extern int umSetUserGroup(char_t *user, char_t *password);
|
||||
|
||||
extern bool_t umGetUserEnabled(char_t *user);
|
||||
extern int umSetUserEnabled(char_t *user, bool_t enabled);
|
||||
|
||||
extern bool_t umGetUserProtected(char_t *user);
|
||||
extern int umSetUserProtected(char_t *user, bool_t protect);
|
||||
|
||||
/*
|
||||
* umGroup functions use a group name for a key
|
||||
*/
|
||||
extern int umAddGroup(char_t *group, short privilege,
|
||||
accessMeth_t am, bool_t protect, bool_t disabled);
|
||||
|
||||
extern int umDeleteGroup(char_t *group);
|
||||
|
||||
extern char_t *umGetFirstGroup(void);
|
||||
extern char_t *umGetNextGroup(char_t *lastUser);
|
||||
|
||||
extern bool_t umGroupExists(char_t *group);
|
||||
extern bool_t umGetGroupInUse(char_t *group);
|
||||
|
||||
extern accessMeth_t umGetGroupAccessMethod(char_t *group);
|
||||
extern int umSetGroupAccessMethod(char_t *group, accessMeth_t am);
|
||||
|
||||
extern bool_t umGetGroupEnabled(char_t *group);
|
||||
extern int umSetGroupEnabled(char_t *group, bool_t enabled);
|
||||
|
||||
extern short umGetGroupPrivilege(char_t *group);
|
||||
extern int umSetGroupPrivilege(char_t *group, short privileges);
|
||||
|
||||
extern bool_t umGetGroupProtected(char_t *group);
|
||||
extern int umSetGroupProtected(char_t *group, bool_t protect);
|
||||
|
||||
/*
|
||||
* umAccessLimit functions use a URL as a key
|
||||
*/
|
||||
extern int umAddAccessLimit(char_t *url, accessMeth_t am,
|
||||
short secure, char_t *group);
|
||||
|
||||
extern int umDeleteAccessLimit(char_t *url);
|
||||
|
||||
extern char_t *umGetFirstAccessLimit(void);
|
||||
extern char_t *umGetNextAccessLimit(char_t *lastUser);
|
||||
|
||||
/*
|
||||
* Returns the name of an ancestor access limit if
|
||||
*/
|
||||
extern char_t *umGetAccessLimit(char_t *url);
|
||||
|
||||
extern bool_t umAccessLimitExists(char_t *url);
|
||||
|
||||
extern accessMeth_t umGetAccessLimitMethod(char_t *url);
|
||||
extern int umSetAccessLimitMethod(char_t *url, accessMeth_t am);
|
||||
|
||||
extern short umGetAccessLimitSecure(char_t *url);
|
||||
extern int umSetAccessLimitSecure(char_t *url, short secure);
|
||||
|
||||
extern char_t *umGetAccessLimitGroup(char_t *url);
|
||||
extern int umSetAccessLimitGroup(char_t *url, char_t *group);
|
||||
|
||||
/*
|
||||
* Convenience Functions
|
||||
*/
|
||||
|
||||
extern accessMeth_t umGetAccessMethodForURL(char_t *url);
|
||||
extern bool_t umUserCanAccessURL(char_t *user, char_t *url);
|
||||
|
||||
#endif /* _h_UM */
|
||||
|
||||
/******************************************************************************/
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,149 +0,0 @@
|
||||
/*
|
||||
* base64.c -- Base64 Mime encoding
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* The base64 command encodes and decodes a string in mime base64 format
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#include "wsIntrn.h"
|
||||
|
||||
/******************************** Local Data **********************************/
|
||||
/*
|
||||
* Mapping of ANSI chars to base64 Mime encoding alphabet (see below)
|
||||
*/
|
||||
|
||||
static char_t map64[] = {
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
|
||||
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
|
||||
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
|
||||
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||
};
|
||||
|
||||
static char_t alphabet64[] = {
|
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
|
||||
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
|
||||
'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
|
||||
'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
|
||||
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
|
||||
'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
|
||||
'w', 'x', 'y', 'z', '0', '1', '2', '3',
|
||||
'4', '5', '6', '7', '8', '9', '+', '/',
|
||||
};
|
||||
|
||||
/*********************************** Code *************************************/
|
||||
/*
|
||||
* Decode a buffer from "string" and into "outbuf"
|
||||
*/
|
||||
|
||||
int websDecode64(char_t *outbuf, char_t *string, int outlen)
|
||||
{
|
||||
unsigned long shiftbuf;
|
||||
char_t *cp, *op;
|
||||
int c, i, j, shift;
|
||||
|
||||
op = outbuf;
|
||||
*op = '\0';
|
||||
cp = string;
|
||||
while (*cp && *cp != '=') {
|
||||
/*
|
||||
* Map 4 (6bit) input bytes and store in a single long (shiftbuf)
|
||||
*/
|
||||
shiftbuf = 0;
|
||||
shift = 18;
|
||||
for (i = 0; i < 4 && *cp && *cp != '='; i++, cp++) {
|
||||
c = map64[*cp & 0xff];
|
||||
if (c == -1) {
|
||||
error(E_L, E_LOG, T("Bad string: %s at %c index %d"), string,
|
||||
c, i);
|
||||
return -1;
|
||||
}
|
||||
shiftbuf = shiftbuf | (c << shift);
|
||||
shift -= 6;
|
||||
}
|
||||
/*
|
||||
* Interpret as 3 normal 8 bit bytes (fill in reverse order).
|
||||
* Check for potential buffer overflow before filling.
|
||||
*/
|
||||
--i;
|
||||
if ((op + i) >= &outbuf[outlen]) {
|
||||
gstrcpy(outbuf, T("String too big"));
|
||||
return -1;
|
||||
}
|
||||
for (j = 0; j < i; j++) {
|
||||
*op++ = (char_t) ((shiftbuf >> (8 * (2 - j))) & 0xff);
|
||||
}
|
||||
*op = '\0';
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Encode a buffer from "string" into "outbuf"
|
||||
*/
|
||||
|
||||
void websEncode64(char_t *outbuf, char_t *string, int outlen)
|
||||
{
|
||||
unsigned long shiftbuf;
|
||||
char_t *cp, *op;
|
||||
int x, i, j, shift;
|
||||
|
||||
op = outbuf;
|
||||
*op = '\0';
|
||||
cp = string;
|
||||
while (*cp) {
|
||||
/*
|
||||
* Take three characters and create a 24 bit number in shiftbuf
|
||||
*/
|
||||
shiftbuf = 0;
|
||||
for (j = 2; j >= 0 && *cp; j--, cp++) {
|
||||
shiftbuf |= ((*cp & 0xff) << (j * 8));
|
||||
}
|
||||
/*
|
||||
* Now convert shiftbuf to 4 base64 letters. The i,j magic calculates
|
||||
* how many letters need to be output.
|
||||
*/
|
||||
shift = 18;
|
||||
for (i = ++j; i < 4 && op < &outbuf[outlen] ; i++) {
|
||||
x = (shiftbuf >> shift) & 0x3f;
|
||||
*op++ = alphabet64[(shiftbuf >> shift) & 0x3f];
|
||||
shift -= 6;
|
||||
}
|
||||
/*
|
||||
* Pad at the end with '='
|
||||
*/
|
||||
while (j-- > 0) {
|
||||
*op++ = '=';
|
||||
}
|
||||
*op = '\0';
|
||||
}
|
||||
}
|
||||
/******************************************************************************/
|
||||
@@ -1,188 +0,0 @@
|
||||
/*
|
||||
* webcomp -- Compile web pages into C source
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* Usage: webcomp prefix filelist >webrom.c
|
||||
*
|
||||
* filelist is a file containing the pathnames of all web pages
|
||||
* prefix is a path prefix to remove from all the web page pathnames
|
||||
* webrom.c is the resulting C source file to compile and link.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#include "wsIntrn.h"
|
||||
|
||||
/**************************** Forward Declarations ****************************/
|
||||
|
||||
static int compile(char_t *fileList, char_t *prefix);
|
||||
static void usage();
|
||||
|
||||
/*********************************** Code *************************************/
|
||||
/*
|
||||
* Main program for webpack test harness
|
||||
*/
|
||||
|
||||
int gmain(int argc, char_t* argv[])
|
||||
{
|
||||
char_t *fileList, *prefix;
|
||||
|
||||
fileList = NULL;
|
||||
|
||||
if (argc != 3) {
|
||||
usage();
|
||||
}
|
||||
|
||||
prefix = argv[1];
|
||||
fileList = argv[2];
|
||||
|
||||
if (compile(fileList, prefix) < 0) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Output usage message
|
||||
*/
|
||||
|
||||
static void usage()
|
||||
{
|
||||
fprintf(stderr, "usage: webcomp prefix filelist >output.c\n");
|
||||
exit(2);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Compile the web pages
|
||||
*/
|
||||
|
||||
static int compile(char_t *fileList, char_t *prefix)
|
||||
{
|
||||
gstat_t sbuf;
|
||||
FILE *lp;
|
||||
time_t now;
|
||||
char_t file[FNAMESIZE];
|
||||
char_t *cp, *sl;
|
||||
char buf[512];
|
||||
unsigned char *p;
|
||||
int j, i, len, fd, nFile;
|
||||
|
||||
/*
|
||||
* Open list of files
|
||||
*/
|
||||
if ((lp = fopen(fileList, "r")) == NULL) {
|
||||
fprintf(stderr, "Can't open file list %s\n", fileList);
|
||||
return -1;
|
||||
}
|
||||
|
||||
time(&now);
|
||||
fprintf(stdout, "/*\n * webrom.c -- Compiled Web Pages\n *\n");
|
||||
fprintf(stdout, " * Compiled by GoAhead WebCompile: %s */\n\n",
|
||||
gctime(&now));
|
||||
fprintf(stdout, "#include \"wsIntrn.h\"\n\n");
|
||||
fprintf(stdout, "#ifndef WEBS_PAGE_ROM\n");
|
||||
fprintf(stdout, "websRomPageIndexType websRomPageIndex[] = {\n");
|
||||
fprintf(stdout, " { 0, 0, 0 },\n};\n");
|
||||
fprintf(stdout, "#else\n");
|
||||
|
||||
/*
|
||||
* Open each input file and compile each web page
|
||||
*/
|
||||
nFile = 0;
|
||||
while (fgets(file, sizeof(file), lp) != NULL) {
|
||||
if ((p = strchr(file, '\n')) || (p = strchr(file, '\r'))) {
|
||||
*p = '\0';
|
||||
}
|
||||
if (*file == '\0') {
|
||||
continue;
|
||||
}
|
||||
if (gstat(file, &sbuf) == 0 && sbuf.st_mode & S_IFDIR) {
|
||||
continue;
|
||||
}
|
||||
if ((fd = gopen(file, O_RDONLY | O_BINARY)) < 0) {
|
||||
fprintf(stderr, "Can't open file %s\n", file);
|
||||
return -1;
|
||||
}
|
||||
fprintf(stdout, "static unsigned char page_%d[] = {\n", nFile);
|
||||
|
||||
while ((len = read(fd, buf, sizeof(buf))) > 0) {
|
||||
p = buf;
|
||||
for (i = 0; i < len; ) {
|
||||
fprintf(stdout, " ");
|
||||
for (j = 0; p < &buf[len] && j < 16; j++, p++) {
|
||||
fprintf(stdout, "%3d,", *p);
|
||||
}
|
||||
i += j;
|
||||
fprintf(stdout, "\n");
|
||||
}
|
||||
}
|
||||
fprintf(stdout, " 0 };\n\n");
|
||||
|
||||
close(fd);
|
||||
nFile++;
|
||||
}
|
||||
fclose(lp);
|
||||
|
||||
/*
|
||||
* Now output the page index
|
||||
*/
|
||||
fprintf(stdout, "websRomPageIndexType websRomPageIndex[] = {\n");
|
||||
|
||||
if ((lp = fopen(fileList, "r")) == NULL) {
|
||||
fprintf(stderr, "Can't open file list %s\n", fileList);
|
||||
return -1;
|
||||
}
|
||||
nFile = 0;
|
||||
while (fgets(file, sizeof(file), lp) != NULL) {
|
||||
if ((p = strchr(file, '\n')) || (p = strchr(file, '\r'))) {
|
||||
*p = '\0';
|
||||
}
|
||||
if (*file == '\0') {
|
||||
continue;
|
||||
}
|
||||
/*
|
||||
* Remove the prefix and add a leading "/" when we print the path
|
||||
*/
|
||||
if (strncmp(file, prefix, gstrlen(prefix)) == 0) {
|
||||
cp = &file[gstrlen(prefix)];
|
||||
} else {
|
||||
cp = file;
|
||||
}
|
||||
while((sl = strchr(file, '\\')) != NULL) {
|
||||
*sl = '/';
|
||||
}
|
||||
if (*cp == '/') {
|
||||
cp++;
|
||||
}
|
||||
|
||||
if (gstat(file, &sbuf) == 0 && sbuf.st_mode & S_IFDIR) {
|
||||
fprintf(stdout, " { T(\"/%s\"), 0, 0 },\n", cp);
|
||||
continue;
|
||||
}
|
||||
fprintf(stdout, " { T(\"/%s\"), page_%d, %d },\n", cp, nFile,
|
||||
sbuf.st_size);
|
||||
nFile++;
|
||||
}
|
||||
fclose(lp);
|
||||
|
||||
fprintf(stdout, " { 0, 0, 0 },\n");
|
||||
fprintf(stdout, "};\n");
|
||||
fprintf(stdout, "#endif /* WEBS_PAGE_ROM */\n");
|
||||
|
||||
fclose(lp);
|
||||
fflush(stdout);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,141 +0,0 @@
|
||||
/*
|
||||
* Page.c -- Support for page retrieval.
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* This module provides page retrieval handling. It provides support for
|
||||
* reading web pages from file systems and has expansion for ROMed web
|
||||
* pages.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#include "wsIntrn.h"
|
||||
|
||||
/*********************************** Code *************************************/
|
||||
/*
|
||||
* Open a web page. lpath is the local filename. path is the URL path name.
|
||||
*/
|
||||
|
||||
int websPageOpen(webs_t wp, char_t *lpath, char_t *path, int mode, int perm)
|
||||
{
|
||||
a_assert(websValid(wp));
|
||||
|
||||
#ifdef WEBS_PAGE_ROM
|
||||
return websRomPageOpen(wp, path, mode, perm);
|
||||
#else
|
||||
return (wp->docfd = gopen(lpath, mode, perm));
|
||||
#endif /* WEBS_PAGE_ROM */
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Close a web page
|
||||
*/
|
||||
|
||||
void websPageClose(webs_t wp)
|
||||
{
|
||||
a_assert(websValid(wp));
|
||||
|
||||
#ifdef WEBS_PAGE_ROM
|
||||
websRomPageClose(wp->docfd);
|
||||
#else
|
||||
if (wp->docfd >= 0) {
|
||||
close(wp->docfd);
|
||||
wp->docfd = -1;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Stat a web page lpath is the local filename. path is the URL path name.
|
||||
*/
|
||||
|
||||
int websPageStat(webs_t wp, char_t *lpath, char_t *path, websStatType* sbuf)
|
||||
{
|
||||
#ifdef WEBS_PAGE_ROM
|
||||
return websRomPageStat(path, sbuf);
|
||||
#else
|
||||
gstat_t s;
|
||||
|
||||
if (gstat(lpath, &s) < 0) {
|
||||
return -1;
|
||||
}
|
||||
sbuf->size = s.st_size;
|
||||
sbuf->mtime = s.st_mtime;
|
||||
sbuf->isDir = s.st_mode & S_IFDIR;
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Is this file a directory?
|
||||
*/
|
||||
|
||||
int websPageIsDirectory(char_t *lpath)
|
||||
{
|
||||
#ifdef WEBS_PAGE_ROM
|
||||
websStatType sbuf;
|
||||
|
||||
if (websRomPageStat(lpath, &sbuf) >= 0) {
|
||||
return(sbuf.isDir);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
gstat_t sbuf;
|
||||
|
||||
if (gstat(lpath, &sbuf) >= 0) {
|
||||
return(sbuf.st_mode & S_IFDIR);
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Read a web page. Returns the number of _bytes_ read.
|
||||
* len is the size of buf, in bytes.
|
||||
*/
|
||||
|
||||
int websPageReadData(webs_t wp, char *buf, int nBytes)
|
||||
{
|
||||
|
||||
#ifdef WEBS_PAGE_ROM
|
||||
a_assert(websValid(wp));
|
||||
return websRomPageReadData(wp, buf, nBytes);
|
||||
#else
|
||||
a_assert(websValid(wp));
|
||||
return read(wp->docfd, buf, nBytes);
|
||||
#endif
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/*
|
||||
* Move file pointer offset bytes.
|
||||
*/
|
||||
|
||||
void websPageSeek(webs_t wp, long offset)
|
||||
{
|
||||
a_assert(websValid(wp));
|
||||
|
||||
#ifdef WEBS_PAGE_ROM
|
||||
websRomPageSeek(wp, offset, SEEK_CUR);
|
||||
#else
|
||||
lseek(wp->docfd, offset, SEEK_CUR);
|
||||
#endif
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
@@ -1,15 +0,0 @@
|
||||
/*
|
||||
* webrom.c -- Compiled Web Pages
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for usage and redistribution license requirements
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include "wsIntrn.h"
|
||||
|
||||
websRomPageIndexType websRomPageIndex[] = {
|
||||
{ NULL, NULL, 0, 0 },
|
||||
};
|
||||
-2967
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,67 +0,0 @@
|
||||
/*
|
||||
* websSSL.h -- SSL Patch header
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1992-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for information on usage and redistribution
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _h_websSSL
|
||||
#define _h_websSSL 1
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* Header file for the GoAhead Patch for SSL. This defines the interface to
|
||||
* integrate SSL into the GoAhead Webserver.
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
|
||||
#ifdef OPENSSL
|
||||
#define SSLEAY /* turn off a few special case MONOLITH macros */
|
||||
#define USE_SOCKETS /* needed for the _O_BINARY defs in the MS world */
|
||||
#include <openssl/ssl.h>
|
||||
#else
|
||||
#include <sslc.h>
|
||||
#endif
|
||||
|
||||
#ifndef UEMF
|
||||
#include "basic/basic.h"
|
||||
#include "emf/emf.h"
|
||||
#else
|
||||
#include "uemf.h"
|
||||
#endif
|
||||
|
||||
/********************************** Defines ***********************************/
|
||||
|
||||
typedef struct {
|
||||
SSL *ssl;
|
||||
BIO *bio;
|
||||
} websSSL_t;
|
||||
|
||||
|
||||
/******************************** Prototypes **********************************/
|
||||
|
||||
extern int websSSLOpen();
|
||||
extern int websSSLIsOpen();
|
||||
extern void websSSLClose();
|
||||
|
||||
extern int websSSLWrite(websSSL_t *wsp, char_t *buf, int nChars);
|
||||
extern int websSSLGets(websSSL_t *wsp, char_t **buf);
|
||||
extern int websSSLRead(websSSL_t *wsp, char_t *buf, int nChars);
|
||||
extern int websSSLEof(websSSL_t *wsp);
|
||||
|
||||
extern int websSSLFree(websSSL_t *wsp);
|
||||
extern int websSSLFlush(websSSL_t *wsp);
|
||||
|
||||
extern int websSSLSetKeyFile(char_t *keyFile);
|
||||
extern int websSSLSetCertFile(char_t *certFile);
|
||||
|
||||
|
||||
#endif /* _h_websSSL */
|
||||
|
||||
/*****************************************************************************/
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,41 +0,0 @@
|
||||
/*
|
||||
* websda.h -- GoAhead Digest Access Authentication public header
|
||||
*
|
||||
* Copyright (c) GoAhead Software Inc., 1992-2000. All Rights Reserved.
|
||||
*
|
||||
* See the file "license.txt" for information on usage and redistribution
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _h_WEBSDA
|
||||
#define _h_WEBSDA 1
|
||||
|
||||
/******************************** Description *********************************/
|
||||
|
||||
/*
|
||||
* GoAhead Digest Access Authentication header. This defines the Digest
|
||||
* access authentication public APIs. Include this header for files that
|
||||
* use DAA functions
|
||||
*/
|
||||
|
||||
/********************************* Includes ***********************************/
|
||||
|
||||
#ifndef UEMF
|
||||
#include "basic/basic.h"
|
||||
#include "emf/emf.h"
|
||||
#else
|
||||
#include "uemf.h"
|
||||
#endif
|
||||
|
||||
#include "webs.h"
|
||||
|
||||
/****************************** Definitions ***********************************/
|
||||
|
||||
extern char_t *websCalcNonce(webs_t wp);
|
||||
extern char_t *websCalcOpaque(webs_t wp);
|
||||
extern char_t *websCalcDigest(webs_t wp);
|
||||
|
||||
#endif /* _h_WEBSDA */
|
||||
|
||||
/******************************************************************************/
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user