#include #include #include #define MAX_BUFFER 255 #define MAX_BUFFER_LARGE 4096 #define MAX_BUFFER_LINE 1024 #define DEBUT_PAGE "" #define FIN_PAGE "\r\n" /*Configuration du proxy*/ #define PROXY_URL "ice-barrier.homelinux.org" #define DEFAULT_PORT 80 #define MAX_CLIENT 20 #define MAX_TRY_RECONNECT 3 #define WAITING_IF_NO_PLACE 10 #define DEBUG //active ou non le mode debug #define WAITING_BEFORE_REQUEST 10 // en millisecondes #define WAITING_BEFORE_REQUEST_PLACE 1 // en seconde #define DEFAULT_TIMEOUT 5000 //timeout par defaut (en milliseconde) #define DEFAULT_TIMEOUT_REQUEST 2000 //timeout par defaut pour une requete (en milliseconde) //#define ENABLE_MODULE //active ou non les modules /*-------------------------*/ /* variable globales */ int serveur_sock; struct struct_client *s_client[MAX_CLIENT]; struct struct_client { int numero; short first; // 1 = bloqué struct sockaddr_in client_csin; char requete[MAX_BUFFER]; char get[MAX_BUFFER]; char user_agent[MAX_BUFFER_LINE]; int protocole; // 0 = HTTP1.0 et 1 = HTTP1.1 char transfer_encoding[MAX_BUFFER]; char host[MAX_BUFFER]; char host_old[MAX_BUFFER]; char serveur[MAX_BUFFER]; int sock; pthread_t t_client; int csock; unsigned int sinsize; char keep_alive[MAX_BUFFER]; int error; char envoi[MAX_BUFFER_LARGE]; char envoi_h[MAX_BUFFER_LINE]; int content_lenght; char content_type[MAX_BUFFER]; int redirect; int timeout; unsigned short PROXY_URL_SIZE; };