Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bbe362c65d | ||
|
|
b702f8a548 | ||
|
|
352a4b3df0 |
@@ -51,6 +51,8 @@ void trace(const char * fmt, ...)
|
||||
va_start(args, fmt);
|
||||
if(flog)
|
||||
{
|
||||
if(*flog == '0') return; // si fichier log = "0" : ne rien afficher ni logguer
|
||||
//
|
||||
FILE * f = fopen(flog, "a+");
|
||||
if(f)
|
||||
{
|
||||
@@ -450,9 +452,10 @@ void trt_sig(int sig)
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------
|
||||
char data[64000]; // buffer de lecture/ecriture sur la socket securisee
|
||||
char data[64000], rep[64000]; // buffer de lecture/ecriture sur la socket securisee
|
||||
void trt_connexion()
|
||||
{
|
||||
FILE * fp;
|
||||
//Dynamic req, methode, uri, rep, tmp, fld;
|
||||
//long meth, cr, nb;
|
||||
int keepAlive;
|
||||
@@ -470,7 +473,23 @@ void trt_connexion()
|
||||
if(strstr(data,"keep-alive") == NULL)
|
||||
keepAlive = FALSE;
|
||||
//
|
||||
strcpy(data, "HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nContent-Type:text/html\r\nContent-Length:35\r\n\r\n<html><h2>Hello World !</h2></html>");
|
||||
//strcpy(data, "HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nContent-Type:text/html\r\nContent-Length:35\r\n\r\n<html><h2>Hello World !</h2></html>");
|
||||
if((fp = popen("/root/create_ttyd_session.sh", "r")) == NULL)
|
||||
strcpy(data, "HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nContent-Type:text/html\r\nContent-Length:97\r\n\r\n<html><h2>Erreur, console de test non disponible, veuillez contacter l'administrateur</h2></html>");
|
||||
else
|
||||
{
|
||||
*data = 0;
|
||||
*rep = 0;
|
||||
char ligne[10] = {0};
|
||||
while (fgets(ligne, sizeof(ligne) - 1, fp)) {
|
||||
strcat(rep, ligne);
|
||||
}
|
||||
pclose(fp);
|
||||
sprintf(data, "HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nContent-Type:text/html\r\nContent-Length:%ld", strlen(rep));
|
||||
strcat(data, "\r\n\r\n");
|
||||
strcat(data, rep);
|
||||
}
|
||||
//
|
||||
trace("Reponse:\n%s\n", data);
|
||||
ecrireConnexion(data);
|
||||
*data = 0;
|
||||
@@ -497,7 +516,8 @@ int main(int argc, char *argv[])
|
||||
if(argc == 5)
|
||||
{
|
||||
flog = argv[4];
|
||||
remove(flog);
|
||||
if(*flog != '0')
|
||||
remove(flog);
|
||||
}
|
||||
/* */
|
||||
int port = atoi(argv[1]);
|
||||
@@ -533,10 +553,10 @@ int main(int argc, char *argv[])
|
||||
exit(0); /* sortie du pere */
|
||||
}
|
||||
mPid = getpid();
|
||||
chdir("/"); // permet de ne pas bloquer un filesystem avec ce process
|
||||
//chdir("/"); // permet de ne pas bloquer un filesystem avec ce process
|
||||
setsid();
|
||||
for(int i=0;i < FOPEN_MAX; i++) /* OPEN_MAX sous AIX */
|
||||
close(i);
|
||||
//for(int i=0;i < FOPEN_MAX; i++) /* OPEN_MAX sous AIX */
|
||||
// close(i);
|
||||
}
|
||||
//
|
||||
trace("Demarrage serveur, port %d pid %d mode %d bits\n", port, getpid(), sizeof(long)==4?32:64);
|
||||
|
||||
Reference in new issue
Block a user