From 955bcff0fa2701bb1b136b3a2af765dad3dea367 Mon Sep 17 00:00:00 2001 From: Ugo Cirmignani Date: Mon, 4 Jun 2018 20:36:34 +0200 Subject: [PATCH] Added condition for older OS support SO_REUSEADDR and SO_REUSEPORT --- build/Debug/GNU-Linux/library/connection.o | Bin 35392 -> 35392 bytes dist/Debug/GNU-Linux/uftp | Bin 160368 -> 160368 bytes library/connection.c | 6 +++++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/build/Debug/GNU-Linux/library/connection.o b/build/Debug/GNU-Linux/library/connection.o index 175255f9d3b1944cd081e4740da83429386dd2c3..0c3bfa681546597b7d1aa680de003da756fb6a7f 100644 GIT binary patch delta 807 zcmY+By-Ooe6vgkGxI$QD)M%lMX2w~+ok>O!M4J=}D$BBKA!%e&SVVAH#A4Yd(aJ^^ zh8qZig@u9;)bXP*AY!`w2O>)<|A1}8#zx+|_bp_K$()nlIrq++hm!G7GNMjTWH8}5 zB7@VOE#`66`;=S~3jh!cZ;FEe07C2I;_wEDB|PvPXP=pf8Lf|4|G~drQiS;C^@sqw zea8;ORy%+ZW~p>a6&T?rjHn?)xavFh5JP#FOorBBKaOv0xE1sy4hx-njapN(rjxWr6|J;2S8YP7 z8lm!vF7G#Vd0Uq*ui$ptHP0xKp*KClleBA|leb9TIXvDyUi@6A-dy#p~ljc@<} delta 807 zcmY+BK}#D^6ov1bn3gQcs8LafW+qc><;UbF^EJaEe4Xs%! zg)W90kb;XYl&H}Xuz?5(xX6Ey;KD_JK*g;adGFp=$SfvvPQG*Qoi~>i>#}0i2c=lV zsC305&PqpQa7{jqXGInOLcyQ%BmjUg`k?&mJ%}v+l&-tWOr05{f3g0K*D@}C;Jq9Z z5{G@)kz%VKzzXtIn$!hWunEugkOZ#zu9IM>=#j}#0TNn|;GXZgBN_??O`bI>{`RTn z3`}V%j9q^`A2##U(vSa7o7Tv!x~uCS|BC(k0Kf~S#4RuSQmZ?47-~;Sc5x{gv%8E? zpo?FU69YG^8r%RTJ9w0g=CKczhTm=YO!(_=hLdG-l;Ir2{MD&^TV@|MY~VI=L@r{wV| zo#H~;v(L!eAnpu5q~r15r9=s9Y3FrGF`=MUrc)}t(z0Hr%vWl7L+V>7 wqP_?3g7jaG>(+62#+hF?b(DC^OpoHWcRg)|^N%ypN8!)bWVCg@Gk3A_0FRH1YybcN diff --git a/dist/Debug/GNU-Linux/uftp b/dist/Debug/GNU-Linux/uftp index b6211342f3ac5f0ec4d2a0402abaf7ff4339f668..7a37174fa75ae3bc6e5f2949705f5068fc7820d0 100755 GIT binary patch delta 926 zcmY+COK1~O6o${4G+=y1Eq%pkW|B^-$s`bp)CWqStt8S#DGFIwO=%ag6ja35CgT$k zL^_Dvq#dbZUDdWz71C(c#zo1h6a;aTcG2$bqI7BH%$eLx+m%ys;3qe);NM*wPI<)nBR%-VG z;A)R)kp>7A8vwAp_?7RS^knpEddC5Pu-UN8oip6I%$)}y(oYRb^>gL{_HhL3QYBmZ zg-VocX(&(kP(1UQoBytc%vM8++fEkklaUq*nPB25dU1lC9>surk}u=R0)^!Yw;nBmZxh5({xDLBh+>L{Me zlE|UWso_I=i1I(4p(;^oeveypDFM2H`wkbqT({Cr6XUxCL>K7|dfAGO;>ljyPx(Xi lvL#Z+YyMAN$|W*SZ?nr3PQ1bgea_p0T>Gss{}+uL{{WY<$>{(9 delta 926 zcmY+CO=uHQ6ov1dG-#w6wIoe7nwd$5YBGt4h*+uyG*U|!rHG_hq@`KJQc#h)DC&Se zs0G1L^d;?x7FtXHBw$0LCRjAMECqis3(dmr4K7?-x$|ZsU4{GI^UgW*UaD)3>Y5{S zM`${iIuWnBf~_AWzZ6G5KdJ9{QJzKsKz8u5&^VS6yth|{+^T@}kFkw?XDDGCTW2U@ zgo!C^_C+xY0Jh|krfk^-fYv;vwOj;@vVjyz(tT5u(Udby0BFt6HRT!2qii~bzTFS; zkl~fr004x|gH8Zh_5fgrRZ=L4A-u93KuE@vZpu1f*b2!Z*msj`WG1Fj5@l1B@INxB zsfvUAmAu@nKaEna+fdn(c})qC%!5Dc$U6f2mua@+gZESe;2!@0)UWLT@UJ_Jt=WXW za#O8G;4t;7vL9*m?yZ^<^{xv5f73lt*MOT^l$mE7y;|AS1pgS2YtA;y?|9~*8Lc*K z1HekRVbKQ=c-;tqrIjMz+v&;Z)$~(40fI)u5_e8;=Ms00Luh~+7TpEo0DCo#u2|8M zzNHdHOBzViJ!Fr+;pX3JA^BQJcEic6bu!dKAu~*zKrha)V-x6i&hlkM{YW9R>=MB_ z4%<1LW0M5uIqc$ao_!*?z+sHT1!mXL?_A`tkHbZFL`R?RC5H(P&1ncAe42ts*szXb z#|VjR$$}Q#vy~|S<7G58OwF%zi%!)~H*mw|pqJ}XPtr8TckK{fp*QGZ6&=Oa9?MVt mMfAKWQm5+vPo3%oGVk4B7tbAiinsdh!-CRK$SwcH%+-JS49hS8 diff --git a/library/connection.c b/library/connection.c index 3a5773b..7d7dd6f 100644 --- a/library/connection.c +++ b/library/connection.c @@ -71,12 +71,16 @@ int createSocket(ftpDataType * ftpData) errorCode = fcntl(sock, F_SETFL, O_NONBLOCK); int reuse = 1; + +#ifdef SO_REUSEADDR if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char*)&reuse, sizeof(reuse)) < 0) perror("setsockopt(SO_REUSEADDR) failed"); +#endif +#ifdef SO_REUSEPORT if (setsockopt(sock, SOL_SOCKET, SO_REUSEPORT, (const char*)&reuse, sizeof(reuse)) < 0) perror("setsockopt(SO_REUSEPORT) failed"); - +#endif //Bind socket errorCode = bind(sock,(struct sockaddr*) &temp,sizeof(temp));