Skip to content

Commit a45863f

Browse files
committed
Add testing cgi with authentication check
1 parent 592c359 commit a45863f

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

cgi-bin/test.c

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#define _GNU_SOURCE
2+
#include <stdio.h>
3+
#include <stdlib.h>
4+
#include <string.h>
5+
#include <strings.h>
6+
7+
int IsUserLogin(char *user, int bufsize)
8+
{
9+
FILE *fp = NULL;
10+
char buf[1024];
11+
int login = 0;
12+
13+
bzero(user, bufsize);
14+
fp = popen("/usr/syno/synoman/webman/modules/authenticate.cgi", "r");
15+
if (!fp) {
16+
return 0;
17+
}
18+
19+
bzero(buf, sizeof(buf));
20+
fread(buf, 1024, 1, fp);
21+
22+
if (strlen(buf) > 0) {
23+
snprintf(user, bufsize, "%s", buf);
24+
login = 1;
25+
}
26+
pclose(fp);
27+
28+
return login;
29+
}
30+
31+
int main(int argc, char **argv)
32+
{
33+
char user[256];
34+
printf("Content-Type: text/html\r\n\r\n");
35+
36+
if (IsUserLogin(user, sizeof(user)) == 1) {
37+
printf("User is authenticated. Name: %s\n", user); }
38+
else {
39+
printf("User is not authenticated.\n");
40+
}
41+
42+
return 0;
43+
}
44+

0 commit comments

Comments
 (0)