akosut 97/07/15 14:40:21
Modified: src alloc.c alloc.h buff.c buff.h http_bprintf.c
http_conf_globals.h http_config.c http_config.h
http_log.c http_log.h http_main.c http_main.h
http_protocol.c http_protocol.h http_request.c
http_request.h httpd.h scoreboard.h util.c
util_md5.c util_md5.h util_script.c util_script.h
Log:
Tag (most of) the rest of the Apache module API symbols with API_EXPORT.
Reviewed by: Ben Laurie
Revision Changes Path
1.40 +7 -3 apache/src/alloc.c
Index: alloc.c
===================================================================
RCS file: /export/home/cvs/apache/src/alloc.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -c -C3 -r1.39 -r1.40
*** alloc.c 1997/07/14 11:28:54 1.39
--- alloc.c 1997/07/15 21:39:50 1.40
***************
*** 299,305 ****
permanent_pool = make_sub_pool (NULL);
}
! void clear_pool (struct pool *a)
{
block_alarms();
--- 299,305 ----
permanent_pool = make_sub_pool (NULL);
}
! API_EXPORT(void) clear_pool (struct pool *a)
{
block_alarms();
***************
*** 333,340 ****
unblock_alarms();
}
! long bytes_in_pool (pool *p) { return bytes_in_block_list (p->first); }
! long bytes_in_free_blocks () { return bytes_in_block_list (block_freelist);
}
/*****************************************************************
*
--- 333,344 ----
unblock_alarms();
}
! API_EXPORT(long) bytes_in_pool (pool *p) {
! return bytes_in_block_list (p->first);
! }
! API_EXPORT(long) bytes_in_free_blocks () {
! return bytes_in_block_list (block_freelist);
! }
/*****************************************************************
*
1.29 +3 -3 apache/src/alloc.h
Index: alloc.h
===================================================================
RCS file: /export/home/cvs/apache/src/alloc.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -c -C3 -r1.28 -r1.29
*** alloc.h 1997/07/13 19:01:07 1.28
--- alloc.h 1997/07/15 21:39:50 1.29
***************
*** 86,92 ****
/* Clearing out EVERYTHING in an pool... destroys any sub-pools */
! void clear_pool (struct pool *);
/* Preparing for exec() --- close files, etc., but *don't* flush I/O
* buffers, *don't* wait for subprocesses, and *don't* free any memory.
--- 86,92 ----
/* Clearing out EVERYTHING in an pool... destroys any sub-pools */
! API_EXPORT(void) clear_pool (struct pool *);
/* Preparing for exec() --- close files, etc., but *don't* flush I/O
* buffers, *don't* wait for subprocesses, and *don't* free any memory.
***************
*** 262,266 ****
/* Finally, some accounting */
! long bytes_in_pool(pool *p);
! long bytes_in_free_blocks();
--- 262,266 ----
/* Finally, some accounting */
! API_EXPORT(long) bytes_in_pool(pool *p);
! API_EXPORT(long) bytes_in_free_blocks();
1.37 +14 -24 apache/src/buff.c
Index: buff.c
===================================================================
RCS file: /export/home/cvs/apache/src/buff.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -c -C3 -r1.36 -r1.37
*** buff.c 1997/07/13 19:01:08 1.36
--- buff.c 1997/07/15 21:39:50 1.37
***************
*** 246,253 ****
/*
* Create a new buffered stream
*/
! BUFF *
! bcreate(pool *p, int flags)
{
BUFF *fb;
--- 246,252 ----
/*
* Create a new buffered stream
*/
! API_EXPORT(BUFF *) bcreate(pool *p, int flags)
{
BUFF *fb;
***************
*** 290,304 ****
/*
* Push some I/O file descriptors onto the stream
*/
! void
! bpushfd(BUFF *fb, int fd_in, int fd_out)
{
fb->fd = fd_out;
fb->fd_in = fd_in;
}
! int
! bsetopt(BUFF *fb, int optname, const void *optval)
{
if (optname == BO_BYTECT)
{
--- 289,301 ----
/*
* Push some I/O file descriptors onto the stream
*/
! API_EXPORT(void) bpushfd(BUFF *fb, int fd_in, int fd_out)
{
fb->fd = fd_out;
fb->fd_in = fd_in;
}
! API_EXPORT(int) bsetopt(BUFF *fb, int optname, const void *optval)
{
if (optname == BO_BYTECT)
{
***************
*** 311,318 ****
}
}
! int
! bgetopt(BUFF *fb, int optname, void *optval)
{
if (optname == BO_BYTECT)
{
--- 308,314 ----
}
}
! API_EXPORT(int) bgetopt(BUFF *fb, int optname, void *optval)
{
if (optname == BO_BYTECT)
{
***************
*** 415,421 ****
/*
* Set a flag on (1) or off (0).
*/
! int bsetflag(BUFF *fb, int flag, int value)
{
if (value) {
fb->flags |= flag;
--- 411,417 ----
/*
* Set a flag on (1) or off (0).
*/
! API_EXPORT(int) bsetflag(BUFF *fb, int flag, int value)
{
if (value) {
fb->flags |= flag;
***************
*** 518,525 ****
* If fewer than byte bytes are currently available, then return those.
* Returns 0 for EOF, -1 for error.
*/
! int
! bread(BUFF *fb, void *buf, int nbyte)
{
int i, nrd;
--- 514,520 ----
* If fewer than byte bytes are currently available, then return those.
* Returns 0 for EOF, -1 for error.
*/
! API_EXPORT(int) bread(BUFF *fb, void *buf, int nbyte)
{
int i, nrd;
***************
*** 684,690 ****
* Returns 1 on success, zero on end of transmission, or -1 on an error.
*
*/
! int blookc(char *buff, BUFF *fb)
{
int i;
--- 679,685 ----
* Returns 1 on success, zero on end of transmission, or -1 on an error.
*
*/
! API_EXPORT(int) blookc(char *buff, BUFF *fb)
{
int i;
***************
*** 723,730 ****
* Skip data until a linefeed character is read
* Returns 1 on success, 0 if no LF found, or -1 on error
*/
! int
! bskiplf(BUFF *fb)
{
unsigned char *x;
int i;
--- 718,724 ----
* Skip data until a linefeed character is read
* Returns 1 on success, 0 if no LF found, or -1 on error
*/
! API_EXPORT(int) bskiplf(BUFF *fb)
{
unsigned char *x;
int i;
***************
*** 762,769 ****
/*
* Emtpy the buffer after putting a single character in it
*/
! int
! bflsbuf(int c, BUFF *fb)
{
char ss[1];
--- 756,762 ----
/*
* Emtpy the buffer after putting a single character in it
*/
! API_EXPORT(int) bflsbuf(int c, BUFF *fb)
{
char ss[1];
***************
*** 774,781 ****
/*
* Fill the buffer and read a character from it
*/
! int
! bfilbuf(BUFF *fb)
{
int i;
char buf[1];
--- 767,773 ----
/*
* Fill the buffer and read a character from it
*/
! API_EXPORT(int) bfilbuf(BUFF *fb)
{
int i;
char buf[1];
***************
*** 1130,1137 ****
/*
* returns the number of bytes written or -1 on error
*/
! int
! bputs(const char *x, BUFF *fb)
{
int i, j=strlen(x);
i = bwrite(fb, x, j);
--- 1122,1128 ----
/*
* returns the number of bytes written or -1 on error
*/
! API_EXPORT(int) bputs(const char *x, BUFF *fb)
{
int i, j=strlen(x);
i = bwrite(fb, x, j);
***************
*** 1142,1149 ****
/*
* returns the number of bytes written or -1 on error
*/
! int
! bvputs(BUFF *fb, ...)
{
int i, j, k;
va_list v;
--- 1133,1139 ----
/*
* returns the number of bytes written or -1 on error
*/
! API_EXPORT_NONSTD(int) bvputs(BUFF *fb, ...)
{
int i, j, k;
va_list v;
***************
*** 1169,1176 ****
return k;
}
! void
! bonerror(BUFF *fb, void (*error)(BUFF *, int, void *), void *data)
{
fb->error = error;
fb->error_data = data;
--- 1159,1166 ----
return k;
}
! API_EXPORT(void) bonerror(BUFF *fb, void (*error)(BUFF *, int, void *),
! void *data)
{
fb->error = error;
fb->error_data = data;
1.19 +15 -15 apache/src/buff.h
Index: buff.h
===================================================================
RCS file: /export/home/cvs/apache/src/buff.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -c -C3 -r1.18 -r1.19
*** buff.h 1997/07/14 11:28:54 1.18
--- buff.h 1997/07/15 21:39:51 1.19
***************
*** 120,153 ****
#define BO_BYTECT (1)
/* Stream creation and modification */
! extern BUFF *bcreate(pool *p, int flags);
! extern void bpushfd(BUFF *fb, int fd_in, int fd_out);
! extern int bsetopt(BUFF *fb, int optname, const void *optval);
! extern int bgetopt(BUFF *fb, int optname, void *optval);
! extern int bsetflag(BUFF *fb, int flag, int value);
API_EXPORT(int) bclose(BUFF *fb);
#define bgetflag(fb, flag) ((fb)->flags & (flag))
/* Error handling */
! extern void bonerror(BUFF *fb, void (*error)(BUFF *, int, void *),
void *data);
/* I/O */
! extern int bread(BUFF *fb, void *buf, int nbyte);
API_EXPORT(int) bgets(char *s, int n, BUFF *fb);
! extern int blookc(char *buff, BUFF *fb);
! extern int bskiplf(BUFF *fb);
API_EXPORT(int) bwrite(BUFF *fb, const void *buf, int nbyte);
API_EXPORT(int) bflush(BUFF *fb);
! extern int bputs(const char *x, BUFF *fb);
! extern int bvputs(BUFF *fb, ...);
! extern int bprintf(BUFF *fb,const char *fmt,...);
! extern int vbprintf(BUFF *fb,const char *fmt,va_list vlist);
/* Internal routines */
! extern int bflsbuf(int c, BUFF *fb);
! extern int bfilbuf(BUFF *fb);
#define bgetc(fb) ( ((fb)->incnt == 0) ? bfilbuf(fb) : \
((fb)->incnt--, *((fb)->inptr++)) )
--- 120,153 ----
#define BO_BYTECT (1)
/* Stream creation and modification */
! API_EXPORT(BUFF *) bcreate(pool *p, int flags);
! API_EXPORT(void) bpushfd(BUFF *fb, int fd_in, int fd_out);
! API_EXPORT(int) bsetopt(BUFF *fb, int optname, const void *optval);
! API_EXPORT(int) bgetopt(BUFF *fb, int optname, void *optval);
! API_EXPORT(int) bsetflag(BUFF *fb, int flag, int value);
API_EXPORT(int) bclose(BUFF *fb);
#define bgetflag(fb, flag) ((fb)->flags & (flag))
/* Error handling */
! API_EXPORT(void) bonerror(BUFF *fb, void (*error)(BUFF *, int, void *),
void *data);
/* I/O */
! API_EXPORT(int) bread(BUFF *fb, void *buf, int nbyte);
API_EXPORT(int) bgets(char *s, int n, BUFF *fb);
! API_EXPORT(int) blookc(char *buff, BUFF *fb);
! API_EXPORT(int) bskiplf(BUFF *fb);
API_EXPORT(int) bwrite(BUFF *fb, const void *buf, int nbyte);
API_EXPORT(int) bflush(BUFF *fb);
! API_EXPORT(int) bputs(const char *x, BUFF *fb);
! API_EXPORT(int) bvputs(BUFF *fb, ...);
! API_EXPORT_NONSTD(int) bprintf(BUFF *fb,const char *fmt,...);
! API_EXPORT_NONSTD(int) vbprintf(BUFF *fb,const char *fmt,va_list vlist);
/* Internal routines */
! API_EXPORT(int) bflsbuf(int c, BUFF *fb);
! API_EXPORT(int) bfilbuf(BUFF *fb);
#define bgetc(fb) ( ((fb)->incnt == 0) ? bfilbuf(fb) : \
((fb)->incnt--, *((fb)->inptr++)) )
1.11 +1 -1 apache/src/http_bprintf.c
Index: http_bprintf.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_bprintf.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -c -C3 -r1.10 -r1.11
*** http_bprintf.c 1997/06/29 23:54:50 1.10
--- http_bprintf.c 1997/07/15 21:39:51 1.11
***************
*** 60,66 ****
*srcPtr = src;
}
! int vbprintf(BUFF *bp, const char *format, va_list arg)
{
const char *f,*fStop,*percentPtr,*p;
char *fmtBuffPtr, *buffPtr;
--- 60,66 ----
*srcPtr = src;
}
! API_EXPORT_NONSTD(int) vbprintf(BUFF *bp, const char *format, va_list arg)
{
const char *f,*fStop,*percentPtr,*p;
char *fmtBuffPtr, *buffPtr;
1.14 +1 -1 apache/src/http_conf_globals.h
Index: http_conf_globals.h
===================================================================
RCS file: /export/home/cvs/apache/src/http_conf_globals.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -c -C3 -r1.13 -r1.14
*** http_conf_globals.h 1997/07/13 19:01:09 1.13
--- http_conf_globals.h 1997/07/15 21:39:51 1.14
***************
*** 76,82 ****
extern char *pid_fname;
extern char *scoreboard_fname;
extern char *lock_fname;
! extern char *server_argv0;
/* Trying to allocate these in the config pool gets us into some *nasty*
* chicken-and-egg problems in http_main.c --- where do you stick them
--- 76,82 ----
extern char *pid_fname;
extern char *scoreboard_fname;
extern char *lock_fname;
! MODULE_VAR_EXPORT char *server_argv0;
/* Trying to allocate these in the config pool gets us into some *nasty*
* chicken-and-egg problems in http_main.c --- where do you stick them
1.60 +9 -7 apache/src/http_config.c
Index: http_config.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_config.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -c -C3 -r1.59 -r1.60
*** http_config.c 1997/07/13 19:01:09 1.59
--- http_config.c 1997/07/15 21:39:52 1.60
***************
*** 442,448 ****
/* One-time setup for precompiled modules --- NOT to be done on restart */
! void add_module (module *m)
{
/* This could be called from an AddModule httpd.conf command,
* after the file has been linked and the module structure within it
--- 442,448 ----
/* One-time setup for precompiled modules --- NOT to be done on restart */
! API_EXPORT(void) add_module (module *m)
{
/* This could be called from an AddModule httpd.conf command,
* after the file has been linked and the module structure within it
***************
*** 489,500 ****
}
}
! const char *find_module_name (module *m)
{
return m->name;
}
! module *find_linked_module (const char *name)
{
module *modp;
--- 489,500 ----
}
}
! API_EXPORT(const char *) find_module_name (module *m)
{
return m->name;
}
! API_EXPORT(module *) find_linked_module (const char *name)
{
module *modp;
***************
*** 506,512 ****
}
/* Add a named module. Returns 1 if module found, 0 otherwise. */
! int add_named_module (const char *name)
{
extern module *preloaded_modules[];
module *modp;
--- 506,512 ----
}
/* Add a named module. Returns 1 if module found, 0 otherwise. */
! API_EXPORT(int) add_named_module (const char *name)
{
extern module *preloaded_modules[];
module *modp;
***************
*** 526,532 ****
}
/* Clear the internal list of modules, in preparation for starting over. */
! void clear_module_list ()
{
module **m = &top_module;
module **next_m;
--- 526,532 ----
}
/* Clear the internal list of modules, in preparation for starting over. */
! API_EXPORT(void) clear_module_list ()
{
module **m = &top_module;
module **next_m;
***************
*** 776,782 ****
* Generic command functions...
*/
! API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *cmd, char
*struct_ptr, char *arg)
{
/* This one's pretty generic... */
--- 776,783 ----
* Generic command functions...
*/
! API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *cmd,
! char *struct_ptr, char *arg)
{
/* This one's pretty generic... */
***************
*** 785,791 ****
return NULL;
}
! const char *set_flag_slot (cmd_parms *cmd, char *struct_ptr, int arg)
{
/* This one's pretty generic too... */
--- 786,793 ----
return NULL;
}
! API_EXPORT_NONSTD(const char *) set_flag_slot (cmd_parms *cmd,
! char *struct_ptr, int arg)
{
/* This one's pretty generic too... */
1.35 +6 -6 apache/src/http_config.h
Index: http_config.h
===================================================================
RCS file: /export/home/cvs/apache/src/http_config.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -c -C3 -r1.34 -r1.35
*** http_config.h 1997/07/13 19:01:10 1.34
--- http_config.h 1997/07/15 21:39:52 1.35
***************
*** 239,245 ****
/* Generic command handling function... */
API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *, char *, char
*);
! const char *set_flag_slot (cmd_parms *, char *, int);
/* For modules which need to read config files, open logs, etc. ...
* this returns the fname argument if it begins with '/'; otherwise
--- 239,245 ----
/* Generic command handling function... */
API_EXPORT_NONSTD(const char *) set_string_slot (cmd_parms *, char *, char
*);
! API_EXPORT_NONSTD(const char *) set_flag_slot (cmd_parms *, char *, int);
/* For modules which need to read config files, open logs, etc. ...
* this returns the fname argument if it begins with '/'; otherwise
***************
*** 250,260 ****
/* Finally, the hook for dynamically loading modules in... */
! void add_module (module *m);
! int add_named_module (const char *name);
! void clear_module_list ();
! const char *find_module_name (module *m);
! module *find_linked_module (const char *name);
#ifdef CORE_PRIVATE
--- 250,260 ----
/* Finally, the hook for dynamically loading modules in... */
! API_EXPORT(void) add_module (module *m);
! API_EXPORT(int) add_named_module (const char *name);
! API_EXPORT(void) clear_module_list ();
! API_EXPORT(const char *) find_module_name (module *m);
! API_EXPORT(module *) find_linked_module (const char *name);
#ifdef CORE_PRIVATE
1.20 +5 -7 apache/src/http_log.c
Index: http_log.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_log.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -c -C3 -r1.19 -r1.20
*** http_log.c 1997/07/13 19:01:11 1.19
--- http_log.c 1997/07/15 21:39:53 1.20
***************
*** 158,171 ****
fclose(pid_file);
}
! void log_error(char *err, server_rec *s) {
fprintf(s->error_log, "[%s] %s\n",get_time(),err);
fflush(s->error_log);
}
! void
! log_unixerr(const char *routine, const char *file, const char *msg,
! server_rec *s)
{
const char *p, *q;
FILE *err=s ? s->error_log : stderr;
--- 158,170 ----
fclose(pid_file);
}
! API_EXPORT(void) log_error(char *err, server_rec *s) {
fprintf(s->error_log, "[%s] %s\n",get_time(),err);
fflush(s->error_log);
}
! API_EXPORT(void) log_unixerr(const char *routine, const char *file,
! const char *msg, server_rec *s)
{
const char *p, *q;
FILE *err=s ? s->error_log : stderr;
***************
*** 182,189 ****
fflush(err);
}
! void
! log_printf(const server_rec *s, const char *fmt, ...)
{
va_list args;
--- 181,187 ----
fflush(err);
}
! API_EXPORT(void) log_printf(const server_rec *s, const char *fmt, ...)
{
va_list args;
***************
*** 206,212 ****
fflush (r->server->error_log);
}
! void log_assert(const char *szExp,const char *szFile,int nLine)
{
fprintf(stderr, "[%s] file %s, line %d, assertion \"%s\" failed\n",
get_time(), szFile, nLine, szExp);
--- 204,210 ----
fflush (r->server->error_log);
}
! API_EXPORT(void) log_assert(const char *szExp, const char *szFile, int
nLine)
{
fprintf(stderr, "[%s] file %s, line %d, assertion \"%s\" failed\n",
get_time(), szFile, nLine, szExp);
1.9 +6 -5 apache/src/http_log.h
Index: http_log.h
===================================================================
RCS file: /export/home/cvs/apache/src/http_log.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -c -C3 -r1.8 -r1.9
*** http_log.h 1997/07/13 19:01:11 1.8
--- http_log.h 1997/07/15 21:39:54 1.9
***************
*** 54,62 ****
API_EXPORT(void) error_log2stderr (server_rec *);
void log_pid (pool *p, char *pid_fname);
! void log_error(char *err, server_rec *s);
! extern void log_unixerr(const char *routine, const char *file,
! const char *msg, server_rec *s);
! void log_printf(const server_rec *s, const char *fmt, ...);
! API_EXPORT(void) log_reason(const char *reason, const char *fname,
request_rec *r);
--- 54,63 ----
API_EXPORT(void) error_log2stderr (server_rec *);
void log_pid (pool *p, char *pid_fname);
! API_EXPORT(void) log_error(char *err, server_rec *s);
! API_EXPORT(void) log_unixerr(const char *routine, const char *file,
! const char *msg, server_rec *s);
! API_EXPORT(void) log_printf(const server_rec *s, const char *fmt, ...);
! API_EXPORT(void) log_reason(const char *reason, const char *fname,
! request_rec *r);
1.179 +4 -4 apache/src/http_main.c
Index: http_main.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_main.c,v
retrieving revision 1.178
retrieving revision 1.179
diff -c -C3 -r1.178 -r1.179
*** http_main.c 1997/07/13 19:01:11 1.178
--- http_main.c 1997/07/15 21:39:54 1.179
***************
*** 777,783 ****
scoreboard_image = NULL;
}
! void sync_scoreboard_image ()
{}
--- 777,783 ----
scoreboard_image = NULL;
}
! API_EXPORT(void) sync_scoreboard_image ()
{}
***************
*** 1057,1063 ****
* anyway.
*/
! void sync_scoreboard_image ()
{
#ifdef SCOREBOARD_FILE
lseek (scoreboard_fd, 0L, 0);
--- 1057,1063 ----
* anyway.
*/
! API_EXPORT(void) sync_scoreboard_image ()
{
#ifdef SCOREBOARD_FILE
lseek (scoreboard_fd, 0L, 0);
***************
*** 1067,1073 ****
#endif /* MULTITHREAD */
! int exists_scoreboard_image ()
{
return (scoreboard_image ? 1 : 0);
}
--- 1067,1073 ----
#endif /* MULTITHREAD */
! API_EXPORT(int) exists_scoreboard_image ()
{
return (scoreboard_image ? 1 : 0);
}
***************
*** 1143,1149 ****
#endif
}
! short_score get_scoreboard_info(int i)
{
return (scoreboard_image->servers[i]);
}
--- 1143,1149 ----
#endif
}
! API_EXPORT(short_score) get_scoreboard_info(int i)
{
return (scoreboard_image->servers[i]);
}
1.15 +1 -1 apache/src/http_main.h
Index: http_main.h
===================================================================
RCS file: /export/home/cvs/apache/src/http_main.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -c -C3 -r1.14 -r1.15
*** http_main.h 1997/07/13 19:01:12 1.14
--- http_main.h 1997/07/15 21:39:55 1.15
***************
*** 91,97 ****
API_EXPORT(void) kill_timeout (request_rec *);
API_EXPORT(void) reset_timeout (request_rec *);
! void sync_scoreboard_image ();
int update_child_status (int child_num, int status, request_rec *r);
void time_process_request (int child_num, int status);
unsigned int set_callback_and_alarm(void (*fn)(int), int x);
--- 91,97 ----
API_EXPORT(void) kill_timeout (request_rec *);
API_EXPORT(void) reset_timeout (request_rec *);
! API_EXPORT(void) sync_scoreboard_image ();
int update_child_status (int child_num, int status, request_rec *r);
void time_process_request (int child_num, int status);
unsigned int set_callback_and_alarm(void (*fn)(int), int x);
1.138 +19 -17 apache/src/http_protocol.c
Index: http_protocol.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.c,v
retrieving revision 1.137
retrieving revision 1.138
diff -c -C3 -r1.137 -r1.138
*** http_protocol.c 1997/07/15 15:52:42 1.137
--- http_protocol.c 1997/07/15 21:39:56 1.138
***************
*** 108,114 ****
static int internal_byterange(int, long*, request_rec*, char**, long*,
long*);
! int set_byterange (request_rec *r)
{
char *range, *if_range, *match;
char ts[MAX_STRING_LEN];
--- 108,114 ----
static int internal_byterange(int, long*, request_rec*, char**, long*,
long*);
! API_EXPORT(int) set_byterange (request_rec *r)
{
char *range, *if_range, *match;
char ts[MAX_STRING_LEN];
***************
*** 182,188 ****
return 1;
}
! int each_byterange (request_rec *r, long *offset, long *length)
{
return internal_byterange(1, NULL, r, &r->range, offset, length);
}
--- 182,188 ----
return 1;
}
! API_EXPORT(int) each_byterange (request_rec *r, long *offset, long *length)
{
return internal_byterange(1, NULL, r, &r->range, offset, length);
}
***************
*** 245,251 ****
return 1;
}
! int set_content_length (request_rec *r, long clength)
{
char ts[MAX_STRING_LEN];
--- 245,251 ----
return 1;
}
! API_EXPORT(int) set_content_length (request_rec *r, long clength)
{
char ts[MAX_STRING_LEN];
***************
*** 344,350 ****
return 0;
}
! int set_last_modified(request_rec *r, time_t mtime)
{
char *etag, weak_etag[MAX_STRING_LEN];
char *if_match, *if_modified_since, *if_unmodified, *if_nonematch;
--- 344,350 ----
return 0;
}
! API_EXPORT(int) set_last_modified(request_rec *r, time_t mtime)
{
char *etag, weak_etag[MAX_STRING_LEN];
char *if_match, *if_modified_since, *if_unmodified, *if_nonematch;
***************
*** 883,889 ****
/* Support for the Basic authentication protocol, and a bit for Digest.
*/
! void note_auth_failure(request_rec *r)
{
if (!strcasecmp(auth_type(r), "Basic"))
note_basic_auth_failure(r);
--- 883,889 ----
/* Support for the Basic authentication protocol, and a bit for Digest.
*/
! API_EXPORT(void) note_auth_failure(request_rec *r)
{
if (!strcasecmp(auth_type(r), "Basic"))
note_basic_auth_failure(r);
***************
*** 891,897 ****
note_digest_auth_failure(r);
}
! void note_basic_auth_failure(request_rec *r)
{
if (strcasecmp(auth_type(r), "Basic"))
note_auth_failure(r);
--- 891,897 ----
note_digest_auth_failure(r);
}
! API_EXPORT(void) note_basic_auth_failure(request_rec *r)
{
if (strcasecmp(auth_type(r), "Basic"))
note_auth_failure(r);
***************
*** 900,906 ****
pstrcat(r->pool, "Basic realm=\"", auth_name(r), "\"", NULL));
}
! void note_digest_auth_failure(request_rec *r)
{
char nonce[256];
--- 900,906 ----
pstrcat(r->pool, "Basic realm=\"", auth_name(r), "\"", NULL));
}
! API_EXPORT(void) note_digest_auth_failure(request_rec *r)
{
char nonce[256];
***************
*** 910,916 ****
"\", nonce=\"", nonce, "\"", NULL));
}
! int get_basic_auth_pw (request_rec *r, char **pw)
{
const char *auth_line = table_get (r->headers_in, "Authorization");
char *t;
--- 910,916 ----
"\", nonce=\"", nonce, "\"", NULL));
}
! API_EXPORT(int) get_basic_auth_pw (request_rec *r, char **pw)
{
const char *auth_line = table_get (r->headers_in, "Authorization");
char *t;
***************
*** 1525,1533 ****
return (chunk_start + len_read);
}
! long send_fd(FILE *f, request_rec *r) { return send_fd_length(f, r, -1); }
! long send_fd_length(FILE *f, request_rec *r, long length)
{
char buf[IOBUFSIZE];
long total_bytes_sent = 0;
--- 1525,1535 ----
return (chunk_start + len_read);
}
! API_EXPORT(long)send_fd(FILE *f, request_rec *r) {
! return send_fd_length(f, r, -1);
! }
! API_EXPORT(long) send_fd_length(FILE *f, request_rec *r, long length)
{
char buf[IOBUFSIZE];
long total_bytes_sent = 0;
***************
*** 1582,1588 ****
return total_bytes_sent;
}
! int rputc (int c, request_rec *r)
{
if (r->connection->aborted) return EOF;
bputc(c, r->connection->client);
--- 1584,1590 ----
return total_bytes_sent;
}
! API_EXPORT(int) rputc (int c, request_rec *r)
{
if (r->connection->aborted) return EOF;
bputc(c, r->connection->client);
***************
*** 1590,1603 ****
return c;
}
! int rputs(const char *str, request_rec *r)
{
if (r->connection->aborted) return EOF;
SET_BYTES_SENT(r);
return bputs(str, r->connection->client);
}
! int rwrite(const void *buf, int nbyte, request_rec *r)
{
int n;
if (r->connection->aborted) return EOF;
--- 1592,1605 ----
return c;
}
! API_EXPORT(int) rputs(const char *str, request_rec *r)
{
if (r->connection->aborted) return EOF;
SET_BYTES_SENT(r);
return bputs(str, r->connection->client);
}
! API_EXPORT(int) rwrite(const void *buf, int nbyte, request_rec *r)
{
int n;
if (r->connection->aborted) return EOF;
***************
*** 1606,1612 ****
return n;
}
! int rprintf(request_rec *r,const char *fmt,...)
{
va_list vlist;
int n;
--- 1608,1614 ----
return n;
}
! API_EXPORT(int) rprintf(request_rec *r,const char *fmt,...)
{
va_list vlist;
int n;
***************
*** 1619,1625 ****
return n;
}
! int rvputs(request_rec *r, ...)
{
va_list args;
int i, j, k;
--- 1621,1627 ----
return n;
}
! API_EXPORT_NONSTD(int) rvputs(request_rec *r, ...)
{
va_list args;
int i, j, k;
***************
*** 1648,1654 ****
return k;
}
! int rflush (request_rec *r) {
return bflush(r->connection->client);
}
--- 1650,1656 ----
return k;
}
! API_EXPORT(int) rflush (request_rec *r) {
return bflush(r->connection->client);
}
***************
*** 1919,1925 ****
* comes along?
*/
! void client_to_stdout (conn_rec *c)
{
bflush(c->client);
dup2(c->client->fd, STDOUT_FILENO);
--- 1921,1927 ----
* comes along?
*/
! API_EXPORT(void) client_to_stdout (conn_rec *c)
{
bflush(c->client);
dup2(c->client->fd, STDOUT_FILENO);
1.23 +17 -17 apache/src/http_protocol.h
Index: http_protocol.h
===================================================================
RCS file: /export/home/cvs/apache/src/http_protocol.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -c -C3 -r1.22 -r1.23
*** http_protocol.h 1997/07/14 11:28:55 1.22
--- http_protocol.h 1997/07/15 21:39:56 1.23
***************
*** 93,101 ****
* permit_cache argument is set to one).
*/
! int set_content_length (request_rec *r, long length);
int set_keepalive (request_rec *r);
! int set_last_modified (request_rec *r, time_t mtime);
/* Other ways to send stuff at the client. All of these keep track
* of bytes_sent automatically. This indirection is intended to make
--- 93,101 ----
* permit_cache argument is set to one).
*/
! API_EXPORT(int) set_content_length (request_rec *r, long length);
int set_keepalive (request_rec *r);
! API_EXPORT(int) set_last_modified (request_rec *r, time_t mtime);
/* Other ways to send stuff at the client. All of these keep track
* of bytes_sent automatically. This indirection is intended to make
***************
*** 108,126 ****
* (Ditto the send_header stuff).
*/
! long send_fd(FILE *f, request_rec *r);
! long send_fd_length(FILE *f, request_rec *r, long length);
/* Hmmm... could macrofy these for now, and maybe forever, though the
* definitions of the macros would get a whole lot hairier.
*/
! int rputc (int c, request_rec *r);
! int rputs(const char *str, request_rec *r);
! int rwrite(const void *buf, int nbyte, request_rec *r);
! int rvputs(request_rec *r, ...);
! int rprintf(request_rec *r,const char *fmt,...);
! int rflush(request_rec *r);
/*
* Index used in custom_responses array for a specific error code
--- 108,126 ----
* (Ditto the send_header stuff).
*/
! API_EXPORT(long) send_fd(FILE *f, request_rec *r);
! API_EXPORT(long) send_fd_length(FILE *f, request_rec *r, long length);
/* Hmmm... could macrofy these for now, and maybe forever, though the
* definitions of the macros would get a whole lot hairier.
*/
! API_EXPORT(int) rputc (int c, request_rec *r);
! API_EXPORT(int) rputs(const char *str, request_rec *r);
! API_EXPORT(int) rwrite(const void *buf, int nbyte, request_rec *r);
! API_EXPORT_NONSTD(int) rvputs(request_rec *r, ...);
! API_EXPORT_NONSTD(int) rprintf(request_rec *r,const char *fmt,...);
! API_EXPORT(int) rflush(request_rec *r);
/*
* Index used in custom_responses array for a specific error code
***************
*** 137,144 ****
/* Sending a byterange */
! int set_byterange (request_rec *r);
! int each_byterange (request_rec *r, long *offset, long *length);
/* Finally, this charming little number is here to encapsulate the
* degree to which nph- scripts completely escape from any discipline
--- 137,144 ----
/* Sending a byterange */
! API_EXPORT(int) set_byterange (request_rec *r);
! API_EXPORT(int) each_byterange (request_rec *r, long *offset, long *length);
/* Finally, this charming little number is here to encapsulate the
* degree to which nph- scripts completely escape from any discipline
***************
*** 147,153 ****
* to explicitly set the status line).
*/
! void client_to_stdout (conn_rec *c);
/* Support for the Basic authentication protocol. Note that there's
--- 147,153 ----
* to explicitly set the status line).
*/
! API_EXPORT(void) client_to_stdout (conn_rec *c);
/* Support for the Basic authentication protocol. Note that there's
***************
*** 172,181 ****
*
*/
! void note_auth_failure(request_rec *r);
! void note_basic_auth_failure(request_rec *r);
! void note_digest_auth_failure(request_rec *r);
! int get_basic_auth_pw (request_rec *r, char **pw);
/*
* Setting up the protocol fields for subsidiary requests...
--- 172,181 ----
*
*/
! API_EXPORT(void) note_auth_failure(request_rec *r);
! API_EXPORT(void) note_basic_auth_failure(request_rec *r);
! API_EXPORT(void) note_digest_auth_failure(request_rec *r);
! API_EXPORT(int) get_basic_auth_pw (request_rec *r, char **pw);
/*
* Setting up the protocol fields for subsidiary requests...
1.62 +8 -6 apache/src/http_request.c
Index: http_request.c
===================================================================
RCS file: /export/home/cvs/apache/src/http_request.c,v
retrieving revision 1.61
retrieving revision 1.62
diff -c -C3 -r1.61 -r1.62
*** http_request.c 1997/07/14 02:32:10 1.61
--- http_request.c 1997/07/15 21:39:57 1.62
***************
*** 601,607 ****
}
! request_rec *sub_req_lookup_uri (const char *new_file, const request_rec *r)
{
request_rec *rnew;
int res;
--- 601,608 ----
}
! API_EXPORT(request_rec *) sub_req_lookup_uri (const char *new_file,
! const request_rec *r)
{
request_rec *rnew;
int res;
***************
*** 676,682 ****
return rnew;
}
! request_rec *sub_req_lookup_file (const char *new_file, const request_rec
*r)
{
request_rec *rnew;
int res;
--- 677,684 ----
return rnew;
}
! API_EXPORT(request_rec *) sub_req_lookup_file (const char *new_file,
! const request_rec *r)
{
request_rec *rnew;
int res;
***************
*** 764,777 ****
return rnew;
}
! int run_sub_req (request_rec *r)
{
int retval = invoke_handler (r);
finalize_sub_req_protocol (r);
return retval;
}
! void destroy_sub_req (request_rec *r)
{
/* Reclaim the space */
destroy_pool (r->pool);
--- 766,779 ----
return rnew;
}
! API_EXPORT(int) run_sub_req (request_rec *r)
{
int retval = invoke_handler (r);
finalize_sub_req_protocol (r);
return retval;
}
! API_EXPORT(void) destroy_sub_req (request_rec *r)
{
/* Reclaim the space */
destroy_pool (r->pool);
***************
*** 1116,1122 ****
return new;
}
! void internal_redirect (const char *new_uri, request_rec *r)
{
request_rec *new = internal_internal_redirect(new_uri, r);
process_request_internal (new);
--- 1118,1124 ----
return new;
}
! API_EXPORT(void) internal_redirect (const char *new_uri, request_rec *r)
{
request_rec *new = internal_internal_redirect(new_uri, r);
process_request_internal (new);
***************
*** 1139,1145 ****
* it is the initial main request, which we only get *once* per HTTP
request
*/
! int is_initial_req(request_rec *r)
{
return
(r->main == NULL) /* otherwise, this is a sub-request */
--- 1141,1147 ----
* it is the initial main request, which we only get *once* per HTTP
request
*/
! API_EXPORT(int) is_initial_req(request_rec *r)
{
return
(r->main == NULL) /* otherwise, this is a sub-request */
1.13 +8 -6 apache/src/http_request.h
Index: http_request.h
===================================================================
RCS file: /export/home/cvs/apache/src/http_request.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -c -C3 -r1.12 -r1.13
*** http_request.h 1997/07/13 19:01:13 1.12
--- http_request.h 1997/07/15 21:39:57 1.13
***************
*** 70,79 ****
* about which was allocated in its pool elsewhere before doing this.
*/
! request_rec *sub_req_lookup_uri (const char *new_file, const request_rec
*r);
! request_rec *sub_req_lookup_file (const char *new_file, const request_rec
*r);
! int run_sub_req (request_rec *r);
! void destroy_sub_req (request_rec *r);
/*
* Then there's the case that you want some other request to be served
--- 70,81 ----
* about which was allocated in its pool elsewhere before doing this.
*/
! API_EXPORT(request_rec *) sub_req_lookup_uri (const char *new_file,
! const request_rec *r);
! API_EXPORT(request_rec *) sub_req_lookup_file (const char *new_file,
! const request_rec *r);
! API_EXPORT(int) run_sub_req (request_rec *r);
! API_EXPORT(void) destroy_sub_req (request_rec *r);
/*
* Then there's the case that you want some other request to be served
***************
*** 81,90 ****
* If so, call this from a handler, and then immediately return OK.
*/
! void internal_redirect (const char *new_uri, request_rec *);
API_EXPORT(void) internal_redirect_handler (const char *new_uri,
request_rec *);
API_EXPORT(int) some_auth_required (request_rec *r);
! int is_initial_req(request_rec *r);
#ifdef CORE_PRIVATE
/* Function called by main.c to handle first-level request */
--- 83,92 ----
* If so, call this from a handler, and then immediately return OK.
*/
! API_EXPORT(void) internal_redirect (const char *new_uri, request_rec *);
API_EXPORT(void) internal_redirect_handler (const char *new_uri,
request_rec *);
API_EXPORT(int) some_auth_required (request_rec *r);
! API_EXPORT(int) is_initial_req(request_rec *r);
#ifdef CORE_PRIVATE
/* Function called by main.c to handle first-level request */
1.127 +41 -39 apache/src/httpd.h
Index: httpd.h
===================================================================
RCS file: /export/home/cvs/apache/src/httpd.h,v
retrieving revision 1.126
retrieving revision 1.127
diff -c -C3 -r1.126 -r1.127
*** httpd.h 1997/07/13 19:01:14 1.126
--- httpd.h 1997/07/15 21:39:57 1.127
***************
*** 678,737 ****
*/
/* Time */
! extern const char month_snames[12][4];
! struct tm *get_gmtoff(int *tz);
API_EXPORT(char *) get_time();
! char *ht_time (pool *p, time_t t, const char *fmt, int gmt);
! char *gm_timestr_822(pool *p, time_t t);
/* String handling. The *_nc variants allow you to use non-const char **s as
arguments (unfortunately C won't automatically convert a char ** to a const
char **) */
API_EXPORT(char *) getword(pool *p, const char **line, char stop);
! char *getword_nc(pool *p, char **line, char stop);
! char *getword_white(pool *p, const char **line);
! char *getword_white_nc(pool *p, char **line);
! char *getword_nulls (pool *p, const char **line, char stop);
! char *getword_nulls_nc (pool *p, char **line, char stop);
API_EXPORT(char *) getword_conf (pool *p, const char **line);
! char *getword_conf_nc (pool *p, char **line);
! char *get_token (pool *p, char **accept_line, int accept_white);
! int find_token (pool *p, const char *line, const char *tok);
! int find_last_token (pool *p, const char *line, const char *tok);
API_EXPORT(int) is_url(const char *u);
! extern int unescape_url(char *url);
! void no2slash(char *name);
! void getparents(char *name);
! char *escape_path_segment(pool *p, const char *s);
API_EXPORT(char *) os_escape_path(pool *p,const char *path,int partial);
#define escape_uri(ppool,path) os_escape_path(ppool,path,1)
! extern char *escape_html(pool *p, const char *s);
! char *construct_server(pool *p, const char *hostname, unsigned port);
! char *construct_url (pool *p, const char *path, const server_rec *s);
! char *escape_shell_cmd (pool *p, const char *s);
!
! int count_dirs(const char *path);
! char *make_dirstr_prefix (char *d, const char *s, int n);
! char *make_dirstr_parent (pool *p, const char *s);
/* deprecated. The previous two routines are preferred. */
! char *make_dirstr(pool *a, const char *s, int n);
! char *make_full_path(pool *a, const char *dir, const char *f);
!
! int is_matchexp(const char *str);
! int strcmp_match(const char *str, const char *exp);
! int strcasecmp_match(const char *str, const char *exp);
! char *uudecode (pool *, const char *);
API_EXPORT(char *) pregsub(pool *p, const char *input, const char *source,
size_t nmatch, regmatch_t pmatch[]);
API_EXPORT(void) str_tolower (char *);
! int ind (const char *, char); /* Sigh... */
! int rind (const char *, char);
API_EXPORT(int) cfg_getline(char *s, int n, FILE *f);
--- 678,739 ----
*/
/* Time */
! extern MODULE_VAR_EXPORT const char month_snames[12][4];
! API_EXPORT(struct tm *) get_gmtoff(int *tz);
API_EXPORT(char *) get_time();
! API_EXPORT(char *) ht_time (pool *p, time_t t, const char *fmt, int gmt);
! API_EXPORT(char *) gm_timestr_822(pool *p, time_t t);
/* String handling. The *_nc variants allow you to use non-const char **s as
arguments (unfortunately C won't automatically convert a char ** to a const
char **) */
API_EXPORT(char *) getword(pool *p, const char **line, char stop);
! API_EXPORT(char *) getword_nc(pool *p, char **line, char stop);
! API_EXPORT(char *) getword_white(pool *p, const char **line);
! API_EXPORT(char *) getword_white_nc(pool *p, char **line);
! API_EXPORT(char *) getword_nulls (pool *p, const char **line, char stop);
! API_EXPORT(char *) getword_nulls_nc (pool *p, char **line, char stop);
API_EXPORT(char *) getword_conf (pool *p, const char **line);
! API_EXPORT(char *) getword_conf_nc (pool *p, char **line);
! API_EXPORT(char *) get_token (pool *p, char **accept_line, int
accept_white);
! API_EXPORT(int) find_token (pool *p, const char *line, const char *tok);
! API_EXPORT(int) find_last_token (pool *p, const char *line, const char
*tok);
API_EXPORT(int) is_url(const char *u);
! API_EXPORT(int) unescape_url(char *url);
! API_EXPORT(void) no2slash(char *name);
! API_EXPORT(void) getparents(char *name);
! API_EXPORT(char *) escape_path_segment(pool *p, const char *s);
API_EXPORT(char *) os_escape_path(pool *p,const char *path,int partial);
#define escape_uri(ppool,path) os_escape_path(ppool,path,1)
! API_EXPORT(char *) escape_html(pool *p, const char *s);
! API_EXPORT(char *) construct_server(pool *p, const char *hostname,
! unsigned port);
! API_EXPORT(char *) construct_url (pool *p, const char *path,
! const server_rec *s);
! API_EXPORT(char *) escape_shell_cmd (pool *p, const char *s);
!
! API_EXPORT(int) count_dirs(const char *path);
! API_EXPORT(char *) make_dirstr_prefix (char *d, const char *s, int n);
! API_EXPORT(char *) make_dirstr_parent (pool *p, const char *s);
/* deprecated. The previous two routines are preferred. */
! API_EXPORT(char *) make_dirstr(pool *a, const char *s, int n);
! API_EXPORT(char *) make_full_path(pool *a, const char *dir, const char *f);
!
! API_EXPORT(int) is_matchexp(const char *str);
! API_EXPORT(int) strcmp_match(const char *str, const char *exp);
! API_EXPORT(int) strcasecmp_match(const char *str, const char *exp);
! API_EXPORT(char *) uudecode (pool *, const char *);
API_EXPORT(char *) pregsub(pool *p, const char *input, const char *source,
size_t nmatch, regmatch_t pmatch[]);
API_EXPORT(void) str_tolower (char *);
! API_EXPORT(int) ind (const char *, char); /* Sigh... */
! API_EXPORT(int) rind (const char *, char);
API_EXPORT(int) cfg_getline(char *s, int n, FILE *f);
***************
*** 741,756 ****
/* Misc system hackery */
! uid_t uname2id(const char *name);
! gid_t gname2id(const char *name);
! int is_directory(const char *name);
API_EXPORT(int) can_exec(const struct stat *);
API_EXPORT(void) chdir_file(const char *file);
char *get_local_host(pool *);
unsigned long get_virthost_addr (const char *hostname, unsigned short
*port);
! extern time_t restart_time;
/*
* Apache tries to keep all of its long term filehandles (such as log files,
--- 743,758 ----
/* Misc system hackery */
! API_EXPORT(uid_t) uname2id(const char *name);
! API_EXPORT(gid_t) gname2id(const char *name);
! API_EXPORT(int) is_directory(const char *name);
API_EXPORT(int) can_exec(const struct stat *);
API_EXPORT(void) chdir_file(const char *file);
char *get_local_host(pool *);
unsigned long get_virthost_addr (const char *hostname, unsigned short
*port);
! MODULE_VAR_EXPORT time_t restart_time;
/*
* Apache tries to keep all of its long term filehandles (such as log files,
***************
*** 787,791 ****
/*
* Redefine assert() to something more useful for an Apache...
*/
! void log_assert(const char *szExp,const char *szFile,int nLine);
#define ap_assert(exp) (void)( (exp) || (log_assert(#exp, __FILE__,
__LINE__), 0) )
--- 789,793 ----
/*
* Redefine assert() to something more useful for an Apache...
*/
! API_EXPORT(void) log_assert(const char *szExp,const char *szFile,int nLine);
#define ap_assert(exp) (void)( (exp) || (log_assert(#exp, __FILE__,
__LINE__), 0) )
1.25 +3 -3 apache/src/scoreboard.h
Index: scoreboard.h
===================================================================
RCS file: /export/home/cvs/apache/src/scoreboard.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -c -C3 -r1.24 -r1.25
*** scoreboard.h 1997/07/07 14:34:28 1.24
--- scoreboard.h 1997/07/15 21:39:58 1.25
***************
*** 114,122 ****
#define SCOREBOARD_SIZE sizeof(scoreboard)
! extern void sync_scoreboard_image(void);
! short_score get_scoreboard_info(int x);
! int exists_scoreboard_image ();
/* for time_process_request() in http_main.c */
#define START_PREQUEST 1
--- 114,122 ----
#define SCOREBOARD_SIZE sizeof(scoreboard)
! API_EXPORT(void) sync_scoreboard_image(void);
! API_EXPORT(short_score) get_scoreboard_info(int x);
! API_EXPORT(int) exists_scoreboard_image ();
/* for time_process_request() in http_main.c */
#define START_PREQUEST 1
1.62 +38 -36 apache/src/util.c
Index: util.c
===================================================================
RCS file: /export/home/cvs/apache/src/util.c,v
retrieving revision 1.61
retrieving revision 1.62
diff -c -C3 -r1.61 -r1.62
*** util.c 1997/07/13 19:01:16 1.61
--- util.c 1997/07/15 21:39:58 1.62
***************
*** 75,81 ****
return (time_string);
}
! char *ht_time(pool *p, time_t t, const char *fmt, int gmt) {
char ts[MAX_STRING_LEN];
struct tm *tms;
--- 75,81 ----
return (time_string);
}
! API_EXPORT(char *) ht_time(pool *p, time_t t, const char *fmt, int gmt) {
char ts[MAX_STRING_LEN];
struct tm *tms;
***************
*** 86,92 ****
return pstrdup (p, ts);
}
! char *gm_timestr_822(pool *p, time_t sec) {
static const char *const days[7]=
{"Sun","Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
char ts[50];
--- 86,92 ----
return pstrdup (p, ts);
}
! API_EXPORT(char *) gm_timestr_822(pool *p, time_t sec) {
static const char *const days[7]=
{"Sun","Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
char ts[50];
***************
*** 105,111 ****
/* What a pain in the ass. */
#if defined(HAVE_GMTOFF)
! struct tm *get_gmtoff(int *tz) {
time_t tt = time(NULL);
struct tm *t;
--- 105,111 ----
/* What a pain in the ass. */
#if defined(HAVE_GMTOFF)
! API_EXPORT(struct tm *) get_gmtoff(int *tz) {
time_t tt = time(NULL);
struct tm *t;
***************
*** 114,120 ****
return t;
}
#else
! struct tm *get_gmtoff(int *tz) {
time_t tt = time(NULL);
struct tm gmt;
struct tm *t;
--- 114,120 ----
return t;
}
#else
! API_EXPORT(struct tm *) get_gmtoff(int *tz) {
time_t tt = time(NULL);
struct tm gmt;
struct tm *t;
***************
*** 137,143 ****
/* Based loosely on sections of wildmat.c by Rich Salz
* Hmmm... shouldn't this really go component by component?
*/
! int strcmp_match(const char *str, const char *exp) {
int x,y;
for(x=0,y=0;exp[y];++y,++x) {
--- 137,143 ----
/* Based loosely on sections of wildmat.c by Rich Salz
* Hmmm... shouldn't this really go component by component?
*/
! API_EXPORT(int) strcmp_match(const char *str, const char *exp) {
int x,y;
for(x=0,y=0;exp[y];++y,++x) {
***************
*** 160,166 ****
return (str[x] != '\0');
}
! int strcasecmp_match(const char *str, const char *exp) {
int x,y;
for(x=0,y=0;exp[y];++y,++x) {
--- 160,166 ----
return (str[x] != '\0');
}
! API_EXPORT(int) strcasecmp_match(const char *str, const char *exp) {
int x,y;
for(x=0,y=0;exp[y];++y,++x) {
***************
*** 183,189 ****
return (str[x] != '\0');
}
! int is_matchexp(const char *str) {
register int x;
for(x=0;str[x];x++)
--- 183,189 ----
return (str[x] != '\0');
}
! API_EXPORT(int) is_matchexp(const char *str) {
register int x;
for(x=0;str[x];x++)
***************
*** 274,280 ****
/*
* Parse .. so we don't compromise security
*/
! void getparents(char *name)
{
int l, w;
--- 274,280 ----
/*
* Parse .. so we don't compromise security
*/
! API_EXPORT(void) getparents(char *name)
{
int l, w;
***************
*** 329,335 ****
}
}
! void no2slash(char *name) {
register int x,y;
for(x=0; name[x];)
--- 329,335 ----
}
}
! API_EXPORT(void) no2slash(char *name) {
register int x,y;
for(x=0; name[x];)
***************
*** 352,358 ****
* /a/b, 3 ==> /a/b/
* /a/b, 4 ==> /a/b/
*/
! char *make_dirstr_prefix (char *d, const char *s, int n)
{
for(;;) {
*d = *s;
--- 352,358 ----
* /a/b, 3 ==> /a/b/
* /a/b, 4 ==> /a/b/
*/
! API_EXPORT(char *) make_dirstr_prefix (char *d, const char *s, int n)
{
for(;;) {
*d = *s;
***************
*** 372,378 ****
/*
* return the parent directory name including trailing / of the file s
*/
! char *make_dirstr_parent (pool *p, const char *s)
{
char *last_slash = strrchr (s, '/');
char *d;
--- 372,378 ----
/*
* return the parent directory name including trailing / of the file s
*/
! API_EXPORT(char *) make_dirstr_parent (pool *p, const char *s)
{
char *last_slash = strrchr (s, '/');
char *d;
***************
*** 394,400 ****
* This function is deprecated. Use one of the preceeding two functions
* which are faster.
*/
! char *make_dirstr(pool *p, const char *s, int n) {
register int x,f;
char *res;
--- 394,400 ----
* This function is deprecated. Use one of the preceeding two functions
* which are faster.
*/
! API_EXPORT(char *) make_dirstr(pool *p, const char *s, int n) {
register int x,f;
char *res;
***************
*** 415,421 ****
return pstrcat (p, s, "/", NULL);
}
! int count_dirs(const char *path) {
register int x,n;
for(x=0,n=0;path[x];x++)
--- 415,421 ----
return pstrcat (p, s, "/", NULL);
}
! API_EXPORT(int) count_dirs(const char *path) {
register int x,n;
for(x=0,n=0;path[x];x++)
***************
*** 434,440 ****
((char *)file)[i] = '/';
}
! char *getword_nc(pool* atrans, char **line, char stop)
{
return getword(atrans,(const char **)line,stop);
}
--- 434,440 ----
((char *)file)[i] = '/';
}
! API_EXPORT(char *) getword_nc(pool* atrans, char **line, char stop)
{
return getword(atrans,(const char **)line,stop);
}
***************
*** 460,471 ****
return res;
}
! char *getword_white_nc(pool* atrans, char **line)
{
return getword_white(atrans,(const char **)line);
}
! char *getword_white(pool* atrans, const char **line) {
int pos = -1, x;
char *res;
--- 460,471 ----
return res;
}
! API_EXPORT(char *) getword_white_nc(pool* atrans, char **line)
{
return getword_white(atrans,(const char **)line);
}
! API_EXPORT(char *) getword_white(pool* atrans, const char **line) {
int pos = -1, x;
char *res;
***************
*** 493,504 ****
return res;
}
! char *getword_nulls_nc(pool* atrans, char **line, char stop)
{
return getword_nulls(atrans,(const char **)line,stop);
}
! char *getword_nulls(pool* atrans, const char **line, char stop) {
int pos = ind(*line, stop);
char *res;
--- 493,504 ----
return res;
}
! API_EXPORT(char *) getword_nulls_nc(pool* atrans, char **line, char stop)
{
return getword_nulls(atrans,(const char **)line,stop);
}
! API_EXPORT(char *) getword_nulls(pool* atrans, const char **line, char
stop) {
int pos = ind(*line, stop);
char *res;
***************
*** 541,547 ****
return result;
}
! char *getword_conf_nc(pool* p, char **line) {
return getword_conf(p,(const char **)line);
}
--- 541,547 ----
return result;
}
! API_EXPORT(char *) getword_conf_nc(pool* p, char **line) {
return getword_conf(p,(const char **)line);
}
***************
*** 643,649 ****
* by whitespace at the caller's option.
*/
! char *get_token (pool *p, char **accept_line, int accept_white)
{
char *ptr = *accept_line;
char *tok_start;
--- 643,649 ----
* by whitespace at the caller's option.
*/
! API_EXPORT(char *) get_token (pool *p, char **accept_line, int accept_white)
{
char *ptr = *accept_line;
char *tok_start;
***************
*** 717,723 ****
return ret;
}
! int find_token (pool *p, const char *line, const char *tok) {
char *ltok;
char *lcopy;
--- 717,723 ----
return ret;
}
! API_EXPORT(int) find_token (pool *p, const char *line, const char *tok) {
char *ltok;
char *lcopy;
***************
*** 731,737 ****
return 0;
}
! int find_last_token (pool *p, const char *line, const char *tok)
{
int llen, tlen, lidx;
--- 731,737 ----
return 0;
}
! API_EXPORT(int) find_last_token (pool *p, const char *line, const char *tok)
{
int llen, tlen, lidx;
***************
*** 748,754 ****
return (strncasecmp(&line[lidx], tok, tlen) == 0);
}
! char *escape_shell_cmd(pool *p, const char *s) {
register int x,y,l;
char *cmd;
--- 748,754 ----
return (strncasecmp(&line[lidx], tok, tlen) == 0);
}
! API_EXPORT(char *) escape_shell_cmd(pool *p, const char *s) {
register int x,y,l;
char *cmd;
***************
*** 809,816 ****
* decoding %2f -> / (a special character)
* returns NOT_FOUND
*/
! int
! unescape_url(char *url) {
register int x,y, badesc, badpath;
badesc = 0;
--- 809,815 ----
* decoding %2f -> / (a special character)
* returns NOT_FOUND
*/
! API_EXPORT(int) unescape_url(char *url) {
register int x,y, badesc, badpath;
badesc = 0;
***************
*** 837,843 ****
else return OK;
}
! char *construct_server(pool *p, const char *hostname, unsigned port) {
char portnum[22];
/* Long enough, even if port > 16 bits for some reason */
--- 836,843 ----
else return OK;
}
! API_EXPORT(char *) construct_server(pool *p, const char *hostname,
! unsigned port) {
char portnum[22];
/* Long enough, even if port > 16 bits for some reason */
***************
*** 849,855 ****
}
}
! char *construct_url(pool *p, const char *uri, const server_rec *s) {
return pstrcat (p, "http://",
construct_server(p, s->server_hostname, s->port),
uri, NULL);
--- 849,856 ----
}
}
! API_EXPORT(char *)construct_url(pool *p, const char *uri,
! const server_rec *s) {
return pstrcat (p, "http://",
construct_server(p, s->server_hostname, s->port),
uri, NULL);
***************
*** 872,878 ****
something with a '/' in it (and thus does not prefix "./").
*/
! char *escape_path_segment(pool *p, const char *segment) {
register int x,y;
char *copy = palloc (p, 3 * strlen (segment) + 1);
--- 873,879 ----
something with a '/' in it (and thus does not prefix "./").
*/
! API_EXPORT(char *) escape_path_segment(pool *p, const char *segment) {
register int x,y;
char *copy = palloc (p, 3 * strlen (segment) + 1);
***************
*** 924,930 ****
/* escape_uri is now a macro for os_escape_path */
! char *escape_html(pool *p, const char *s)
{
int i, j;
char *x;
--- 925,931 ----
/* escape_uri is now a macro for os_escape_path */
! API_EXPORT(char *) escape_html(pool *p, const char *s)
{
int i, j;
char *x;
***************
*** 956,962 ****
return x;
}
! int is_directory(const char *path) {
struct stat finfo;
if(stat(path,&finfo) == -1)
--- 957,963 ----
return x;
}
! API_EXPORT(int) is_directory(const char *path) {
struct stat finfo;
if(stat(path,&finfo) == -1)
***************
*** 965,971 ****
return(S_ISDIR(finfo.st_mode));
}
! char *make_full_path(pool *a, const char *src1, const char *src2) {
register int x;
x = strlen(src1);
--- 966,973 ----
return(S_ISDIR(finfo.st_mode));
}
! API_EXPORT(char *) make_full_path(pool *a, const char *src1,
! const char *src2) {
register int x;
x = strlen(src1);
***************
*** 1116,1122 ****
}
#endif
! int ind(const char *s, char c) {
register int x;
for(x=0;s[x];x++)
--- 1118,1124 ----
}
#endif
! API_EXPORT(int) ind(const char *s, char c) {
register int x;
for(x=0;s[x];x++)
***************
*** 1125,1131 ****
return -1;
}
! int rind(const char *s, char c) {
register int x;
for(x=strlen(s)-1;x != -1;x--)
--- 1127,1133 ----
return -1;
}
! API_EXPORT(int) rind(const char *s, char c) {
register int x;
for(x=strlen(s)-1;x != -1;x--)
***************
*** 1141,1147 ****
}
}
! uid_t uname2id(const char *name) {
#ifdef WIN32
return(1);
#else
--- 1143,1149 ----
}
}
! API_EXPORT(uid_t) uname2id(const char *name) {
#ifdef WIN32
return(1);
#else
***************
*** 1158,1164 ****
#endif
}
! gid_t gname2id(const char *name) {
#ifdef WIN32
return(1);
#else
--- 1160,1166 ----
#endif
}
! API_EXPORT(gid_t) gname2id(const char *name) {
#ifdef WIN32
return(1);
#else
***************
*** 1307,1313 ****
64,64,64,64,64,64,64,64,64,64,64,64,64
};
! char *uudecode(pool *p, const char *bufcoded) {
int nbytesdecoded;
register unsigned char *bufin;
register char *bufplain;
--- 1309,1315 ----
64,64,64,64,64,64,64,64,64,64,64,64,64
};
! API_EXPORT(char *) uudecode(pool *p, const char *bufcoded) {
int nbytesdecoded;
register unsigned char *bufin;
register char *bufplain;
1.8 +3 -3 apache/src/util_md5.c
Index: util_md5.c
===================================================================
RCS file: /export/home/cvs/apache/src/util_md5.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -c -C3 -r1.7 -r1.8
*** util_md5.c 1997/01/01 18:10:46 1.7
--- util_md5.c 1997/07/15 21:39:59 1.8
***************
*** 82,88 ****
#include "httpd.h"
#include "util_md5.h"
! char *md5 (pool *p, unsigned char *string)
{
MD5_CTX my_md5;
unsigned char hash[16];
--- 82,88 ----
#include "httpd.h"
#include "util_md5.h"
! API_EXPORT(char *) md5 (pool *p, unsigned char *string)
{
MD5_CTX my_md5;
unsigned char hash[16];
***************
*** 149,155 ****
static char basis_64[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
! char *md5contextTo64(pool *a, MD5_CTX *context)
{
unsigned char digest[18];
char *encodedDigest;
--- 149,155 ----
static char basis_64[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
! API_EXPORT(char *) md5contextTo64(pool *a, MD5_CTX *context)
{
unsigned char digest[18];
char *encodedDigest;
***************
*** 174,180 ****
return encodedDigest;
}
! char *md5digest(pool *p, FILE *infile)
{
MD5_CTX context;
unsigned char buf[1000];
--- 174,180 ----
return encodedDigest;
}
! API_EXPORT(char *) md5digest(pool *p, FILE *infile)
{
MD5_CTX context;
unsigned char buf[1000];
1.6 +3 -3 apache/src/util_md5.h
Index: util_md5.h
===================================================================
RCS file: /export/home/cvs/apache/src/util_md5.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -c -C3 -r1.5 -r1.6
*** util_md5.h 1997/01/01 18:10:46 1.5
--- util_md5.h 1997/07/15 21:39:59 1.6
***************
*** 52,58 ****
#include "md5.h"
! char *md5(pool *a, unsigned char *string);
! char *md5contextTo64(pool *p, MD5_CTX *context);
! char *md5digest(pool *p, FILE *infile);
--- 52,58 ----
#include "md5.h"
! API_EXPORT(char *) md5(pool *a, unsigned char *string);
! API_EXPORT(char *) md5contextTo64(pool *p, MD5_CTX *context);
! API_EXPORT(char *) md5digest(pool *p, FILE *infile);
1.66 +3 -3 apache/src/util_script.c
Index: util_script.c
===================================================================
RCS file: /export/home/cvs/apache/src/util_script.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -c -C3 -r1.65 -r1.66
*** util_script.c 1997/07/14 11:28:56 1.65
--- util_script.c 1997/07/15 21:39:59 1.66
***************
*** 221,227 ****
* and find as much of the two that match as possible.
*/
! int find_path_info (char *uri, char *path_info)
{
int lu = strlen(uri);
int lp = strlen(path_info);
--- 221,227 ----
* and find as much of the two that match as possible.
*/
! API_EXPORT(int) find_path_info (char *uri, char *path_info)
{
int lu = strlen(uri);
int lp = strlen(path_info);
***************
*** 312,318 ****
}
}
! int scan_script_header_err(request_rec *r, FILE *f, char *buffer)
{
char x[MAX_STRING_LEN];
char *w, *l;
--- 312,318 ----
}
}
! API_EXPORT(int) scan_script_header_err(request_rec *r, FILE *f, char
*buffer)
{
char x[MAX_STRING_LEN];
char *w, *l;
***************
*** 402,408 ****
}
}
! void send_size(size_t size, request_rec *r) {
char ss[20];
if(size == -1)
--- 402,408 ----
}
}
! API_EXPORT(void) send_size(size_t size, request_rec *r) {
char ss[20];
if(size == -1)
1.21 +3 -3 apache/src/util_script.h
Index: util_script.h
===================================================================
RCS file: /export/home/cvs/apache/src/util_script.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -c -C3 -r1.20 -r1.21
*** util_script.h 1997/07/14 11:28:56 1.20
--- util_script.h 1997/07/15 21:40:00 1.21
***************
*** 59,69 ****
#endif
API_EXPORT(char **) create_environment(pool *p, table *t);
! int find_path_info(char *uri, char *path_info);
API_EXPORT(void) add_cgi_vars(request_rec *r);
API_EXPORT(void) add_common_vars(request_rec *r);
#define scan_script_header(a1,a2) scan_script_header_err(a1,a2,NULL)
! int scan_script_header_err(request_rec *r, FILE *f, char *buffer);
! void send_size(size_t size, request_rec *r);
API_EXPORT(int) call_exec (request_rec *r, char *argv0, char **env, int
shellcmd);
--- 59,69 ----
#endif
API_EXPORT(char **) create_environment(pool *p, table *t);
! API_EXPORT(int) find_path_info(char *uri, char *path_info);
API_EXPORT(void) add_cgi_vars(request_rec *r);
API_EXPORT(void) add_common_vars(request_rec *r);
#define scan_script_header(a1,a2) scan_script_header_err(a1,a2,NULL)
! API_EXPORT(int) scan_script_header_err(request_rec *r, FILE *f, char
*buffer);
! API_EXPORT(void) send_size(size_t size, request_rec *r);
API_EXPORT(int) call_exec (request_rec *r, char *argv0, char **env, int
shellcmd);