2023-10-01 18:24:47 -05:00
|
|
|
#ifndef NETWORK_HPP
|
|
|
|
#define NETWORK_HPP
|
|
|
|
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
#define BUF_SIZE 4096 // Buffer size (big enough for a GET)
|
|
|
|
|
|
|
|
#define kProxyPort 9080
|
|
|
|
#define kWebserverIP "127.0.0.1"
|
|
|
|
#define kWebserverPort 7080
|
2023-10-03 22:45:14 -05:00
|
|
|
#define FORBIDDEN_403 "HTTP/1.0 403 Forbidden\nContent-Type:text/html\n\n"
|
|
|
|
#define MESS_403 "<html><body><h1>FORBIDDEN ACCESS</h1></body></html>"
|
|
|
|
|
|
|
|
// Hazardous globals
|
|
|
|
extern char hazardous_contents_CS_01[256];
|
|
|
|
extern char hazardous_contents_CS_02[256];
|
2023-10-01 18:24:47 -05:00
|
|
|
|
2023-10-02 16:47:48 -05:00
|
|
|
void PipeSockets(int sender_s, int receiver_s);
|
|
|
|
void ProxySockets(int sender_s, int receiver_s);
|
2023-10-01 18:24:47 -05:00
|
|
|
|
|
|
|
struct Client {
|
|
|
|
unsigned int socketFD; // Client socket descriptor
|
|
|
|
sockaddr_in address; // Client IP address
|
|
|
|
socklen_t addressLength; // Internet address length
|
|
|
|
Client(void);
|
2023-10-02 16:47:48 -05:00
|
|
|
bool ConnectFrom(int serverFD);
|
2023-10-01 18:24:47 -05:00
|
|
|
bool ConnectTo(int portNumber);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Server {
|
|
|
|
unsigned int socketFD; // Server socket descriptor
|
|
|
|
sockaddr_in address; // Server Internet address
|
|
|
|
Server(int portNumber);
|
|
|
|
void Close(void);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|