From 044869457a1d5bdb031d7181aeb84bb1895a387f Mon Sep 17 00:00:00 2001 From: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon, 30 Sep 2019 10:33:09 -0400 Subject: [PATCH] Package init --- bridge-utils-1.0.4-inc.patch | 10 ++++ bridge-utils-1.6-add-missing-sys-time.patch | 33 +++++++++++++ ...ils-1.6-fix-signed-unsigned-warnings.patch | 38 +++++++++++++++ bridge-utils-1.6.tar.sign | Bin 0 -> 543 bytes bridge-utils-1.6.tar.xz | Bin 0 -> 29904 bytes bridge-utils-libbridge-cflags.patch | 11 +++++ bridge-utils.spec | 46 ++++++++++++++++++ bugfix-avoid-showmacs-memory-leak.patch | 18 +++++++ bugfix-bridge-not-check-parameters.patch | 44 +++++++++++++++++ 9 files changed, 200 insertions(+) create mode 100644 bridge-utils-1.0.4-inc.patch create mode 100644 bridge-utils-1.6-add-missing-sys-time.patch create mode 100644 bridge-utils-1.6-fix-signed-unsigned-warnings.patch create mode 100644 bridge-utils-1.6.tar.sign create mode 100644 bridge-utils-1.6.tar.xz create mode 100644 bridge-utils-libbridge-cflags.patch create mode 100644 bridge-utils.spec create mode 100644 bugfix-avoid-showmacs-memory-leak.patch create mode 100644 bugfix-bridge-not-check-parameters.patch diff --git a/bridge-utils-1.0.4-inc.patch b/bridge-utils-1.0.4-inc.patch new file mode 100644 index 0000000..1ae3f5b --- /dev/null +++ b/bridge-utils-1.0.4-inc.patch @@ -0,0 +1,10 @@ +--- bridge-utils-1.0.4/libbridge/libbridge_private.h~ 2004-05-28 21:38:38.000000000 +0100 ++++ bridge-utils-1.0.4/libbridge/libbridge_private.h 2004-07-01 11:24:21.000000000 +0100 +@@ -22,6 +22,7 @@ + #include "config.h" + + #include ++#include + #include + #include + #include diff --git a/bridge-utils-1.6-add-missing-sys-time.patch b/bridge-utils-1.6-add-missing-sys-time.patch new file mode 100644 index 0000000..c4ce4aa --- /dev/null +++ b/bridge-utils-1.6-add-missing-sys-time.patch @@ -0,0 +1,33 @@ +From b69811c054a55c241ce5628a32a62486eab491e5 Mon Sep 17 00:00:00 2001 +From: Aleksander Morgado +Date: Mon, 17 Jul 2017 17:21:38 -0700 +Subject: libbridge: add missing sys/time.h include in header Required to + define the 'struct timeval' type: + + In file included from external/bridge-utils/brctl/brctl.c:25: + external/bridge-utils/brctl/../libbridge/libbridge.h:44:17: error: field has incomplete type 'struct timeval' + struct timeval max_age; + ^ + +Signed-off-by: Aleksander Morgado +--- + libbridge/libbridge.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libbridge/libbridge.h b/libbridge/libbridge.h +index ff047f9..c038b92 100644 +--- a/libbridge/libbridge.h ++++ b/libbridge/libbridge.h +@@ -21,7 +21,9 @@ + + #include + #include ++#include + #include ++ + #include + #include + +-- +cgit v1.1 + diff --git a/bridge-utils-1.6-fix-signed-unsigned-warnings.patch b/bridge-utils-1.6-fix-signed-unsigned-warnings.patch new file mode 100644 index 0000000..f08efec --- /dev/null +++ b/bridge-utils-1.6-fix-signed-unsigned-warnings.patch @@ -0,0 +1,38 @@ +From 42c1aefc303fdf891fbb099ea51f00dca83ab606 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Mon, 17 Jul 2017 17:23:56 -0700 +Subject: brctl: fix signed/unsigned comparison warnings + +If built with warning enabled, Gcc would complain about +comparison of signed with unsigned. + +Signed-off-by: Stephen Hemminger +--- + brctl/brctl_cmd.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/brctl/brctl_cmd.c b/brctl/brctl_cmd.c +index 5f12e6f..acd66be 100644 +--- a/brctl/brctl_cmd.c ++++ b/brctl/brctl_cmd.c +@@ -483,7 +483,7 @@ static const struct command commands[] = { + + const struct command *command_lookup(const char *cmd) + { +- int i; ++ unsigned int i; + + for (i = 0; i < sizeof(commands)/sizeof(commands[0]); i++) { + if (!strcmp(cmd, commands[i].name)) +@@ -495,7 +495,7 @@ const struct command *command_lookup(const char *cmd) + + void command_helpall(void) + { +- int i; ++ unsigned int i; + + for (i = 0; i < sizeof(commands)/sizeof(commands[0]); i++) { + printf("\t%-10s\t%s\n", commands[i].name, commands[i].help); +-- +cgit v1.1 + diff --git a/bridge-utils-1.6.tar.sign b/bridge-utils-1.6.tar.sign new file mode 100644 index 0000000000000000000000000000000000000000..091571646f948aa591a2b4752b52281e6f343467 GIT binary patch literal 543 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 RS3?8Q z=Dx=vXoXMQ4Qa^uG}|y4yRISxN-rpM3x&j_2zL1eB>S+HX3wL^-Vfof5%EkG+eYVq&BF2URrt%=4 z1(MfeY`Ggx^`}twwV73h7{y!NK03fs@JgZ?6VBR*O|dHF&d+mw6?M;unvrVZ>w5Py}tke-n) zss>$+pFlAVI}J>~1}b~r6aE}7!`i;d2CQwXtVZtS{H@Usrvo!iDSdiez9R)J+f1r6 zea(r(vA3zmRsn|EzLUuqisW3uQbZAW;@f(}+AGFbojj^ju(9p4Y3WB4_wUA$iE;E< zW%!^2|9!BM{>@6SeArl1ja!1A4d+VPb^%5yX!qQT9&`wr&I%0bvQ8qy24VDc!bPpc zz{dXDb=QV71h7bGnv854(~E#D8>gD6fxKRcSIa;!_4(DHO(@;l4iNc8s(B4Qo_G0G znW_*MN^c2UT$L`{GTTI?1Dwh#l)y9f$o%w^gG;0f0}e`P9PrH_=OS@ODZ=dW7^5tc zq7Y5X!-SF~{S+=a;~FRdu-Kfj3(;?d1{DeBTB@(Epg{Z6F@uI7`XN3@G*q10J#8he zeN*y5;~&6ozy9^Eph<|Cwq`R7K-GFy^eKx48x+8!ZEHj8jO$D_yq&SAk(=h7(SNsxFWX$8w=4k|?nPIc}lMDah&DAxFGLpI}%e zryO(%(Ad9stof-_q(B9QFx*z!3_5aPR)0FcTr&gR9B(@P^mp^l@=m+BbK6jZ?-qF| zn#PadCyJ*;MS2=WTh8zSu*vB02O4Hm8ox*!q5 z4o5SSYiCN7pl{JLocqERD`NaUc9dy!;1%h(%SvoMtl0TKHpUeMwH!SL#xJ1^yqnI) zS5CqK5(~V;2ep&Tqm9rB2bvN?blUp#sn-?>Wcr5Tz4tI)^zjNI#fTD3x3S~rv~n^_ z2S}>4q(bk7YZ1EZk^FA*lDxXMfR2S0dp(5ofxs*q^djIFJsuBCRj0Iler5iHrb*>z zvPLWEs83b2bZ}hu@F`SA46SFh>Wi-lf#q;1G>15sQpbu^peeIzmHb%bc*v+#!C6nw zy>K^USr}Ed41*GH#9K1<=kPMw+m}@4a z^{1Oty1;E1myxPESy6hAOTv$?0tWrG*Db?KQKy!tUzm&<`-c}!xNW=7?P>bCPAItI z9;fkZDvDj!u=2xN-w=>6d}yH11o#i0k^Az*WN9;9HpY4CJytA#1hOL8(QFXN zvvoK+Y7teqiKi|Tf~_&d!3{|9KrWdydwY_d{fP+h*)eJ>0ZEq+Fd?Bsx&~(9nVl;^ zKm}qtG%3;{ksZy? zY7SD_KAYIE3}iFXH2c(bTQ2yq(5Fm8e&sI}49u`?r%q-&Z7ZOP>98ab+026IDywj7 zIGEB|u}4HI=xS1pG|9Rh(Qi%b&g8|qaH^05!Q+|wIE>*&s=$Y}78#m-$4@|RFw2bS zoU%F5?2aiwytG|u!g*a&%x*H{_vSH-3pEQFW)&@q8Gg&o9gD4ioZTEsoRNe@o(0dJ-$Bc% zd%YkwrIM$8g!{;A@V}B$#UJ( z=Yty6UEkc&R-HikOc=Uxap#XoKCyryW!uYPTjf1oad(5!A zL6BMA=aO~zL@e{d)=4`{7U1-v1eg}ehWAGaJRxbg1H~M${^N92yjz~S;XwM?Kfmy{ zJ%##@Jn_DsXR)T#MqE#jF>fjMchgzt6(E0W>UZ<7-D2=QF6pmbt2t5J8_jo4$Hx8o zZqsItm0=-kWj2hez?!iw8*OeNWRb~A=ahtpMs@|_Woq)aqBeekNtHI`N{%-M-$hLw zi|@BFsg6Fw;T)f?y6@P3L2V~QkSoO#Q!7~dhx9Xw7DGJU}Gcvsd(vp|prqZ#~_n zrb#T+{o5>cSqr`!x*&(d5h-}= 2.6.16 + +%description +This package provides utilities for configuring the linux ethernet +bridge. The linux ethernet bridge can be used for connecting multiple +ethernet devices together. + + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +autoconf +%configure +%make_build + +%install +%make_install SUBDIRS="brctl doc" + +%files +%{!?_licensedir:%global license %%doc} +%license COPYING +%doc AUTHORS doc/FAQ doc/HOWTO +%{_sbindir}/brctl +%{_mandir}/man8/brctl.8* + +%changelog +* Wed Sep 18 2019 Alex Chao - 1.6-3 +- Package init diff --git a/bugfix-avoid-showmacs-memory-leak.patch b/bugfix-avoid-showmacs-memory-leak.patch new file mode 100644 index 0000000..a9698c9 --- /dev/null +++ b/bugfix-avoid-showmacs-memory-leak.patch @@ -0,0 +1,18 @@ +--- a/brctl/brctl_cmd.c 2019-05-08 16:09:02.744000000 +0800 ++++ b/brctl/brctl_cmd.c 2019-05-08 17:40:07.252000000 +0800 +@@ -407,6 +407,7 @@ + if (n < 0) { + fprintf(stderr, "read of forward table failed: %s\n", + strerror(errno)); ++ free(fdb); + return 1; + } + +@@ -426,6 +427,7 @@ + br_show_timer(&f->ageing_timer_value); + printf("\n"); + } ++ free(fdb); + return 0; + } + diff --git a/bugfix-bridge-not-check-parameters.patch b/bugfix-bridge-not-check-parameters.patch new file mode 100644 index 0000000..b16473f --- /dev/null +++ b/bugfix-bridge-not-check-parameters.patch @@ -0,0 +1,44 @@ +diff -Nur bridge-utils-1.5-old/brctl/brctl_cmd.c bridge-utils-1.5/brctl/brctl_cmd.c +--- bridge-utils-1.5-old/brctl/brctl_cmd.c 2018-05-17 07:03:02.868000000 -0400 ++++ bridge-utils-1.5/brctl/brctl_cmd.c 2018-05-17 07:07:26.023000000 -0400 +@@ -250,11 +250,20 @@ + static int br_cmd_setpathcost(int argc, char *const* argv) + { + int cost, err; ++ int temp=0; + + if (sscanf(argv[3], "%i", &cost) != 1) { + fprintf(stderr, "bad path cost value\n"); + return 1; + } ++ while(*(argv[3]+temp)){ ++ if(*(argv[3]+temp)<'0'||*(argv[3]+temp)>(9+'0')){ ++ fprintf(stderr, "bad path cost value\n"); ++ return 1; ++ } ++ temp++; ++ } ++ + + err = br_set_path_cost(argv[1], argv[2], cost); + if (err) +@@ -266,11 +275,19 @@ + static int br_cmd_setportprio(int argc, char *const* argv) + { + int cost, err; ++ int temp=0; + + if (sscanf(argv[3], "%i", &cost) != 1) { + fprintf(stderr, "bad path priority value\n"); + return 1; + } ++ while(*(argv[3]+temp)){ ++ if(*(argv[3]+temp)<'0'||*(argv[3]+temp)>(9+'0')){ ++ fprintf(stderr, "bad path priority value\n"); ++ return 1; ++ } ++ temp++; ++ } + + err = br_set_port_priority(argv[1], argv[2], cost); + if (err)