From 0dc9f5c940adf0c6fa62603eb055e5a468cce4db Mon Sep 17 00:00:00 2001 From: Ladebeze66 Date: Tue, 21 May 2024 14:45:16 +0200 Subject: [PATCH] de --- ft_irc3/includes/CommandHandler.hpp | 4 +- ft_irc3/includes/RPL.hpp | 10 +- .../includes/{ModeWhoHandler.hpp => Who.hpp} | 13 +- ft_irc3/ircserv | Bin 217232 -> 0 bytes ft_irc3/logs/irc_server.log | 0 ft_irc3/motd | 9 + ft_irc3/obj/AdditionalCommands.o | Bin 131192 -> 131184 bytes ft_irc3/obj/ClientManager.o | Bin 122256 -> 125504 bytes ft_irc3/obj/CommandHandler.o | Bin 157312 -> 157168 bytes ft_irc3/obj/ModeWhoHandler.o | Bin 109512 -> 0 bytes ft_irc3/obj/Server.o | Bin 134888 -> 0 bytes ft_irc3/obj/Utils.o | Bin 37984 -> 0 bytes ft_irc3/src/AdditionalCommands.cpp | 212 ++++----- ft_irc3/src/ClientManager.cpp | 20 +- ft_irc3/src/CommandHandler.cpp | 31 +- ft_irc3/src/Server.cpp | 403 +++++++----------- ft_irc3/src/{ModeWhoHandler.cpp => Who.cpp} | 49 +-- 17 files changed, 324 insertions(+), 427 deletions(-) rename ft_irc3/includes/{ModeWhoHandler.hpp => Who.hpp} (78%) delete mode 100755 ft_irc3/ircserv delete mode 100644 ft_irc3/logs/irc_server.log create mode 100644 ft_irc3/motd delete mode 100644 ft_irc3/obj/ModeWhoHandler.o delete mode 100644 ft_irc3/obj/Server.o delete mode 100644 ft_irc3/obj/Utils.o rename ft_irc3/src/{ModeWhoHandler.cpp => Who.cpp} (59%) diff --git a/ft_irc3/includes/CommandHandler.hpp b/ft_irc3/includes/CommandHandler.hpp index 303c6e6..6e6fd86 100644 --- a/ft_irc3/includes/CommandHandler.hpp +++ b/ft_irc3/includes/CommandHandler.hpp @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/15 18:14:12 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 19:13:53 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 13:47:12 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,7 +18,7 @@ #include "Client.hpp" #include "Channel.hpp" #include "AdditionalCommands.hpp" -#include "ModeWhoHandler.hpp" +#include "Who.hpp" #include "CommandHandler.hpp" #include "RPL.hpp" diff --git a/ft_irc3/includes/RPL.hpp b/ft_irc3/includes/RPL.hpp index bf60160..2ce5756 100644 --- a/ft_irc3/includes/RPL.hpp +++ b/ft_irc3/includes/RPL.hpp @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/19 15:12:47 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 22:27:05 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 12:41:51 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,9 +19,9 @@ #define SERVER_NAME "IRC_Server" #define SERVER_VERSION "1.0" -#define USER_MODES "iw" -#define CHANNEL_MODES "nt" -#define CHANNEL_MODES_WITH_PARAMS "kl" +#define USER_MODES "" +#define CHANNEL_MODES "" +#define CHANNEL_MODES_WITH_PARAMS "" @@ -35,7 +35,7 @@ // Fonctions pour générer les réponses RPL inline std::string RPL_WELCOME(Client* client) { std::ostringstream oss; - oss << ":" << SERVER_NAME << " 001 " << CLIENT_FD(client) + oss << ":" << SERVER_NAME << " 001 " << CLIENT_NICK(client) << " :Welcome to the Internet Relay Network " << CLIENT_NICK(client) << "!" << CLIENT_USER(client) << "@" << CLIENT_HOST(client) << "\r\n"; return oss.str(); diff --git a/ft_irc3/includes/ModeWhoHandler.hpp b/ft_irc3/includes/Who.hpp similarity index 78% rename from ft_irc3/includes/ModeWhoHandler.hpp rename to ft_irc3/includes/Who.hpp index 80dd316..4335875 100644 --- a/ft_irc3/includes/ModeWhoHandler.hpp +++ b/ft_irc3/includes/Who.hpp @@ -1,17 +1,17 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ModeWhoHandler.hpp :+: :+: :+: */ +/* Who.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/17 16:08:48 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 20:36:23 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 13:47:28 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ -#ifndef MODEWHOHANDLER_HPP -#define MODEWHOHANDLER_HPP +#ifndef WHO_HPP +#define WHO_HPP #include "Server.hpp" #include "Client.hpp" @@ -24,11 +24,10 @@ class Server; -class ModeWhoHandler +class WhoHandler { public: - ModeWhoHandler(Server *server); - void handleModeCommand(Client *client, const std::string &command); + WhoHandler(Server *server); void handleWhoCommand(Client *client, const std::string &command); void handleWhoisCommand(Client *client, const std::string &command); diff --git a/ft_irc3/ircserv b/ft_irc3/ircserv deleted file mode 100755 index 64921c1f8eb1722453438ec8fba9c61dc94afa7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217232 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±I7W`tV0@A;195^`a2_|p1pNf@ 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 ZC@Wt|B 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 Nt~Pue#%j|y@_(F8KR*Bf delta 5594 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 diff --git a/ft_irc3/obj/ClientManager.o b/ft_irc3/obj/ClientManager.o index 39eac96ad2f15ce92dcde2f10d99b3e3d96f819e..cbfef1a96174a49159f06372695077360b14a874 100644 GIT binary patch literal 125504 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 E|Hk2_xBvhE literal 122256 zcmd6Q3w%_?_5URy5EUg=toW#gh!zzw2@gT35@B_tfRTX3=Ms{Iq~>L^L9jkh#2;yh zrHU;-t1Ye8QcElKRjRg)Z`#^6w$@T>Emd1VXiHmvEw!lsb7s!m`@MH(vb!PL|NTJb z?sw+QIdkUBnKN_m?pz<6d3N5QL7uq=d1rXRCxd$4nz{g;rr>Gb8-rd~ln>Eo&V5+Y z&6Ivm?jNP}F}Z)7((lXt4=DYi-1kuWgxo(#=~Ht5w4~2a`mEePN9h*1{}H7>miwPj z`n=r#l+vHc{m&`wmHQVc{e|5BlF}FD{#TN|MCq^PeygOvq4Z_B|1G7j$o=mmeU;MR z%l$S={~-6TN&32^Z&3P2x&ITTZ_534N_WWpTa@mU`(2d&S?>Qr>0jl3H>H1*`@d8A z54nGv(*KkDe^UA{x!*(SzvccNO8+DGdnJ8W()TERU+%dxxnt>{mq&l{<$kcF1(Xhv z`=OE+Qo5hq?@#FgazBjH1Lgi8N{7pR5v3oI`-3Gtgwhdme<-CNmHWde9Vz#RQ+kBl zA1UcklzvR^kCyZpN{i)w6s09{f2^dVB|T2k<0bvLq+=*OLGDka^dz|-E9uFUj+6US zC@q!yGD^$kemtcULo=53Sxt~SpY`H(5(ki*XK+-vqR#Q4x?&nE*A*G*``}vYy zMCrwHe~F}*QhJ%(UruR4?iWZ}L+L`fua%VDPEzg{NxGQQdbw|)^iy(wg`|y?HpzW6 zr7d#bD(RJ!w#j`vr75}Zpmd4cUq$IsxnD-<)pGx7O0SXoYbm`>?yskGx!m7C>5X!~ zg3_Dhex;;0Q~E!0ze>_hN5t|9Cz3u-=}+bUXO#Y2?t3YHLGFJc z=`SUHQPN*g`jXuLTGE#({Vo0f$MB=ynHTT;W4!a)J@L+t-SMv2o_N>1-SN(%HJ3eQ zaw|Srabd;0in-PC8+OI>JTKn){dMoY|9)M(Yw&Sn$YaMlV_V94;$15ljdyun9?!uZ zPq<#^b3EU8ohvs|UYGj2vS)ZFPr5$A$awe4%}gqV&Gfm}np^JhW+ z%5R2?tB>6)iyg&p*Y)W9&S&GDzgI#LTSeisjZ~}I2e~NYj_rdiAGkgQL^OJ zEi=0xW@n5mpvS@*(+Uo9!@Zz8EyxY^tZ&=#?y4~)1zU5R8}Mu0(yrT;@SR1v!JSHR zi=JEgIF%a|SUOqEnpJGf#^8e*#MlG=N)0P|isIdeYWsi5S4!uT!X_X$0`geOZE%PI z=`qq7FzLR%SXq|Nht3j{3nW$Lf{$VLp+U5Roi4kTc;{1*zT7!9!275Hi-jzsbE{Dg z*HhW~v>D|yJ6}g4rB)FZ@la)9$AHBmqIqDeSga4j!(x3{AQlUmVz{ANkuEW?XRtzS z1>&fjc)%#$728r5KS_K0RDn3puSU!{;_V<_WdH?;+hg0+y z=Zft#SCF&&&-?E`>X8#w(}d}}u9aLm-u*CV^NNn95-KD8)w%K}%3bk&{_9% z)CNP8LE#&KTKISukK3>WBJj#ymNacHq2ilV#_d{Azx6bEY6_hn8n=qV*NCn;_!weu zFQQW!r(<` zbc_0fj_WFluXt-@yzAijpkCi@DOkF_=cb-zfDo-B=M|CHLs9kC9#W`e;{ag)qMJ- zz+hbO9G=F+(K1EYeY;LXY~PmIVE2EY+1;g@Xq6I0;g~8-*FNWhRjff{=31*e=SC#$ zqS%Y8nDXTCwKQT<$6;G_)YT<&`tEn<`H@P1CdxEpgB!WQ-76PhH_J!&#K95=>i606 zbfCLNdnoeiqG>fn+ol6G*LUBp+50^~gqkAr;zyM;N{+G*H>)ca47%YreVuw|$6exH zLXp=t(`jijStzIPXb|N>kAV6?Tx&q|7PvM&Q{3=0`+$&Zpw&rH=e2t~JNB%&cJH8$ z({H$z+@|Msl>2kI=>wV4adPhxOcz=6BY)BS1FnPj1HA3GkzoX$2-e!WBPg%FpPN=l zG~`j{(Mp^?cUBd_Jxvd)Ofi?CB|7~*@{;joP2Slx4UNgV;#5mJ$mHC0^O*pO^a zjq|+e>ZZ6Rl}a|XrW%?T7uU8lHz#XT4K2;56*KwxCT~u%HrcR*Dp=Ik(j>ISp3a`o zWa_AEXcyXK9px>dN?O`ZJ1sFQ(Uz=fY;37bG&Hv-+fp7adcHpBY*Ni_g9<*spZDaT zg1;8hhC{)x3%$40{i;01f09@5{{G$#`2}0|_r9B7@SXj=Kj#;GW`FO#!3D4H=RG#K z;3xZeZwxN@?tb2T3c0g@b000>l3NRy>YoK%!`FsfNUVmA+%(SB$*!AkN$k|0Qz&&F#1EX)-E`S0?k1M_YU>8Dk1-G&{;n$ z^mgVI{A;LpQ+~nkhkAGA7d$uA+o3D2!D8Q zNC9PZ59QY0Ih1Pt2XiGhM;={}^u`rj=bceNn`E;KXgBI|%K7OaoqcX4Z>_yKsNl~- zy!-OT(oS4{!T${P9?s_-q0bkL+%eR9t)SqAq27NA3cfegTRWuSD?`1zhw%LaLm2NJ za)IZqRLs73+@K>)zu5Ek4m$Ja`Ga1`8$$x*$DSVSy)>AZu~n*zggUUCfU1IaZ#9eI z?+8`Xs2EA6x}6Medpzt58ClU&Z^pJNv7#p)`8+1_xzK#x*<_-FNJYUQ)){_{(G0)p zXok-t6d_!;Cm5F0tZCG&EwtO!gOmRr-oTni|6`ODc+bvQuZD~}iEWE_&!hi@2gPpc zA!nf|ji=yjL-J(2YgP|Y&;r$8Z_xZSls6W=odp~nc=Y+S_;WFS21KF4ysbh)UeYH~ ze7k0eJORuiDshD0ik?Dt7!(wZP`h)oUi;Bge&4dg1205=riw_&uXIf-icfhmRi;10 z1?26(fSoQ^Nb!-*?yM@@S)vI120uak^;Tj)2cD7G7yIlx=WQqA?O|<2iEXkg->91$ z>RsJ3dv0i#vxxW-Bad24AvSnoqaD>!&qx-Qfg7;Bv*V346QZW@(uix8Tj`cAYG`Mk z=9y#fa0mD%8CGP_TITArqG^L!h3#IK4ej#!wOU%2)--BBH?=De#oZVl;A&r4cQpkI z!B(*vX`~xApj_(!rE{_Js zoy0ECm95;KPE|Uth{*P;3gPJiOE{T^%T{u^z46X@w38GV1MdZOUAC2c8#^)TKVR$Q zL$>HHrD$E&H#CN#ZY`~y#bMXN?qwDaMiR?+VlakSx_TnnK+>%z>DHx57uz5^u>63> z^DV41Mv_yW8tp78-A*f{k>9KCja_!eHc{i~e~fAm8rMm)fg+(PCj@UJcpKHSnNm{A zh-cJ{z*zS%9@4~R-a2RsO&V$fQCU7y+FWIR#vhat5m&q=-uW9JWgaVHn+yA-^oWu~ z;f@PavLvSd&L>I7+-$1f*RiU$YaYovrzn0B_2m=q~)N$qG1J^YW!YM^H!u8talP9+6?OJSqQ7e zgl77bx`%*6e~ym7VxBS3xOBvkyHCwLo_OG>{-7ZjG=xn~4>N*&9Z=x0A8TsI3N~(5 zStr{Xr&^mk=a2~yWhgFMv3n2^j>U3n4acg}WWyghWK|L6`#`9yO^%K)DAi{ivX*)t$t8G6?@6BRt42~QcY}7RMY~CTmS7A#v)wZKIYW|s z)NGmMR`gKax<6oEkvW+h-nNK6N+_x#&1gf^w74DG#$%Bi7J4dxbM1;bOp+<5+*6?jc2kp(33m}J$SQJPd3}* zoiD^YX**t;t%gyczX6U6+2%w2lX)DNNXFgAD|VH#*XEHzp~2R4D^By?-5hK1@{K4^ zE7|w}GO>=`#D^RSJCSE;6Tv)4r|#kB0%U^0IOZOSlXzqt9n|~tHluiHHpiVrC8aM; zc#3<5t%l;eTY0y17<~!`9+p-88<6U0geGX7B78&TFlZ0~WZFnOCAO{Y;3%@>AVhW! zrcXrGe*>gvXKKzic2*>A|A{>ma727J<;j~aE3Vz`r4A)Z8Xx4_f~Lrd96eduSeIEK z=&??U4md(k9YwvU9EKJs=rP|ntCfLrs8oZmL+IPI`uzoUR;5+j4wJT#<&aSZfdH`y zMxoJ$uLgYYCryfOc7sOE*2p?qx2o48FEmK2M7h$i&m8FwvCx2tbgE-LXGS?|RLxjg zy5Wy#pWWpRf5e;24+NkWq&LZA`}F6&rPy_oZWDnnssAO?N4{W9x*s4|dX1MOT`~N;dB?%DuAzal zjxsg{1$k0gqb3!aO7;4S+yoC8C=}bYgI{S*r{;NCKm)`lEu>g_LBDG^8V8UpINFZtfAJjP6|WexYB} z&eMpXC-Ur(&4Ehzl@KddUs$4!XQ?M`A*CO4>G^moX`&a6Tx(&g9(29&C${CQC+IxD z(p!`R#8 zluV)at=N;F8X2d*!#~@}i;zp&%21Jm~<;(I8P8W|a2de$up(5yUgRk{b}nT|X# z20l6a-fxg*wouDLU7nlo)m~2fQ?+nZ15&v=T1JNU=V|B`^LR?1QE6QEXGbgK|BHw* z^)fpwioyf^`VIqTMV`3AenWla2b$935w8$TGsuP?<^?g8wC)3YR;P5Qd=bax`x?~ZRNl$w&e(lB`r_kH>YIDfM39RSPe7WN3V)af;ptoSGL`FqD8OsK0 z@Oqj`*P+qyo&!F1P|^EkJgHJ~;Y<(Z_~oqOH{GK=Gvv^Gd^!!M4WZ&>H-?g4@l@eG z#x~@~qp|3zA^OfI>G{YOVnrU7b_VUS{*I0ORv|Hh$gg)F;ByaV#0=hF@akU@r6qD~ETq9@$Z7WKmJGnXNLaXAyDe z@nxr%N!6=yV*{*sPL%vti3q=ro1c_*q`p@FXt-D za;Yx8M^g((Z$Y0My`2DhBYik6YUgF7G*&GA=N=6rQ0dN{Q!N_X`EjV8jMb@f_fj(C zK6DJeJL*EJX#8%W@k?ewi!chOXLiOmM91-pYkRzob4dwQ(hS|$=G0`;;}%qnay#nr z=2n=7mAkY6#ePk#-$d1r?favR;(axsHx)hCPd-cR&VdvFNpQ zXLL@JS@`Xj_==~iqA&fGk|NUfbT?DP#n*6>XFD;XW*MhR^O#-^Z%46dbX$XtG*24z zgZS}1YWgxWwP7Z>UZjhxDo1@IOQ(U-@lNjj3gAVcZE6>dvW_n zR2?Nh8+)Jh#*10rrR0dsH%cIqsXH8P7gIeb>u$p>x&t+a6-o?4i*r3Iys3CYZ-v}V-q*0S!DFW5b{@?}uAep%jp-b}pX^Uxi~Kf(;tlpjyZK9<)5o$CW{)^X`wSIcsKE* zj`AzB5r?*LJ?Q%AN>Ig$mQ|qdVvK6cQs3_iZuV||?#dhRo!qx56s{xtiadE;L6+t> zMpc^KNaLOgjW*r;(DTslsBL!@X)SU>4nRJIB4!T6>dBzik*#OgZ6%)-+HKwRZ0!C) zJ1-z~3ptog+!y;S&_2|uj?BD!C3?G~?N0~x_4(%WXx zo1#uod6L#Jp*cxEfyaUrOpVpmQpBKMS#eHZJ65WQ3T8;%4yw+u;E_e`h(v2AWXV8H zg+0WCqYs`)UD1boDopdgWEHsTGv>=yK|b6FP8Q~VcP^K*W>~2C0Sy^!4`mPmAlF!? zT0m(#q{^ZjKjC(onPPaz{v#edFcjjQW!_<6XBcutAuk`=noO3J~cppL4~=HD{7yI}Q@6+`o9=8Y@5c$}C2t$bB6(-^+%h$uvN?&|y% zgY#DorjlIlCa#k%{vJ!HTx>;t-jB7MTy7&5qU%U16e_3dE9ClEA2WGrMpr(kroDOZ zsERnhQSz_nLVmth80W8+{Hd7VuI1qTjgs%u=kpozcS-*7SpQ`~{lmyO_!`B3jC}Kh z{IQaM8RqBB_1ia7@=wJ4nt;Ah^6ATBLH)Hs{%XlT0rM9G`5PsFCg$f&_xV3B`BkC( zbNu{Wk{_~H>gy}11nYO03<~uNCZ_!}1O8(r-zDEn$!DAK^>;}?-f3`*N8aCq_Ux51E_*nNohDtb{Hc=f zvbRe!m20c0hlR=e3yO;_v4D)vC0_9chScs-(`dKl7A61G5XD` zQVl33XqDviZ|(W{?DM`mNR{C}-Y8{U@!0c{zdzQIKS));^t&W~5#9Sd@^k=DOwh3X zIm7e%8q1|p#$^Xpl5dl-nCfno{KuJ*(F2dAZwGz3HUp1`B;VB+FJ_>BTk;=78S?J) z^*rJL&hWhB`Hzti;-m?Z|8dNRIc~1xpMv>|g7&2(-!&H3O8!KoZw%-klKew3|J)$| zMae%A^J{|qwDQt|D_q|*GaxB*4`}nHh;o8+A8_BF;YzVdnCUZ@dZI*vMsGwtiY zV#23N{sxXKjh(R1xR2xM!_bzr9D7+?T*p09rh)E#K6!d!!1+&0zOAjC z|Ayq(h3NIk^;l&Ak zW;r)XzAFxTUh+SM^m%&VGyN{fca6(oMNHVo`cLx9xRB}Z`ar&!l7ANFFAMS;CI5WP z&(n^DXizN?L!B>xoT4|7YeY(u>n@^?%ARak$X4#b(hNDXq& zbB)1L$#?0mO7dNPzg6;W{aZ}@*GPV7jIf`m2z2z2lyT|cMag&R_-)Bo?!f2}=JydJ zSUK)}fC-ZCvXQxx@3N7UGQOaaUZ`e`6pri z!a%QaM2S4S#F{tQRLszRS+%OTJAnzZSBdFk*jrvF`7Zrzmi#7^FRxB@BG0i{&VH*E|1MhL*Pdf0Y z9r!a2{5c2yBM1Hy2mVtB{&NTZf&>4h1OJr+f60Mwb>P2o;Jl*ap3Pb@VyTFT?hW20}p;P4-4e0 z(`pdW_xavnbQgYse6PTP4|U*$4qWX>`SqHcd{3?V%tt@X_YQK@Q{=$;OTp<^zITWN zKh%LA=D-hk;72;}qa66r4*VDgKFWa~>%jS2U+GuAcbo%1-hqGIfsb+ECpz%44*X;X zeu@JxbKv70_(TUj$$?LH;8PsA<@j_-Y4!iv#C3fYPsgkH2A+e&u^>9r*1I{PPZcoddtaf%EBH=~uq@ zB?rFVf%6Go=~upYw*$Y&f#2)EH#l(h1SO4ezW=6AI4j@#wxga+4*WX~{6Po)kOP0j zfvX<{4hu=2Xr1UN|Cj^kQ_0e=d{4c1F9xzW1~Pf5w6HDQD?dzPH7J z^KV|KU-=%Nh?aikd(S)YpE>Ye2mT8O{!0h`q67bx1LqUi!WTb#$fJFXcjcLe+CL#| zj^Nd5!$$T^2vd7#WD(Kp76lv`g}v`6WK0_VZ-tzahR;+Is@>X9p7!JwA&fu#Ta}-l zhA+=!XjU4&Md9bC;m4^aEl9(Y3coH5|AN9h)9|+x{+Tp*Nh_NmSkyoS<)VIS;h z!P}_34PPU;DaY@E^7SC4qw-!>y~&^D^$zdngv(xYhdo^{}KCWETywf!|czr)MdUmWGRpA>Gi9=!8@B0V@M@m}!DSIONhg$Mh|#;<-w;lVzzss9ay2m8RLy+_gmgAy;; z2R7}!K;f_Yd<}k!!ngUj>E9<5{+f?}T<(6O@Yj93T<-QN{0$#(l)Jg~Os>THlaHJ7 zUsm{bALsXi`FdC3Z|M*8*XTb^3NP_?`M4+k^Y;q>yN?@v*3*Pl;=P@Q|5f4t^zjn8 zyNI3(kx8UoorITo!G7;zDRI(B#)JJ{^{y`EU9a$9zt`yVIfV!Nz0`f`8cq+QO1$^v zlf08lpDtIpX{EfoNBH*?&OcP4FVo(_BeDOb% z>EU!!;syK3pAdPzrSRSIN#0SXPe&ZX<%50Z(Nf|ng$Mh|69nI*@MC?x#$R1n%=HBO z(#Fp`rSQK9b-;J}C@w$RugB>B9)%z0C3l|Cz|uwcoK^evDuK zBEi3>@L>PhtmsBi!%Mueet8Pjj+*nc(_xlQ5e<8jP!Tu-nsy-4b5Qh2a0eZJt& zD12fX-^0j}mU!cR-00y7g$Mi6k4ruOQh2a0ZOWfX4z|Rb;@4yJ)}-+C@z|sAV87bb z^RY2p&*^?W4+`I2g$Mi9B!;^Ft?*#KnyOXT(KON6#>G^^OT1}*{ijIzISLQ?RoK7E}w3k0PBjXf+@_(gs_6;gh)!h`+r z%LL!8@L)gOjNke)uKyCh9#j843SZ#k#?JRDJlH31milX{qf5M6zr4}I_Y|H!js}hA z^6BH^a)mEStLGMl*ZH`5=aqOLNeV3S7W=rF$(~Snuzzmke^=qbetUz+e=-?-iT@2j z&#M!>M&ZqV{bpR;s_<4HKSatur|@83-Hg-s72fWbzf;P8V-oZ2@bS|GKc6Pn5--?S zH}SyD3QxD6XBEE8ujf-zPw8a4{nrp);(gjLZ|uKU;lV!qD5>WpnutqaAD+xWU6(05 z*oQw$@W&Ls!ms~)!3R+TOT3jnZtUb@h2QMs#!o(_@Kru;#>@XHJlKc-mXx^cbgn(YD^`^paNy87H%Jr;C!*3(JNN6$nl`0?X&l~vIwGqO~3q6;p_bRsaw^x^bD3K*q^8ATU|R9eurP4!V-0z zL4ik!7wpfQakN$8>;3XH%+=L0jmzKdA7U!{wCMHO8BULU7!Ro8V2-{9k> zU7Hl1ZV#^!ZqwVrWRNAEnLRv@imB^Lg>UrhH~n?D!oTg~#%`Zc_$D7W?OH&Aafuh~ z^BaBsLgDH9JZ=V;f6%XIxXANag$K`5jQ(GB;3vnpp5S?b@iUth9y~8F{eH;VT>ep? zuklxN6u#NV4c{vj9y}K??fs>~AM?wbexGy>*B?ADsFilzs_-7aJWb!~dQ0I?`uO#N z*T%V?r+wV;U8!&rU3#9GcOFrAy8g#hay`%a^%y`gn!l|4{fZeB8)? z=uEEXmp*R%;Z%jE>*rpDr?>YFg$K_sOuLSl#r3DRw@Tr^^7%H2oOdfcy`JAFJb2z= z{NcFScKw{qc%D=WNwuSVg9E?8fy*Jbvuc`a7AM=r)wZ^JiHoaKGbbk!4J{4L4JrCK zp)8STPt~Lv_$1qgR6|W;!`1Yur8!a4T$iXzwx`-U)WNxl(uM{van8*1&#IV7BpnMA zm5Ic~v&+Wo({_c)^zvBMr0Qhbl4KiIK6{eRoG~%Bgg;iNCbZTxv{jzhP$fCB=@Vmf zs!J1d&Z{m@aFHpA#Ny_TMD5b0Wv3<*%`I(BHI0deRI;sx4&JS-n$+6T*tn>!IyFfj z#amfjmZ+}bzpucIb{F;VTdu45m8d*zCtU7gieGQ#u+^AYxMdc>@0ynqRB@SQCG&s^4?s^l)CQjN*>_R0p<9Rsnl zvP6YCvzaxe46j1joT<+tYy#~yRy{Ex#xgNcJvl`0ke`i{xt+(hIzdyAL`Dbu*a>N4 zYv1bgs~b28r%$BDmIb4cwO?61g-0yuq^5Fiba<7GZ%$s7P{(VlQ9t0Sg0_JLnx=yb z`hWx>Yta7CE{I)WLsE7xbY>uG{2nDNPRZOKLBXcAbuG|`%DYj0_$87Z|av82?~MU``7XE?pgOe(p0 zQKGCmua<0Yyc&!$UyW~USxg4mpW#z|s`!CiC7EH`zzvcQq-$=YOpqjNL%)S0x%59h zBaCmVX|41-H|!scH)_yRX~R;QmM2Q9%v@_GU$WX#GR7&b9qsir;nZHiw0&(wWt%#&&iVk;#u_AqS%CYcW-k+aL+4BUR&C8rx$OpIkhfCM3TXauQ)Y zRh(u~In|&$a9;CO4HP=fNw#-1@l;&b$U}#NtlBFQwe?pd7S%K~vZQHafoAr)#-xme z2CpgEM5D@UOV+BPmsY$j+0?QmD9)iBY0nuuSadiyF_$`$Or$RhqbZB@JeMOZrRhMu zQ*@6s=%~f?OM3U|*oC^7*(B0po$>??#2C%jG)Gjnv?tDQO*S{t91-D`Wr!q})Q@32 zKG|HCW&l}oowzW$xS?55Q*5exrZQ77TiXvIY0|8X%}rES@V`0dQUCQ%O%o}iZcoNC zil_o7iF3*(OmAswA|s6}Lv1S?FBYp&a`f7E`?4mdd9rcQ&|RENH8wOSvod2gJoYMq z8M_r4v10NP#(G<x_otL!c8l&-nZFt^zMO+o zj&_YVr_VIH$!5Sl*+W{FIfiJTB#FgZB@i$xm9p}XqcTRqW_z9~b816-tf@7%Oe@Hs zMt>i$ysdiTsQys;K@U4ei>7C_Xxi8QX*Fj3A=sVoQ>#>t?GCG{vJ60?m_+eiUagY1*}E{IICM5JS-Rx7*+#}W;<8{OoweiLqh*`t3REVMO}q$#G0AUzMIeMMe%m$1w+|7^!u!60`G~Nn8)F7coQqT6_N2W z(N68R%A%8+)*KF~epej~44Os;pm!tFSs$YFp5p0_Ib+4L zauTSvK1n-EjmhR%lkA2CteP4sGX!e9BV!qxI!Y^>Sl6&ZHC&*ji{0AThVqP`2n@If`Z| z+90i)rjwy{W~JQ!y1qs^9O z0Ra_VLgmU6b4Y&P7t>~wLEiBsZ=H@)YEnt+x6%YPl%DF@9`y-K9#QT*0A4M~PhLTrS zR`qjtEc3!cuMz`hHuLW%_f`q?gUb8rj@m{F1+1g5pX_O)XQ2+PGfkNNQ?6N*1kK}x zVE^jMVucv(D0XK3WaiLwA71V(4zrc_4O%;ZmJ$j|tP_`+Ci@dD2C+OpCUb|Sf>kcoHm)IO6$EEH#%_e%yqzmq6Xfd^azP$RFI zg2!Gos0N@;3XNtZaFdUHSM=2p>VAhyGbZlv1;*Wkmky4)RF68`BUGSVoq1B8g{uQn zZGd*SHK5Cu(0fn3OK9GE8i*cCUlUPOQ;{Ie1ut8%T|3*E)e35k#5K;P(B!6?rHQ~N z(RAQg>IaUC7?&mzDyHV;)8bS;?E$p4wCPop+CE)c*+fo4Eem8T0z6KJFn+SU!Ni`o zoL2?pAfVpE0>8~Al1*ur3FLh*{6R9vmYsyMt znPV0vYE2gi)mN~~#;#RJmOv!t^-5mDBp0`|W%ir>4E<<(H&rÔq|&P~M1PW3?} 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

