mirror of
https://github.com/sigmasternchen/CFloor
synced 2025-03-15 20:28:56 +00:00
fixed cgi-bin check
This commit is contained in:
parent
7c94d6e10b
commit
fe3d0871ec
1 changed files with 15 additions and 2 deletions
17
src/main.c
17
src/main.c
|
@ -20,7 +20,20 @@ struct handler handlerGetter(struct metaData metaData, const char* host, struct
|
||||||
|
|
||||||
union userData data;
|
union userData data;
|
||||||
|
|
||||||
if (strncmp(metaData.path, settings->cgiBin, strlen(settings->cgiBin)) == 0) {
|
bool isCgiBin = false;
|
||||||
|
int cgiBinLength = strlen(settings->cgiBin);
|
||||||
|
|
||||||
|
if (settings->cgiBin[cgiBinLength - 1] == '/')
|
||||||
|
cgiBinLength--;
|
||||||
|
|
||||||
|
if (strncmp(metaData.path, settings->cgiBin, cgiBinLength) == 0) {
|
||||||
|
if (metaData.path[cgiBinLength] == '\0')
|
||||||
|
isCgiBin = true;
|
||||||
|
if (metaData.path[cgiBinLength] == '/')
|
||||||
|
isCgiBin = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isCgiBin) {
|
||||||
data.ptr = &(settings->cgiSettings);
|
data.ptr = &(settings->cgiSettings);
|
||||||
|
|
||||||
return (struct handler) {
|
return (struct handler) {
|
||||||
|
@ -38,7 +51,7 @@ struct handler handlerGetter(struct metaData metaData, const char* host, struct
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
setLogging(stderr, INFO, true);
|
setLogging(stderr, DEBUG, true);
|
||||||
setCriticalHandler(NULL);
|
setCriticalHandler(NULL);
|
||||||
|
|
||||||
char* documentRoot = realpath("./home/", NULL);
|
char* documentRoot = realpath("./home/", NULL);
|
||||||
|
|
Loading…
Reference in a new issue