version 1.94, 2014/08/17 03:24:47 |
version 1.96, 2014/08/26 11:21:40 |
|
|
#include "config.h" |
#include "config.h" |
|
|
#include <sys/types.h> |
#include <sys/types.h> |
|
#include <sys/time.h> |
|
|
#include <ctype.h> |
#include <ctype.h> |
#include <errno.h> |
#include <errno.h> |
Line 91 static const char *const sec_names[] = { |
|
Line 92 static const char *const sec_names[] = { |
|
"All Sections", |
"All Sections", |
"1 - General Commands", |
"1 - General Commands", |
"2 - System Calls", |
"2 - System Calls", |
"3 - Subroutines", |
"3 - Library Functions", |
"3p - Perl Subroutines", |
"3p - Perl Library", |
"4 - Special Files", |
"4 - Device Drivers", |
"5 - File Formats", |
"5 - File Formats", |
"6 - Games", |
"6 - Games", |
"7 - Macros and Conventions", |
"7 - Miscellaneous Information", |
"8 - Maintenance Commands", |
"8 - System Manager\'s Manual", |
"9 - Kernel Interface" |
"9 - Kernel Developer\'s Manual" |
}; |
}; |
static const int sec_MAX = sizeof(sec_names) / sizeof(char *); |
static const int sec_MAX = sizeof(sec_names) / sizeof(char *); |
|
|
|
|
main(void) |
main(void) |
{ |
{ |
struct req req; |
struct req req; |
|
struct itimerval itimer; |
const char *path; |
const char *path; |
const char *querystring; |
const char *querystring; |
int i; |
int i; |
|
|
|
/* Poor man's ReDoS mitigation. */ |
|
|
|
itimer.it_value.tv_sec = 1; |
|
itimer.it_value.tv_usec = 0; |
|
itimer.it_interval.tv_sec = 1; |
|
itimer.it_interval.tv_usec = 0; |
|
if (setitimer(ITIMER_VIRTUAL, &itimer, NULL) == -1) { |
|
fprintf(stderr, "setitimer: %s\n", strerror(errno)); |
|
pg_error_internal(); |
|
return(EXIT_FAILURE); |
|
} |
|
|
/* Scan our run-time environment. */ |
/* Scan our run-time environment. */ |
|
|