From 595cc7aac9a112952fa95e22abc5b5971dbf8a51 Mon Sep 17 00:00:00 2001 From: myeuler Date: Thu, 14 May 2020 00:11:50 +0800 Subject: [PATCH] init package --- webbench-1.5.tar.gz | Bin 0 -> 7675 bytes ...socket-file-and-reimplement-function.patch | 184 ++++++++++++++++++ webbench.spec | 45 +++++ 3 files changed, 229 insertions(+) create mode 100644 webbench-1.5.tar.gz create mode 100644 webbench-remove-socket-file-and-reimplement-function.patch create mode 100644 webbench.spec diff --git a/webbench-1.5.tar.gz b/webbench-1.5.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0827ad34a3547830287c65392d3731d5e3286428 GIT binary patch literal 7675 zcmV!=wMwZ>!UJ^k{#7x6|GKhJJRx5qtk3e*Sv0=Qgi@{nE0&Dh*Wd zqut%S{_}RQySKN4`tMlXz1>H9kG|mo(L-1UFi=Fsppnr0J>QuxU6hFg;=tX-8Or!W z^O*_%&G0|?Bj=$pngMgGqvTL-7#bCgvnB-ff(UA&IfMx#fW91Q90$S=60mbGAq|4@ zh)BjE(16tz1q)?FEpaptpveh*pVzgpC!jAQlD{lvoCq{j>AOm&%q9|dmyQ&_EWHE_ zPfUZr6|VF>kTa<#y77PsJ4tNkI>+K;C4nRfJCBV^po@0e?zA4`kV)VKb5nRQxgd_c z@m%Imtqj%bWT;lF^Sh|s9IBN^wNg}3M^y*Q1YOIIQijdLxpyOt#=0>h9y0 zGLLz^i6ju*EZo3ZqTRN{aH2XvhM*TCmWio_IkT}%$jJm0kRy>WiNpg3^u&K^oG<;% zL7-BRSL^_X9QZCQyJI=AVI_(id%l!NYNwMMFXZu|WCvzFGn(NW& z**}ISFKfm-9pOO`t`{ef2aysiXz9BU3SOSQ2DcN0cab-pCBl0Ac)y9MiIEG#qCSiL zzxgs**wdEtYojHM%ah?xA`YBu3F3DGU^TI?A%2rL3xkj~1A^ZZyKSrecvl$Vay<7O zScePS^9ct;8%Z6u-g?p01E(b}B=C9^EW#yO_K`%n!K9v_a~c6s=DYz@iu{-@IJS>SZ90f zjs^cjXTN7zJ=hgE$!uwZ#ScD(;yXiZ!9Nc43kdMw?JzctB`h*{_a+`MoBT3GFL63* zcZFPh0_3(~w70&_V+h4WPw=BB105>)Q9bF}hn~^V(MSxBRnOn*-!@Viz=OU)IfrbN z1%yH9`?50taPYPvIL(O1J{}y2^Wo@79HkwiemMtM_et!wV7nuP^l!W<@X;yv7$NQ7 z5zz0-*oiy}XVAam-dZ5fuk*AGVSKA{Q;7U`aXYySW!#!QEj24y71}3`pUjI*;Fclc zByI42g?2j%?KbwTfV<;WVwl*JT0uJgwAi-vA%3`JIM)kSn&w`aNa8|J#5My0p%~HR z>JYXd{5vx+-mO^>Lzab|Y(Qra_!`D%0~L&|D31erTl%p#^}+seqX2!j>qguIOfMY< z#l|ZLG`3slLMj-Uwq_x>(|-%t?EpIuZ3y=r6Si2t%3xBr-A03fY_|o`_iADrrnJgn; zG_8X#vo#BwPiKYSbLmf$nIdzamlx$OeKAWw&GnpCbCO3@0SFs=UCGrHqtl}wuSOT= zgTptVk(?w6{s}Z0CB`%JKrodL5x5ChMY|AN4N`SZ&y{0pVH8N*8-Fa%sILEg-3;K% z@xQybv)k46-|n8(!T7(o*ZnL0{~1r40(t$YQHa%9qOGGm{F_7)a{geF+}aUj$5^++ zO34{#xvyaxj}-%5c<9o;6VP3mzz!mAshnX{EaSa<_fCvxzmn~3dJ6P1hC~`)z{t}| zV3VsN3~|n;k1;S-fFieR;)bey6D&F=%DZe4_)XjzH57{8Hib4sebrXAOUiGM01DHZ zT>Px*grfF)Q3_%lkt#Mvp;Hxp!HL4owkjT$04u^KL?)X;G$dcV1C22iy9uynHwaH}w|YRNHd^`_`2c+|a%mT)a9xzQVder`$+I0;}Ar z%K_bT2ammzHlLlJzC1sCbMGg>gJroY3oPHj;MdvOD$ zy%R(-myU0dahu#giwM?_Df0QcGGxfj)L`ivs^hR(I}=%YbN5Q&6!QLMG;d_~Prx=r z$i>yn_FdS?)yX@OTUFbEg8Kw7aKBMRUt&~aCKzE7g6~cykOsOCR!n1~mIga@a`my* zYT?<{2fqfrLNq78HMx2(iqCQ2Z{|w*kqlu&kgwsVBSbKQsy!DTRo|r!T>x#0v&fz< z>>h;5reixZnT?acI9zv*rSmi!XQc$K09Go{JDqH>5C*F#It#4H=IhLAa>QMR?ErSJ zCR<JR*SL z?vlKbV}mXrS?h^$ByHZbQrqTav!~J->!92h={}v^Xb_RXJO&t*5q4Gvu(Hn8(Ysk^ zcct?!bSe*8O4e$i(#C=OU@iPZO`l)xOBiYz zWt>uksSR-V0#>V2IPG=6k9*>c7t@50FRaqwx-hkP^njU-eu?I|lMz7ow$)fMu-;}bdzs~5o`GHH6`T?+qdNek zHw6{8W>8fM{*imYdHZg^kE^?ptDY5~veeL*qfBfrkF|JY#miC>}4CLzAiEYu``ndiCtH$8!Z*3Oh8 zmvZoA0$KLogC>^~jvgvPj|W|~)F6sjDx?;`Roglg4BrKKY*+_OVYdKHEg3l4rtX4; zSToDQQuAg9ou7B7mm${afH+N_8Y}E{*8oG-)2L>K?Ym&5RwM1Tl)Vy+u1D+6?_H7Z zSJV&8^3#4(L`&aC9sm+jR%l2KT+yUx*T`W=JA!1JOFl4q5KGNo>gOM@OV1&dZ&08M z{vNi5DT`)(EXTTS`)D#q%zxLABz4WA{Uw6nX{!_}=P#M2CTE z!=nR+@vkxpsFZIOiwzWUxmOKs=Bo-M@A8Di!-t|IEo@@bdIH)_Qv}9UHJEKcSBqe`6sr+L|$7b`9S%PDw}p@md-2CGYZ1*5#aD;>xRR)rU- z@C++xW%q#Lb%U}cgtU_klH4Lo5jEMzTnPTv!K%z!uidUSQUR61gMh`2$%v}X+E}Ut zLxreD0iQSJfJV7px1oY45>hD#LOiwhI-NAHt&W^9A`(f0fa+LkrEF9ToF!|yybKR> zIuCGOK1$A6gmo$t;pC7@bHCBx%<=OI=@0&?4-P|LzvRnhbPFbuPJ*t4uh-xupBP+< z&V_LA%NMHjy3Rj2#&fY;=dDDfjk5rgoO=ro?^|ME6W*$Fn(%Xb=RhNC&xs1~8V7WO zuSJdtE<$_eW_z=tB(yetS)a&!@P~e?YIW@rOT#J`6)x2`r0=TRpFpij2o+D2Tq@I^ zYGo@U!Vw#*gfHOoMdw)03iE5Jnh`xq?&ez7ee#A-gRP_;;@ z57WhB)f)w$#%N_VYvvw@zT&Nh{)2HzHSH|jLB%n9*%5QmIq9v5E)z0^?KKoq=02Aw zo#8Z6a`cA#ls>PLH9>sEQL;NrjZejsK5v&+oT@G%vDG7Ed~&X^x?jYy7^~d78bK;Pl>I77 zJ8VBZE~Yg;U6#g+9zJYRZ}AS@jpXBndIPH<&I}UsNcu681~e+|?*ithM5`7U1|5Jl zuQilGd0ZbiE0lQAT)2#wwe|Y|liewaL6z>+ohRommm@j614%mLCQcL^&`|fl9K0uL z>vZ64Z>Mq~TS1(9&i6w=f6^CqGNy)L&!Ve9WJWN${*VN}<{(+7Wi-X%T*|Nx!3Z%H z_O;YZP3%~uF*IJTKz6SM4m==VPx34j^1>DC0%pc@NneMk?~ULuQ1OG7NOPdP-g8$0 z*6N)_(eGEW0h1aE{QgKugARe+jwiGi4&umhOTi(;WuN&;}hQkr%LrX4B0 z=jKhWiw(Vc>R_zy>eLH!=lUgV0dB@ioCO`7UO||B{=!sQUV1$vXVB>-jjS!bs)0D{ z5IBM<4sqqij_ns@RWl!Y=EI-Ohu4ZXwqn@%R^-xaQ~t8%Mgb(v_%+iq%DFk$lkS%j z`mDNIdUzK~g4phR%qh!YyZl|vrH=*T_QLZ`q)9BcVJ8VvI9Df&Jt{&iV+VP_-^x~yG2#J_ zsT%b<&t2JmJFCyOA9Y%tNu!YmW;*o=Bt}UiD{YyX5Y3zf)67SirI)K6RUFT&+p?wO z`O@ipdWeR3xIQfd1AmXZ_K)gNEjB$YFsl2J-qhyr&SD#-2?~Tou?#t4szZ38&gIE} z#&#>V^+|odaBhE~dna>y8uKY07=k8I9}Qm~zCM3rK8$TzaJ((!ZR8HhgTr*bDrnGD z`q|C`!7x%M(OoZHZEA_&NlEUa0FR!o9`qn2`KQ^n&-~J=a)m*Jb%V^8;Qf1+3FnO} zpya(nvze}>d;Nn|oWCv`>+FqV1*KJ)!x~V0&eE{kQ=9co{J_SKJJ?K+x zsmB<4Ol)ZYT82fd2Rw6zuCeuor=uz?M0B=H+~C%S;jBiH{Q80TOq0eb%b6sNet^Dv z#yod!Ls}qQJF(Th3a_ z)VYNHx!jOi0!V1JE0x)5*EE16K-qS=`#w$EC}8UICSt1KB1>TURk>+TozmUsOp$8+ z%v8ZjiaKRSxJ{=8_y3)rUH#WQh5O%cAgi8$OusUX-~0Znv%9bFfA8!)+Q<9fJDtD2 z|N2v&qZh9aUyh#jH=6Iz#Wkl>cPyIkMDx@*I)dhnspA;0htC1TczvvZjkEK?i{Veu z-Co8~8#bW!+)%ZjJ{Xd5@#gG!c;0U(i!lADp!r>0fiw&QXyM0E=|#5$g0NxW|IobE za*U0pgKz(8?`oUVHiB@!qF-?x`vbT}MgmN#)}C=}Cr%nSo?!RoQ%6VwGyxqWiNvJS z{`T(fz32cLl9V_zt!~DN(7o>M-re5a?jw4(V$d8YhlU`i$ycnI6@~2AFE0DHP;q0w zE?U?)8pKJ>NIhjBh^)XlDa|wW6Z~_`jA3cY43w7WDCEIWNy|iCVKj)Lyg=Vu|I2bf ze;Gv+KKj^ltim`zlg*hL=~ivOetzD7!h|5;lVo#)HF?puMqWq(@&JpA6-**O@qkyL zel>@{DCL1E{(TB3Ag84T0YGpm7<-oFUu3rEAyC=B7R3G6VlwU2P z|JAUx{!204bse9K|K+qCr&Hm7Jw_5h?V$g^%-=VLOuV04TSlcR!I)8nAb9Q^u2DODJ!+11LBai9FCaibUnYHp8 zbenMe2W&_4Fix#n&gTfCwUWmo`>D0EgjtnLV?3{vxnI9N`{}Zw3O6%p{mM))R4pUf zdV6Yn>?{n~I7%Z0{6f7gmUcWaL)<3nMk+_$yx5?E$mU38jH;H8S_!8-%Z-xHDd%~S zg*D&O51A1XW)HVbDID0SnIF6*2$cjPq!4Q5MfaG_BGup%&|&Z17^<3~1B389B})A? z7{_@OTs@*p#RBm7LE^_nqS_skf*p2Ue@54w)d1lM3BrRX<{KZfx=jIL>B z?cpz+8?x~v9xT-c{Va;W7@$u?j-Ya$KvM+?)3BS(ry`07#9WeYAlc|^W^{(uM@63q zfqE#heAW`7M?|H!ZVP4WKaSL0*0JUM2epHh^}p3~de!>>7(p)nU%MGq_)4K{{A+z~ zM|Er)|LtQ};eU17g#YXGdQLU|A0uc#oQH943(uN0s6DF$YOk&iml|IjbZhB&oo3)H-zT~Fp2 z8}|C?DQnv;yVbDzIqd)ZG|Za6h<&>UFYj2tB^xW$l=9}MV#U3!D1`gHbNG`yBou83(<}4Bn0-`dSev{dkqp6?U8MEj=OQ` z-OmtFpo!>vDpzdgeL za(eA*{eP68rN0gW&_M9Q94%aaVDl9B@r#oQe~*@H2LhyBY{xa=`GCVe&yzVpvp?-$ zkX^3LDhf*dSqi9uFaA zqCCZvBNrt|BRcyFgk{t!;DdA~r<6DfrR_6&KL(uz?X1a^3K9Mz!aVZRTvRKH0}Vx3 z)D!ra(I9ChRM^8)c4?muJ8Mx&C{WjZG*lN!fDnq-5Eu$qte}LNmZ9ZjVKRyHKp4Sv zq6s0(v_sJyXznehBmCMziZF<;g>uw~L90$c@jUYZkU7nAKdP;CN3+d&Bae_|~XQ4mK zB^5DxAiQUqNa;`@n9biIhf#Bfda|5ygyTOBK4Ne?PZW(Vj_`KdYn9UIl+iei!gxMK zGz4hHjU2Ip)cAuO4T2FS`nXJQ?^HMSK&tFfFTpdeb8X<;^V61Ja=4*1@@k=3$%@lok0J z;1gwh_To2>3eRYl$MK66q6J6>-2^~=(fy33wT~IH$E+XC#4V5W#Opi(K?V-H$l+IL z48-2~X^f1`JPW54Pf4p*Ev(BV^s2qsR}V}2pEg|CZ5^L}|KEo24RgQHc~ljOu*`pD pi?rK1K7;>V)c@Ttv>&NL6{=8$Dpa8gRro)Le*n)X(-Z)B000)}&A9*o literal 0 HcmV?d00001 diff --git a/webbench-remove-socket-file-and-reimplement-function.patch b/webbench-remove-socket-file-and-reimplement-function.patch new file mode 100644 index 0000000..9575504 --- /dev/null +++ b/webbench-remove-socket-file-and-reimplement-function.patch @@ -0,0 +1,184 @@ +diff -urN webbench-1.5/Makefile webbench-1.5-bak/Makefile +--- webbench-1.5/Makefile 2004-06-25 17:59:19.000000000 +0800 ++++ webbench-1.5-bak/Makefile 2020-05-03 15:32:02.994638565 +0800 +@@ -12,11 +12,10 @@ + -ctags *.c + + install: webbench ++ install -d $(DESTDIR)$(PREFIX)/bin ++ install -d $(DESTDIR)$(PREFIX)/share/man/man1 + install -s webbench $(DESTDIR)$(PREFIX)/bin +- install -m 644 webbench.1 $(DESTDIR)$(PREFIX)/man/man1 +- install -d $(DESTDIR)$(PREFIX)/share/doc/webbench +- install -m 644 debian/copyright $(DESTDIR)$(PREFIX)/share/doc/webbench +- install -m 644 debian/changelog $(DESTDIR)$(PREFIX)/share/doc/webbench ++ install -m 644 webbench.1 $(DESTDIR)$(PREFIX)/share/man/man1 + + webbench: webbench.o Makefile + $(CC) $(CFLAGS) $(LDFLAGS) -o webbench webbench.o $(LIBS) +@@ -28,13 +27,13 @@ + -debian/rules clean + rm -rf $(TMPDIR) + install -d $(TMPDIR) +- cp -p Makefile webbench.c socket.c webbench.1 $(TMPDIR) ++ cp -p Makefile webbench.c webbench.1 $(TMPDIR) + install -d $(TMPDIR)/debian + -cp -p debian/* $(TMPDIR)/debian + ln -sf debian/copyright $(TMPDIR)/COPYRIGHT + ln -sf debian/changelog $(TMPDIR)/ChangeLog + -cd $(TMPDIR) && cd .. && tar cozf webbench-$(VERSION).tar.gz webbench-$(VERSION) + +-webbench.o: webbench.c socket.c Makefile ++webbench.o: webbench.c Makefile + + .PHONY: clean install all tar +diff -urN webbench-1.5/socket.c webbench-1.5-bak/socket.c +--- webbench-1.5/socket.c 2004-01-12 22:46:42.000000000 +0800 ++++ webbench-1.5-bak/socket.c 1970-01-01 08:00:00.000000000 +0800 +@@ -1,58 +0,0 @@ +-/* $Id: socket.c 1.1 1995/01/01 07:11:14 cthuang Exp $ +- * +- * This module has been modified by Radim Kolar for OS/2 emx +- */ +- +-/*********************************************************************** +- module: socket.c +- program: popclient +- SCCS ID: @(#)socket.c 1.5 4/1/94 +- programmer: Virginia Tech Computing Center +- compiler: DEC RISC C compiler (Ultrix 4.1) +- environment: DEC Ultrix 4.3 +- description: UNIX sockets code. +- ***********************************************************************/ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-int Socket(const char *host, int clientPort) +-{ +- int sock; +- unsigned long inaddr; +- struct sockaddr_in ad; +- struct hostent *hp; +- +- memset(&ad, 0, sizeof(ad)); +- ad.sin_family = AF_INET; +- +- inaddr = inet_addr(host); +- if (inaddr != INADDR_NONE) +- memcpy(&ad.sin_addr, &inaddr, sizeof(inaddr)); +- else +- { +- hp = gethostbyname(host); +- if (hp == NULL) +- return -1; +- memcpy(&ad.sin_addr, hp->h_addr, hp->h_length); +- } +- ad.sin_port = htons(clientPort); +- +- sock = socket(AF_INET, SOCK_STREAM, 0); +- if (sock < 0) +- return sock; +- if (connect(sock, (struct sockaddr *)&ad, sizeof(ad)) < 0) +- return -1; +- return sock; +-} +- +diff -urN webbench-1.5/webbench.c webbench-1.5-bak/webbench.c +--- webbench-1.5/webbench.c 2004-06-25 17:50:00.000000000 +0800 ++++ webbench-1.5-bak/webbench.c 2020-05-03 15:15:41.193484347 +0800 +@@ -14,8 +14,15 @@ + * 2 - bad param + * 3 - internal error, fork failed + * +- */ +-#include "socket.c" ++ */ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ + #include + #include + #include +@@ -99,6 +106,48 @@ + " -V|--version Display program version.\n" + ); + }; ++ ++int createSock(const char * addr, unsigned short port) ++{ ++ int sock; ++ int ret; ++ struct sockaddr_in svr_addr; ++ struct hostent *host = NULL; ++ ++ if (!addr) { ++ return -1; ++ } ++ bzero(&svr_addr,sizeof(struct sockaddr_in)); ++ ++ svr_addr.sin_addr.s_addr=inet_addr(addr); ++ if (svr_addr.sin_addr.s_addr == INADDR_NONE) { ++ //try gethostbyname ++ host = gethostbyname(addr); ++ if (!host) { ++ printf("Can not resolve address : %s\n", addr); ++ return -1; ++ } ++ memcpy(&svr_addr.sin_addr, host->h_addr, host->h_length); ++ } ++ ++ sock = socket(AF_INET, SOCK_STREAM, 0); ++ if (sock < 0) { ++ return -1; ++ } ++ ++ svr_addr.sin_family=AF_INET; ++ svr_addr.sin_port = htons(port); ++ ++ ret = connect(sock, (struct sockaddr*)&svr_addr, sizeof(svr_addr)); ++ if (ret < 0) { ++ printf("Can not connect to address %s:%d\n", addr, port); ++ return -1; ++ } ++ ++ return sock; ++} ++ ++ + int main(int argc, char *argv[]) + { + int opt=0; +@@ -298,7 +347,7 @@ + FILE *f; + + /* check avaibility of target server */ +- i=Socket(proxyhost==NULL?host:proxyhost,proxyport); ++ i=createSock(proxyhost==NULL?host:proxyhost,proxyport); + if(i<0) { + fprintf(stderr,"\nConnect to server failed. Aborting benchmark.\n"); + return 1; +@@ -421,7 +470,7 @@ + } + return; + } +- s=Socket(host,port); ++ s=createSock(host,port); + if(s<0) { failed++;continue;} + if(rlen!=write(s,req,rlen)) {failed++;close(s);continue;} + if(http10==0) diff --git a/webbench.spec b/webbench.spec new file mode 100644 index 0000000..eba3ffd --- /dev/null +++ b/webbench.spec @@ -0,0 +1,45 @@ +#%global debug_package %{nil} + +Name: webbench +Version: 1.5 +Release: 1 +Summary: simple tool for benchmarking WWW or proxy servers +License: GPL +URL: http://home.tiscali.cz/~cz210552/webbench.html +Source0: http://home.tiscali.cz/~cz210552/distfiles/%{name}-%{version}.tar.gz + +Patch0: webbench-remove-socket-file-and-reimplement-function.patch + +BuildRequires: gcc + +%description +Web Bench is very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can use HTTP/0.9-HTTP/1.1 requests. This benchmark is not very realistic, but it can test if your HTTPD can realy handle that many clients at once (try to run some CGIs) without taking your machine down. Displays pages/min and bytes/sec. Can be used in more aggressive mode with -f switch + +%prep +%setup -q -n %{name}-%{version}/ +#remove unclear license file socket.c and reimplement socket function. +%patch0 -p1 + +%build +%make_build + +%install +%{__make} install PREFIX="%{buildroot}%{_prefix}" + +%pre +%preun +%post +%postun + +%check + +%files +%license COPYRIGHT +%doc ChangeLog +%{_bindir}/* +%{_mandir}/* + +%changelog +* Sun Mar 29 2020 Wei Xiong +- Package init + -- Gitee