{|5MJfcMy+453TU8xyFEufBq_A3mUe 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 diff --git a/ft_irc3/obj/Utils.o b/ft_irc3/obj/Utils.o deleted file mode 100644 index 48531589306b696ec91760ad41693b66705e1df6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37984 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 diff --git a/ft_irc3/src/AdditionalCommands.cpp b/ft_irc3/src/AdditionalCommands.cpp index 3655143..4d71dfb 100644 --- a/ft_irc3/src/AdditionalCommands.cpp +++ b/ft_irc3/src/AdditionalCommands.cpp @@ -6,147 +6,153 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/16 15:27:29 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 19:22:28 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 13:52:54 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ #include "AdditionalCommands.hpp" -void sendWelcomeMessages(Client *client, Server *server) { - server->sendToClient(client->getFd(), RPL_WELCOME(client)); - server->sendToClient(client->getFd(), RPL_YOURHOST(client)); - server->sendToClient(client->getFd(), RPL_CREATED(client)); - server->sendToClient(client->getFd(), RPL_MYINFO(client)); - server->sendToClient(client->getFd(), RPL_ISUPPORT(client, "MODES=EXAMPLE")); +void sendWelcomeMessages(Client *client, Server *server) +{ + server->sendToClient(client->getFd(), RPL_WELCOME(client)); + server->sendToClient(client->getFd(), RPL_YOURHOST(client)); + server->sendToClient(client->getFd(), RPL_CREATED(client)); + server->sendToClient(client->getFd(), RPL_MYINFO(client)); + server->sendToClient(client->getFd(), RPL_ISUPPORT(client, "MODES=EXAMPLE")); sendMotd(client, server); } -void sendMotd(Client *client, Server *server) { - std::ifstream motdFile("motd.txt"); - if (motdFile.is_open()) { - std::string line; - server->sendToClient(client->getFd(), RPL_MOTDSTART(client)); - while (std::getline(motdFile, line)) { - server->sendToClient(client->getFd(), RPL_MOTD(client, line)); - } - server->sendToClient(client->getFd(), RPL_ENDOFMOTD(client)); - motdFile.close(); - } else { - server->sendToClient(client->getFd(), ERR_NOMOTD(client)); - } +void sendMotd(Client *client, Server *server) +{ + std::ifstream motdFile("motd.txt"); + if (motdFile.is_open()) + { + std::string line; + server->sendToClient(client->getFd(), RPL_MOTDSTART(client)); + while (std::getline(motdFile, line)) + { + server->sendToClient(client->getFd(), RPL_MOTD(client, line)); + } + server->sendToClient(client->getFd(), RPL_ENDOFMOTD(client)); + motdFile.close(); + } + else + { + server->sendToClient(client->getFd(), ERR_NOMOTD(client)); + } } void broadcastChannelList(Client *client, Server *server) { - std::map &channels = server->getChannels(); - for (std::map::iterator it = channels.begin(); it != channels.end(); ++it) - { - server->sendToClient(client->getFd(), RPL_LIST(client->getFd(), it->first, it->second->getClients().size(), "Existing channel")); - } - server->sendToClient(client->getFd(), RPL_LISTEND(client->getFd())); + std::map &channels = server->getChannels(); + for (std::map::iterator it = channels.begin(); it != channels.end(); ++it) + { + server->sendToClient(client->getFd(), RPL_LIST(client->getFd(), it->first, it->second->getClients().size(), "Existing channel")); + } + server->sendToClient(client->getFd(), RPL_LISTEND(client->getFd())); } // Fonction pour gérer la commande PART void handlePartCommand(Server *server, Client *client, const std::string &command) { - std::istringstream iss(command); - std::string cmd, channelName; - iss >> cmd >> channelName; + std::istringstream iss(command); + std::string cmd, channelName; + iss >> cmd >> channelName; - std::map &channels = server->getChannels(); + std::map &channels = server->getChannels(); - if (channels.find(channelName) != channels.end()) - { - Channel *channel = channels[channelName]; - channel->removeClient(client); + if (channels.find(channelName) != channels.end()) + { + Channel *channel = channels[channelName]; + channel->removeClient(client); - std::stringstream partMsg; - partMsg << ":" << client->getNickname() << " PART " << channelName << "\r\n"; - server->sendToClient(client->getFd(), partMsg.str()); + std::stringstream partMsg; + partMsg << ":" << client->getNickname() << " PART " << channelName << "\r\n"; + server->sendToClient(client->getFd(), partMsg.str()); - if (channel->isEmpty()) - { - delete channel; - channels.erase(channelName); - } + if (channel->isEmpty()) + { + delete channel; + channels.erase(channelName); + } - server->log("Client " + client->getNickname() + " left channel " + channelName, MAGENTA); - } - else - { - std::stringstream ss; - ss << ":server 403 " << client->getNickname() << " " << channelName << " :No such channel\r\n"; - server->sendToClient(client->getFd(), ss.str()); - } + server->log("Client " + client->getNickname() + " left channel " + channelName, MAGENTA); + } + else + { + std::stringstream ss; + ss << ":server 403 " << client->getNickname() << " " << channelName << " :No such channel\r\n"; + server->sendToClient(client->getFd(), ss.str()); + } } // Fonction pour gérer la commande NICK void handleNickCommand(Server *server, Client *client, const std::string &command) { - std::istringstream iss(command); - std::string cmd, newNick; - iss >> cmd >> newNick; + std::istringstream iss(command); + std::string cmd, newNick; + iss >> cmd >> newNick; - std::stringstream nickMsg; - nickMsg << ":" << client->getNickname() << " NICK " << newNick << "\r\n"; - server->sendToClient(client->getFd(), nickMsg.str()); + std::stringstream nickMsg; + nickMsg << ":" << client->getNickname() << " NICK " << newNick << "\r\n"; + server->sendToClient(client->getFd(), nickMsg.str()); - client->setNickname(newNick); + client->setNickname(newNick); - std::stringstream ss; - ss << "Client " << client->getFd() << " changed nickname to " << newNick; - server->log(ss.str(), GREEN); + std::stringstream ss; + ss << "Client " << client->getFd() << " changed nickname to " << newNick; + server->log(ss.str(), GREEN); } void handlePrivmsgCommand(Server *server, Client *client, const std::string &command) { - std::istringstream iss(command); - std::string cmd, target, message; - iss >> cmd >> target; - getline(iss, message); + std::istringstream iss(command); + std::string cmd, target, message; + iss >> cmd >> target; + getline(iss, message); - // Enlever le ':' initial dans le message si présent - if (!message.empty() && message[0] == ':') - message = message.substr(1); + // Enlever le ':' initial dans le message si présent + if (!message.empty() && message[0] == ':') + message = message.substr(1); - // Récupérer les canaux du serveur - std::map &channels = server->getChannels(); + // Récupérer les canaux du serveur + std::map &channels = server->getChannels(); - // Si la cible est un canal - if (channels.find(target) != channels.end()) - { - Channel *channel = channels[target]; - std::vector channelClients = channel->getClients(); + // Si la cible est un canal + if (channels.find(target) != channels.end()) + { + Channel *channel = channels[target]; + std::vector channelClients = channel->getClients(); - for (size_t i = 0; i < channelClients.size(); ++i) - { - // Envoyer le message à tous les clients du canal sauf l'émetteur - if (channelClients[i] != client) - { - std::stringstream privMsg; - privMsg << ":" << client->getNickname() << " PRIVMSG " << target << " :" << message << "\r\n"; - server->sendToClient(channelClients[i]->getFd(), privMsg.str()); - } - } - } - // Si la cible est un utilisateur - else - { - Client *targetClient = server->getClientByName(target); // Utiliser getClientByName pour trouver le client par nom + for (size_t i = 0; i < channelClients.size(); ++i) + { + // Envoyer le message à tous les clients du canal sauf l'émetteur + if (channelClients[i] != client) + { + std::stringstream privMsg; + privMsg << ":" << client->getNickname() << " PRIVMSG " << target << " :" << message << "\r\n"; + server->sendToClient(channelClients[i]->getFd(), privMsg.str()); + } + } + } + // Si la cible est un utilisateur + else + { + Client *targetClient = server->getClientByName(target); // Utiliser getClientByName pour trouver le client par nom - if (targetClient) - { - std::stringstream privMsg; - privMsg << ":" << client->getNickname() << " PRIVMSG " << target << " :" << message << "\r\n"; - server->sendToClient(targetClient->getFd(), privMsg.str()); - } - else - { - // Si la cible n'est ni un canal ni un utilisateur existant, envoyer un message d'erreur - std::stringstream errorMsg; - errorMsg << ":server 401 " << client->getNickname() << " " << target << " :No such nick/channel\r\n"; - server->sendToClient(client->getFd(), errorMsg.str()); - } - } + if (targetClient) + { + std::stringstream privMsg; + privMsg << ":" << client->getNickname() << " PRIVMSG " << target << " :" << message << "\r\n"; + server->sendToClient(targetClient->getFd(), privMsg.str()); + } + else + { + // Si la cible n'est ni un canal ni un utilisateur existant, envoyer un message d'erreur + std::stringstream errorMsg; + errorMsg << ":server 401 " << client->getNickname() << " " << target << " :No such nick/channel\r\n"; + server->sendToClient(client->getFd(), errorMsg.str()); + } + } } diff --git a/ft_irc3/src/ClientManager.cpp b/ft_irc3/src/ClientManager.cpp index b76fd33..7473188 100644 --- a/ft_irc3/src/ClientManager.cpp +++ b/ft_irc3/src/ClientManager.cpp @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/15 18:32:23 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 22:09:39 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 14:09:07 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -67,19 +67,22 @@ void ClientManager::handleClient(int client_fd) } } -void ClientManager::removeClient(int client_fd) +void ClientManager::removeClient(int clientFd) { - Client *client = _server->_clients[client_fd]; + Client* client = _server->_clients[clientFd]; if (client) { - std::map::iterator it = _server->_channels.begin(); + // Log the nickname being freed + _server->log("Removing client: " + client->getNickname(), YELLOW); + + std::map::iterator it = _server->_channels.begin(); while (it != _server->_channels.end()) { it->second->removeClient(client); if (it->second->isEmpty()) { delete it->second; - std::map::iterator it_to_delete = it++; + std::map::iterator it_to_delete = it++; _server->_channels.erase(it_to_delete); } else @@ -88,13 +91,13 @@ void ClientManager::removeClient(int client_fd) } } delete client; - _server->_clients.erase(client_fd); + _server->_clients.erase(clientFd); } std::vector::iterator it_poll = _server->_poll_fds.begin(); while (it_poll != _server->_poll_fds.end()) { - if (it_poll->fd == client_fd) + if (it_poll->fd == clientFd) { _server->_poll_fds.erase(it_poll); break; @@ -103,6 +106,7 @@ void ClientManager::removeClient(int client_fd) } std::stringstream ss; - ss << "Client disconnected: " << client_fd; + ss << "Client disconnected: " << clientFd; _server->log(ss.str(), YELLOW); } + diff --git a/ft_irc3/src/CommandHandler.cpp b/ft_irc3/src/CommandHandler.cpp index cc14fde..14e1309 100644 --- a/ft_irc3/src/CommandHandler.cpp +++ b/ft_irc3/src/CommandHandler.cpp @@ -6,7 +6,7 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/15 18:26:34 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 23:47:26 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 14:19:19 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ @@ -145,10 +145,14 @@ void CommandHandler::handleNick(Client* client, const std::vector& _server->sendToClient(client->getFd(), ERR_NICKNAMEINUSE(client, newNick)); return; } + client->setNickname(newNick); _server->sendToClient(client->getFd(), ":" + newNick + " NICK " + newNick + "\r\n"); - _server->log("Client NickName is " + newNick, GREEN); + + std::ostringstream oss; + oss << "Client " << client->getFd() << " changed nickname to " << newNick; + _server->log(oss.str(), GREEN); } void CommandHandler::handleUser(Client* client, const std::vector& tokens) @@ -156,7 +160,8 @@ void CommandHandler::handleUser(Client* client, const std::vector& // Set the user and realname fields client->setUser(tokens[1]); std::string realname = tokens[4]; - if (realname[0] == ':') { + if (realname[0] == ':') + { realname = realname.substr(1); // Remove leading ':' } client->setRealName(realname); @@ -167,11 +172,14 @@ void CommandHandler::handleUser(Client* client, const std::vector& _server->log(logMsg.str(), BLUE); // Authenticate if password and nickname are already set - if (client->getPassword() == _server->_password && !client->getNickname().empty()) { + if (client->getPassword() == _server->_password && !client->getNickname().empty()) + { client->authenticate(); sendWelcomeMessages(client, _server); _server->log("Client " + client->getNickname() + " authenticated successfully.", GREEN); - } else { + } + else + { std::ostringstream authFailMsg; authFailMsg << "Client " << client->getFd() << ": USER command failed - authentication conditions not met."; _server->log(authFailMsg.str(), RED); @@ -191,27 +199,22 @@ void CommandHandler::processCommand(Client *client, const std::string &command) { handlePartCommand(_server, client, command); } - else if (command.find("NICK") == 0) + /*else if (command.find("NICK") == 0) { handleNickCommand(_server, client, command); - } + }*/ else if (command.find("PRIVMSG") == 0) { handlePrivmsgCommand(_server, client, command); } - else if (command.find("MODE") == 0) - { - ModeWhoHandler modeHandler(_server); - modeHandler.handleModeCommand(client, command); - } else if (command.find("WHO") == 0) { - ModeWhoHandler whoHandler(_server); + WhoHandler whoHandler(_server); whoHandler.handleWhoCommand(client, command); } else if (command.find("WHOIS") == 0) { - ModeWhoHandler whoHandler(_server); + WhoHandler whoHandler(_server); whoHandler.handleWhoisCommand(client, command); } else if (command.find("PING") == 0) diff --git a/ft_irc3/src/Server.cpp b/ft_irc3/src/Server.cpp index bd076c8..8c93d55 100644 --- a/ft_irc3/src/Server.cpp +++ b/ft_irc3/src/Server.cpp @@ -6,321 +6,234 @@ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/15 12:17:12 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 22:16:03 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 14:18:03 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ #include "Server.hpp" Server::Server(int port, const std::string &password) - : _port(port), _password(password), _clientManager(new ClientManager(this)), _commandHandler(new CommandHandler(this)) + : _port(port), _password(password), _clientManager(new ClientManager(this)), _commandHandler(new CommandHandler(this)) { - initServer(); + initServer(); } Server::~Server() { - delete _clientManager; - delete _commandHandler; + delete _clientManager; + delete _commandHandler; - for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) - { - delete it->second; - } - for (std::map::iterator it = _channels.begin(); it != _channels.end(); ++it) - { - delete it->second; - } - close(_server_fd); + for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) + { + delete it->second; + } + for (std::map::iterator it = _channels.begin(); it != _channels.end(); ++it) + { + delete it->second; + } + close(_server_fd); } void Server::initServer() { - _server_fd = socket(AF_INET, SOCK_STREAM, 0); - if (_server_fd == -1) - { - log("Failed to create socket.", RED); - exit(EXIT_FAILURE); - } + _server_fd = socket(AF_INET, SOCK_STREAM, 0); + if (_server_fd == -1) + { + log("Failed to create socket.", RED); + exit(EXIT_FAILURE); + } - int opt = 1; - if (setsockopt(_server_fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1) - { - log("Failed to set socket options.", RED); - close(_server_fd); - exit(EXIT_FAILURE); - } + int opt = 1; + if (setsockopt(_server_fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1) + { + log("Failed to set socket options.", RED); + close(_server_fd); + exit(EXIT_FAILURE); + } - struct sockaddr_in server_addr; - std::memset(&server_addr, 0, sizeof(server_addr)); - server_addr.sin_family = AF_INET; - server_addr.sin_addr.s_addr = INADDR_ANY; - server_addr.sin_port = htons(_port); + struct sockaddr_in server_addr; + std::memset(&server_addr, 0, sizeof(server_addr)); + server_addr.sin_family = AF_INET; + server_addr.sin_addr.s_addr = INADDR_ANY; + server_addr.sin_port = htons(_port); - if (bind(_server_fd, (struct sockaddr*)&server_addr, sizeof(server_addr)) == -1) - { - log("Failed to bind socket.", RED); - close(_server_fd); // Close the socket if bind fails - exit(EXIT_FAILURE); - } + if (bind(_server_fd, (struct sockaddr*)&server_addr, sizeof(server_addr)) == -1) + { + log("Failed to bind socket.", RED); + close(_server_fd); // Close the socket if bind fails + exit(EXIT_FAILURE); + } - if (listen(_server_fd, SOMAXCONN) == -1) - { - log("Failed to listen on socket.", RED); - close(_server_fd); // Close the socket if listen fails - exit(EXIT_FAILURE); - } + if (listen(_server_fd, SOMAXCONN) == -1) + { + log("Failed to listen on socket.", RED); + close(_server_fd); // Close the socket if listen fails + exit(EXIT_FAILURE); + } - log("Server initialized.", GREEN); + log("Server initialized.", GREEN); } void Server::run() { - struct pollfd server_pollfd; - server_pollfd.fd = _server_fd; - server_pollfd.events = POLLIN; - server_pollfd.revents = 0; - _poll_fds.push_back(server_pollfd); + struct pollfd server_pollfd; + server_pollfd.fd = _server_fd; + server_pollfd.events = POLLIN; + server_pollfd.revents = 0; + _poll_fds.push_back(server_pollfd); - // Ajout de l'entrée pour les commandes serveur - struct pollfd stdin_pollfd; - stdin_pollfd.fd = STDIN_FILENO; - stdin_pollfd.events = POLLIN; - stdin_pollfd.revents = 0; - _poll_fds.push_back(stdin_pollfd); + // Ajout de l'entrée pour les commandes serveur + struct pollfd stdin_pollfd; + stdin_pollfd.fd = STDIN_FILENO; + stdin_pollfd.events = POLLIN; + stdin_pollfd.revents = 0; + _poll_fds.push_back(stdin_pollfd); - while (true) - { - int poll_count = poll(&_poll_fds[0], _poll_fds.size(), -1); - if (poll_count == -1) - { - log("Poll error.", RED); - exit(EXIT_FAILURE); - } + while (true) + { + int poll_count = poll(&_poll_fds[0], _poll_fds.size(), -1); + if (poll_count == -1) + { + log("Poll error.", RED); + exit(EXIT_FAILURE); + } - for (size_t i = 0; i < _poll_fds.size(); ++i) - { - if (_poll_fds[i].revents & POLLIN) - { - if (_poll_fds[i].fd == _server_fd) - { - _clientManager->acceptClient(); - } - else if (_poll_fds[i].fd == STDIN_FILENO) - { - handleServerCommands(); - } - else - { - _clientManager->handleClient(_poll_fds[i].fd); - } - } - } - } + for (size_t i = 0; i < _poll_fds.size(); ++i) + { + if (_poll_fds[i].revents & POLLIN) + { + if (_poll_fds[i].fd == _server_fd) + { + _clientManager->acceptClient(); + } + else if (_poll_fds[i].fd == STDIN_FILENO) + { + handleServerCommands(); + } + else + { + _clientManager->handleClient(_poll_fds[i].fd); + } + } + } + } } std::map &Server::getChannels() { - return _channels; + return _channels; } const std::string &Server::getPassword() const { - return _password; + return _password; } void Server::handleServerCommands() { - std::string command; - std::getline(std::cin, command); + std::string command; + std::getline(std::cin, command); - if (command == "quit") - { - log("Server shutting down.", YELLOW); - exit(EXIT_SUCCESS); - } - else if (command == "channels") - { - log("Listing all channels:", BLUE); - for (std::map::iterator it = _channels.begin(); it != _channels.end(); ++it) - { - log(it->first, BLUE); - } - } - else if (command == "clients") - { - log("Listing all clients:", BLUE); - for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) - { - log(it->second->getNickname(), BLUE); - } - } - else - { - log("Unknown server command.", RED); - } + if (command == "quit") + { + log("Server shutting down.", YELLOW); + exit(EXIT_SUCCESS); + } + else if (command == "channels") + { + log("Listing all channels:", BLUE); + for (std::map::iterator it = _channels.begin(); it != _channels.end(); ++it) + { + log(it->first, BLUE); + } + } + else if (command == "clients") + { + log("Listing all clients:", BLUE); + for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) + { + log(it->second->getNickname(), BLUE); + } + } + else + { + log("Unknown server command.", RED); + } } void Server::log(const std::string &message, const std::string &color) { - std::cout << color << message << "\033[0m" << std::endl; + std::cout << color << message << "\033[0m" << std::endl; } void Server::sendToClient(int client_fd, const std::string &message) { - int result = send(client_fd, message.c_str(), message.length(), 0); - if (result < 0) - { - std::stringstream ss; - ss << "Failed to send message to client " << client_fd; - log(ss.str(), RED); - } - else - { - std::stringstream ss; - ss << "Sent message to client " << client_fd << ": " << message; - log(ss.str(), BLUE); - } + int result = send(client_fd, message.c_str(), message.length(), 0); + if (result < 0) + { + std::stringstream ss; + ss << "Failed to send message to client " << client_fd; + log(ss.str(), RED); + } + else + { + std::stringstream ss; + ss << "Sent message to client " << client_fd << ": " << message; + log(ss.str(), BLUE); + } } void Server::broadcast(const std::string &message) { - for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) - { - sendToClient(it->first, message); - } + for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) + { + sendToClient(it->first, message); + } } Client* Server::getClientByName(const std::string &name) { - for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) - { - if (it->second->getNickname() == name) - { - return it->second; - } - } - return NULL; // Remplacez nullptr par NULL + for (std::map::iterator it = _clients.begin(); it != _clients.end(); ++it) + { + if (it->second->getNickname() == name) + { + return it->second; + } + } + return NULL; // Remplacez nullptr par NULL } void Server::sendChannelListToClient(Client *client) { - std::map &channels = getChannels(); - for (std::map::iterator it = channels.begin(); it != channels.end(); ++it) - { - sendToClient(client->getFd(), RPL_LIST(client->getFd(), it->first, it->second->getClients().size(), "Existing channel")); - } - sendToClient(client->getFd(), RPL_LISTEND(client->getFd())); + std::map &channels = getChannels(); + for (std::map::iterator it = channels.begin(); it != channels.end(); ++it) + { + sendToClient(client->getFd(), RPL_LIST(client->getFd(), it->first, it->second->getClients().size(), "Existing channel")); + } + sendToClient(client->getFd(), RPL_LISTEND(client->getFd())); } void Server::disconnectClient(int clientFd) { - close(clientFd); - _clients.erase(clientFd); - - for (std::vector::iterator it = _poll_fds.begin(); it != _poll_fds.end(); ++it) + Client* client = _clients[clientFd]; + if (client) { - if (it->fd == clientFd) - { - _poll_fds.erase(it); - break; - } + log("Disconnecting client: " + client->getNickname(), YELLOW); + _clients.erase(clientFd); + delete client; } + struct MatchFd + { + int fd; + MatchFd(int fd) : fd(fd) {} + bool operator()(const pollfd& pfd) const { return pfd.fd == fd; } + }; + + _poll_fds.erase(std::remove_if(_poll_fds.begin(), _poll_fds.end(), MatchFd(clientFd)), _poll_fds.end()); + std::ostringstream oss; oss << "Client disconnected: " << clientFd; log(oss.str(), YELLOW); } - - -/* Explications des Fonctions -Server::Server(int port, const std::string &password) - -Description: Constructeur de la classe Server. Initialise le serveur avec le port et le mot de passe fournis. -Paramètres: -int port: Le port sur lequel le serveur écoute. -const std::string &password: Le mot de passe requis pour se connecter au serveur. -Détails: Appelle initServer() pour initialiser les paramètres du socket et commencer l'écoute des connexions. -Server::~Server() - -Description: Destructeur de la classe Server. Ferme le socket du serveur et libère la mémoire des clients. -Détails: Parcourt la map _clients et delete chaque objet Client. -void Server::initServer() - -Description: Initialise le socket du serveur et configure le binding et l'écoute. -Détails: Crée un socket avec socket(), lie le socket à une adresse avec bind(), et met le socket en mode écoute avec listen(). -void Server::run() - -Description: Boucle principale du serveur qui gère les connexions entrantes et les communications avec les clients. -Détails: Utilise poll() pour surveiller les événements sur les sockets. Accepte les nouvelles connexions avec acceptClient() et gère les communications avec handleClient(). -void Server::acceptClient() - -Description: Accepte une nouvelle connexion client et l'ajoute à la liste des clients. -Détails: Crée un nouvel objet Client et l'ajoute à la map _clients. Ajoute le descripteur de fichier du client à _poll_fds. -void Server::handleClient(int client_fd) - -Description: Gère les messages entrants des clients. -Paramètres: -int client_fd: Le descripteur de fichier du client. -Détails: Reçoit les messages du client et vérifie l'authentification. Si le client n'est pas authentifié, vérifie le mot de passe. Si le client est authentifié, répond au message. -void Server::removeClient(int client_fd) - -Description: Supprime un client de la liste et ferme la connexion. -Paramètres: -int client_fd: Le descripteur de fichier du client. -Détails: Ferme le socket du client et le supprime de la map _clients et du vecteur _poll_fds. -void Server::log(const std::string &message, const std::string &color) - -Description: Enregistre un message dans les logs et l'affiche avec des couleurs dans la console. -Paramètres: -const std::string &message: Le message à enregistrer. -const std::string &color: La couleur du message. -Détails: Utilise logMessage() pour enregistrer et afficher le message. -void Server::sendToClient(int client_fd, const std::string &message) - -Description: Envoie un message à un client. -Paramètres: -int client_fd: Le descripteur de fichier du client. -const std::string &message: Le message à envoyer. -Détails: Utilise send() pour envoyer le message au client. - -Lecture Ligne par Ligne : Utilisez std::istringstream pour lire le message ligne par ligne et traiter chaque commande séparément. -Suppression des Caractères de Fin de Ligne : Utilisez erase et std::remove pour supprimer les caractères \r et \n de chaque ligne avant de traiter la commande. -Vérification du Mot de Passe : Si le client n'est pas authentifié, vérifiez s'il envoie la commande PASS et validez le mot de passe. Sinon, répondez avec un message demandant le mot de passe. -Explications des Modifications -Notification de Jonction : Lorsque le client rejoint un canal, le serveur envoie une notification de jonction avec la commande JOIN. - - -std::stringstream joinMsg; -joinMsg << ":" << client->getFd() << " JOIN " << channelName << "\r\n"; -sendToClient(client->getFd(), joinMsg.str()); -Liste des Utilisateurs : Le serveur envoie la liste des utilisateurs dans le canal en utilisant le code de réponse 353. - - -std::string usersList = getUsersList(channel); -sendToClient(client->getFd(), usersList); -Fin de la Liste des Utilisateurs : Le serveur envoie un message de fin de liste des utilisateurs avec le code de réponse 366. - -std::stringstream endOfNamesMsg; -endOfNamesMsg << ":server 366 " << client->getFd() << " " << channelName << " :End of /NAMES list.\r\n"; -sendToClient(client->getFd(), endOfNamesMsg.str()); -Fonction getUsersList : Cette fonction génère la liste des utilisateurs dans le canal en utilisant le format correct. - -std::string Server::getUsersList(Channel *channel) -{ - std::vector clients = channel->getClients(); - std::stringstream ss; - ss << ":server 353 " << clients[0]->getFd() << " = " << channel->getName() << " :"; - for (size_t i = 0; i < clients.size(); ++i) - { - if (i > 0) - ss << " "; - ss << clients[i]->getFd(); - } - ss << "\r\n"; - return ss.str(); -} -Avec ces modifications, votre serveur IRC devrait maintenant informer correctement le client HexChat des utilisateurs présents dans un canal, ce qui devrait faire apparaître les canaux et leurs utilisateurs correctement dans l'interface du client. - -*/ \ No newline at end of file diff --git a/ft_irc3/src/ModeWhoHandler.cpp b/ft_irc3/src/Who.cpp similarity index 59% rename from ft_irc3/src/ModeWhoHandler.cpp rename to ft_irc3/src/Who.cpp index fc9dce5..bdef91d 100644 --- a/ft_irc3/src/ModeWhoHandler.cpp +++ b/ft_irc3/src/Who.cpp @@ -1,63 +1,26 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* ModeWhoHandler.cpp :+: :+: :+: */ +/* Who.cpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: fgras-ca +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/17 16:09:20 by fgras-ca #+# #+# */ -/* Updated: 2024/05/19 20:52:30 by fgras-ca ### ########.fr */ +/* Updated: 2024/05/21 13:48:51 by fgras-ca ### ########.fr */ /* */ /* ************************************************************************** */ -#include "ModeWhoHandler.hpp" +#include "Who.hpp" #include "Channel.hpp" #include "RPL.hpp" #include -ModeWhoHandler::ModeWhoHandler(Server *server) +WhoHandler::WhoHandler(Server *server) : _server(server) { } -void ModeWhoHandler::handleModeCommand(Client *client, const std::string &command) -{ - std::istringstream iss(command); - std::string cmd, channelName, mode, user; - iss >> cmd >> channelName >> mode >> user; - - std::map &channels = _server->getChannels(); - if (channels.find(channelName) == channels.end()) - { - _server->sendToClient(client->getFd(), ERR_NOSUCHCHANNEL(client->getFd(), channelName)); - return; - } - - Channel *channel = channels[channelName]; - if (mode == "+o") - { - if (client->isOperator()) - { - Client *targetClient = _server->getClientByName(user); - if (targetClient) - { - channel->addOperator(targetClient); - _server->sendToClient(client->getFd(), RPL_CHANNELMODEIS(client->getFd(), channelName, "+o")); - _server->log("Client " + user + " is now an operator in channel " + channelName, GREEN); - } - else - { - _server->sendToClient(client->getFd(), ERR_NOSUCHNICK(client->getFd(), user)); - } - } - else - { - _server->sendToClient(client->getFd(), ERR_CHANOPRIVSNEEDED(client->getFd(), channelName)); - } - } -} - -void ModeWhoHandler::handleWhoCommand(Client *client, const std::string &command) +void WhoHandler::handleWhoCommand(Client *client, const std::string &command) { std::istringstream iss(command); std::string cmd, mask; @@ -86,7 +49,7 @@ void ModeWhoHandler::handleWhoCommand(Client *client, const std::string &command _server->sendToClient(client->getFd(), RPL_ENDOFWHO(client->getFd(), mask)); } -void ModeWhoHandler::handleWhoisCommand(Client *client, const std::string &command) +void WhoHandler::handleWhoisCommand(Client *client, const std::string &command) { std::istringstream iss(command); std::string cmd, target;