parsing start
This commit is contained in:
parent
3a42e864c6
commit
4bc54b29d7
5
Makefile
5
Makefile
@ -6,7 +6,7 @@
|
|||||||
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2022/12/01 17:27:29 by apommier #+# #+# #
|
# Created: 2022/12/01 17:27:29 by apommier #+# #+# #
|
||||||
# Updated: 2022/12/09 23:21:35 by apommier ### ########.fr #
|
# Updated: 2022/12/20 23:31:36 by apommier ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -17,7 +17,8 @@ SRCS := main.cpp\
|
|||||||
utils.cpp\
|
utils.cpp\
|
||||||
client_request.cpp\
|
client_request.cpp\
|
||||||
new_connection.cpp\
|
new_connection.cpp\
|
||||||
server_loop.cpp
|
server_loop.cpp\
|
||||||
|
commands/parse_commands.cpp
|
||||||
|
|
||||||
CC = c++
|
CC = c++
|
||||||
FLAGS = -g
|
FLAGS = -g
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/01 17:27:37 by apommier #+# #+# */
|
/* Created: 2022/12/01 17:27:37 by apommier #+# #+# */
|
||||||
/* Updated: 2022/12/09 23:18:30 by apommier ### ########.fr */
|
/* Updated: 2023/02/06 15:10:08 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -23,15 +23,209 @@
|
|||||||
|
|
||||||
#define MAX_EVENTS 5
|
#define MAX_EVENTS 5
|
||||||
#define READ_SIZE 10
|
#define READ_SIZE 10
|
||||||
|
#define CMD_NBR 10
|
||||||
|
|
||||||
struct fdList
|
//struct functionTab;
|
||||||
|
void ft_test();
|
||||||
|
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* *********************************COMMANDS********************************* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
std::string PASS();
|
||||||
|
std::string NICK();
|
||||||
|
std::string USER();
|
||||||
|
std::string SERVER();
|
||||||
|
std::string OPER();
|
||||||
|
std::string QUIT();
|
||||||
|
std::string SQUIT();
|
||||||
|
std::string JOIN();
|
||||||
|
std::string PART();
|
||||||
|
std::string MODE();
|
||||||
|
std::string TOPIC();
|
||||||
|
std::string NAMES();
|
||||||
|
std::string LIST();
|
||||||
|
std::string INVITE();
|
||||||
|
std::string KICK();
|
||||||
|
std::string VERSION();
|
||||||
|
std::string STATS();
|
||||||
|
std::string LINKS();
|
||||||
|
std::string TIME();
|
||||||
|
std::string CONNECT();
|
||||||
|
std::string TRACE();
|
||||||
|
std::string ADMIN();
|
||||||
|
std::string INFO();
|
||||||
|
std::string PRIVMSG();
|
||||||
|
std::string NOTICE();
|
||||||
|
std::string WHO();
|
||||||
|
std::string WHOIS();
|
||||||
|
std::string WHOWAS();
|
||||||
|
std::string KILL();
|
||||||
|
std::string PING();
|
||||||
|
std::string PONG();
|
||||||
|
std::string ERROR();
|
||||||
|
std::string AWAY();
|
||||||
|
std::string REHASH();
|
||||||
|
std::string RESTART();
|
||||||
|
std::string SUMMON();
|
||||||
|
std::string USER();
|
||||||
|
std::string OPERWALL();
|
||||||
|
std::string USERHOST();
|
||||||
|
std::string ISON();
|
||||||
|
|
||||||
|
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* *****************************COMMAND STRUCT******************************* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
struct functionTab
|
||||||
|
{
|
||||||
|
static const int cmdNbr = 5;
|
||||||
|
std::string cmdName[cmdNbr] =
|
||||||
|
{
|
||||||
|
//4. Détails des messages
|
||||||
|
|
||||||
|
//4.1 Etablissement de connexion
|
||||||
|
"PASS",
|
||||||
|
"NICK",
|
||||||
|
"USER",
|
||||||
|
"SERVER",
|
||||||
|
"OPER",
|
||||||
|
"QUIT",
|
||||||
|
"SQUIT",
|
||||||
|
|
||||||
|
//4.2 Opérations sur les canaux
|
||||||
|
"JOIN",
|
||||||
|
"PART",
|
||||||
|
"MODE",
|
||||||
|
"TOPIC",
|
||||||
|
"NAMES",
|
||||||
|
"LIST",
|
||||||
|
"INVITE",
|
||||||
|
"KICK",
|
||||||
|
|
||||||
|
//4.3 Requêtes et commandes des serveurs
|
||||||
|
"VERSION",
|
||||||
|
"STATS",
|
||||||
|
"LINKS",
|
||||||
|
"TIME",
|
||||||
|
"CONNECT",
|
||||||
|
"TRACE",
|
||||||
|
"ADMIN",
|
||||||
|
"INFO",
|
||||||
|
|
||||||
|
//4.4 Envoi de messages
|
||||||
|
"PRIVMSG",
|
||||||
|
"NOTICE",
|
||||||
|
|
||||||
|
//4.5 Requêtes basées sur les utilisateurs
|
||||||
|
|
||||||
|
"WHO",
|
||||||
|
"WHOIS",
|
||||||
|
"WHOWAS",
|
||||||
|
//4.6 Messages divers
|
||||||
|
|
||||||
|
"KILL",
|
||||||
|
"PING",
|
||||||
|
"PONG",
|
||||||
|
"ERROR",
|
||||||
|
|
||||||
|
//5. Messages optionnels
|
||||||
|
"AWAY",
|
||||||
|
"REHASH",
|
||||||
|
"RESTART",
|
||||||
|
"SUMMON",
|
||||||
|
"USER",
|
||||||
|
"OPERWALL",
|
||||||
|
"USERHOST",
|
||||||
|
"ISON"
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void (*cmdPtr[cmdNbr])(void) =
|
||||||
|
{
|
||||||
|
//4. Détails des messages
|
||||||
|
|
||||||
|
//4.1 Etablissement de connexion
|
||||||
|
PASS,
|
||||||
|
NICK,
|
||||||
|
USER,
|
||||||
|
SERVER,
|
||||||
|
OPER,
|
||||||
|
QUIT,
|
||||||
|
SQUIT,
|
||||||
|
|
||||||
|
//4.2 Opérations sur les canaux
|
||||||
|
JOIN,
|
||||||
|
PART,
|
||||||
|
MODE,
|
||||||
|
TOPIC,
|
||||||
|
NAMES,
|
||||||
|
LIST,
|
||||||
|
INVITE,
|
||||||
|
KICK,
|
||||||
|
|
||||||
|
//4.3 Requêtes et commandes des serveurs
|
||||||
|
VERSION,
|
||||||
|
STATS,
|
||||||
|
LINKS,
|
||||||
|
TIME,
|
||||||
|
CONNECT,
|
||||||
|
TRACE,
|
||||||
|
ADMIN,
|
||||||
|
INFO,
|
||||||
|
|
||||||
|
//4.4 Envoi de messages
|
||||||
|
PRIVMSG,
|
||||||
|
NOTICE,
|
||||||
|
|
||||||
|
//4.5 Requêtes basées sur les utilisateurs
|
||||||
|
|
||||||
|
WHO,
|
||||||
|
WHOIS,
|
||||||
|
WHOWAS,
|
||||||
|
//4.6 Messages divers
|
||||||
|
|
||||||
|
KILL,
|
||||||
|
PING,
|
||||||
|
PONG,
|
||||||
|
ERROR,
|
||||||
|
|
||||||
|
//5. Messages optionnels
|
||||||
|
AWAY,
|
||||||
|
REHASH,
|
||||||
|
RESTART,
|
||||||
|
SUMMON,
|
||||||
|
USER,
|
||||||
|
OPERWALL,
|
||||||
|
USERHOST,
|
||||||
|
ISON
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* *********************************STRUCT*********************************** */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
struct fdList //allFds in code
|
||||||
{
|
{
|
||||||
int epollFd;
|
int epollFd;
|
||||||
int serverFd;
|
int serverFd;
|
||||||
int userList[MAX_EVENTS];
|
int userList[MAX_EVENTS];
|
||||||
int nbrUser;
|
int nbrUser;
|
||||||
|
functionTab parsingTab;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct userClient
|
||||||
|
{
|
||||||
|
// int epollFd;
|
||||||
|
// int serverFd;
|
||||||
|
// int userList[MAX_EVENTS];
|
||||||
|
// int nbrUser;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* *********************************UTILS************************************ */
|
/* *********************************UTILS************************************ */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
@ -54,8 +248,15 @@ void epoll_add(int epollFd, int fd);
|
|||||||
int epoll_start(); //2nd
|
int epoll_start(); //2nd
|
||||||
|
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
/* *****************************EPOLL UTILITY******************************** */
|
/* *************************CONNECTION AND REQUEST*************************** */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
void new_connection(struct epoll_event newClient);
|
void new_connection(fdList allFds, struct epoll_event newClient);
|
||||||
bool clientRequest(fdList allFds, int newFd);
|
bool clientRequest(fdList allFds, int newFd);
|
||||||
|
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* ***************************COMMANDS PARSING******************************* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
void parse_commands(std::string buffer, fdList allFds);
|
||||||
|
|
||||||
|
|||||||
@ -6,14 +6,21 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/09 22:34:36 by apommier #+# #+# */
|
/* Created: 2022/12/09 22:34:36 by apommier #+# #+# */
|
||||||
/* Updated: 2022/12/09 23:18:46 by apommier ### ########.fr */
|
/* Updated: 2023/02/06 12:36:52 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "../includes/ft_irc.hpp"
|
#include "../includes/ft_irc.hpp"
|
||||||
|
|
||||||
bool clientRequest(fdList allFds, int newFd)
|
bool clientRequest(fdList allFds, int clientFd)
|
||||||
{
|
{
|
||||||
|
char buf[1024] = {0};
|
||||||
|
size_t len = 1024;
|
||||||
|
|
||||||
std::cout << "client request!" << std::endl;
|
std::cout << "client request!" << std::endl;
|
||||||
|
if (recv(clientFd, buf, len, 0) == -1)
|
||||||
|
ft_error("recv() error");
|
||||||
|
std::cout << "BUFFER: ---" << buf << "---" << std::endl;
|
||||||
|
parse_commands(buf, allFds);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
18
srcs/commands/nick.cpp
Normal file
18
srcs/commands/nick.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* nick.cpp :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2023/02/06 14:28:38 by apommier #+# #+# */
|
||||||
|
/* Updated: 2023/02/06 14:28:55 by apommier ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "../../includes/ft_irc.hpp"
|
||||||
|
|
||||||
|
void NICK()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@ -6,7 +6,28 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/06 22:01:25 by apommier #+# #+# */
|
/* Created: 2022/12/06 22:01:25 by apommier #+# #+# */
|
||||||
/* Updated: 2022/12/06 22:01:26 by apommier ### ########.fr */
|
/* Updated: 2023/02/06 12:39:13 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "../../includes/ft_irc.hpp"
|
||||||
|
|
||||||
|
void ft_test()
|
||||||
|
{
|
||||||
|
std::cout << "hehe je suis la" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void parse_commands(std::string buffer, fdList allFds)
|
||||||
|
{
|
||||||
|
std::string cmd = buffer;
|
||||||
|
int a = 0;
|
||||||
|
|
||||||
|
cmd.pop_back();
|
||||||
|
std::cout << "BUFFER In PARSING: ---" << cmd << "---" << std::endl;
|
||||||
|
while (cmd != allFds.parsingTab.cmdName[a] && a < allFds.parsingTab.cmdNbr)
|
||||||
|
a++;
|
||||||
|
if (a == allFds.parsingTab.cmdNbr)
|
||||||
|
std::cout << "Command not found\n";
|
||||||
|
else
|
||||||
|
allFds.parsingTab.cmdPtr[a]();
|
||||||
|
}
|
||||||
18
srcs/commands/pass.cpp
Normal file
18
srcs/commands/pass.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* pass.cpp :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2023/02/06 14:40:42 by apommier #+# #+# */
|
||||||
|
/* Updated: 2023/02/06 14:41:12 by apommier ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "../../includes/ft_irc.hpp"
|
||||||
|
|
||||||
|
void PASS()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
18
srcs/commands/user.cpp
Normal file
18
srcs/commands/user.cpp
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* user.cpp :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2023/02/06 14:40:39 by apommier #+# #+# */
|
||||||
|
/* Updated: 2023/02/06 14:41:03 by apommier ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "../../includes/ft_irc.hpp"
|
||||||
|
|
||||||
|
void USER()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@ -6,13 +6,21 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/09 22:26:27 by apommier #+# #+# */
|
/* Created: 2022/12/09 22:26:27 by apommier #+# #+# */
|
||||||
/* Updated: 2022/12/09 22:38:40 by apommier ### ########.fr */
|
/* Updated: 2022/12/18 12:13:28 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "../includes/ft_irc.hpp"
|
#include "../includes/ft_irc.hpp"
|
||||||
|
|
||||||
void new_connection(struct epoll_event newClient)
|
void new_connection(fdList allFds, struct epoll_event newClient)
|
||||||
{
|
{
|
||||||
std::cout << "new connection !" << std::endl;
|
struct sockaddr_in addr;
|
||||||
|
int addrLen = sizeof(addr);
|
||||||
|
|
||||||
|
std::cout << "new connection !" << std::endl;
|
||||||
|
if (MAX_EVENTS == allFds.nbrUser)
|
||||||
|
std::cout << "new connection refused, already full" << std::endl;
|
||||||
|
allFds.userList[allFds.nbrUser] = accept(allFds.serverFd, (struct sockaddr *)&addr, (socklen_t*)&addrLen);
|
||||||
|
epoll_add(allFds.epollFd, allFds.userList[allFds.nbrUser]);
|
||||||
|
allFds.nbrUser++;
|
||||||
}
|
}
|
||||||
@ -6,7 +6,7 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/06 21:58:13 by apommier #+# #+# */
|
/* Created: 2022/12/06 21:58:13 by apommier #+# #+# */
|
||||||
/* Updated: 2022/12/09 23:56:24 by apommier ### ########.fr */
|
/* Updated: 2023/02/06 12:33:21 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -20,30 +20,36 @@ void start_loop(fdList allFds)
|
|||||||
int readChar;
|
int readChar;
|
||||||
int eventNbr;
|
int eventNbr;
|
||||||
|
|
||||||
|
std::cout << "serverFd: " << allFds.serverFd << std::endl;
|
||||||
while (alive)
|
while (alive)
|
||||||
{
|
{
|
||||||
// std::cout << "hehe\n";
|
// std::cout << "hehe\n";
|
||||||
// readChar = read(allFds.serverFd, buffer, 1024);
|
// readChar = read(allFds.serverFd, buffer, 1024);
|
||||||
//recv(int allFds.serverFd, void *buf, size_t len, int flags);
|
//recv(int allFds.serverFd, void *buf, size_t len, int flags);
|
||||||
//buffer[readChar] = '\0';
|
//buffer[readChar] = '\0';
|
||||||
std::cout << "serverFd: " << allFds.serverFd << std::endl;
|
|
||||||
// send(clientFd, "message received", 18, 0);
|
// send(clientFd, "message received", 18, 0);
|
||||||
|
|
||||||
eventNbr = epoll_wait(allFds.epollFd, events, MAX_EVENTS, 5000);
|
eventNbr = epoll_wait(allFds.epollFd, events, MAX_EVENTS, 5000);
|
||||||
std::cout << "eventNbr: " << eventNbr << std::endl;
|
std::cout << "eventNbr: " << eventNbr << std::endl;
|
||||||
for (int i = 0; i < eventNbr; i++)
|
for (int i = 0; i < eventNbr ; i++)
|
||||||
{
|
{
|
||||||
std::cout << "event[i]'s fd: " << events[i].data.fd << std::endl;
|
std::cout << "event[i]'s fd: " << events[i].data.fd << std::endl;
|
||||||
if (events[i].data.fd == allFds.serverFd)
|
if (events[i].data.fd == allFds.serverFd)
|
||||||
new_connection(events[i]);
|
new_connection(allFds, events[i]);
|
||||||
else if (!clientRequest(allFds, events[i].data.fd))
|
else if (!clientRequest(allFds, events[i].data.fd))
|
||||||
alive = false;
|
{
|
||||||
//if (strncmp("QUIT", buffer, 4))
|
alive = false;
|
||||||
// alive = 0;
|
//else
|
||||||
|
// std::cout << "F*CK i dont know" << std::endl;
|
||||||
|
//if (strncmp("QUIT", buffer, 4))
|
||||||
|
// alive = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (!strncmp("/quit", buffer, 5))
|
||||||
|
std::cout << "quit message received\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!strncmp("/quit", buffer, 5))
|
std::cout << "dead server\n";
|
||||||
{
|
|
||||||
std::cout << "quit message received\n";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -6,12 +6,18 @@
|
|||||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/06 21:44:20 by apommier #+# #+# */
|
/* Created: 2022/12/06 21:44:20 by apommier #+# #+# */
|
||||||
/* Updated: 2022/12/09 23:57:24 by apommier ### ########.fr */
|
/* Updated: 2023/02/06 12:32:07 by apommier ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "../includes/ft_irc.hpp"
|
#include "../includes/ft_irc.hpp"
|
||||||
|
|
||||||
|
// void initialize_function_ptr(fdList allFds)
|
||||||
|
// {
|
||||||
|
// // int i = 0;
|
||||||
|
// // for (i = 0; i < allFds.parsingTab.cmdNbr, i++)
|
||||||
|
// }
|
||||||
|
|
||||||
void initialize(char **av)
|
void initialize(char **av)
|
||||||
{
|
{
|
||||||
//int allFds.serverFd;
|
//int allFds.serverFd;
|
||||||
@ -22,6 +28,7 @@ void initialize(char **av)
|
|||||||
int addrLen = sizeof(addr);
|
int addrLen = sizeof(addr);
|
||||||
fdList allFds;
|
fdList allFds;
|
||||||
|
|
||||||
|
allFds.nbrUser = 0;
|
||||||
allFds.serverFd = socket(AF_INET, SOCK_STREAM, 0);
|
allFds.serverFd = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
if (allFds.serverFd == -1)
|
if (allFds.serverFd == -1)
|
||||||
ft_error("socket() error");
|
ft_error("socket() error");
|
||||||
|
|||||||
31
tcpdump/Makefile
Normal file
31
tcpdump/Makefile
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# **************************************************************************** #
|
||||||
|
# #
|
||||||
|
# ::: :::::::: #
|
||||||
|
# Makefile :+: :+: :+: #
|
||||||
|
# +:+ +:+ +:+ #
|
||||||
|
# By: apommier <apommier@student.42.fr> +#+ +:+ +#+ #
|
||||||
|
# +#+#+#+#+#+ +#+ #
|
||||||
|
# Created: 2022/08/12 01:38:24 by apommier #+# #+# #
|
||||||
|
# Updated: 2022/12/16 01:47:58 by apommier ### ########.fr #
|
||||||
|
# #
|
||||||
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
all:
|
||||||
|
bash launch_tcpdump.sh
|
||||||
|
# docker-compose -f ./srcs/docker-compose.yml up --build
|
||||||
|
|
||||||
|
fclean:
|
||||||
|
-docker rm $$(docker ps -qa)
|
||||||
|
-docker rmi -f $$(docker images -qa)
|
||||||
|
-docker volume rm $$(docker volume ls -q)
|
||||||
|
-docker network rm $$(docker network ls -q)
|
||||||
|
# up:
|
||||||
|
# docker-compose -f ./srcs/docker-compose.yml up
|
||||||
|
|
||||||
|
# back:
|
||||||
|
# docker-compose -f ./srcs/docker-compose.yml up --build -d
|
||||||
|
|
||||||
|
# down:
|
||||||
|
# docker-compose -f ./srcs/docker-compose.yml down
|
||||||
|
|
||||||
|
re: fclean all
|
||||||
@ -7,5 +7,4 @@ docker build ./ -t $IMAGE_NAME
|
|||||||
docker images
|
docker images
|
||||||
docker ps -a
|
docker ps -a
|
||||||
docker run -d -p 6667:6667 --name $CONTAINER_NAME $IMAGE_NAME
|
docker run -d -p 6667:6667 --name $CONTAINER_NAME $IMAGE_NAME
|
||||||
docker exec -it $CONTAINER_NAME tcpdump -Aqq port 6667
|
docker exec -it $CONTAINER_NAME tcpdump -Aqq port 6667
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user