summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-06-06Clarify security model with regard to pointer _count fields.Petteri Aimonen1-2/+5
2016-06-06Protect against corrupted _count fields in pb_release().Petteri Aimonen1-0/+6
Fixes a potential security issue (#205). Only relevant if the user code writes untrusted data to _count fields, but this is allowed as per the security model.
2016-06-06Add testcase for issue #205Petteri Aimonen4-0/+38
2016-06-06Add static repeated submessage field to mem_release test case.Petteri Aimonen2-0/+3
Attempt at reproducing issue #204.
2016-05-25Small updates to docsPetteri Aimonen1-4/+5
2016-05-25Fix error in STATIC_ASSERT with multiple files (issue #203)Petteri Aimonen1-1/+1
The FieldMaxSize class was reusing the same list instance, causing problems when multiple files were specified on the protoc command line.
2016-05-25Add testcase for issue #203Petteri Aimonen4-1/+30
2016-05-05Merge pull request #201 from yanivmo/patch-1Petteri Aimonen1-0/+55
Added explanation of `oneof` section usage
2016-05-05Added explanation of `oneof` section usageYaniv Mordekhay1-0/+55
2016-03-10Fix formatting in docsPetteri Aimonen1-1/+1
2016-03-07Some more docs updatesPetteri Aimonen1-1/+11
2016-03-07Merge pull request #196 from mxk/api-refPetteri Aimonen1-38/+32
Update API reference to match headers
2016-03-07Update API reference to match headersMaxim Khitrov1-38/+32
Update typedefs and function prototypes in the API reference to match header files. Delete documentation for pb_skip_varint/pb_skip_string, which are superseded by pb_skip_field, and add pb_get_encoded_size.
2016-03-04Provide comments about uncalculable message sizes (issue #195)Petteri Aimonen4-1/+22
2016-02-20Merge pull request #194 from isotes/masterPetteri Aimonen1-0/+4
Generate MIN/MAX/ARRAYSIZE for enums
2016-02-20Merge pull request #193 from recursify/masterPetteri Aimonen1-7/+21
Add -D option to specify output directory
2016-02-19Generate MIN/MAX/ARRAYSIZE for enumsisotes1-0/+4
This generates #defines mirroring the following values from the generated C++ code of GPB * const Foo Foo_MIN: the smallest valid value of the enum (VALUE_A in the example). * const Foo Foo_MAX: the largest valid value of the enum (VALUE_C in the example). * const Foo Foo_ARRAYSIZE: always defined as Foo_MAX + 1.
2016-02-19Add -D option to specify output directoryKenshi Kawaguchi1-7/+21
2016-02-13Setting version to 0.3.6-devPetteri Aimonen2-2/+2
2016-02-13Publishing nanopb-0.3.5Petteri Aimonen4-4/+7
2016-02-07Update pb_release docsPetteri Aimonen1-2/+2
2016-02-06Update changelogPetteri Aimonen1-0/+12
2016-02-06Add code generator insertion points to files (#178).Petteri Aimonen1-0/+6
2016-01-27Fix a few remaining bugs related to CHAR_BIT!=8 platforms.Petteri Aimonen3-52/+65
2016-01-27Remove obsolete __BIG_ENDIAN__ compilation option.Petteri Aimonen2-8/+0
This is now handled automatically using shift operations.
2016-01-27Add note to migration docPetteri Aimonen1-0/+18
2016-01-27Replace uint8_t with a pb_byte_t typedef.Petteri Aimonen6-92/+111
This supports platforms where uint8_t does not exist. If you are using a custom pb_syshdr.h, this may require adding definitions for uint_least8_t etc.
2016-01-27Modify the int size STATIC_ASSERTS to work with CHAR_BITS!=8.Petteri Aimonen1-9/+3
This will still catch the most common bug of long int vs. long long int. The uint8_t checks do not seem necessary, test for this will be added in later commit.
2016-01-26Get rid of type punning in pb_encode_fixedXX().Petteri Aimonen2-54/+37
This was never very clean code, but it was fast. Hopefully compilers are smart enough to optimize it away, or the speed difference is not very large. This should be checked. However working code is always more important than fast code, and the previous way couldn't really work for platforms that do not have byte-sized memory access. Related to PR #191.
2015-12-16Merge pull request #190 from aeruder/masterPetteri Aimonen2-6/+14
pb_istream_from_buffer: add const to prototype
2015-12-16pb_istream_from_buffer: add const to prototypeAndrew Ruder2-6/+14
This commit changes the prototype for pb_istream_from_buffer from: pb_istream_t pb_istream_from_buffer(uint8_t *buf, size_t bufsize); to pb_istream_t pb_istream_from_buffer(const uint8_t *buf, size_t bufsize); This allows pb_istream_from_buffer users to point to const buffers without having to inspect code (to ensure practical const-ness) and then be forced to manually cast away const. In order to not break compatibility with existing programs (by introducing a const/non-const union in the pb_istream_t state) we simply cast away the const in pb_istream_from_buffer and re-apply it when possible in the callbacks. Unfortunately we lose any compiler help in the callbacks to ensure we are treating the buffer as const but manual inspection is easy enough.
2015-11-21Fix mistake in previous commitPetteri Aimonen1-1/+2
2015-11-20Fix generator crash with Enum inside Oneof (issue #188).Petteri Aimonen3-6/+45
Add testcase for the same.
2015-11-15Second fix for -pedantic build issue in testsPetteri Aimonen1-1/+2
2015-11-14Fix -Wno-pedantic on old GCCPetteri Aimonen1-1/+1
2015-11-14Add testcase for anonymous unions + few fixes.Petteri Aimonen5-7/+153
Fixes compilation error with anonymous unions when it is not the last field in message. Also fixes extraneous newlines in header file. Cleanup the pb.h extraneous use of ##.
2015-11-10Add option to allow for anonymous unionsBenjamin Kamath3-4/+35
2015-10-25Ignore null pointers in pb_release() (issue #183).Petteri Aimonen1-0/+3
2015-10-24Add contributing.md to provide issue templates on githubPetteri Aimonen1-0/+32
2015-10-17Merge pull request #181 from kylemanna/cmakePetteri Aimonen2-13/+31
Cmake updates
2015-10-15examples: cmake_simple: Use auto discovered pathKyle Manna1-2/+1
* No need to specify the src path and the module path. Let cmake do it.
2015-10-15cmake: Auto discover NANOPB_SRC_ROOT_FOLDERKyle Manna1-4/+6
* Use CMAKE_CURRENT_LIST_DIR to learn the path of the currently running file to determine location of NanoPB. * Simplifies use in other projects.
2015-10-15cmake: Build generator files in build directoryKyle Manna1-7/+24
Treat the source directory as immutable. Copy the generator directory which previously generated files in-tree to the build directory and then generate files. Many emerging continuous integration build systems test builds across multiple versions of dependencies protobuf and python versions in particular. The previous source tree builds resulted in stale files from the last build breaking the current build. By placing the build files in the build directory, the build system automatically removes stale files (removes output build directory) and regenerates them as necessary.
2015-10-08Merge pull request #176 from kylemanna/whitespacePetteri Aimonen1-137/+137
generator: Remove trailing whitespace
2015-10-07generator: Remove trailing whitespaceKyle Manna1-137/+137
* Remove trailing whitespace * No functional changes
2015-10-05Fix regression in generating message size defines (issue #172).Petteri Aimonen6-9/+45
This bug was triggered when: 1. A .proto file included another .proto from a different directory. 2. The another .proto has an associated .options file. Added regression test for the same.
2015-10-05Add random message generator to help with fuzz testingPetteri Aimonen2-0/+105
2015-10-01Fix bug in fuzzstub.Petteri Aimonen1-1/+1
The fread call always returned a message length of 1 byte, making the fuzz stub used for external fuzzers useless. The normal fuzztest.c was unaffected. Bug found using afl-fuzz.
2015-09-26Fix list formatting in readmePetteri Aimonen1-2/+2
2015-09-26Add documentation link to readmePetteri Aimonen1-1/+2