version 1.132, 2016/05/28 13:40:48 |
version 1.134, 2016/07/10 10:05:33 |
Line 470 validate_manpath(const struct req *req, const char* ma |
|
Line 470 validate_manpath(const struct req *req, const char* ma |
|
{ |
{ |
size_t i; |
size_t i; |
|
|
if ( ! strcmp(manpath, "mandoc")) |
|
return 1; |
|
|
|
for (i = 0; i < req->psz; i++) |
for (i = 0; i < req->psz; i++) |
if ( ! strcmp(manpath, req->p[i])) |
if ( ! strcmp(manpath, req->p[i])) |
return 1; |
return 1; |
Line 499 pg_index(const struct req *req) |
|
Line 496 pg_index(const struct req *req) |
|
resp_searchform(req, FOCUS_QUERY); |
resp_searchform(req, FOCUS_QUERY); |
printf("<p>\n" |
printf("<p>\n" |
"This web interface is documented in the\n" |
"This web interface is documented in the\n" |
"<a href=\"/%s%smandoc/man8/man.cgi.8\">man.cgi</a>\n" |
"<a href=\"/%s%sman.cgi.8\">man.cgi(8)</a>\n" |
"manual, and the\n" |
"manual, and the\n" |
"<a href=\"/%s%smandoc/man1/apropos.1\">apropos</a>\n" |
"<a href=\"/%s%sapropos.1\">apropos(1)</a>\n" |
"manual explains the query syntax.\n" |
"manual explains the query syntax.\n" |
"</p>\n", |
"</p>\n", |
scriptname, *scriptname == '\0' ? "" : "/", |
scriptname, *scriptname == '\0' ? "" : "/", |
Line 884 pg_show(struct req *req, const char *fullpath) |
|
Line 881 pg_show(struct req *req, const char *fullpath) |
|
free(manpath); |
free(manpath); |
return; |
return; |
} |
} |
|
free(manpath); |
|
|
if (strcmp(manpath, "mandoc")) { |
|
free(req->q.manpath); |
|
req->q.manpath = manpath; |
|
} else |
|
free(manpath); |
|
|
|
if ( ! validate_filename(file)) { |
if ( ! validate_filename(file)) { |
pg_error_badrequest( |
pg_error_badrequest( |
"You specified an invalid manual file."); |
"You specified an invalid manual file."); |
|
|
|
|
if (*path != '\0') { |
if (*path != '\0') { |
parse_path_info(&req, path); |
parse_path_info(&req, path); |
if (access(path, F_OK) == -1) |
if (req.q.manpath == NULL || access(path, F_OK) == -1) |
path = ""; |
path = ""; |
} else if ((querystring = getenv("QUERY_STRING")) != NULL) |
} else if ((querystring = getenv("QUERY_STRING")) != NULL) |
parse_query_string(&req, querystring); |
parse_query_string(&req, querystring); |