Hello community, here is the log from the commit of package protobuf-c for openSUSE:Factory checked in at 2019-08-27 15:25:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/protobuf-c (Old) and /work/SRC/openSUSE:Factory/.protobuf-c.new.7948 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "protobuf-c" Tue Aug 27 15:25:54 2019 rev:16 rq:725957 version:1.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/protobuf-c/protobuf-c.changes 2019-06-13 22:38:14.532285874 +0200 +++ /work/SRC/openSUSE:Factory/.protobuf-c.new.7948/protobuf-c.changes 2019-08-27 15:25:59.428701829 +0200 @@ -1,0 +2,8 @@ +Sun Aug 18 16:36:38 UTC 2019 - Jan Engelhardt <jeng...@inai.de> + +- Update to new upstream release 1.3.2 + * Fix proto3 repeated scalar field default packing behavior + * Fix out-of-bounds read in scan_length_prefixed_data() +- Remove protobuf-c-namespace.patch (merged) + +------------------------------------------------------------------- Old: ---- protobuf-c-1.3.1.tar.gz protobuf-c-namespace.patch New: ---- protobuf-c-1.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ protobuf-c.spec ++++++ --- /var/tmp/diff_new_pack.KHnixB/_old 2019-08-27 15:26:00.860701109 +0200 +++ /var/tmp/diff_new_pack.KHnixB/_new 2019-08-27 15:26:00.864701106 +0200 @@ -19,15 +19,14 @@ %define sover 1 Name: protobuf-c -Version: 1.3.1 +Version: 1.3.2 Release: 0 Summary: C bindings for Google's Protocol Buffers License: BSD-3-Clause Group: Development/Tools/Other URL: https://github.com/protobuf-c/protobuf-c -Source: https://github.com/protobuf-c/protobuf-c/releases/download/v%{version}/%{name}-%{version}.tar.gz +Source: https://github.com/protobuf-c/protobuf-c/releases/download/v%version/%name-%version.tar.gz Source99: protobuf-c-rpmlintrc -Patch0: protobuf-c-namespace.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc @@ -36,7 +35,7 @@ BuildRequires: make BuildRequires: pkgconfig BuildRequires: protobuf-devel >= 2.6.0 -Requires: libprotobuf-c-devel = %{version} +Requires: libprotobuf-c-devel = %version %description This package provides a code generator and runtime libraries to use Protocol @@ -44,80 +43,52 @@ It uses a modified version of protoc called protoc-c. -%package -n libprotobuf-c%{sover} +%package -n libprotobuf-c%sover Summary: C bindings for Google's Protocol Buffers Group: System/Libraries -%description -n libprotobuf-c%{sover} +%description -n libprotobuf-c%sover This package provides a code generator and runtime libraries to use Protocol Buffers from pure C (not C++). %package -n libprotobuf-c-devel Summary: C bindings for Google's Protocol Buffers Group: Development/Libraries/C and C++ -Requires: libprotobuf-c%{sover} = %{version} +Requires: libprotobuf-c%sover = %version %description -n libprotobuf-c-devel This package provides a code generator and runtime libraries to use Protocol Buffers from pure C (not C++). %prep -%setup -q -%patch0 -p1 +%autosetup -p1 %build -%define _lto_cflags %{nil} -%if 0 -mkdir build -pushd build -export CFLAGS="%{optflags}" -cmake \ - -DCMAKE_VERBOSE_MAKEFILE=TRUE \ - -DCMAKE_INSTALL_PREFIX:PATH="%{_prefix}" \ - -DCMAKE_SKIP_RPATH=TRUE \ - -DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE \ - -DCMAKE_STRIP="%{_bindir}/touch" \ - .. -make %{?_smp_mflags} -popd #build -%else +%define _lto_cflags %nil autoreconf -fvi %configure make %{?_smp_mflags} -%endif %install -%if 0 -pushd build -%make_install -popd #build -%else %make_install -%endif -rm "%{buildroot}/%{_libdir}"/*.a -rm "%{buildroot}/%{_libdir}"/*.la +rm "%buildroot/%_libdir"/*.a "%buildroot/%_libdir"/*.la -%post -n libprotobuf-c%{sover} -p /sbin/ldconfig -%postun -n libprotobuf-c%{sover} -p /sbin/ldconfig +%post -n libprotobuf-c%sover -p /sbin/ldconfig +%postun -n libprotobuf-c%sover -p /sbin/ldconfig %files -%defattr(-,root,root) %doc ChangeLog TODO -%{_bindir}/protoc-c -%{_bindir}/protoc-gen-c +%_bindir/protoc-c +%_bindir/protoc-gen-c -%files -n libprotobuf-c%{sover} -%defattr(-,root,root) +%files -n libprotobuf-c%sover %license LICENSE -%{_libdir}/libprotobuf-c.so.%{sover} -%{_libdir}/libprotobuf-c.so.%{sover}.* +%_libdir/libprotobuf-c.so.%sover +%_libdir/libprotobuf-c.so.%sover.* %files -n libprotobuf-c-devel -%defattr(-,root,root) -%dir %{_includedir}/google -%{_includedir}/google/protobuf-c -%{_includedir}/protobuf-c/ -%{_libdir}/libprotobuf-c.so -%{_libdir}/pkgconfig/libprotobuf-c.pc +%_includedir/*/ +%_libdir/libprotobuf-c.so +%_libdir/pkgconfig/libprotobuf-c.pc %changelog ++++++ protobuf-c-1.3.1.tar.gz -> protobuf-c-1.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/ChangeLog new/protobuf-c-1.3.2/ChangeLog --- old/protobuf-c-1.3.1/ChangeLog 2018-08-14 06:24:20.000000000 +0200 +++ new/protobuf-c-1.3.2/ChangeLog 2019-06-24 07:08:05.000000000 +0200 @@ -1,3 +1,28 @@ +protobuf-c (1.3.2) + [ Robert Edmonds ] + * Release 1.3.2. + + * Use protobuf 3.7.1 in the Travis-CI environment (#368). + + * Fix test suite build failure on newer versions of protobuf (#369). + + [ Ilya Lipnitskiy ] + * Fix proto3 repeated scalar field default packing behavior (#330, #377). + + [ Adam Cozzette ] + * Fix out-of-bounds read in scan_length_prefixed_data() (#375, #376). + + [ Jurriaan Bremer ] + * Fix -Wdeclaration-after-statement warning in parse_oneof_member() (#360). + + [ Hayri Ugur Koltuk ] + * Fix SIGSEGV in protobuf_c_message_check() on messages with unpopulated + oneof members (#358). + + [ Italo Guerrieri ] + * Do not allow tag values of 0 in protobuf messages, as these are not + allowed by proto2 or proto3 (#299). + protobuf-c (1.3.1) [ Robert Edmonds ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/Makefile.am new/protobuf-c-1.3.2/Makefile.am --- old/protobuf-c-1.3.1/Makefile.am 2018-08-14 04:11:41.000000000 +0200 +++ new/protobuf-c-1.3.2/Makefile.am 2019-06-24 06:36:20.000000000 +0200 @@ -250,6 +250,40 @@ EXTRA_DIST += \ t/issue251/issue251.proto +# Issue #330 +check_PROGRAMS += \ + t/issue330/issue330 +TESTS += \ + t/issue330/issue330 +t_issue330_issue330_SOURCES = \ + t/issue330/issue330.c \ + t/issue330/issue330.pb-c.c +t_issue330_issue330_LDADD = \ + protobuf-c/libprotobuf-c.la +t/issue330/issue330.pb-c.c t/issue330/issue330.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue330/issue330.proto + $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue330/issue330.proto +BUILT_SOURCES += \ + t/issue330/issue330.pb-c.c t/issue330/issue330.pb-c.h +EXTRA_DIST += \ + t/issue330/issue330.proto + +# Issue #375 +check_PROGRAMS += \ + t/issue375/issue375 +TESTS += \ + t/issue375/issue375 +t_issue375_issue375_SOURCES = \ + t/issue375/issue375.c \ + t/issue375/issue375.pb-c.c +t_issue375_issue375_LDADD = \ + protobuf-c/libprotobuf-c.la +t/issue375/issue375.pb-c.c t/issue375/issue375.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue375/issue375.proto + $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue375/issue375.proto +BUILT_SOURCES += \ + t/issue375/issue375.pb-c.c t/issue375/issue375.pb-c.h +EXTRA_DIST += \ + t/issue375/issue375.proto + endif # CROSS_COMPILING endif # BUILD_COMPILER diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/Makefile.in new/protobuf-c-1.3.2/Makefile.in --- old/protobuf-c-1.3.1/Makefile.in 2018-08-14 06:25:29.000000000 +0200 +++ new/protobuf-c-1.3.2/Makefile.in 2019-06-24 07:08:21.000000000 +0200 @@ -139,16 +139,30 @@ # Issue #220 # Issue #251 + +# Issue #330 + +# Issue #375 @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am__append_11 = t/issue220/issue220 \ -@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251 +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251 \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330 \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375 @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am__append_12 = t/issue220/issue220 \ -@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251 +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251 \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330 \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375 @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am__append_13 = t/issue220/issue220.pb-c.c \ @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue220/issue220.pb-c.h \ @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251.pb-c.c \ -@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251.pb-c.h +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251.pb-c.h \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330.pb-c.c \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330.pb-c.h \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375.pb-c.c \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375.pb-c.h @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am__append_14 = t/issue220/issue220.proto \ -@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251.proto +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251.proto \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330.proto \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375.proto subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \ @@ -178,7 +192,9 @@ @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/version/version$(EXEEXT) @BUILD_COMPILER_TRUE@@BUILD_PROTO3_TRUE@@CROSS_COMPILING_FALSE@am__EXEEXT_3 = t/generated-code3/test-generated-code3$(EXEEXT) @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am__EXEEXT_4 = t/issue220/issue220$(EXEEXT) \ -@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251$(EXEEXT) +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251$(EXEEXT) \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330$(EXEEXT) \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375$(EXEEXT) @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am__EXEEXT_5 = t/generated-code2/cxx-generate-packed-data$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -305,6 +321,18 @@ @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue251/issue251.pb-c.$(OBJEXT) t_issue251_issue251_OBJECTS = $(am_t_issue251_issue251_OBJECTS) @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue251_issue251_DEPENDENCIES = protobuf-c/libprotobuf-c.la +am__t_issue330_issue330_SOURCES_DIST = t/issue330/issue330.c \ + t/issue330/issue330.pb-c.c +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am_t_issue330_issue330_OBJECTS = t/issue330/issue330.$(OBJEXT) \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330.pb-c.$(OBJEXT) +t_issue330_issue330_OBJECTS = $(am_t_issue330_issue330_OBJECTS) +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue330_issue330_DEPENDENCIES = protobuf-c/libprotobuf-c.la +am__t_issue375_issue375_SOURCES_DIST = t/issue375/issue375.c \ + t/issue375/issue375.pb-c.c +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am_t_issue375_issue375_OBJECTS = t/issue375/issue375.$(OBJEXT) \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375.pb-c.$(OBJEXT) +t_issue375_issue375_OBJECTS = $(am_t_issue375_issue375_OBJECTS) +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue375_issue375_DEPENDENCIES = protobuf-c/libprotobuf-c.la am__t_version_version_SOURCES_DIST = t/version/version.c @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@am_t_version_version_OBJECTS = t/version/version.$(OBJEXT) t_version_version_OBJECTS = $(am_t_version_version_OBJECTS) @@ -351,6 +379,10 @@ t/issue220/$(DEPDIR)/issue220.pb-c.Po \ t/issue251/$(DEPDIR)/issue251.Po \ t/issue251/$(DEPDIR)/issue251.pb-c.Po \ + t/issue330/$(DEPDIR)/issue330.Po \ + t/issue330/$(DEPDIR)/issue330.pb-c.Po \ + t/issue375/$(DEPDIR)/issue375.Po \ + t/issue375/$(DEPDIR)/issue375.pb-c.Po \ t/version/$(DEPDIR)/version.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ @@ -396,6 +428,7 @@ $(t_generated_code2_test_generated_code2_SOURCES) \ $(t_generated_code3_test_generated_code3_SOURCES) \ $(t_issue220_issue220_SOURCES) $(t_issue251_issue251_SOURCES) \ + $(t_issue330_issue330_SOURCES) $(t_issue375_issue375_SOURCES) \ $(t_version_version_SOURCES) DIST_SOURCES = $(protobuf_c_libprotobuf_c_la_SOURCES) \ $(am__protoc_c_protoc_gen_c_SOURCES_DIST) \ @@ -405,6 +438,8 @@ $(am__t_generated_code3_test_generated_code3_SOURCES_DIST) \ $(am__t_issue220_issue220_SOURCES_DIST) \ $(am__t_issue251_issue251_SOURCES_DIST) \ + $(am__t_issue330_issue330_SOURCES_DIST) \ + $(am__t_issue375_issue375_SOURCES_DIST) \ $(am__t_version_version_SOURCES_DIST) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ @@ -924,6 +959,20 @@ @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue251_issue251_LDADD = \ @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ protobuf-c/libprotobuf-c.la +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue330_issue330_SOURCES = \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330.c \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue330/issue330.pb-c.c + +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue330_issue330_LDADD = \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ protobuf-c/libprotobuf-c.la + +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue375_issue375_SOURCES = \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375.c \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ t/issue375/issue375.pb-c.c + +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t_issue375_issue375_LDADD = \ +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ protobuf-c/libprotobuf-c.la + all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -1218,6 +1267,34 @@ t/issue251/issue251$(EXEEXT): $(t_issue251_issue251_OBJECTS) $(t_issue251_issue251_DEPENDENCIES) $(EXTRA_t_issue251_issue251_DEPENDENCIES) t/issue251/$(am__dirstamp) @rm -f t/issue251/issue251$(EXEEXT) $(AM_V_CCLD)$(LINK) $(t_issue251_issue251_OBJECTS) $(t_issue251_issue251_LDADD) $(LIBS) +t/issue330/$(am__dirstamp): + @$(MKDIR_P) t/issue330 + @: > t/issue330/$(am__dirstamp) +t/issue330/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) t/issue330/$(DEPDIR) + @: > t/issue330/$(DEPDIR)/$(am__dirstamp) +t/issue330/issue330.$(OBJEXT): t/issue330/$(am__dirstamp) \ + t/issue330/$(DEPDIR)/$(am__dirstamp) +t/issue330/issue330.pb-c.$(OBJEXT): t/issue330/$(am__dirstamp) \ + t/issue330/$(DEPDIR)/$(am__dirstamp) + +t/issue330/issue330$(EXEEXT): $(t_issue330_issue330_OBJECTS) $(t_issue330_issue330_DEPENDENCIES) $(EXTRA_t_issue330_issue330_DEPENDENCIES) t/issue330/$(am__dirstamp) + @rm -f t/issue330/issue330$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(t_issue330_issue330_OBJECTS) $(t_issue330_issue330_LDADD) $(LIBS) +t/issue375/$(am__dirstamp): + @$(MKDIR_P) t/issue375 + @: > t/issue375/$(am__dirstamp) +t/issue375/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) t/issue375/$(DEPDIR) + @: > t/issue375/$(DEPDIR)/$(am__dirstamp) +t/issue375/issue375.$(OBJEXT): t/issue375/$(am__dirstamp) \ + t/issue375/$(DEPDIR)/$(am__dirstamp) +t/issue375/issue375.pb-c.$(OBJEXT): t/issue375/$(am__dirstamp) \ + t/issue375/$(DEPDIR)/$(am__dirstamp) + +t/issue375/issue375$(EXEEXT): $(t_issue375_issue375_OBJECTS) $(t_issue375_issue375_DEPENDENCIES) $(EXTRA_t_issue375_issue375_DEPENDENCIES) t/issue375/$(am__dirstamp) + @rm -f t/issue375/issue375$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(t_issue375_issue375_OBJECTS) $(t_issue375_issue375_LDADD) $(LIBS) t/version/$(am__dirstamp): @$(MKDIR_P) t/version @: > t/version/$(am__dirstamp) @@ -1241,6 +1318,8 @@ -rm -f t/generated-code2/*.$(OBJEXT) -rm -f t/issue220/*.$(OBJEXT) -rm -f t/issue251/*.$(OBJEXT) + -rm -f t/issue330/*.$(OBJEXT) + -rm -f t/issue375/*.$(OBJEXT) -rm -f t/version/*.$(OBJEXT) distclean-compile: @@ -1274,6 +1353,10 @@ @AMDEP_TRUE@@am__include@ @am__quote@t/issue220/$(DEPDIR)/issue220.pb-c.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@t/issue251/$(DEPDIR)/issue251.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@t/issue251/$(DEPDIR)/issue251.pb-c.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@t/issue330/$(DEPDIR)/issue330.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@t/issue330/$(DEPDIR)/issue330.pb-c.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@t/issue375/$(DEPDIR)/issue375.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@t/issue375/$(DEPDIR)/issue375.pb-c.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@t/version/$(DEPDIR)/version.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @@ -1594,6 +1677,8 @@ -rm -rf t/generated-code3/.libs t/generated-code3/_libs -rm -rf t/issue220/.libs t/issue220/_libs -rm -rf t/issue251/.libs t/issue251/_libs + -rm -rf t/issue330/.libs t/issue330/_libs + -rm -rf t/issue375/.libs t/issue375/_libs -rm -rf t/version/.libs t/version/_libs distclean-libtool: @@ -1886,6 +1971,20 @@ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) +t/issue330/issue330.log: t/issue330/issue330$(EXEEXT) + @p='t/issue330/issue330$(EXEEXT)'; \ + b='t/issue330/issue330'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +t/issue375/issue375.log: t/issue375/issue375$(EXEEXT) + @p='t/issue375/issue375$(EXEEXT)'; \ + b='t/issue375/issue375'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ @@ -2129,6 +2228,10 @@ -rm -f t/issue220/$(am__dirstamp) -rm -f t/issue251/$(DEPDIR)/$(am__dirstamp) -rm -f t/issue251/$(am__dirstamp) + -rm -f t/issue330/$(DEPDIR)/$(am__dirstamp) + -rm -f t/issue330/$(am__dirstamp) + -rm -f t/issue375/$(DEPDIR)/$(am__dirstamp) + -rm -f t/issue375/$(am__dirstamp) -rm -f t/version/$(DEPDIR)/$(am__dirstamp) -rm -f t/version/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) @@ -2176,6 +2279,10 @@ -rm -f t/issue220/$(DEPDIR)/issue220.pb-c.Po -rm -f t/issue251/$(DEPDIR)/issue251.Po -rm -f t/issue251/$(DEPDIR)/issue251.pb-c.Po + -rm -f t/issue330/$(DEPDIR)/issue330.Po + -rm -f t/issue330/$(DEPDIR)/issue330.pb-c.Po + -rm -f t/issue375/$(DEPDIR)/issue375.Po + -rm -f t/issue375/$(DEPDIR)/issue375.pb-c.Po -rm -f t/version/$(DEPDIR)/version.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ @@ -2254,6 +2361,10 @@ -rm -f t/issue220/$(DEPDIR)/issue220.pb-c.Po -rm -f t/issue251/$(DEPDIR)/issue251.Po -rm -f t/issue251/$(DEPDIR)/issue251.pb-c.Po + -rm -f t/issue330/$(DEPDIR)/issue330.Po + -rm -f t/issue330/$(DEPDIR)/issue330.pb-c.Po + -rm -f t/issue375/$(DEPDIR)/issue375.Po + -rm -f t/issue375/$(DEPDIR)/issue375.pb-c.Po -rm -f t/version/$(DEPDIR)/version.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -2335,6 +2446,10 @@ @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue220/issue220.proto @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t/issue251/issue251.pb-c.c t/issue251/issue251.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue251/issue251.proto @BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue251/issue251.proto +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t/issue330/issue330.pb-c.c t/issue330/issue330.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue330/issue330.proto +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue330/issue330.proto +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@t/issue375/issue375.pb-c.c t/issue375/issue375.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/issue375/issue375.proto +@BUILD_COMPILER_TRUE@@CROSS_COMPILING_FALSE@ $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/issue375/issue375.proto dist-hook: rm -f `find $(distdir) -name '*.pb-c.[ch]' -o -name '*.pb.cc' -o -name '*.pb.h'` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/build-aux/ltmain.sh new/protobuf-c-1.3.2/build-aux/ltmain.sh --- old/protobuf-c-1.3.1/build-aux/ltmain.sh 2018-08-14 06:25:26.000000000 +0200 +++ new/protobuf-c-1.3.2/build-aux/ltmain.sh 2019-06-24 07:08:18.000000000 +0200 @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-2.1" +VERSION="2.4.6 Debian-2.4.6-10" package_revision=2.4.6 @@ -64,7 +64,7 @@ # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-10-12.13; # UTC +scriptversion=2015-01-20.17; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 @@ -580,16 +580,16 @@ { $debug_cmd - func_quote_arg pretty "$2" - eval "$1+=\\ \$func_quote_arg_result" + func_quote_for_eval "$2" + eval "$1+=\\ \$func_quote_for_eval_result" }' else func_append_quoted () { $debug_cmd - func_quote_arg pretty "$2" - eval "$1=\$$1\\ \$func_quote_arg_result" + func_quote_for_eval "$2" + eval "$1=\$$1\\ \$func_quote_for_eval_result" } fi @@ -1091,181 +1091,85 @@ } -# func_quote_portable EVAL ARG -# ---------------------------- -# Internal function to portably implement func_quote_arg. Note that we still -# keep attention to performance here so we as much as possible try to avoid -# calling sed binary (so far O(N) complexity as long as func_append is O(1)). -func_quote_portable () +# func_quote_for_eval ARG... +# -------------------------- +# Aesthetically quote ARGs to be evaled later. +# This function returns two values: +# i) func_quote_for_eval_result +# double-quoted, suitable for a subsequent eval +# ii) func_quote_for_eval_unquoted_result +# has all characters that are still active within double +# quotes backslashified. +func_quote_for_eval () { $debug_cmd - func_quote_portable_result=$2 - - # one-time-loop (easy break) - while true - do - if $1; then - func_quote_portable_result=`$ECHO "$2" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` - break - fi - - # Quote for eval. - case $func_quote_portable_result in + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do + case $1 in *[\\\`\"\$]*) - case $func_quote_portable_result in - *[\[\*\?]*) - func_quote_portable_result=`$ECHO "$func_quote_portable_result" | $SED "$sed_quote_subst"` - break - ;; - esac + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; + esac + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else + func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + fi - func_quote_portable_old_IFS=$IFS - for _G_char in '\' '`' '"' '$' - do - # STATE($1) PREV($2) SEPARATOR($3) - set start "" "" - func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy - IFS=$_G_char - for _G_part in $func_quote_portable_result - do - case $1 in - quote) - func_append func_quote_portable_result "$3$2" - set quote "$_G_part" "\\$_G_char" - ;; - start) - set first "" "" - func_quote_portable_result= - ;; - first) - set quote "$_G_part" "" - ;; - esac - done - done - IFS=$func_quote_portable_old_IFS + case $_G_unquoted_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_quoted_arg=\"$_G_unquoted_arg\" ;; - *) ;; + *) + _G_quoted_arg=$_G_unquoted_arg + ;; esac - break - done - func_quote_portable_unquoted_result=$func_quote_portable_result - case $func_quote_portable_result in - # double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # many bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_portable_result=\"$func_quote_portable_result\" - ;; - esac + if test -n "$func_quote_for_eval_result"; then + func_append func_quote_for_eval_result " $_G_quoted_arg" + else + func_append func_quote_for_eval_result "$_G_quoted_arg" + fi + shift + done } -# func_quotefast_eval ARG -# ----------------------- -# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', -# but optimized for speed. Result is stored in $func_quotefast_eval. -if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then - func_quotefast_eval () - { - printf -v func_quotefast_eval_result %q "$1" - } -else - func_quotefast_eval () - { - func_quote_portable false "$1" - func_quotefast_eval_result=$func_quote_portable_result - } -fi - +# func_quote_for_expand ARG +# ------------------------- +# Aesthetically quote ARG to be evaled later; same as above, +# but do not quote variable references. +func_quote_for_expand () +{ + $debug_cmd -# func_quote_arg MODEs ARG -# ------------------------ -# Quote one ARG to be evaled later. MODEs argument may contain zero ore more -# specifiers listed below separated by ',' character. This function returns two -# values: -# i) func_quote_arg_result -# double-quoted (when needed), suitable for a subsequent eval -# ii) func_quote_arg_unquoted_result -# has all characters that are still active within double -# quotes backslashified. Available only if 'unquoted' is specified. -# -# Available modes: -# ---------------- -# 'eval' (default) -# - escape shell special characters -# 'expand' -# - the same as 'eval'; but do not quote variable references -# 'pretty' -# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might -# later used in func_quote to get output like: 'echo "a b"' instead of -# 'echo a\ b'. This is slower than default on some shells. -# 'unquoted' -# - produce also $func_quote_arg_unquoted_result which does not contain -# wrapping double-quotes. -# -# Examples for 'func_quote_arg pretty,unquoted string': -# -# string | *_result | *_unquoted_result -# ------------+-----------------------+------------------- -# " | \" | \" -# a b | "a b" | a b -# "a b" | "\"a b\"" | \"a b\" -# * | "*" | * -# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" -# -# Examples for 'func_quote_arg pretty,unquoted,expand string': -# -# string | *_result | *_unquoted_result -# --------------+---------------------+-------------------- -# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" -func_quote_arg () -{ - _G_quote_expand=false - case ,$1, in - *,expand,*) - _G_quote_expand=: - ;; + case $1 in + *[\\\`\"]*) + _G_arg=`$ECHO "$1" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; + *) + _G_arg=$1 ;; esac - case ,$1, in - *,pretty,*|*,expand,*|*,unquoted,*) - func_quote_portable $_G_quote_expand "$2" - func_quote_arg_result=$func_quote_portable_result - func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result - ;; - *) - # Faster quote-for-eval for some shells. - func_quotefast_eval "$2" - func_quote_arg_result=$func_quotefast_eval_result + case $_G_arg in + # Double-quote args containing shell metacharacters to delay + # word splitting and command substitution for a subsequent eval. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + _G_arg=\"$_G_arg\" ;; esac -} - -# func_quote MODEs ARGs... -# ------------------------ -# Quote all ARGs to be evaled later and join them into single command. See -# func_quote_arg's description for more info. -func_quote () -{ - $debug_cmd - _G_func_quote_mode=$1 ; shift - func_quote_result= - while test 0 -lt $#; do - func_quote_arg "$_G_func_quote_mode" "$1" - if test -n "$func_quote_result"; then - func_append func_quote_result " $func_quote_arg_result" - else - func_append func_quote_result "$func_quote_arg_result" - fi - shift - done + func_quote_for_expand_result=$_G_arg } @@ -1311,8 +1215,8 @@ _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_arg pretty,expand "$_G_cmd" - eval "func_notquiet $func_quote_arg_result" + func_quote_for_expand "$_G_cmd" + eval "func_notquiet $func_quote_for_expand_result" $opt_dry_run || { eval "$_G_cmd" @@ -1337,8 +1241,8 @@ _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_arg expand,pretty "$_G_cmd" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$_G_cmd" + eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || { @@ -1466,7 +1370,7 @@ #! /bin/sh # Set a version string for this script. -scriptversion=2015-10-12.13; # UTC +scriptversion=2015-10-07.11; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 @@ -1676,8 +1580,8 @@ # ' # # No change in '$@' (ignored completely by this hook). There is # # no need to do the equivalent (but slower) action: -# # func_quote eval ${1+"$@"} -# # my_options_prep_result=$func_quote_result +# # func_quote_for_eval ${1+"$@"} +# # my_options_prep_result=$func_quote_for_eval_result # false # } # func_add_hook func_options_prep my_options_prep @@ -1713,8 +1617,8 @@ # done # # if $args_changed; then -# func_quote eval ${1+"$@"} -# my_silent_option_result=$func_quote_result +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result # fi # # $args_changed @@ -1781,8 +1685,8 @@ if $_G_rc_options; then func_options_result=$_G_res_var else - func_quote eval ${1+"$@"} - func_options_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + func_options_result=$func_quote_for_eval_result fi $_G_rc_options @@ -1925,8 +1829,8 @@ if $_G_rc_parse_options; then # save modified positional parameters for caller - func_quote eval ${1+"$@"} - func_parse_options_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result fi $_G_rc_parse_options @@ -2237,7 +2141,7 @@ compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-2.1 + version: $progname $scriptversion Debian-2.4.6-10 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2471,8 +2375,8 @@ if $_G_rc_lt_options_prep; then # Pass back the list of options. - func_quote eval ${1+"$@"} - libtool_options_prep_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result fi $_G_rc_lt_options_prep @@ -2578,8 +2482,8 @@ if $_G_rc_lt_parse_options; then # save modified positional parameters for caller - func_quote eval ${1+"$@"} - libtool_parse_options_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result fi $_G_rc_lt_parse_options @@ -2639,8 +2543,8 @@ } # Pass back the unparsed argument list - func_quote eval ${1+"$@"} - libtool_validate_options_result=$func_quote_result + func_quote_for_eval ${1+"$@"} + libtool_validate_options_result=$func_quote_for_eval_result } func_add_hook func_validate_options libtool_validate_options @@ -3606,8 +3510,8 @@ esac done - func_quote_arg pretty "$libobj" - test "X$libobj" != "X$func_quote_arg_result" \ + func_quote_for_eval "$libobj" + test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3680,8 +3584,8 @@ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_arg pretty "$srcfile" - qsrcfile=$func_quote_arg_result + func_quote_for_eval "$srcfile" + qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -4284,8 +4188,8 @@ case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_arg pretty "$nonopt" - install_prog="$func_quote_arg_result " + func_quote_for_eval "$nonopt" + install_prog="$func_quote_for_eval_result " arg=$1 shift else @@ -4295,8 +4199,8 @@ # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_arg pretty "$arg" - func_append install_prog "$func_quote_arg_result" + func_quote_for_eval "$arg" + func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; @@ -4353,12 +4257,12 @@ esac # Aesthetically quote the argument. - func_quote_arg pretty "$arg" - func_append install_prog " $func_quote_arg_result" + func_quote_for_eval "$arg" + func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then - func_quote_arg pretty "$arg2" + func_quote_for_eval "$arg2" fi - func_append install_shared_prog " $func_quote_arg_result" + func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ @@ -4369,8 +4273,8 @@ if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_arg pretty "$install_override_mode" - func_append install_shared_prog " -m $func_quote_arg_result" + func_quote_for_eval "$install_override_mode" + func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi @@ -4666,8 +4570,8 @@ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_arg expand,pretty "$relink_command" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$relink_command" + eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else @@ -5446,8 +5350,7 @@ if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - func_quote_arg pretty "$ECHO" - qECHO=$func_quote_arg_result + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5457,7 +5360,7 @@ \$1 _LTECHO_EOF' } - ECHO=$qECHO + ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to @@ -6800,9 +6703,9 @@ while test "$#" -gt 0; do arg=$1 shift - func_quote_arg pretty,unquoted "$arg" - qarg=$func_quote_arg_unquoted_result - func_append libtool_args " $func_quote_arg_result" + func_quote_for_eval "$arg" + qarg=$func_quote_for_eval_unquoted_result + func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -7400,9 +7303,9 @@ save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $func_quote_arg_result" - func_append compiler_flags " $func_quote_arg_result" + func_quote_for_eval "$flag" + func_append arg " $func_quote_for_eval_result" + func_append compiler_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7416,10 +7319,10 @@ save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_arg pretty "$flag" - func_append arg " $wl$func_quote_arg_result" - func_append compiler_flags " $wl$func_quote_arg_result" - func_append linker_flags " $func_quote_arg_result" + func_quote_for_eval "$flag" + func_append arg " $wl$func_quote_for_eval_result" + func_append compiler_flags " $wl$func_quote_for_eval_result" + func_append linker_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7443,8 +7346,8 @@ # -msg_* for osf cc -msg_*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result ;; # Flags to be passed through unchanged, with rationale: @@ -7464,12 +7367,13 @@ # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + -specs=*|-fsanitize=*|-fuse-ld=*) + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7490,15 +7394,15 @@ continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result fi ;; # Some other compiler flag. -* | +*) - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result ;; *.$objext) @@ -7618,8 +7522,8 @@ *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. - func_quote_arg pretty "$arg" - arg=$func_quote_arg_result + func_quote_for_eval "$arg" + arg=$func_quote_for_eval_result ;; esac # arg @@ -10131,8 +10035,8 @@ for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10225,8 +10129,8 @@ eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_arg expand,pretty "$cmd" - eval "func_echo $func_quote_arg_result" + func_quote_for_expand "$cmd" + eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10700,12 +10604,12 @@ elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_arg pretty "$var_value" - relink_command="$var=$func_quote_arg_result; export $var; $relink_command" + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done - func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)" - relink_command=$func_quote_arg_unquoted_result + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. @@ -10945,14 +10849,13 @@ elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_arg pretty,unquoted "$var_value" - relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" + func_quote_for_eval "$var_value" + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - func_quote_arg pretty,unquoted "$relink_command" - relink_command=$func_quote_arg_unquoted_result + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test yes = "$hardcode_automatic"; then relink_command= fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/build-cmake/CMakeLists.txt new/protobuf-c-1.3.2/build-cmake/CMakeLists.txt --- old/protobuf-c-1.3.1/build-cmake/CMakeLists.txt 2018-08-14 06:24:20.000000000 +0200 +++ new/protobuf-c-1.3.2/build-cmake/CMakeLists.txt 2019-06-24 07:08:05.000000000 +0200 @@ -1,6 +1,6 @@ SET(PACKAGE protobuf-c) SET(PACKAGE_NAME protobuf-c) -SET(PACKAGE_VERSION 1.3.1) +SET(PACKAGE_VERSION 1.3.2) CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/configure new/protobuf-c-1.3.2/configure --- old/protobuf-c-1.3.1/configure 2018-08-14 06:25:28.000000000 +0200 +++ new/protobuf-c-1.3.2/configure 2019-06-24 07:08:20.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for protobuf-c 1.3.1. +# Generated by GNU Autoconf 2.69 for protobuf-c 1.3.2. # # Report bugs to <https://github.com/protobuf-c/protobuf-c/issues>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='protobuf-c' PACKAGE_TARNAME='protobuf-c' -PACKAGE_VERSION='1.3.1' -PACKAGE_STRING='protobuf-c 1.3.1' +PACKAGE_VERSION='1.3.2' +PACKAGE_STRING='protobuf-c 1.3.2' PACKAGE_BUGREPORT='https://github.com/protobuf-c/protobuf-c/issues' PACKAGE_URL='https://github.com/protobuf-c/protobuf-c' @@ -1378,7 +1378,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures protobuf-c 1.3.1 to adapt to many kinds of systems. +\`configure' configures protobuf-c 1.3.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1449,7 +1449,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of protobuf-c 1.3.1:";; + short | recursive ) echo "Configuration of protobuf-c 1.3.2:";; esac cat <<\_ACEOF @@ -1582,7 +1582,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -protobuf-c configure 1.3.1 +protobuf-c configure 1.3.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2205,7 +2205,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by protobuf-c $as_me 1.3.1, which was +It was created by protobuf-c $as_me 1.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3072,7 +3072,7 @@ # Define the identity of the package. PACKAGE='protobuf-c' - VERSION='1.3.1' + VERSION='1.3.2' cat >>confdefs.h <<_ACEOF @@ -7623,11 +7623,8 @@ test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -9720,6 +9717,12 @@ lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -13662,7 +13665,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -14154,7 +14157,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -14219,7 +14222,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -14558,7 +14561,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -14642,7 +14645,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -14653,7 +14656,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' @@ -18856,7 +18859,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by protobuf-c $as_me 1.3.1, which was +This file was extended by protobuf-c $as_me 1.3.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18923,7 +18926,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -protobuf-c config.status 1.3.1 +protobuf-c config.status 1.3.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/configure.ac new/protobuf-c-1.3.2/configure.ac --- old/protobuf-c-1.3.1/configure.ac 2018-08-14 06:24:20.000000000 +0200 +++ new/protobuf-c-1.3.2/configure.ac 2019-06-24 07:08:05.000000000 +0200 @@ -1,7 +1,7 @@ AC_PREREQ(2.63) AC_INIT([protobuf-c], - [1.3.1], + [1.3.2], [https://github.com/protobuf-c/protobuf-c/issues], [protobuf-c], [https://github.com/protobuf-c/protobuf-c]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/m4/libtool.m4 new/protobuf-c-1.3.2/m4/libtool.m4 --- old/protobuf-c-1.3.1/m4/libtool.m4 2018-08-14 06:25:27.000000000 +0200 +++ new/protobuf-c-1.3.2/m4/libtool.m4 2019-06-24 07:08:18.000000000 +0200 @@ -4063,7 +4063,8 @@ if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -4703,6 +4704,12 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -6438,7 +6445,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -6813,7 +6820,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -6878,7 +6885,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -7217,7 +7224,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -7301,7 +7308,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -7312,7 +7319,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/protobuf-c/protobuf-c.c new/protobuf-c-1.3.2/protobuf-c/protobuf-c.c --- old/protobuf-c-1.3.1/protobuf-c/protobuf-c.c 2018-08-14 04:07:48.000000000 +0200 +++ new/protobuf-c-1.3.2/protobuf-c/protobuf-c.c 2019-06-24 06:36:20.000000000 +0200 @@ -2072,6 +2072,11 @@ unsigned shift = 4; unsigned rv; + /* 0 is not a valid tag value */ + if ((data[0] & 0xf8) == 0) { + return 0; + } + *wiretype_out = data[0] & 7; if ((data[0] & 0x80) == 0) { *tag_out = tag; @@ -2103,18 +2108,18 @@ const uint8_t *data; /**< Pointer to field data. */ }; -static inline uint32_t +static inline size_t scan_length_prefixed_data(size_t len, const uint8_t *data, size_t *prefix_len_out) { unsigned hdr_max = len < 5 ? len : 5; unsigned hdr_len; - uint32_t val = 0; + size_t val = 0; unsigned i; unsigned shift = 0; for (i = 0; i < hdr_max; i++) { - val |= (data[i] & 0x7f) << shift; + val |= ((size_t)data[i] & 0x7f) << shift; shift += 7; if ((data[i] & 0x80) == 0) break; @@ -2125,8 +2130,15 @@ } hdr_len = i + 1; *prefix_len_out = hdr_len; + if (val > INT_MAX) { + // Protobuf messages should always be less than 2 GiB in size. + // We also want to return early here so that hdr_len + val does + // not overflow on 32-bit systems. + PROTOBUF_C_UNPACK_ERROR("length prefix of %lu is too large", val); + return 0; + } if (hdr_len + val > len) { - PROTOBUF_C_UNPACK_ERROR("data too short after length-prefix of %u", val); + PROTOBUF_C_UNPACK_ERROR("data too short after length-prefix of %lu", val); return 0; } return hdr_len + val; @@ -2629,6 +2641,8 @@ /* If we have already parsed a member of this oneof, free it. */ if (*oneof_case != 0) { + const ProtobufCFieldDescriptor *old_field; + size_t el_size; /* lookup field */ int field_index = int_range_lookup(message->descriptor->n_field_ranges, @@ -2636,9 +2650,8 @@ *oneof_case); if (field_index < 0) return FALSE; - const ProtobufCFieldDescriptor *old_field = - message->descriptor->fields + field_index; - size_t el_size = sizeof_elt_in_repeated_array(old_field->type); + old_field = message->descriptor->fields + field_index; + el_size = sizeof_elt_in_repeated_array(old_field->type); switch (old_field->type) { case PROTOBUF_C_TYPE_STRING: { @@ -3415,6 +3428,13 @@ ProtobufCLabel label = f->label; void *field = STRUCT_MEMBER_P (message, f->offset); + if (f->flags & PROTOBUF_C_FIELD_FLAG_ONEOF) { + const uint32_t *oneof_case = STRUCT_MEMBER_P (message, f->quantifier_offset); + if (f->id != *oneof_case) { + continue; //Do not check if it is an unpopulated oneof member. + } + } + if (label == PROTOBUF_C_LABEL_REPEATED) { size_t *quantity = STRUCT_MEMBER_P (message, f->quantifier_offset); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/protobuf-c/protobuf-c.h new/protobuf-c-1.3.2/protobuf-c/protobuf-c.h --- old/protobuf-c-1.3.1/protobuf-c/protobuf-c.h 2018-08-14 06:24:20.000000000 +0200 +++ new/protobuf-c-1.3.2/protobuf-c/protobuf-c.h 2019-06-24 07:08:05.000000000 +0200 @@ -790,13 +790,13 @@ * The version of the protobuf-c headers, represented as a string using the same * format as protobuf_c_version(). */ -#define PROTOBUF_C_VERSION "1.3.1" +#define PROTOBUF_C_VERSION "1.3.2" /** * The version of the protobuf-c headers, represented as an integer using the * same format as protobuf_c_version_number(). */ -#define PROTOBUF_C_VERSION_NUMBER 1003001 +#define PROTOBUF_C_VERSION_NUMBER 1003002 /** * The minimum protoc-c version which works with the current version of the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/protoc-c/c_field.cc new/protobuf-c-1.3.2/protoc-c/c_field.cc --- old/protobuf-c-1.3.1/protoc-c/c_field.cc 2018-08-14 04:07:48.000000000 +0200 +++ new/protobuf-c-1.3.2/protoc-c/c_field.cc 2019-06-24 06:36:20.000000000 +0200 @@ -140,8 +140,14 @@ if (descriptor_->label() == FieldDescriptor::LABEL_REPEATED && is_packable_type (descriptor_->type()) - && descriptor_->options().packed()) + && descriptor_->options().packed()) { variables["flags"] += " | PROTOBUF_C_FIELD_FLAG_PACKED"; + } else if (descriptor_->label() == FieldDescriptor::LABEL_REPEATED + && is_packable_type (descriptor_->type()) + && FieldSyntax(descriptor_) == 3 + && !descriptor_->options().has_packed()) { + variables["flags"] += " | PROTOBUF_C_FIELD_FLAG_PACKED"; + } if (descriptor_->options().deprecated()) variables["flags"] += " | PROTOBUF_C_FIELD_FLAG_DEPRECATED"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/t/generated-code2/cxx-generate-packed-data.cc new/protobuf-c-1.3.2/t/generated-code2/cxx-generate-packed-data.cc --- old/protobuf-c-1.3.1/t/generated-code2/cxx-generate-packed-data.cc 2017-08-05 22:47:18.000000000 +0200 +++ new/protobuf-c-1.3.2/t/generated-code2/cxx-generate-packed-data.cc 2019-06-24 06:36:20.000000000 +0200 @@ -998,7 +998,7 @@ static void dump_test_unknown_fields (void) { EmptyMess mess; - const google::protobuf::Message::Reflection *reflection = mess.GetReflection(); + const google::protobuf::Reflection *reflection = mess.GetReflection(); google::protobuf::UnknownFieldSet *fs = reflection->MutableUnknownFields(&mess); #if GOOGLE_PROTOBUF_VERSION >= 2001000 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/t/generated-code2/test-generated-code2.c new/protobuf-c-1.3.2/t/generated-code2/test-generated-code2.c --- old/protobuf-c-1.3.1/t/generated-code2/test-generated-code2.c 2017-08-05 23:43:57.000000000 +0200 +++ new/protobuf-c-1.3.2/t/generated-code2/test-generated-code2.c 2019-06-24 06:36:20.000000000 +0200 @@ -964,6 +964,15 @@ DO_TEST (&submess, test_optional_submess_42); #undef DO_TEST } + +static void test_oneof_message_check(void) +{ + Foo__TestMessOneof msg = FOO__TEST_MESS_ONEOF__INIT; + msg.test_oneof_case = FOO__TEST_MESS_ONEOF__TEST_ONEOF_TEST_STRING; + msg.test_string = "Hello, world!"; + assert(protobuf_c_message_check((ProtobufCMessage *)&msg)); +} + static void test_oneof_merge (void) { Foo__TestMessOneof *msg; @@ -2260,6 +2269,7 @@ { "test oneof string", test_oneof_string }, { "test oneof bytes", test_oneof_bytes }, { "test oneof SubMess", test_oneof_SubMess }, + { "test oneof message check", test_oneof_message_check }, { "test merged oneof unpack", test_oneof_merge }, { "test empty repeated" ,test_empty_repeated }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/t/issue330/issue330.c new/protobuf-c-1.3.2/t/issue330/issue330.c --- old/protobuf-c-1.3.1/t/issue330/issue330.c 1970-01-01 01:00:00.000000000 +0100 +++ new/protobuf-c-1.3.2/t/issue330/issue330.c 2019-06-24 06:36:20.000000000 +0200 @@ -0,0 +1,25 @@ +#include <stdlib.h> +#include <string.h> + +#include "t/issue330/issue330.pb-c.h" + +int main(void) +{ + /* Output of $ echo acl_id: 2 acl_id: 3 | protoc issue330.proto \ + * --encode=pbr_route | xxd -i: 0x52, 0x02, 0x02, 0x03 + */ + uint8_t protoc[] = {0x52, 0x02, 0x02, 0x03}; + PbrRoute msg = PBR_ROUTE__INIT; + int ids[] = {2, 3}; + uint8_t buf[16] = {0}; + size_t sz = 0; + + msg.n_acl_id = 2; + msg.acl_id = ids; + sz = pbr_route__pack(&msg, buf); + + assert (sz == sizeof protoc); + assert (memcmp (protoc, buf, sz) == 0); + + return EXIT_SUCCESS; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/t/issue330/issue330.proto new/protobuf-c-1.3.2/t/issue330/issue330.proto --- old/protobuf-c-1.3.1/t/issue330/issue330.proto 1970-01-01 01:00:00.000000000 +0100 +++ new/protobuf-c-1.3.2/t/issue330/issue330.proto 2019-06-24 06:36:20.000000000 +0200 @@ -0,0 +1,5 @@ +syntax = "proto3"; + +message pbr_route { +repeated int32 acl_id = 10; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/t/issue375/issue375.c new/protobuf-c-1.3.2/t/issue375/issue375.c --- old/protobuf-c-1.3.1/t/issue375/issue375.c 1970-01-01 01:00:00.000000000 +0100 +++ new/protobuf-c-1.3.2/t/issue375/issue375.c 2019-06-24 06:36:20.000000000 +0200 @@ -0,0 +1,24 @@ +#include <assert.h> +#include <stdlib.h> + +#include "t/issue375/issue375.pb-c.h" + +int main(void) { + // This buffer represents some serialized bytes where we have a length + // delimiter of 2^32 - 1 bytes for a particular repeated int32 field. + // We want to make sure that parsing a length delimiter this large does + // not cause a problematic integer overflow. + uint8_t buffer[] = { + // Field 1 with wire type 2 (length-delimited) + 0x0a, + // Varint length delimiter: 2^32 - 1 + 0xff, 0xff, 0xff, 0xff, 0x0f, + }; + // The parser should detect that this message is malformed and return + // null. + Issue375__TestMessage* m = + issue375__test_message__unpack(NULL, sizeof(buffer), buffer); + assert(m == NULL); + + return EXIT_SUCCESS; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/protobuf-c-1.3.1/t/issue375/issue375.proto new/protobuf-c-1.3.2/t/issue375/issue375.proto --- old/protobuf-c-1.3.1/t/issue375/issue375.proto 1970-01-01 01:00:00.000000000 +0100 +++ new/protobuf-c-1.3.2/t/issue375/issue375.proto 2019-06-24 06:36:20.000000000 +0200 @@ -0,0 +1,7 @@ +syntax = "proto2"; + +package issue375; + +message TestMessage { + repeated int32 nums = 1; +}