100 lines
3.7 KiB
C
100 lines
3.7 KiB
C
/* global */
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <stdint.h>
|
|
#include <string.h>
|
|
#include <pthread.h>
|
|
|
|
/* sys */
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
|
|
/* socket */
|
|
#include <netinet/in.h>
|
|
#include <netdb.h> // getaddrinfo, getnameinfo
|
|
#include <arpa/inet.h>
|
|
|
|
|
|
/* debug */
|
|
#define SOCKETS 0x01 // debug RESEAU
|
|
#define COMMANDS 0x02 // debug COMMANDES
|
|
#define DATA 0x04 // debug DONNEES
|
|
#define REVEALS 0x08 // debug EXPLICITATION des strings
|
|
#define BUFFERS 0x10 // debug des BUFFERS
|
|
#define HEADERS 0x20 // debug des HEADERS de fonctions
|
|
|
|
#define SCK 0x01 // FILTRE pour ONLY_SOCKET
|
|
#define CMD 0x02 // FILTRE pour ONLY_COMMAND
|
|
#define DAT 0x04 // FILTRE pour ONLY_DATA
|
|
#define RVL 0x08 // FILTRE pour ONLY_REVEALS
|
|
#define BUF 0x10 // FILTRE pour ONLY_BUFFERS
|
|
#define HDR 0x20 // FILTRE pour ONLY_HEADERS
|
|
|
|
// possibilité de cumuler les DEBUGMODES
|
|
#define DEBUGMOD COMMANDS // REVEALS + HEADER
|
|
|
|
|
|
/* vars */
|
|
#define remoteHost "localhost"
|
|
#define remotePort "80"
|
|
#define maxBuffLen 4096
|
|
#define maxListLen 2
|
|
#define maxHostLen 64
|
|
#define maxPortLen 6
|
|
|
|
// #define FTP_HOST "31.170.164.47"
|
|
#define FTP_HOST "localhost"
|
|
#define FTP_PORT "21"
|
|
// u712664263
|
|
|
|
|
|
/* MESSAGES */
|
|
// 220-\n
|
|
// 220- +----------------------------+\n
|
|
// 220- | Bienvenue sur PROXY FCP!!! |\n
|
|
// 220- +----------------------------+\n
|
|
// 220-\n
|
|
// 220-\n
|
|
// 220- (FCP=File Club Protocol)\n
|
|
// 220-\n
|
|
// 220-\n
|
|
// 220- Qui est tu ?!\n
|
|
// 220-\n
|
|
// 220\n
|
|
#define WLCM_MSG "220-\r\n220- +----------------------------+\r\n220- | Bienvenue sur PROXY FCP!!! |\r\n220- +----------------------------+\r\n220-\r\n220-\r\n220- (FCP=File Club Protocol)\r\n220-\r\n220-\r\n220- Qui est tu ?!\r\n220-\r\n220\r\n"
|
|
|
|
#define CON_MSG "220 Connecté au serveur\r\n"
|
|
#define USER_MSG "331 Tu connais la procédure.. Donne moi le mot de passe ?\r\n"
|
|
// 230- Bienvenue au FILE CLUB!\n\n
|
|
// 230- Les règles du File Club sont:\n
|
|
// 230- ====================================\n
|
|
// 230- 1. Il est interdit de parler du File Club.\n
|
|
// 230- 2. Il est interdit de parler du File Club.\n
|
|
// 230- 3. Si quelqu'un dit stop ou s'évanouit, le transfert s'arrête.\n
|
|
// 230- 4. Seulement deux fichiers par transfert.\n
|
|
// 230- 5. Un transfert à la fois.\n
|
|
// 230- 6. Pas de '.log', pas de '.txt'.\n
|
|
// 230- 7. Le transfert dure aussi longtemps qu'il doit durer.\n
|
|
// 230- 8. Si c'est votre premier soir au File Club, vous devez transférer.\n
|
|
// 230\n
|
|
#define PASS_BON_MSG "230- Bienvenue au FILE CLUB!\r\n230-\r\n230- Les règles du File Club sont:\r\n230- ====================================\r\n230- 1. Il est interdit de parler du File Club.\r\n230- 2. Il est interdit de parler du File Club.\r\n230- 3. Si quelqu'un dit stop ou s'évanouit, le transfert s'arrête.\r\n230- 4. Seulement deux fichiers par transfert.\r\n230- 5. Un transfert à la fois.\r\n230- 6. Pas de '.log', pas de '.txt'.\r\n230- 7. Le transfert dure aussi longtemps qu'il doit durer.\r\n230- 8. Si c'est votre premier soir au File Club, vous devez transférer.\r\n230\r\n"
|
|
#define PASS_BAD_MSG "530- Mauvais mot de passe! Dégage!\r\n530\r\n"
|
|
#define LIST_DAT_MSG "200 PORT command successful\r\n"
|
|
#define READ_CON_MSG "150 En attente\r\n"
|
|
#define STOP_DAT_MSG "226 Données reçues!\r\n"
|
|
// 221-\r\n
|
|
// 221- Fermeture des portes!\r\n
|
|
// 221- Tout le monde dehors!!\r\n
|
|
// 221- Et n'oublie pas la PREMIERE REGLE!!\r\n
|
|
// 221\r\n
|
|
#define EXIT_MSG "221-\r\n221- Fermeture des portes!\r\n221- Tout le monde dehors!!\r\n221- Et n'oublie pas la PREMIERE REGLE!!\r\n221\r\n"
|
|
|
|
|
|
|
|
//Je suis le canal biliaire irrité de Jack.
|
|
|
|
/* local dependencies */
|
|
#include "dep/utility.c"
|
|
#include "dep/client.c"
|
|
#include "dep/server.c"
|