lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] [lwip] tcp_bind port reservation patch


From: Paul Sheer
Subject: [lwip-users] [lwip] tcp_bind port reservation patch
Date: Thu, 09 Jan 2003 00:23:31 -0000

Hi there

some applications use POSIX bind() to reserve a port or check
if a port is unused. Hence if a socket is created, and then
bound to a port, no other subsequent bind to the same port
should succeed.

This is not the case with tcp_bind, since it does not record
the binding until tcp_connect or tcp_listen is done.

I have therefore created an additional list tcp_bind_pcbs,
which contains entries for pcbs which are bound, but for
which no other action has been taken. As soon as a connect
or listen is done, the pcb is taken off tcp_bind_pcbs and
placed on the appropriate list.

patch below

-paul

begin 644 tcp.c.diff.gz
M'XL("/RUH#T"`W1C<"YC+F1I9F8`U3MK<]I(MI_M7W$FN^.%(&PD'C9XXXKC
MD%EJ_%H_)MFJ6T7)address@hidden,3H8>+9^+_?<TZWI!8(0^8F>^^E7`9:W:?[O%]-
MO5X';^'.Z\YC5+<:#:O1MKH'4>@<.$$H#F)GON_L?!0CN+"?P.J"V>DU&CVS
M`S1WMU:KP=Q.O"`Z("`'*Y#JZND2P%L[ABLG!FB#V>HU6KUV5P)\^Q;JS89Q
M"#7^__;M+L!KX'^G23P-PAZ<CNP9O$_\S\*+X.\V?GL;N4ZT'XD3FK=;Q[E_
M'8QZP%L9CV#N6TV&?M!H'S0.P;1ZK7;/:@.MA?Z7.?QUM[:ZR+34(OQK0:/;
MHY,V]46XV\$N'address@hidden:/=,#I0:Z?$^(OK.UXR$O"*Z3T3L_G^]!4=
M8ND)X8$/:MGPW^TH$F&\/SV11X:![X1B)OP8F2L>address@hidden"'D8!):+L^#L;N
M3(0038,8,06HQ$]SU[$][TE-;S<:,(L,&(E8A#->\O`$=V?7P[.KTYO;_O!N
M<-&_NK^K[D.*S!$CTS6ZDK/X^C>8!E@&-`UH&=`VH&/`X>K?\[$Z]=U4T!9P
M??8./#>*(P:.:(Y'address@hidden)_]NEN+XC!!$4-"#.?.`[RF#P^N/Z)O
MT3$0L',$`,$8$*D4:`2N#^>#V[O^)42Q'address@hidden:!#.H'P)6SY^<]`
MA[*CVD[L/HI-X.(I:I(="H)K[\(.OB1@&EA,76>*4\03V(XCYK@<^8F8,#..
M3&+&address@hidden>N/`;NJ+H+_R;^X+9GGK!#F'address@hidden)S9`@;SP!B[OS\^/
M<\+)"1J-LBGJD8;O\J-X41SFTW?)2'0[J9&@H]+Q7=MS_Q!*=HFV"H3K?"8`
MC1PHS^"1.L!N;1>>?YPF(V`^M=DT#<N$FMD\,EKRY$QG$8;#F/Z3F",Q9_;$
M=:""6!O$:address@hidden"address@hidden>$HX.F5_2`
MWEQ_0B(A9>-5M9K1820>DLEP'KI^/.2GM&O]A#_*6670_\N7,"1[63'3QXKJ
MT<*-G:D.#%$M%QW'1JM#0SWZQM1`QO1O;H97OQ[+H53AT&(%CZ*R5Y`V`_`_
MD49!_\?I;WU)+[F8SR!)address@hidden)W/PSBT'0'RI`\XP-_1(EG57'YY"5G;
address@hidden@>$L;(F6QWM54N^S3P$`K[<T$/&%MI`WK2!A;QA1)\*\L6XG5U
M;TF?_A-$4*"'P^O3^_.KV^%P*[K\!1VUD&B5SQQ*:address@hidden"0H:05-"WO[K
M<GC;O[S;FI1[2\;F/T`WV$RD%W%ERW%T2.;:LAJI\WQ-EAV\`%TRS,,@#IS`
M0Q?NQR&^/^#XYWWTEBZZG`A&@2_0':"KLFF*+Q#_P,<G#.>SZWGDO(5C)TA2
M]#'H],/8GO!G/'@0/NUS;$5A$L,<)[X$01C]+>*CT/&EG.[#^P`NK^Z`P!4?
address@hidden&:($!42Q!9BG6`>[3(Q59_3!K3"Z.J8H!GF$VD:S-CF%*NN86[?SC`$.9
MT_/S=Z=GOPY/KP?*LM%J>(V2-A[:X62SQ<8ERD%]<"<)address@hidden<NF<]F(&%
M(&address@hidden/0,HKDG`?!F-\(D4B<_;XQT(L3;K!U&1:A\(1-)ZQ"`._P'%MBO/0
M)D\5')I*^](address@hidden)'<*>)address@hidden>01PHV+,`_0<^V%?$<,>:B8<W
M;X""ON''T\%=5;JV<@54+OW_AO+52I3O&<AJI2A$XG<_P,<2570[_I=8Z2AN
MFS\*G4?YB(7+,@V3=+;3-*Q6%O%N:8]X;DK=Q,=MD'\_R1-FI)70(C&))';Z
MY!0Q1<441,'`/"address@hidden/M]V%YJYLP@"address@hidden>]^_[PZNKV_X_06E%OGF`
ML<KOV^W-4Y>VELM7=B[$)address@hidden'_#;W9$#U8A2R,`:F=,=BK
MG;address@hidden:\QRI,)A:?IQ%;2M(PBBLLUH8480/VV)<,W3E^
ME(K.G^7H'.$92O_Y2U4)>:MMF&T4\FX[M:#*,Z&5FP2TN2_B11!^1JN%EG],
MM$-[CYYAA",address@hidden('LW2U168BJVW6K011*.1IA!N'-Z-R`Q
M.QBA,^(J9E]>[N#_K<)WF59-A8,D&3.I:`L119C:H<,?/1%]T,0CB5(K.P["
MBB-E9>78U>7D,U4<7J#TZ1C4<H?%UA=?8H['64SE:9TUOHLU5"[+18$L/1,C
MUU.<I:@V="/;?ZKL%5:Y\VH5OG[%'!6*TR2%^1D+5,>B0*=I9AX9=%/%;\]K
address@hidden,5L/[44WX,DM2U(4OLFDM1>((GVS)G-5P$8H";SMCNAB)/09U-Q?]O/
M\'Z6'_CM63=22Q33BP[?($;;2`GS]K##O&TU#;.1\;:`$,)6.B?=\&address@hidden
M0(_7"($>CO`CI@);R?XO:S/'C"+K<FE:TP/Z3\$0G^/G$1I50V(H=44C/^<?
MSZJ@:1DFE30/FT;3RK/^-<4D3QF2.H`GJ<V.9(8!7N"4)4Y5+F%(/THD3QUH
M.7U.;V_[-W<2*;EE#XHA',U_990,ZKD@@=IP/*DL>"YOZ6#,=D6K/.(B)#:Z
M3)address@hidden'P*SE$HI,:MK8TNOX.1U%2](@YQ&L35Y>O+#::BGCQWG
M4XMB6ASA::DV(Q:5/:address@hidden;Y4ET:V^'#N7Q##?7/'8D+)25+>2
M(^644"7'U+#0EZ&?>-[QQAPK8T^JQ5+,E?-,-7FKFLBJM_2R\%H)8/F47'FM
M+MFLEMDVCEAU.7F4(91P'L6:.$+&"address@hidden"%J;VAI<address@hidden
M.F$"?$1E3!6I\/A-^EB&9\VV/'WK,"N4`BCI;#6ZG=S([M8H01U\NNCW8!&Z
M2/>;address@hidden(GY*F?QM&X>address@hidden>F$$=(GNFQC#)%#;FLLBO,address@hidden
M0WSR,>address@hidden<XI=2R;HX])@%;9GMBNKQ`_;#'BF'address@hidden'$?J\[0**E\(N
MK9^P"97:9E1JJT=<X[:5Z"JC\OQC6U#-;I-)>=15&I#6J_$43,2D:>$W-XJV
M#'_7EJME9>H%_\H!%0?FRWFB5((T:]&C"$*AU3#Q[+56MTL9N<0A#RVTK":+
M+=8RJ['>LQ9]J\*F!V/;]<2HX&1_DOX4]O:@;(NB\_UIQ?DNATWJY+2K+Q;\
MM5(]?DFPT?I62OQ[*H0;?<Z2/"+OL_V_Q!C%1FI_O2J2);IZ%04'67"82ZT.
M<:G=MC)!*[6M]-^BMU`\:@(HQF,address@hidden,IR+#4++=S8LR>$O<W%KV@:
M)!Y5/E6U;address@hidden@<CU9
MM:/N7=87;;4QV2',,?>Q+(7Z8HIB4]',2B;KNI1Q&VLH.[>]%'A1>,[.KV[[
address@hidden>>05F%H]NHR!;;+,:B:Y1AF^$2T7*.A4I5X#GY4ON."M%
M4V*D)+CHEC(-2EL1F5;[8?R%2Z*H3?CPXO33S=TGS6?5:IJ$DJ!E9<<address@hidden
M7UXKF9DA\.(I,address@hidden@1?J!BAX*^!HIH"F%K*%^X\`,_]+$"SUG'X!+,$
M`X"I'8Y$2%UIJE`_Q5.J__`Y91UC%6N`E6*KFH)address@hidden&9X\&T[2
M2FP<$*GJJ5,EQ=RA,B!-0K>address@hidden>M",6:VMW5T4W590ON>W/
MWBC;5_FM'-B:5]Z7KFL8&/GY58FM=<B][C:WO,DV(!.>Y<V3'1F&?IFY<45:
MYOJ.-$N9P;L1H\1A;DU$Q/V`!9KS8"%+_!%:address@hidden&XE$1W\+N1
M&V[\5CW.%\AQ!0N7I0!.3L!4..#AV<*A![:.M'A,+7;D?C)KD8%$&2_.,+`M
M,D,B3P7B'C"0GY,,*_S,address@hidden:\QKW]5$C]R)SZ7,S&,TV"5/=%!
MKU2V=M*:>+%`Z$;LK*9V1!'V$UW-"0+P`MG2_S"X9%-6MY3S*C%-.(>-VM!:
M"47EG!-MCDGV03<0"]SXU4LP7T&]?H)V813X?XNE=9CQ3:#-U%.O2+`21F1-
MT'A,P$;'B=PD3:7;1OL9=(<:8`NZ]D+>].;#&>8A3Y$NP'C2"D<$U<J*BL6S
ML`HG1&D2IPP%=5,)#J2M/K_Z.!Q<WO5O?CO5.Q&EMDOGW]H.>4J\D2O8?&!&
M52P3;CIP;0?4E&4X\!K,1J.Q[NBU\J.OU`6SLDXJ?X,ER?L]$0E*'O<NQ]00
M2X2/=F5DQ[8!#SA*DQZ$\#-JN;[RO<3$5&(--#\8#(W"8,X,I/50<6,YC*SV
MXX3NF&50.#93ACJ.Q4B[3=;B&TR=CIE6$W>46<RTVM*SL/5MQC4MGS_5]-FJ
address@hidden&C4/@6N>PHR+AG;PU='UU?BYS*XQ&"2"ZM1T^USSPO,I*<4IM
M3)3904GC$#:-8=E%[DA7A)R=)[D;09G861FN%21>^Y"AA2&YQ$O:_?8AW5>H
M=;HMJH!J%=^RB&J3U6.+)WR.J-'P94&<WLO3-0_A+02:(Q0<"0^-"TI*)-`9
MCB*HT`T%"\8)"M[,]9-81&!3YX711&!VXJ$U6PRNJ[0RE([43V8/&address@hidden)
M&%*W,[]0$:GJU38JS5J[26U+E/:Y<*%FBWTLD,W/B]OS#?:M+#(K"C=Q2MWD
MY+K2H67JE7Q8N;"G*=^RR/P_5L]#V<?HFE965=-K(%(=-M?&$5U_26:AK(Z?
M*L<=AMET5X>"ZL`;83A7N,RC:43N#M?56GRQZ.7`QN,48*Y4.6C5.F;,CSA%
M[UI-P[0TOF]$MEAKRPL'X](,]^$/$0;2R,GZ_E+YK;KMG9&UA7TU;QZZ@:J9
M7M\,KH:75S<7I^?'address@hidden'GN_L/RQ/8.7K"E]+)]U-;?'&[>V2N
ME(W1)I?7C.7%(GQ,-6.`K:O&2^T)address@hidden:%$P+XJ6H4<`E*RB5
MUW1!Z;%:R9`U5J\_ZYWX.1'_]=S(*S#5;RNIXVY(%'J35-G0?&#D#KGB:3;,
M(PT[NMJR&3N^%;,9N[P_\$W8J.LU]+8]-MV&Q*9YJ&&#!UZ+#)\><:&[)P5<
M_B0/"`ZEA?BV]:F[C4-YZG9'.S6'.!MY0+,V\J!JR"HA7TMYM+WM,%K;],HB
M,"XA;]'F`NE)NU9'XGFH<T?VR]9B"CFN<N:+V**M3^/%;^1>I;*F1TUI2%7K
M\<D/VS,7K>,1(=W-VC.Y?:1]YDDX$67H;WORE;J8+'?"WMZN7K-8*?O1A'7%
MR_(*_E)\45H0);_VLC_.D-:<;??(HNBJ9II(+K.=7QQ(R_.XB!B2Q2[;$*9(
MX2SH27]"P47JD*]HV3YE>XB*O$,V$AY'X<C*R)"70S&N+KL%^L/IN<1%JNE'
ML`=W'X8D9^_[YZ?_*C:&Y(RO;](IEU<?U;7J1J.C:-SI&J:\I<FQW&ZQG9']
M*J8\Q5<-.4Q31\&L4CVF4N.G3Y_0N(R$&/T$MT+`-([GO8.#T/XC"/>II_+H
address@hidden<7HPM^<BC.BW6YA?[T_CF:=^?*3B?2(#,C>+-5'Q.FVSD3&0
MAFIO\L+B<5X&I,-(7JFC<JB:D?I'_O:E\',5^/J5OPPNK^_OBD-7]W?9F&).
MFS-\TT(_;)HJW.1K_U*;>^MU2D[0+SUFO\0H$<:E7Z"4`:2G"ERM['<=*S_K
M*`,BGVNGTF_XF^:1Q+:;:?M+]4K50#,*/;;"%<_-/^UYYJ2N7#]+B4#7G[AQ
M1C"B7DZ0[]TI+Z6>_*V#;`T;M*5P)WXZ`&E'\6<O@;3E2)]?&6O+D$L]5&.E
M'[QAZ5H>U+;D02WGP8LWT,ZEWUTE/6PF?>&'B5O=N/B^Q)?"+8MU9M.RLE]_
M_D\OANA-/UHVC&S_NS5!-P'\'AW037O\J?;G)J!;]CY5ME[DD2KL;.;/?P/J
'R+'F5SX`````
`
end


Paul Sheer Consulting IT Services . . Tel . . . +27 (0)21 6869634
Email . . . . . . . . . . . . . . . . . . . . . address@hidden
Linux development, cryptography, recruitment,  support,  training
http://www.icon.co.za/~psheer . . . . . . http://rute.2038bug.com
L I N U X . . . . . . . . . . . .  The Choice of a GNU Generation

[This message was sent through the lwip discussion list.]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]