From a612652d1510ec62bf54c895c77811f75ab56d9d Mon Sep 17 00:00:00 2001 From: Ugo Cirmignani Date: Sun, 11 Mar 2018 05:26:45 -0700 Subject: [PATCH] Refactoring, fix --- build/Debug/GNU-Linux/ftpCommandElaborate.o | Bin 61304 -> 56208 bytes build/Debug/GNU-Linux/ftpData.o | Bin 30408 -> 29976 bytes build/Debug/GNU-Linux/ftpServer.o | Bin 68480 -> 53792 bytes build/Debug/GNU-Linux/library/configRead.o | Bin 29424 -> 29424 bytes build/Debug/GNU-Linux/library/connection.o | Bin 24216 -> 33104 bytes build/Debug/GNU-Linux/library/daemon.o | Bin 14360 -> 14160 bytes build/Debug/GNU-Linux/uFTP.o | Bin 6168 -> 6168 bytes build/modules/configRead.o | Bin 11056 -> 12104 bytes build/modules/connection.o | Bin 2720 -> 13152 bytes build/modules/daemon.o | Bin 4744 -> 4544 bytes build/modules/ftpCommandElaborate.o | Bin 34280 -> 29392 bytes build/modules/ftpData.o | Bin 10624 -> 10880 bytes build/modules/ftpServer.o | Bin 52000 -> 34496 bytes build/uFTP | Bin 91448 -> 87816 bytes dist/Debug/GNU-Linux/uftp | Bin 155416 -> 151624 bytes ftpCommandElaborate.c | 116 +++---- ftpCommandsElaborate.h | 14 - ftpData.c | 93 +++--- ftpData.h | 16 +- ftpServer.c | 323 ++++---------------- ftpServer.h | 17 +- library/connection.c | 204 ++++++++++++- library/connection.h | 17 +- library/daemon.c | 7 +- library/signals.h | 7 - nbproject/private/private.xml | 6 +- uFTP.c | 2 - 27 files changed, 390 insertions(+), 432 deletions(-) diff --git a/build/Debug/GNU-Linux/ftpCommandElaborate.o b/build/Debug/GNU-Linux/ftpCommandElaborate.o index e5310df768cd8790fc98cc386aa1d2e9880c5522..c8addf513a69c5c417664e53baeae78b0abc08cd 100644 GIT binary patch literal 56208 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 literal 61304 zcmeHw3w%`7wfCNx1P%!yAqfa-bx=@L62eo&7ZCy{$|I7X;A>+SXFFN_|~=iwI(`_^McK^ZnM|Yn@rMGY74={oVWf zzVFnMv;TYTwbx#2?X~yWXYVuDRLz|3^>_qb9&wgPr_$G<{ptHD@^*?CECz{rX2-i` z+Xoe9$MRifs%n>+JH!ye?0DYnJQK+F!9Qk4)joBTs@j*%+mt3qRqZQ$T&(Q2mz$lr zSmcnR-Y!daJS(|(u4*k3g4lHYmbe}=kTX9buQ_68 zsPb!7bYOJ4z_)1r6tiRbj*jFuGgY<2Osy{JD@3Ylo4M8ucaJ<-2-CCE%{O+F6?bPd zjhU+2Eq$YK<<&lE`yFQIYO^oirdIW?X@_HJM;9GcZ?!FdODr9$#A}7}sd;ai^)H)S z|I-J;rG%N9VwkCUyUld5_HO&Kv{t|)nHryWZ>r;eAE&(qdqmpl_TTFTYm>i&&UcgT z4#(W=T(w$RdpGcZp7jH0xl7ZEbk^>Ksd+oh)b&!Y^R|JC!Y?ZmzG!w{503UfQ0<27 z)n@mzhl_;R3|(65OYR2S-nz6%$jF!3@xRu_2Tg8c@?^IjkZP5d%MyXyMKe>a(D;A2 z5GdgvE+oT97V%VooR#+0eLOlt3D<6~`og{pJ!M8tzuB=|@pBnH4w7CEW|J)~l-5CE z%-H92MH&it-77xu=YW=;+V^EoPsmK=j2NlLt3zYD&Cd3NU-tBD7CAyZ%_FjzY6o&N zwOXoJk)=H?-N7k~#vl+#76q9)JAr#TJV>!%&ADQ*tY-A z0f*{;k|sNndvu?H2@VCNJ$&#>weBnuqV13;8F42vQ?0vYuT?|;*AsTmJIF?>UL(wb zihr1eYXi2o?n*~Umqu=HeX9t13Qp0oD#Gm8>RyT2xk)M@g@fX=vg65a@b&$p#_U+W zsU!JlZ<}m#M0u3k#4X(HG&`$y&+MGiAO4!1OAYn6CCBWXx7$oX{;XYQ+t!@(;pY5V z9b2nA4w)SvWsL!C+lpk7EI~C@wQK8cqvLs)h@?PBoXc<_cX&STSp8~|5YtjsAEc7| zQuFq}G$A!>lbL!#4$-q7HS1q6!!M{I`U|u3iLZtTQPr`vvg2UK?>e4EsaRN&b>Ya# z>)M%Wg_^QR>R!amh1#;U&b>@#UvM){ufFg#gq`ztd~IL&$5^=PN%aNva~GbfFUU!V zD<9PtTo`&S~vlF_ZOef2jW?`7M=b0_l7HFDfdPtSV=JohmhN9iZVkDchRJZH{av%}av#i%RD zqcZ7H`uVSIEgQZwCird>2CV$)v12Ft>*B$v`Ank0iu;2LV`fK%*|F5vKBXvbTcL*S zQ%Vc+o}V)KpC{D*C*?Hwn@Cn0j@FycSpH?Pq(5PyWaiVB-);&g{FUZ2=ggVwZ%!s` zv!kWR>{vR)eEP)2mOqiKhhkR93V}8|TKs0m(vj3=8p^)4R=+;(%h9|exo3OTr(ZMl zxJ)nAN&`j2jA7gCT-|aK4QCjhIl+$XJY7doGu0~jWsk8g!zw(^f)M{$p>l_SzWFeCd6i8^wzFR zJIv12a=lF&Hmgb{OCB;^ePDa5ILUbgcB}6jw`2-yF@NI1hme0&cg=13m$@cz{2 z*0n8P=P7I-o-2LB?WN2rXP{bTrdG*y@ibS4=Z)UTPe6**=>)6TgOdcaebB9sVpxuoEf{S z3Ew5CNv|AO9wv394)<~bZPwO(Oh?t-sj9opwN$6sQMD0(`kiK~YGa1p05G2(JE6iq z=e%;i`OMU0JZ?p8KRv}h5emnxdOH?3JItc(Q-&<_hZ7CkryT7^VaZ`OvZ?a^bCoq$ z(bGVd2qs^ZRdr`KLTVno6W@uMny;Xe6pBjfp4L&dAyu_OZ}JBBCQq19;h!3eo@hQ} z`|F#6(MIRN{Ruy|8Jiqm=C`5AG5_;ZjyX)T&D6Y&X2(u*`_`TwctP>J9O}%D&p&?9 z?AT#`z7xBn`SfJ}>=-=$o6j`)8^RIGPsyE{j3A3|mV|s;@-so&h8~0f= zHEScN1=d%b*ENigHWg$nWggBt89L5V8e*(mGT<>*19oQu;AcoJA8QUw`W9T2M!(_u zU9W+`Wi4lW`<^d*dO-STO42(o@Ku%i^Ypk075=$a!Zx1?#_e#l(I3PP(y)C>k?nte zO0n49zWd9b9$0_h|Gf17HLy^alBl`1@bQ⁣Y;xpm1fkd-lri!j*TrXP=Q*xbj+$ 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 a=Btu$X*lfu*_rxR(SOHOyblva?*G4hV(Ie$ literal 30408 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 literal 68480 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 m3$*$r28?1NSF!?6PPGy^hy0< zqfbG{jXu3CEl5PU2-VsK zx)G@(^dM5_n8>9LOQfD~8IeZ9l|o3QnUMb$66qpb#kz`)sHGwjs1QkZSgy#wFm3An z>DiRdsB3+3&!+3Ro-Xx4)1`iBx-=M!tka3gz&S@CZc{gi#nX zMR<(JXTlRiW(ZI50sbI7gYzZA7;5Yc*Zq8Cu82b#2c$A)Lql;98*5hF&x=F_KjX+8 z^)i|8b~1qrxgV{$pUKIfzaOphrl&c#G`NfyVkl6Smk+S}tI;^S7sG0*$M628tovIW m2Tk=f28K;`$N$#+Y55Obf}S4$ diff --git a/build/Debug/GNU-Linux/library/connection.o b/build/Debug/GNU-Linux/library/connection.o index 77b6ad2511ade53867113798879214c76901d88c..afca7a9ce38eebe7893f3ee139b4ed40875886e4 100644 GIT binary patch literal 33104 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 literal 24216 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 P_-{bqAKLa7+5i6m{Z<^^ diff --git a/build/Debug/GNU-Linux/library/daemon.o b/build/Debug/GNU-Linux/library/daemon.o index 58cb4ffc28f1591293d92672d0ef7be8b5398005..1ca7643f3194af2607b07f548cd6e78f1d2e2b3a 100644 GIT binary patch delta 1142 zcmZ{iT}TvB6vxk*ofbD*cehpVtRK5O>!$fqyYB8x2JIjr8ht+uK~%H_U|aF}l_GTKi%s%90LWk7WgWv_iRN4lcso_bV}b_7SLGSGo5)~Ub;w+jGhr?Smw zA^^0O`)^8ny>8bL>#TAE(WGyo`!rlVgC^x_4C=2|tU^tPgx!Q;hPNmgW=Qrs^w{ne z0Av8D0)Rh%oyS`9Oi@=I+xMD#BmmeXc;1%iG5%lVUz-^e{EPIyj^Qfh!Yuh)@F;?( z%-#>c|FtyktE8h5hALf+u#m<*Hor#59;Wd~y*Df%w30K+UtYq3+MiXa~ipB zpS54uk?!c!7zo^ z$mpoha>kH;`l(sVdLA;T)UcMhtHq^hMhneVR8VA^)#B0&qwiW46O_~qj8d0wcxLQN W4FEsZGP8Qzb2{lL&zzN0TmAuKUoGzd delta 1315 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 delta 2837 zcmZ{mYiLwQ6vxlpBz1SAdFYzW-A&_zb&bhpKcupeDz&X7tf=?^s~Cwyjn4!HD=I#& zMa2YZoAd-~VT*xEl_D5OKKR0>RZ#rkv)B(BH2A>BmwXUG3|^T#=Vs52x%*)*_c#Cl znR905&g}KZp6@y;jGpP8m9LBwfF)vXc_RR{*QF2bPm7(?Qa>*5P93XjOSRumwO@N- zjlmsaes4q0!Xi99;W*x{D(yWOY{|vASt|BnojFOQvDv&>vrB;UyY-oRMghP80ewF8 zUf@^H*~II8xGel!2po)ra7kn)UJVDuef%dJ5(7^A)M;Nk?T~EoaimoE9R2OGzwyK8 zp>eIvtvi~(ht{T+mTl`WSRU`4TRtev%altl089jcVO#wMaLVM6cq?0Lv7z#jk30bA zQm?Suga4VM1Ttm`i&-zt0H5$R9=ur1kL4IbEKn6qoE(7j1&o(6{dy06igBK3e-^hg zv+~WDOa*-41`ocMah_0@2mhb(k%TPUwueURux!Y(&!~Ff z71NJr`u9GN^~?RK*8V>-%%VLi2R4~u1#wsZhV)HL&j&cH>C0$8{*=*MS%wpu;V2m% zW(-*gz1Q>|q|Xbe%wz#Pp$g(|0Vjo1KR}I#VX0<#M+0EooI;h|3vx7+~^lc7xuOCcUt#exM57ZkQmz~4U#J?ae za|pA~VuPknlYTqX^Ih1ZxHYo4SIKa}!!W@3$jM>b_FE5LC>Lmyvv?}wMf~VXQir=4 zVzNX4n8yqeR`Ci=pCJ8u5B+XU|E1K=1b`zRhWtX6fSb^_G{8h0jD@TQ>XopJrL~c9 zeuDqXIM@HdIM?4}oa-Mc{^^}%7O8Y)Li{RN=)o-yewJ}Q@Utw=?yN|0W?*ipAnwlJ z0-C=XrsrF7o~Cai{i4zI^3H113|q;tX*7dv+j}(q9?~E3(DyOU@4n-}?krhdvupq$ ztsV}OC`jK_x5gW2;FB6JpuYvDHU5PDzf8_>yi&O+Tu+y(9>33rtEz4q{}y9qJQ+yI zuLb~$@^MQ%X&B@2PE`qZo4I%?9_6pY@u=S?R|Ei#;f(59V`U82R)6J3`N0D~3_HyU zc&R#SoG%#(GF%-E^pl_;uriVK-;OE$Zrq%x4IGr)8UW52_*Ww7pCyki04T(liCTYZ Nx_aB-gq{;0`w=b7qs;&S diff --git a/build/modules/connection.o b/build/modules/connection.o index 2b63140c99dd3642e4c41beec7b67d4594d6ddf3..7dc6a399f66b2e04b2e45c912eba3d756f5a07e5 100644 GIT binary patch literal 13152 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 delta 495 zcmYk1JxBs^7{;IfpUYCxEVJ`4`}FD%symZ|8j6bc+G^7!gdmz)j3Ng&q2qyQl%T00 z`k106TNlM0gM9ZgFu0sLv?P9l?MTwy99s)&;j7D-keK1NmYCFr~)9^MnCzGR5e93 zu}gc}=nQ|7sy6S@R&&zpTI8s%imdC1ZLaI8*llb|JknL|tgSQB)_Kn>U1fgSkOlC1 z<|SD5#K!Q$im+m8e)k0cYl2nNmQpg87+}~kT5-)X0$uJ!0PzdS2K#=qm)(L24~g$H$mnExhZl_m6 z(d5H|FZ6OR-WU-ZWo!&8K7*fw#bbGqFN;FEL|#ucKB^nP#MF=~tq5z6us$WMKwDp8 z>xZ!9rEH0OOjO$mw$#aTbawqnd&TZ4oo`>wW!)rp);`heRf1pC{HoyPY?~r?MV+x!EPDSA`9c?(z&TrS1-ER)Gtp{Y>Y?$& zE7a}79N@G4fv=#Mt7Hcd_xFWQOpv9}AZ1P%$1@|z#{pS0=nR(2cZ@&_{ z5tfqLYVr3 zEA!Nf;79=ABAl-_{DAoXMLd0k{|9Gfo|3J305;uv1iM+__MU?TZzgWLktsZS(B{@J z+>Q~|R-!tAQH8S%rj+(j3&9@{ek;MB;kv@3OSUR`QKd#y^qx&zPlIKg)kJcGSnUK+90x-DvziHdf3nc&-r+qBJRqvu(|r#_1f99O-1 z;H^#jNc6CTy2?wdw(L`pUH^}B(0Wp0hv{Y>7q}&}w(*njIYsyinJC-9aaz?`5$~#8 zy-t`dxT5Z7Wz>D|*iAHj9iD>RFg)VIpms?5;6T&44GUU$<2a**<9Zju+J;#7Q rCVg`@nEo*PiBtZVG~>gM{w^u$!dAVDjo@iLCV#db1OTKlt+o9FYiu?C diff --git a/build/modules/ftpCommandElaborate.o b/build/modules/ftpCommandElaborate.o index 820a57b3f8991a0392386fa1af0539cab56f1fed..5002542e8b93f9bc0e2fac6b74f3321c4967ba4a 100644 GIT binary patch literal 29392 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 BNbvvw literal 34280 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 diff --git a/build/modules/ftpData.o b/build/modules/ftpData.o index 83f8e9a2cc0a1bb45b30c72545a5065d58566543..bcd931b253050972e1875ac5e25afcd52f5ba70d 100644 GIT binary patch delta 3086 zcma);e@s(X6vxjkKUy5p7KBIr0p&+&tK*lFS%%q$-O~sDM24c9i4~c$Y1KlRnqe^o zV^bD!H*PaqjOhN+Y{?8$nIWzQGk^Ty*hUsKWP!{jY?w`re;CtwmwVrRa$#$-CY<(t z&iCAN?z#8AOM7j5UAGh2&(B|#fImt&g=-Q&HclKcUaEVlgynH1e8i;3X8mlm8oTxN z8B6p4<#N>6)l3Lc1>Gh+KCiFAD-9*OlW~~n%M;fULIChV!>}iVzCLoCS$3G6E*k52v^=g!}C2p}vEDGh^4SiYg4LE}X*UKwUH=2eES(x=ef(Cz0$ z9uBq*6MvZ&8JHS6`dmmuN2i5qL2~4OryB{jjR@(cMvf|>fZEUhO2Mkw>q~Q8q?a zSdOYq8&}X^z<3c{@~A%{EJr8IK{<-TaE2zECARbjwuJ@;#RR? znWmjji*#rp#uxgxMv`)-l__Y%8-znf;R4@32`aMnALPe=z%)+S0#~nq}P! zYL)@@3o>*nPfu3CaXz~O{DUN+CCt_^yNy~)E7zZ!sp?rL0pKvx9H-WKnrnO}Rl~Xo z0N-+c)2#AkcyFf7;3|QJosAwZ9?Q(YUuT}~-E6sr7BuYMwa4RYtZnf%dAGYg&5c#w z=0DrBIv)MSuFeb zhM=R-4XxD{hdtSnWwk-AfqJt9Z#O=cEmhqTymVu0u@3~EBk;1M$^F3wpbtKNEvT1WtFR z){~!99$>9>2#yIJpe2q|>w_o4Ku$rwlAkTQBpCt^2%H`>E%9elc2A_jVb0xG0AIp`{3Tgul{IJszUKHx_3%pR^T>>u>_!)s0 z3;e#oO9h^o!aBZ`C0-~va#hE___)BusT%R2JP9peR%X^iZD2p$od9fwX${)S91}QQ zY>l6d!LP>PcVh5|Do6@yXb8U0-#e`3%ak`=D=aw*z zcveRQeVH)Tc=aW%o(eG_gTK9LVllwQIW1JwSI5x%V(2@j=rWyZe`#zaoD%uAlM;eY4SPb;N3;^AD ztiXj*ab-aUF0nh~sTN;#q~Sewr-275ILDriBlb-63BF^0Rd$Qp delta 2592 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
{n}#d9f6{Qpe^J8~ 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 diff --git a/build/uFTP b/build/uFTP index 835d0371c09142d800f25f7e195a11fd36e62c5c..d993b7c14ddc48ce305265f0d45d8143a24277b1 100755 GIT binary patch literal 87816 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�>kF46y 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 U^~P5D|LrQt`G#gx(3t=K0cy}!FaQ7m diff --git a/dist/Debug/GNU-Linux/uftp b/dist/Debug/GNU-Linux/uftp index db980fc142d96a0f38078c6b07ec748ff1d34894..739d1d475485ba87b9da8aa3eaa73d74cf0a0f6f 100755 GIT binary patch literal 151624 zcmd443w#vS^#^`85Q&kv5sl&tS1lE+VgQ3YjE2YRMFArc1$;nAHV_F(Om+n<(corn zhH-4{&nQ)j_$)rE_(mkKJY=J_8ZFgSX`3pwvnH)ksYFHQ|M{MKXLfco6VUea|Nqm< z&OP_sbIv{I-1qA?|FlceJRWBL^WESf88Zt&${5B>;gZ+h0Y@`@;~VUN4@M+Ugo&y^K}>eEEjp|T=4T;@b7cU z?@cc7_gvu1UFd)AB2TUh{yG=~lAJgA# zF_ZtkaKV4m1%8DK{CXGoNiO*s?SkLpf`6%t9v*P9*CH4AJuY-UagpbJ7dkh(;Gg3H zf5HX6zy)650)O5`KaaZL&vAi2?H<__;3qg!^3Zx47i1%0t0@XoQR#F+PNFWqfmIQ3Unm}OdtBD@&GC zv$9}KsIr8l4%F0C)v$T<%4@4i#*Ld-TU%0GS;iIyg4Ihy<)y5oqN+9kq6-7Tg*6My zOIcYkP*K6kD+9rKmBFfNRvik~va+h0#cbZZ+F)_X;&~;D7SAgyF0Wt}@Q6xQ8>m2D zmn;UInm}Sbjue8mQ)9q*9L-YNni^_jCaqVLS1x8{ zXU{yJTKUPq#7YhCqbyICs z4Sb_yS@FEG^2*|h@>_&}<)uhgQ333lit;7p!uCt5p%T-Qa1U6bCOB_Nad{=H3|1|w zg&+YoZ{9L!m(813AwDjhHg(eEd80;*9x=-HJ=*#nH6qXYzQFn#dA{{|KASgh;gYIK z$#5QxBGXtu`5#7FE_uPH&5sVFB2W0p-ia&x4=r7U;dTACtb6&)p&uBVR$hl6= zf0*z>3D59}`4kgwhTBgQaLi4Zaro=7!Os(<=}))8$JyZBHaNV%{Ohs7OH3eREP9II zJ3!7On18J{xH%tzzcw3Os+9iPZE$n01%DkjxP3lKx54f6G2J#eWHSGHZ15vZApTBG z$e(G0XV~CJ+2GkW_&^(cunlfaZJ|$LgCA|fA7+DlZSY(h+?+eY-&h+Qa~kGffemgS zUveA#SQ8oZUN$)9hRna&Hh7K+WQ@(X!H>7W7unz^*x=PR_+T4+nGJrT4PI}9pJanK z+TbVK;7vBTIcJH#)i(I4HvDxq_z)X>y$ybv4Zgt!7c-OMZ=($^JVyLQZE$;kw$%og zMVJ2CZ1A5*8u)9s!H3%59X9w+ZE)QNKg$O1w!w$l;5|0@a2uQrN%;TSHh6{&{xcgq z+Xg?!1|MvLqc3g#`E2kJCXg{U%m&Z3!EKy$wFmhQGlEpJan?w81Ca;87dgoMXpds}1hA;kVh~m)PL#HaO-M%)bsB zoSQ(#m~MklwZXe>@XKuQ9vl2}8=T2@4Q<6V8$81XpKgO^+u$>7@WD3t6*jof1~0V1 zhuPp)+Tgi1_)HsotPOsZ4PIb_&$7X}4K7v yHeezgsMwhexb4L;unpKXILvcWNj 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 ZGp3?jU0C*3FMjiFBEFj6R#!Cs{{ye>nX~`^ diff --git a/ftpCommandElaborate.c b/ftpCommandElaborate.c index d4d0527..bca58e3 100644 --- a/ftpCommandElaborate.c +++ b/ftpCommandElaborate.c @@ -50,15 +50,12 @@ int parseCommandUser(clientDataType *theClientData) char *theName; theName = getFtpCommandArg("USER", theClientData->theCommandReceived); - printTimeStamp(); - printf("The Name: %s", theName); - if (strlen(theName) >= 1) { char *theResponse = "331 User ok, Waiting for the password.\r\n"; setDynamicStringDataType(&theClientData->login.name, theName, strlen(theName)); write(theClientData->socketDescriptor, theResponse, strlen(theResponse)); - printf("\nUSER COMMAND OK, USERNAME IS: %s", theClientData->login.name.text); + //printf("\nUSER COMMAND OK, USERNAME IS: %s", theClientData->login.name.text); return 1; } else @@ -75,10 +72,7 @@ int parseCommandSite(clientDataType *theClientData) char *theCommand; theCommand = getFtpCommandArg("SITE", theClientData->theCommandReceived); - printTimeStamp(); - printf("\ntheCommand:%s", theCommand); - if(strncmp(theCommand, "CHMOD", strlen("CHMOD")) == 0 || - strncmp(theCommand, "chmod", strlen("chmod")) == 0) + if(compareStringCaseInsensitive(theCommand, "CHMOD", strlen("CHMOD")) == 1) { setPermissions(theCommand, theClientData->login.absolutePath.text); char *theResponse = "200 Permissions changed\r\n"; @@ -89,21 +83,18 @@ int parseCommandSite(clientDataType *theClientData) char *theResponse = "500 unknown extension\r\n"; write(theClientData->socketDescriptor, theResponse, strlen(theResponse)); } - - - return 1; + //site chmod 777 test //200 Permissions changed on test - //500 SITE ciao is an unknown extension + //500 SITE ciao is an unknown extension + + return 1; } int parseCommandPass(ftpDataType * data, int socketId) { char *thePass; thePass = getFtpCommandArg("PASS", data->clients[socketId].theCommandReceived); - - printTimeStamp(); - printf("The Pass is: %s", thePass); if (strlen(thePass) >= 1) { @@ -115,7 +106,7 @@ int parseCommandPass(ftpDataType * data, int socketId) { char *theResponse = "430 Invalid username or password\r\n"; write(data->clients[socketId].socketDescriptor, theResponse, strlen(theResponse)); - printf("\nLogin Error recorded no such username or password"); + //printf("\nLogin Error recorded no such username or password"); } else { @@ -129,12 +120,12 @@ int parseCommandPass(ftpDataType * data, int socketId) write(data->clients[socketId].socketDescriptor, theResponse, strlen(theResponse)); printTimeStamp(); - printf("PASS COMMAND OK, PASSWORD IS: %s", data->clients[socketId].login.password.text); - printf("\nheClientData->login.homePath: %s", data->clients[socketId].login.homePath.text); - printf("\nheClientData->login.ftpPath: %s", data->clients[socketId].login.ftpPath.text); - printf("\nheClientData->login.absolutePath: %s", data->clients[socketId].login.absolutePath.text); + //printf("PASS COMMAND OK, PASSWORD IS: %s", data->clients[socketId].login.password.text); + //printf("\nheClientData->login.homePath: %s", data->clients[socketId].login.homePath.text); + //printf("\nheClientData->login.ftpPath: %s", data->clients[socketId].login.ftpPath.text); + //printf("\nheClientData->login.absolutePath: %s", data->clients[socketId].login.absolutePath.text); } - + return 1; } else @@ -147,10 +138,10 @@ int parseCommandPass(ftpDataType * data, int socketId) int parseCommandAuth(clientDataType *theClientData) { - char *theAuth; - theAuth = getFtpCommandArg("AUTH", theClientData->theCommandReceived); - printTimeStamp(); - printf("The Auth is: %s", theAuth); + //char *theAuth; + //theAuth = getFtpCommandArg("AUTH", theClientData->theCommandReceived); + //printTimeStamp(); + //printf("The Auth is: %s", theAuth); char *theResponse = "502 Security extensions not implemented.\r\n"; write(theClientData->socketDescriptor, theResponse, strlen(theResponse)); return 1; @@ -239,7 +230,7 @@ int parseCommandPasv(ftpDataType * data, int socketId) void *pReturn; pthread_cancel(data->clients[socketId].workerData.workerThread); pthread_join(data->clients[socketId].workerData.workerThread, &pReturn); - printf("\nThread has been cancelled."); + //printf("\nThread has been cancelled."); } else { @@ -261,11 +252,11 @@ int parseCommandPort(ftpDataType * data, int socketId) int portBytes[2]; theIpAndPort = getFtpCommandArg("PORT", data->clients[socketId].theCommandReceived); sscanf(theIpAndPort, "%d,%d,%d,%d,%d,%d", &ipAddressBytes[0], &ipAddressBytes[1], &ipAddressBytes[2], &ipAddressBytes[3], &portBytes[0], &portBytes[1]); - printf("\ntheIpAndPort: %s", theIpAndPort); + //printf("\ntheIpAndPort: %s", theIpAndPort); data->clients[socketId].workerData.connectionPort = (portBytes[0]*256)+portBytes[1]; sprintf(data->clients[socketId].workerData.activeIpAddress, "%d.%d.%d.%d", ipAddressBytes[0],ipAddressBytes[1],ipAddressBytes[2],ipAddressBytes[3]); - printf("\ndata->clients[socketId].workerData.connectionPort: %d", data->clients[socketId].workerData.connectionPort); - printf("\ndata->clients[socketId].workerData.activeIpAddress: %s", data->clients[socketId].workerData.activeIpAddress); + //printf("\ndata->clients[socketId].workerData.connectionPort: %d", data->clients[socketId].workerData.connectionPort); + //printf("\ndata->clients[socketId].workerData.activeIpAddress: %s", data->clients[socketId].workerData.activeIpAddress); /* Create worker thread */ if (data->clients[socketId].workerData.threadIsAlive == 1) @@ -273,7 +264,7 @@ int parseCommandPort(ftpDataType * data, int socketId) void *pReturn; pthread_cancel(data->clients[socketId].workerData.workerThread); pthread_join(data->clients[socketId].workerData.workerThread, &pReturn); - printf("\nThread has been cancelled."); + //printf("\nThread has been cancelled."); } else { @@ -306,7 +297,7 @@ int parseCommandAbor(ftpDataType * data, int socketId) void *pReturn; pthread_cancel(data->clients[socketId].workerData.workerThread); pthread_join(data->clients[socketId].workerData.workerThread, &pReturn); - printf("\nThread has been cancelled due to ABOR request."); + //printf("\nThread has been cancelled due to ABOR request."); memset(theResponse, 0, FTP_COMMAND_ELABORATE_CHAR_BUFFER); sprintf(theResponse, "426 ABORT\r\n"); @@ -345,17 +336,14 @@ int parseCommandList(ftpDataType * data, int socketId) -t Sort by modification time */ - - - int isSafePath = 0; char *theNameToList; theNameToList = getFtpCommandArg("LIST", data->clients[socketId].theCommandReceived); getFtpCommandArgWithOptions("LIST", data->clients[socketId].theCommandReceived, &data->clients[socketId].workerData.ftpCommand); - printf("\nLIST COMMAND ARG: %s", data->clients[socketId].workerData.ftpCommand.commandArgs.text); - printf("\nLIST COMMAND OPS: %s", data->clients[socketId].workerData.ftpCommand.commandOps.text); + // printf("\nLIST COMMAND ARG: %s", data->clients[socketId].workerData.ftpCommand.commandArgs.text); + // printf("\nLIST COMMAND OPS: %s", data->clients[socketId].workerData.ftpCommand.commandOps.text); cleanDynamicStringDataType(&data->clients[socketId].workerData.ftpCommand.commandArgs, 0); cleanDynamicStringDataType(&data->clients[socketId].workerData.ftpCommand.commandOps, 0); @@ -454,7 +442,7 @@ int parseCommandStor(ftpDataType * data, int socketId) if (isSafePath == 1) { pthread_mutex_lock(&data->clients[socketId].workerData.conditionMutex); - printf("data->clients[%d].fileToStor = %s", socketId, data->clients[socketId].fileToStor.text); + //printf("data->clients[%d].fileToStor = %s", socketId, data->clients[socketId].fileToStor.text); memset(data->clients[socketId].workerData.theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); strcpy(data->clients[socketId].workerData.theCommandReceived, data->clients[socketId].theCommandReceived); data->clients[socketId].workerData.commandReceived = 1; @@ -529,7 +517,7 @@ int parseCommandCwd(clientDataType *theClientData) if (FILE_IsDirectory(theClientData->login.absolutePath.text) == 1) { - printf("\nDirectory ok found, theClientData->login.ftpPath.text = %s", theClientData->login.ftpPath.text); + //printf("\nDirectory ok found, theClientData->login.ftpPath.text = %s", theClientData->login.ftpPath.text); int theSizeToMalloc = strlen("250 OK. Current directory is ")+theClientData->login.ftpPath.textLen+1; theResponse = (char *) malloc (theSizeToMalloc); memset(theResponse, 0, theSizeToMalloc); @@ -538,7 +526,7 @@ int parseCommandCwd(clientDataType *theClientData) } else { - printf("\n%s does not exist", theClientData->login.absolutePath.text); + //printf("\n%s does not exist", theClientData->login.absolutePath.text); setDynamicStringDataType(&theClientData->login.absolutePath, absolutePathPrevious.text, absolutePathPrevious.textLen); setDynamicStringDataType(&theClientData->login.ftpPath, ftpPathPrevious.text, ftpPathPrevious.textLen); int theSizeToMalloc = strlen("550 Can't change directory to : No such file or directory")+10+strlen(theClientData->login.ftpPath.text); @@ -553,9 +541,9 @@ int parseCommandCwd(clientDataType *theClientData) write(theClientData->socketDescriptor, theResponse, strlen(theResponse)); printTimeStamp(); - printf("\nCwd response : %s", theResponse); - printf("\nUSER COMMAND OK, NEW PATH IS: %s", theClientData->login.absolutePath.text); - printf("\nUSER COMMAND OK, NEW LOCAL PATH IS: %s", theClientData->login.ftpPath.text); + //printf("\nCwd response : %s", theResponse); + //printf("\nUSER COMMAND OK, NEW PATH IS: %s", theClientData->login.absolutePath.text); + //printf("\nUSER COMMAND OK, NEW LOCAL PATH IS: %s", theClientData->login.ftpPath.text); cleanDynamicStringDataType(&absolutePathPrevious, 0); cleanDynamicStringDataType(&ftpPathPrevious, 0); @@ -608,9 +596,6 @@ int parseCommandRest(clientDataType *theClientData) } } - printTimeStamp(); - printf(" REST set to: %s", theSize); - fflush(0); FILE_AppendToString(&theResponse, theSize); FILE_AppendToString(&theResponse, " \r\n"); @@ -627,7 +612,7 @@ int parseCommandMkd(clientDataType *theClientData) char *theDirectoryFilename; dynamicStringDataType theResponse; dynamicStringDataType mkdFileName; - + theDirectoryFilename = getFtpCommandArg("MKD", theClientData->theCommandReceived); cleanDynamicStringDataType(&theResponse, 1); @@ -638,7 +623,7 @@ int parseCommandMkd(clientDataType *theClientData) if (isSafePath == 1) { int returnStatus; - printf("\nThe directory to make is: %s", mkdFileName.text); + //printf("\nThe directory to make is: %s", mkdFileName.text); returnStatus = mkdir(mkdFileName.text, S_IRWXU | S_IRWXG | S_IRWXO); setDynamicStringDataType(&theResponse, "257 \"", strlen("257 \"")); appendToDynamicStringDataType(&theResponse, theDirectoryFilename, strlen(theDirectoryFilename)); @@ -659,9 +644,9 @@ int parseCommandMkd(clientDataType *theClientData) int parseCommandOpts(clientDataType *theClientData) { - char *theCommand; - theCommand = getFtpCommandArg("OPTS", theClientData->theCommandReceived); - printf("\nThe command received: %s", theCommand); + //char *theCommand; + //theCommand = getFtpCommandArg("OPTS", theClientData->theCommandReceived); + //printf("\nThe command received: %s", theCommand); char *theResponse = "200 OK\r\n"; write(theClientData->socketDescriptor, theResponse, strlen(theResponse)); return 1; @@ -684,7 +669,7 @@ int parseCommandDele(clientDataType *theClientData) if (isSafePath == 1) { - printf("\nThe file to delete is: %s", deleFileName.text); + //printf("\nThe file to delete is: %s", deleFileName.text); returnStatus = remove(deleFileName.text); setDynamicStringDataType(&theResponse, "250 Deleted ", strlen("250 Deleted ")); appendToDynamicStringDataType(&theResponse, theFileToDelete, strlen(theFileToDelete)); @@ -744,7 +729,7 @@ int parseCommandRmd(clientDataType *theClientData) if (isSafePath == 1) { - printf("\nThe directory to delete is: %s", rmdFileName.text); + //printf("\nThe directory to delete is: %s", rmdFileName.text); returnStatus = rmdir(rmdFileName.text); setDynamicStringDataType(&theResponse, "250 The directory was successfully removed\r\n", strlen("250 The directory was successfully removed\r\n")); write(theClientData->socketDescriptor, theResponse.text, theResponse.textLen); @@ -780,7 +765,7 @@ int parseCommandSize(clientDataType *theClientData) if (isSafePath == 1) { - printf("\nThe file to get the size is: %s", getSizeFromFileName.text); + // printf("\nThe file to get the size is: %s", getSizeFromFileName.text); if (FILE_IsFile(getSizeFromFileName.text)==1) { @@ -824,7 +809,7 @@ int parseCommandRnfr(clientDataType *theClientData) (FILE_IsFile(theClientData->renameFromFile.text) == 1 || FILE_IsDirectory(theClientData->renameFromFile.text) == 1)) { - printf("\nThe file to check is: %s", theClientData->renameFromFile.text); + // printf("\nThe file to check is: %s", theClientData->renameFromFile.text); if (FILE_IsFile(theClientData->renameFromFile.text) == 1 || FILE_IsDirectory(theClientData->renameFromFile.text) == 1) @@ -862,7 +847,7 @@ int parseCommandRnto(clientDataType *theClientData) if (isSafePath == 1 && theClientData->renameFromFile.textLen > 0) { - printf("\nThe file to check is: %s", theClientData->renameFromFile.text); + // printf("\nThe file to check is: %s", theClientData->renameFromFile.text); if (FILE_IsFile(theClientData->renameFromFile.text) == 1 || FILE_IsDirectory(theClientData->renameFromFile.text) == 1) @@ -913,9 +898,9 @@ int parseCommandCdup(clientDataType *theClientData) FILE_AppendToString(&theResponse, " \r\n"); write(theClientData->socketDescriptor, theResponse, strlen(theResponse)); - printTimeStamp(); - printf("USER COMMAND OK, NEW PATH IS: %s", theClientData->login.absolutePath.text); - printf("\nUSER COMMAND OK, NEW LOCAL PATH IS: %s", theClientData->login.ftpPath.text); + // printTimeStamp(); + // printf("USER COMMAND OK, NEW PATH IS: %s", theClientData->login.absolutePath.text); + //printf("\nUSER COMMAND OK, NEW LOCAL PATH IS: %s", theClientData->login.ftpPath.text); free(theResponse); return 1; } @@ -929,7 +914,7 @@ int writeRetrFile(char * theFilename, int thePasvSocketConnection, int startFrom long long int theFileSize; char buffer[FTP_COMMAND_ELABORATE_CHAR_BUFFER]; - printf("\nOpening: %s", theFilename); + //printf("\nOpening: %s", theFilename); retrFP = fopen(theFilename, "rb"); if (retrFP == NULL) @@ -942,9 +927,9 @@ int writeRetrFile(char * theFilename, int thePasvSocketConnection, int startFrom if (startFrom > 0) { - printf("\nSeek startFrom: %d", startFrom); + //printf("\nSeek startFrom: %d", startFrom); currentPosition = (long int) lseek(fileno(retrFP), startFrom, SEEK_SET); - printf("\nSeek result: %ld", currentPosition); + // printf("\nSeek result: %ld", currentPosition); if (currentPosition == -1) { fclose(retrFP); @@ -957,7 +942,7 @@ int writeRetrFile(char * theFilename, int thePasvSocketConnection, int startFrom toReturn = toReturn + write(thePasvSocketConnection, buffer, readen); } - printf("\n Bytes written: %ld", toReturn); + //printf("\n Bytes written: %ld", toReturn); fclose(retrFP); return toReturn; @@ -1066,7 +1051,6 @@ int getFtpCommandArgWithOptions(char * theCommand, char *theCommandString, ftpCo setDynamicStringDataType(&ftpCommand->commandOps, argSecondary, argSecondaryIndex); return 1; - } int setPermissions(char * permissionsCommand, char * basePath) @@ -1118,15 +1102,15 @@ int setPermissions(char * permissionsCommand, char * basePath) permissionsCommandCursor++; } - printf("\n thePermissionString = %s ", thePermissionString); - printf("\n theLocalPathCursor = %s ", theLocalPath); + //printf("\n thePermissionString = %s ", thePermissionString); + //printf("\n theLocalPathCursor = %s ", theLocalPath); if (basePath[strlen(basePath)-1] != '/') sprintf(theFinalCommand, "chmod %s %s/%s", thePermissionString, basePath, theLocalPath); else sprintf(theFinalCommand, "chmod %s %s%s", thePermissionString, basePath, theLocalPath); - printf("\n theFinalCommand = %s ", theFinalCommand); + //printf("\n theFinalCommand = %s ", theFinalCommand); system(theFinalCommand); diff --git a/ftpCommandsElaborate.h b/ftpCommandsElaborate.h index 6404ed7..e366e92 100644 --- a/ftpCommandsElaborate.h +++ b/ftpCommandsElaborate.h @@ -23,20 +23,6 @@ */ - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - -/* - * File: ftpCommandsElaborate.h - * Author: ugo - * - * Created on 8 ottobre 2017, 12.40 - */ - #ifndef FTPCOMMANDSELABORATE_H #define FTPCOMMANDSELABORATE_H diff --git a/ftpData.c b/ftpData.c index af58a29..89b3de1 100644 --- a/ftpData.c +++ b/ftpData.c @@ -178,14 +178,12 @@ int getSafePath(dynamicStringDataType *safePath, char *theDirectoryName, loginDa void appendToDynamicStringDataType(dynamicStringDataType *dynamicString, char *theString, int stringLen) { - printf("\n Appending in %s --> %s", dynamicString->text, theString); int theNewSize = dynamicString->textLen + stringLen; dynamicString->text = realloc(dynamicString->text, theNewSize + 1); memset(dynamicString->text+dynamicString->textLen, 0, stringLen+1); memcpy(dynamicString->text+dynamicString->textLen, theString, stringLen); dynamicString->text[theNewSize] = '\0'; dynamicString->textLen = theNewSize; - printf("\n Append done --> %s", dynamicString->text); } void setRandomicPort(ftpDataType *data, int socketPosition) @@ -193,7 +191,6 @@ void setRandomicPort(ftpDataType *data, int socketPosition) static unsigned short int randomizeInteger = 0; unsigned short int randomicPort = 5000; int i; - time_t t; randomizeInteger += 7; @@ -206,13 +203,12 @@ void setRandomicPort(ftpDataType *data, int socketPosition) randomicPort = ((rand() + socketPosition + randomizeInteger) % (10000 - 50000)) + 10000; i = 0; - printf("randomicPort = %d", randomicPort); + while (i < data->ftpParameters.maxClients) { if (randomicPort == data->clients[i].workerData.connectionPort) { - printf("randomicPort already in use = %d", randomicPort); randomicPort = ((rand() + socketPosition + i + randomizeInteger) % (10000 - 50000)) + 10000; i = 0; } @@ -262,7 +258,7 @@ void getListDataInfo(char * thePath, DYNV_VectorGenericDataType *directoryInfo) } if (data.isDirectory == 0 && data.isFile == 0) { - printf("\nNot a directory, not a file, broken link"); + //printf("\nNot a directory, not a file, broken link"); continue; } @@ -344,58 +340,36 @@ void deleteListDataInfoVector(void *TheElementToDelete) { ftpListDataType *data = (ftpListDataType *)TheElementToDelete; - - - if (data->owner != NULL) { - printf("\nDeleting data->owner:%s", data->owner); - fflush(0); free(data->owner); } - printf("\nDone"); - fflush(0); if (data->groupOwner != NULL) { - printf("\nDeleting data->groupOwner:%s", data->groupOwner); - fflush(0); free(data->groupOwner); } - printf("\nDone"); - fflush(0); + if (data->inodePermissionString != NULL) { - printf("\nDeleting data->inodePermissionString:%s", data->inodePermissionString); - fflush(0); free(data->inodePermissionString); } - printf("\nDone"); - fflush(0); + if (data->fileNameWithPath != NULL) { - printf("\nDeleting data->fileNameWithPath:%s", data->fileNameWithPath); - fflush(0); free(data->fileNameWithPath); } - printf("\nDone"); - fflush(0); + if (data->finalStringPath != NULL) { - printf("\nDeleting data->finalStringPath:%s", data->finalStringPath); - fflush(0); free(data->finalStringPath); } - printf("\nDone"); - fflush(0); + if (data->linkPath != NULL) { - printf("\nDeleting data->linkPath:%s", data->linkPath); - fflush(0); free(data->linkPath); } - printf("\nDone"); - fflush(0); + } void resetWorkerData(workerDataType *workerData, int isInitialization) @@ -444,7 +418,7 @@ void resetClientData(clientDataType *clientData, int isInitialization) void *pReturn; pthread_cancel(clientData->workerData.workerThread); pthread_join(clientData->workerData.workerThread, &pReturn); - printf("\nThread has been cancelled."); + //printf("\nThread has been cancelled."); } else { @@ -492,4 +466,55 @@ void resetClientData(clientDataType *clientData, int isInitialization) clientData->lastActivityTimeStamp = 0; +} + +int compareStringCaseInsensitive(char * stringIn, char * stringRef, int stringLenght) +{ + int i = 0; + char * alfaLowerCase = "qwertyuiopasdfghjklzxcvbnm "; + char * alfaUpperCase = "QWERTYUIOPASDFGHJKLZXCVBNM "; + + int stringInIndex; + int stringRefIndex; + + for (i = 0; i 0) @@ -509,8 +430,7 @@ void runFtpServer(void) if (commandProcessStatus == 0) { char * theNotSupportedString = "500 Unknown command\r\n"; - //write(ftpData.clients[processingSock].socketDescriptor, ftpData.clients[processingSock].buffer, ftpData.clients[processingSock].bufferIndex); - //write(ftpData.clients[processingSock].socketDescriptor, theNotSupportedString, strlen(theNotSupportedString)); + write(ftpData.clients[processingSock].socketDescriptor, theNotSupportedString, strlen(theNotSupportedString)); printf("\n COMMAND NOT SUPPORTED ********* %s", ftpData.clients[processingSock].buffer); } else @@ -522,9 +442,11 @@ void runFtpServer(void) else { //Command overflow can't be processed + char * theNotSupportedString = "500 Unknown command\r\n"; ftpData.clients[processingSock].commandIndex = 0; memset(ftpData.clients[processingSock].theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); //Write some error message to the client + write(ftpData.clients[processingSock].socketDescriptor, theNotSupportedString, strlen(theNotSupportedString)); break; } } @@ -542,320 +464,201 @@ void runFtpServer(void) return; } - int createPassiveSocket(int port) -{ - int sock, returnCode, flags; - struct sockaddr_in temp; - - //Socket creation - sock = socket(AF_INET, SOCK_STREAM, 0); - temp.sin_family = AF_INET; - temp.sin_addr.s_addr = INADDR_ANY; - temp.sin_port = htons(port); - - - int reuse = 1; - if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuse, sizeof(reuse)) < 0) - perror("setsockopt(SO_REUSEADDR) failed"); - - if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (const char*)&reuse, sizeof(reuse)) < 0) - perror("setsockopt(SO_REUSEPORT) failed"); - - - //Bind socket - returnCode = bind(sock,(struct sockaddr*) &temp,sizeof(temp)); - - //Number of client allowed - returnCode = listen(sock, 1); - - return sock; -} - -int createActiveSocket(int port, char *ipAddress) -{ - int sockfd; - struct sockaddr_in serv_addr; - struct hostent *hostnm; /* server host name information */ - - memset(&serv_addr, 0, sizeof(struct sockaddr_in)); - serv_addr.sin_family = AF_INET; - serv_addr.sin_port = htons(port); - if(inet_pton(AF_INET, ipAddress, &serv_addr.sin_addr)<=0) - { - printf("\n inet_pton error occured\n"); - return -1; - } - - if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) - { - printf("\n Error : Could not create socket \n"); - return -1; - } - else - { - printf("\n sockfd = %d \n", sockfd); - } - - - int reuse = 1; - if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuse, sizeof(reuse)) < 0) - perror("setsockopt(SO_REUSEADDR) failed"); - - if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, (const char*)&reuse, sizeof(reuse)) < 0) - perror("setsockopt(SO_REUSEPORT) failed"); - - - - if(connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) - { - printf("\n Error : Connect Failed \n"); - return -1; - } - - printf("\n Connection socket %d is going to start ip: %s:%d \n",sockfd, ipAddress, port); - - return sockfd; -} - static int processCommand(int processingElement) { int toReturn = 0; printTimeStamp(); printf ("Command received from (%d): %s", processingElement, ftpData.clients[processingElement].theCommandReceived); - //printf ("\nstrncmp(ftpData.clients[processingElement].theCommandReceived, \"USER\", strlen(\"USER\")) %d", strncmp(ftpData.clients[processingElement].theCommandReceived, "USER", strlen("USER"))); - //printf ("\nstrncmp(ftpData.clients[processingElement].theCommandReceived, \"user\", strlen(\"user\")) %d", strncmp(ftpData.clients[processingElement].theCommandReceived, "user", strlen("user"))); - //printf ("\nstrncmp(ftpData.clients[processingElement].theCommandReceived, \"PASS\", strlen(\"PASS\")) %d", strncmp(ftpData.clients[processingElement].theCommandReceived, "PASS", strlen("PASS"))); - //printf ("\nstrncmp(ftpData.clients[processingElement].theCommandReceived, \"pass\", strlen(\"pass\")) %d", strncmp(ftpData.clients[processingElement].theCommandReceived, "pass", strlen("pass"))); - cleanDynamicStringDataType(&ftpData.clients[processingElement].ftpCommand.commandArgs, 0); cleanDynamicStringDataType(&ftpData.clients[processingElement].ftpCommand.commandOps, 0); if (ftpData.clients[processingElement].login.userLoggedIn == 0 && - (strncmp(ftpData.clients[processingElement].theCommandReceived, "USER", strlen("USER")) != 0 && - strncmp(ftpData.clients[processingElement].theCommandReceived, "user", strlen("user")) != 0 && - strncmp(ftpData.clients[processingElement].theCommandReceived, "PASS", strlen("PASS")) != 0 && - strncmp(ftpData.clients[processingElement].theCommandReceived, "pass", strlen("pass")) != 0 && - strncmp(ftpData.clients[processingElement].theCommandReceived, "QUIT", strlen("QUIT")) != 0 && - strncmp(ftpData.clients[processingElement].theCommandReceived, "quit", strlen("quit")) != 0) && - strncmp(ftpData.clients[processingElement].theCommandReceived, "AUTH", strlen("AUTH")) != 0 && - strncmp(ftpData.clients[processingElement].theCommandReceived, "auth", strlen("auth")) != 0) + (compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "USER", strlen("USER")) != 1 && + compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "PASS", strlen("PASS")) != 1 && + compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "QUIT", strlen("QUIT")) != 1 && + compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "AUTH", strlen("AUTH")) != 1)) { toReturn = notLoggedInMessage(&ftpData.clients[processingElement]); + ftpData.clients[processingElement].commandIndex = 0; + memset(ftpData.clients[processingElement].theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); return 1; } - - + //Process Command - if(strncmp(ftpData.clients[processingElement].theCommandReceived, "USER", strlen("USER")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "user", strlen("user")) == 0) + if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "USER", strlen("USER")) == 1) { printf("\nUSER COMMAND RECEIVED"); toReturn = parseCommandUser(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "PASS", strlen("PASS")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "pass", strlen("pass")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "PASS", strlen("PASS")) == 1) { printf("\nPASS COMMAND RECEIVED"); toReturn = parseCommandPass(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "SITE", strlen("SITE")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "site", strlen("site")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "SITE", strlen("SITE")) == 1) { printf("\nSITE COMMAND RECEIVED"); toReturn = parseCommandSite(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "AUTH", strlen("AUTH")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "auth", strlen("auth")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "AUTH", strlen("AUTH")) == 1) { printf("\nAUTH COMMAND RECEIVED"); toReturn = parseCommandAuth(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "PWD", strlen("PWD")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "pwd", strlen("pwd")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "PWD", strlen("PWD")) == 1) { printf("\nPWD COMMAND RECEIVED"); toReturn = parseCommandPwd(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "SYST", strlen("SYST")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "syst", strlen("syst")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "SYST", strlen("SYST")) == 1) { printf("\nSYST COMMAND RECEIVED"); toReturn = parseCommandSyst(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "FEAT", strlen("FEAT")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "feat", strlen("feat")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "FEAT", strlen("FEAT")) == 1) { printf("\nFEAT COMMAND RECEIVED"); toReturn = parseCommandFeat(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "TYPE I", strlen("TYPE I")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "type i", strlen("type i")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "TYPE I", strlen("TYPE I")) == 1) { printf("\nTYPE I COMMAND RECEIVED"); toReturn = parseCommandTypeI(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "STRU F", strlen("STRU F")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "stru f", strlen("stru f")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "STRU F", strlen("STRU F")) == 1) { printf("\nTYPE I COMMAND RECEIVED"); toReturn = parseCommandStruF(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "MODE S", strlen("TMODE S")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "mode s", strlen("mode s")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "MODE S", strlen("MODE S")) == 1) { printf("\nMODE S COMMAND RECEIVED"); toReturn = parseCommandModeS(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "TYPE A", strlen("TYPE A")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "type a", strlen("type a")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "TYPE A", strlen("TYPE A")) == 1) { printf("\nTYPE A COMMAND RECEIVED"); toReturn = parseCommandTypeI(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "PASV", strlen("PASV")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "pasv", strlen("pasv")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "PASV", strlen("PASV")) == 1) { printf("\nPASV COMMAND RECEIVED"); setRandomicPort(&ftpData, processingElement); toReturn = parseCommandPasv(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "PORT", strlen("PORT")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "port", strlen("port")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "PORT", strlen("PORT")) == 1) { printf("\nPORT COMMAND RECEIVED"); toReturn = parseCommandPort(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "LIST", strlen("LIST")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "list", strlen("list")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "LIST", strlen("LIST")) == 1) { printf("\nLIST COMMAND RECEIVED"); toReturn = parseCommandList(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "CWD", strlen("CWD")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "cwd", strlen("cwd")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "CWD", strlen("CWD")) == 1) { printf("\nCWD COMMAND RECEIVED"); toReturn = parseCommandCwd(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "CDUP", strlen("CDUP")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "cdup", strlen("cdup")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "CDUP", strlen("CDUP")) == 1) { printf("\nCDUP COMMAND RECEIVED"); toReturn = parseCommandCdup(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "REST", strlen("REST")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "rest", strlen("rest")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "REST", strlen("REST")) == 1) { printf("\nREST COMMAND RECEIVED"); toReturn = parseCommandRest(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "RETR", strlen("RETR")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "retr", strlen("retr")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "RETR", strlen("RETR")) == 1) { printf("\nRETR COMMAND RECEIVED"); toReturn = parseCommandRetr(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "STOR", strlen("STOR")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "stor", strlen("stor")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "STOR", strlen("STOR")) == 1) { printf("\nSTOR COMMAND RECEIVED"); toReturn = parseCommandStor(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "MKD", strlen("MKD")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "mkd", strlen("mkd")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "MKD", strlen("MKD")) == 1) { printf("\nMKD command received"); toReturn = parseCommandMkd(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "ABOR", strlen("ABOR")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "abor", strlen("abor")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "ABOR", strlen("ABOR")) == 1) { printf("\nABOR command received"); toReturn = parseCommandAbor(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "DELE", strlen("DELE")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "dele", strlen("dele")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "DELE", strlen("DELE")) == 1) { printf("\nDELE command received"); toReturn = parseCommandDele(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "OPTS", strlen("OPTS")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "opts", strlen("opts")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "OPTS", strlen("OPTS")) == 1) { printf("\nOPTS command received"); toReturn = parseCommandOpts(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "MTDM", strlen("MTDM")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "mtdm", strlen("mtdm")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "MTDM", strlen("MTDM")) == 1) { printf("\nMTDM command received"); //To implement } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "NLST", strlen("NLST")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "nlst", strlen("nlst")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "NLST", strlen("NLST")) == 1) { printf("\nNLST command received"); toReturn = parseCommandNlst(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "PORT", strlen("PORT")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "port", strlen("port")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "PORT", strlen("PORT")) == 1) { printf("\nPORT command received"); //To implement } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "QUIT", strlen("QUIT")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "quit", strlen("quit")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "QUIT", strlen("QUIT")) == 1) { printf("\nQUIT command received"); toReturn = parseCommandQuit(&ftpData, processingElement); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "RMD", strlen("RMD")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "rmd", strlen("rmd")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "RMD", strlen("RMD")) == 1) { printf("\nRMD command received"); toReturn = parseCommandRmd(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "RNFR", strlen("RNFR")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "rnfr", strlen("rnfr")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "RNFR", strlen("RNFR")) == 1) { printf("\nRNFR command received"); toReturn = parseCommandRnfr(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "RNTO", strlen("RNTO")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "rnto", strlen("rnto")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "RNTO", strlen("RNTO")) == 1) { printf("\nRNTO command received"); toReturn = parseCommandRnto(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "SIZE", strlen("SIZE")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "size", strlen("size")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "SIZE", strlen("SIZE")) == 1) { printf("\nSIZE command received"); toReturn = parseCommandSize(&ftpData.clients[processingElement]); } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "APPE", strlen("APPE")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "appe", strlen("appe")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "APPE", strlen("APPE")) == 1) { printf("\nAPPE command received"); //To implement } - else if(strncmp(ftpData.clients[processingElement].theCommandReceived, "NOOP", strlen("NOOP")) == 0 || - strncmp(ftpData.clients[processingElement].theCommandReceived, "noop", strlen("noop")) == 0) + else if(compareStringCaseInsensitive(ftpData.clients[processingElement].theCommandReceived, "NOOP", strlen("NOOP")) == 1) { printf("\nNOOP command received"); toReturn = parseCommandNoop(&ftpData.clients[processingElement]); } else { - //Parse unsupported command - + ; //Parse unsupported command not needed } ftpData.clients[processingElement].commandIndex = 0; memset(ftpData.clients[processingElement].theCommandReceived, 0, CLIENT_COMMAND_STRING_SIZE); - return toReturn; } - diff --git a/ftpServer.h b/ftpServer.h index 01153eb..67c7c28 100644 --- a/ftpServer.h +++ b/ftpServer.h @@ -23,20 +23,6 @@ */ - -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - -/* - * File: ftpServer.h - * Author: ugo - * - * Created on 7 ottobre 2017, 17.37 - */ - #ifndef FTPSERVER_H #define FTPSERVER_H @@ -44,8 +30,7 @@ void runFtpServer(void); -int createPassiveSocket(int port); -int createActiveSocket(int port, char *ipAddress); + void *connectionWorkerHandle(void * socketId); void workerCleanup(void *socketId); diff --git a/library/connection.c b/library/connection.c index 4e55d44..c51c737 100644 --- a/library/connection.c +++ b/library/connection.c @@ -1,7 +1,7 @@ /* * The MIT License * - * Copyright 2018 ugo. + * Copyright 2018 Ugo Cirmignani. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -29,14 +29,13 @@ #include #include #include - -#include "../ftpData.h" -#include "connection.h" +#include +#include #include #include - - +#include "../ftpData.h" +#include "connection.h" /* Return the higher socket available*/ int getMaximumSocketFd(int mainSocket, ftpDataType * ftpData) @@ -50,7 +49,8 @@ int getMaximumSocketFd(int mainSocket, ftpDataType * ftpData) toReturn = ftpData->clients[i].socketDescriptor; } } - + //Must be incremented by one + toReturn++; return toReturn; } @@ -85,6 +85,80 @@ int createSocket(ftpDataType * ftpData) return sock; } +int createPassiveSocket(int port) +{ + int sock, returnCode; + struct sockaddr_in temp; + + //Socket creation + sock = socket(AF_INET, SOCK_STREAM, 0); + temp.sin_family = AF_INET; + temp.sin_addr.s_addr = INADDR_ANY; + temp.sin_port = htons(port); + + + int reuse = 1; + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuse, sizeof(reuse)) < 0) + perror("setsockopt(SO_REUSEADDR) failed"); + + if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (const char*)&reuse, sizeof(reuse)) < 0) + perror("setsockopt(SO_REUSEPORT) failed"); + + + //Bind socket + returnCode = bind(sock,(struct sockaddr*) &temp,sizeof(temp)); + + //Number of client allowed + returnCode = listen(sock, 1); + + return sock; +} + +int createActiveSocket(int port, char *ipAddress) +{ + int sockfd; + struct sockaddr_in serv_addr; + + memset(&serv_addr, 0, sizeof(struct sockaddr_in)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(port); + if(inet_pton(AF_INET, ipAddress, &serv_addr.sin_addr)<=0) + { + printf("\n inet_pton error occured\n"); + return -1; + } + + if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) + { + printf("\n Error : Could not create socket \n"); + return -1; + } + else + { + printf("\n sockfd = %d \n", sockfd); + } + + + int reuse = 1; + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuse, sizeof(reuse)) < 0) + perror("setsockopt(SO_REUSEADDR) failed"); + + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, (const char*)&reuse, sizeof(reuse)) < 0) + perror("setsockopt(SO_REUSEPORT) failed"); + + + + if(connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) + { + printf("\n Error : Connect Failed \n"); + return -1; + } + + printf("\n Connection socket %d is going to start ip: %s:%d \n",sockfd, ipAddress, port); + + return sockfd; +} + void fdInit(ftpDataType * ftpData) { FD_ZERO(&ftpData->connectionData.rset); @@ -99,6 +173,21 @@ void fdInit(ftpDataType * ftpData) FD_SET(ftpData->connectionData.theMainSocket, &ftpData->connectionData.esetAll); } +void fdAdd(ftpDataType * ftpData, int index) +{ + FD_SET(ftpData->clients[index].socketDescriptor, &ftpData->connectionData.rsetAll); + FD_SET(ftpData->clients[index].socketDescriptor, &ftpData->connectionData.wsetAll); + FD_SET(ftpData->clients[index].socketDescriptor, &ftpData->connectionData.esetAll); + ftpData->connectionData.maxSocketFD = getMaximumSocketFd(ftpData->connectionData.theMainSocket, ftpData) + 1; +} + +void fdRemove(ftpDataType * ftpData, int index) +{ + FD_CLR(ftpData->clients[index].socketDescriptor, &ftpData->connectionData.rsetAll); + FD_CLR(ftpData->clients[index].socketDescriptor, &ftpData->connectionData.wsetAll); + FD_CLR(ftpData->clients[index].socketDescriptor, &ftpData->connectionData.esetAll); +} + void closeSocket(ftpDataType * ftpData, int processingSocket) { //Close the socket @@ -174,4 +263,105 @@ int selectWait(ftpDataType * ftpData) ftpData->connectionData.wset = ftpData->connectionData.wsetAll; ftpData->connectionData.eset = ftpData->connectionData.esetAll; return select(ftpData->connectionData.maxSocketFD, &ftpData->connectionData.rset, NULL, &ftpData->connectionData.eset, &selectMaximumLockTime); +} + +int isClientConnected(ftpDataType * ftpData, int cliendId) +{ + if (ftpData->clients[cliendId].socketDescriptor < 0 || + ftpData->clients[cliendId].socketIsConnected == 0) + { + return 0; + } + + return 1; +} + +int getAvailableClientSocketIndex(ftpDataType * ftpData) +{ + int socketIndex; + for (socketIndex = 0; socketIndex < ftpData->ftpParameters.maxClients; socketIndex++) + { + if (isClientConnected(ftpData, socketIndex) == 0) + { + return socketIndex; + } + } + + /* no socket are available for a new client connection */ + return -1; +} + +int evaluateClientSocketConnection(ftpDataType * ftpData) +{ + if (FD_ISSET(ftpData->connectionData.theMainSocket, &ftpData->connectionData.rset)) + { + int availableSocketIndex; + if ((availableSocketIndex = getAvailableClientSocketIndex(ftpData)) != -1) //get available socket + { + if ((ftpData->clients[availableSocketIndex].socketDescriptor = accept(ftpData->connectionData.theMainSocket, (struct sockaddr *)&ftpData->clients[availableSocketIndex].client_sockaddr_in, (socklen_t*)&ftpData->clients[availableSocketIndex].sockaddr_in_size))!=-1) + { + int error; + ftpData->connectedClients++; + ftpData->clients[availableSocketIndex].socketIsConnected = 1; + + error = fcntl(ftpData->clients[availableSocketIndex].socketDescriptor, F_SETFL, O_NONBLOCK); + + fdAdd(ftpData, availableSocketIndex); + + error = getsockname(ftpData->clients[availableSocketIndex].socketDescriptor, (struct sockaddr *)&ftpData->clients[availableSocketIndex].server_sockaddr_in, (socklen_t*)&ftpData->clients[availableSocketIndex].sockaddr_in_server_size); + inet_ntop(AF_INET, + &(ftpData->clients[availableSocketIndex].server_sockaddr_in.sin_addr), + ftpData->clients[availableSocketIndex].serverIpAddress, + INET_ADDRSTRLEN); + printf("\n Server IP: %s", ftpData->clients[availableSocketIndex].serverIpAddress); + printf("Server: New client connected with id: %d", availableSocketIndex); + printf("\nServer: Clients connected: %d", ftpData->connectedClients); + sscanf (ftpData->clients[availableSocketIndex].serverIpAddress,"%d.%d.%d.%d", &ftpData->clients[availableSocketIndex].serverIpAddressInteger[0], + &ftpData->clients[availableSocketIndex].serverIpAddressInteger[1], + &ftpData->clients[availableSocketIndex].serverIpAddressInteger[2], + &ftpData->clients[availableSocketIndex].serverIpAddressInteger[3]); + + inet_ntop(AF_INET, + &(ftpData->clients[availableSocketIndex].client_sockaddr_in.sin_addr), + ftpData->clients[availableSocketIndex].clientIpAddress, + INET_ADDRSTRLEN); + printf("\n Client IP: %s", ftpData->clients[availableSocketIndex].clientIpAddress); + ftpData->clients[availableSocketIndex].clientPort = (int) ntohs(ftpData->clients[availableSocketIndex].client_sockaddr_in.sin_port); + printf("\nClient port is: %d\n", ftpData->clients[availableSocketIndex].clientPort); + + ftpData->clients[availableSocketIndex].connectionTimeStamp = (int)time(NULL); + ftpData->clients[availableSocketIndex].lastActivityTimeStamp = (int)time(NULL); + write(ftpData->clients[availableSocketIndex].socketDescriptor, ftpData->welcomeMessage, strlen(ftpData->welcomeMessage)); + return 1; + } + else + { + printf("\nErrno = %d", errno); + return 0; + } + } + else + { + int socketRefuseFd, socketRefuse_in_size; + socketRefuse_in_size = sizeof(struct sockaddr_in); + struct sockaddr_in socketRefuse_sockaddr_in; + if ((socketRefuseFd = accept(ftpData->connectionData.theMainSocket, (struct sockaddr *)&socketRefuse_sockaddr_in, (socklen_t*)&socketRefuse_in_size))!=-1) + { + char *messageToWrite = "530 Server reached the maximum number of connection, please try later.\r\n"; + write(socketRefuseFd, messageToWrite, strlen(messageToWrite)); + shutdown(socketRefuseFd, SHUT_RDWR); + close(socketRefuseFd); + return 0; + } + else + { + printf("\nErrno = %d", errno); + return 0; + } + } + } + else + { + return 0; + } } \ No newline at end of file diff --git a/library/connection.h b/library/connection.h index a031c2e..3a579ed 100644 --- a/library/connection.h +++ b/library/connection.h @@ -1,7 +1,7 @@ /* * The MIT License * - * Copyright 2018 ugo. + * Copyright 2018 Ugo Cirmignani. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -22,12 +22,6 @@ * THE SOFTWARE. */ -/* - * File: connection.h - * Author: ugo - * - * Created on 25 febbraio 2018, 18.43 - */ #ifndef CONNECTION_H #define CONNECTION_H @@ -40,12 +34,21 @@ extern "C" { int getMaximumSocketFd(int mainSocket, ftpDataType * data); int createSocket(ftpDataType * ftpData); +int createPassiveSocket(int port); +int createActiveSocket(int port, char *ipAddress); void fdInit(ftpDataType * ftpData); +void fdAdd(ftpDataType * ftpData, int index); +void fdRemove(ftpDataType * ftpData, int index); void checkClientConnectionTimeout(ftpDataType * ftpData); void closeSocket(ftpDataType * ftpData, int processingSocket); void closeClient(ftpDataType * ftpData, int processingSocket); int selectWait(ftpDataType * ftpData); +int isClientConnected(ftpDataType * ftpData, int cliendId); +int getAvailableClientSocketIndex(ftpDataType * ftpData); +int evaluateClientSocketConnection(ftpDataType * ftpData); + + #ifdef __cplusplus } diff --git a/library/daemon.c b/library/daemon.c index d5d2b93..b9267d5 100644 --- a/library/daemon.c +++ b/library/daemon.c @@ -50,9 +50,9 @@ int isProcessAlreadyRunning(void) syslog(LOG_ERR, "can’t open %s: %s", LOCKFILE, strerror(errno)); exit(1); } - printf("\nFile pid opened."); + //printf("\nFile pid opened."); - if (returnCode = FILE_LockFile(fd) < 0) + if ((returnCode = FILE_LockFile(fd)) < 0) { if (errno == EACCES || errno == EAGAIN) { @@ -63,7 +63,7 @@ int isProcessAlreadyRunning(void) exit(1); } - printf("\nFILE_LockFile returnCode = %d", returnCode); + //printf("\nFILE_LockFile returnCode = %d", returnCode); ftruncate(fd, 0); sprintf(buf, "%ld", (long)getpid()); write(fd, buf, strlen(buf)+1); @@ -132,5 +132,4 @@ void daemonize(const char *cmd) fd0 = open("/dev/null", O_RDWR); fd1 = dup(0); fd2 = dup(0); - } \ No newline at end of file diff --git a/library/signals.h b/library/signals.h index 7b1ebb3..d6570f1 100644 --- a/library/signals.h +++ b/library/signals.h @@ -22,13 +22,6 @@ * THE SOFTWARE. */ -/* - * File: signals.h - * Author: ugo - * - * Created on 24 febbraio 2018, 19.15 - */ - #ifndef SIGNALS_H #define SIGNALS_H diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index aef7ea3..0fea176 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -6,6 +6,10 @@ - + + file:/home/ugo/NetBeansProjects/uFTP/ftpServer.c + file:/home/ugo/NetBeansProjects/uFTP/uFTP.c + file:/home/ugo/NetBeansProjects/uFTP/ftpData.h + diff --git a/uFTP.c b/uFTP.c index 614feca..8895c92 100644 --- a/uFTP.c +++ b/uFTP.c @@ -22,12 +22,10 @@ * THE SOFTWARE. */ - #include #include #include "ftpServer.h" - int main(int argc, char** argv) { runFtpServer();