Permalink
Commits on Nov 20, 2017
  1. Switch travis build to gcc 7 (from gcc 5)

    schwehr committed Nov 20, 2017
  2. Report an error if there are bits remaining at the end of a msg 16.

    schwehr committed Nov 20, 2017
    From ITU 1371-5 3.14: Message 16: Assigned mode command
    Number of bits 96 or 144
    
    Found by autofuzz
  3. Do not use -ffast-math.

    schwehr committed Nov 20, 2017
    It is a terrible idea for this type of library.  It can lead to bugs
    that are very hard to figure out.
  4. Force 6:1:0 to have enough bits.

    schwehr committed Nov 20, 2017
    By not checking the number of bits, the text_size underflowed.  The message decoder then tried to allocate a massive string.
    
    Found by autofuzz
  5. Improve num_bits and num_chars usage in AisBitset::ParseNmeaPayload.

    schwehr committed Nov 20, 2017
    Only call strlen one time.
    Only emit error message via cerr if LIBAIS_DEBUG is defined
  6. Restore CMake-default NDEBUG behaviour

    jamtho committed Nov 20, 2017
    CMake defines NDEBUG by default on Release builds. Forcing through a
    command line argument in this way also breaks non GCC-style compilers.
  7. Merge pull request #155 from patrislav1/master

    schwehr committed Nov 20, 2017
    Enable C++ build, fixed some offset problems in 6:1:3 and 6:1:4.
  8. Fix the size of cap_list and res list in 6:1:4

    schwehr committed Nov 20, 2017
    Spotted by @jamtho via #164
Commits on Nov 18, 2017
  1. Merge pull request #160 from jamtho/master

    schwehr committed Nov 18, 2017
    cmake install rules for native library
  2. Merge pull request #163 from VulcanTechnologies/ais615-spare

    schwehr committed Nov 18, 2017
    spare bits in Ais6_1_5 - Set spare2 in the ctor initializer_list
Commits on Nov 17, 2017
  1. Enable msg 6 tests and add tests for 6:1:5.

    schwehr authored and pyrog committed Nov 16, 2017
    Switched to use Google calling style with "const &instance" rather
    than "const *instance" for ValidateAis6_1_5.
    
    Tests #162
  2. fix spare data loading

    rutsky authored and pyrog committed Jun 27, 2016
    AisBitset::ToUnsignedInt() has explicit assert that length is not greater than 32.
  3. Fix AIS 8:200:24 EU River Information System Water level message

    schwehr committed Nov 17, 2017
    Bad behavior and crash reported in #162
    - Country was not set
    - All values for arrays were written only into the first element
    
    Some of these changes are in #165
  4. Add comments to ais.h

    pyrog committed Nov 17, 2017
Commits on Nov 16, 2017
  1. Enable msg 6 tests and add tests for 6:1:5.

    schwehr committed Nov 16, 2017
    Switched to use Google calling style with "const &instance" rather
    than "const *instance" for ValidateAis6_1_5.
    
    Tests #162
  2. Add DAC 200 FI 21 and FI 22

    pyrog committed Nov 16, 2017
    and comments
  3. Merge pull request #148 from rutsky/ais6_spare_loading_fix

    schwehr committed Nov 16, 2017
    fix spare data loading in message 6:1:5.  unsigned int can be at most 32 bits
Commits on Nov 6, 2017
  1. Consume spare bits 32 at a time.

    cchayden committed Nov 6, 2017
Commits on Oct 11, 2017
  1. Add cmake install rules for native library

    jamtho committed Oct 11, 2017
Commits on Nov 30, 2016
  1. Merge pull request #156 from rutsky/patch-1

    schwehr committed Nov 30, 2016
    fix typo in comment
Commits on Nov 21, 2016
  1. fix typo in comment

    rutsky committed Nov 21, 2016
Commits on Oct 13, 2016
  1. Fixed some offsets

    patrislav1 committed Oct 13, 2016
Commits on Sep 26, 2016
  1. Cleanup nmea_messages.py.

    schwehr committed Sep 26, 2016
    - Decode -> DecodeLine
    - Document nmea_messages
    - msg -> message for clarity
    - Add "Handle" to functions that handle indivitual NMEA messages.
      Allows introspection to find the handlers from __dict__.
    - Fix TXT message handling
    - Add many TODOs
    - Initialize HANDLERS in one place at the end.
      Count on tests to catch missing entries.
Commits on Sep 17, 2016
  1. fix spare data loading

    rutsky committed Jun 27, 2016
    AisBitset::ToUnsignedInt() has explicit assert that length is not greater than 32.
Commits on Sep 16, 2016
  1. msg -> message for clarity.

    schwehr committed Sep 16, 2016
    Reviewed by Hernan Moraldo at Google
Commits on Sep 13, 2016
  1. The iterated variable line in the list comprehension is not visible a…

    schwehr committed Sep 13, 2016
    …fterwards in python 3.
    
    self = <test.test_decode.AisTopLevelDecoders testMethod=testAll>
    E       NameError: name 'line' is not defined
  2. Switch pytest from packages to installing via pip

    schwehr committed Sep 13, 2016
    schwehr/libais#152
    
    Was installing as a package, but it was not being found:
    
    https://travis-ci.org/schwehr/libais/jobs/159673805
    
      sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install gcc-5 g++-5 python-pytest
      Package python-pytest is not available, but is referred to by another package.
      This may mean that the package is missing, has been obsoleted, or
      is only available from another source
      E: Package 'python-pytest' has no installation candidate
  3. Switch Travis-CI to Ubuntu 14.04 trusty

    schwehr committed Sep 13, 2016
    Builds were defaulting to 12.04 and getting a failure to find python-pytest
    
    schwehr/libais#152
  4. libais testing: Use doubles throughout when calculating position.

    schwehr committed Sep 13, 2016
    AisPosition is double, so do not use floats leading up to it.
    
    Also fix other floats such as sog and cog.
    
    Reviewers: Alex Wilson and Hernan Moraldo @ Google
    
    Working towards Windows Visual C++ builds: schwehr/libais#50
Commits on Aug 15, 2016
  1. Try to get github to see libais as open source.

    schwehr committed Aug 15, 2016
    curl -s -H "Accept: application/vnd.github.drax-preview+json" https://api.github.com/repos/schwehr/libais | grep -A 6 license
      "license": {
        "key": "other",
        "name": "Other",
        "spdx_id": null,
        "url": null,
        "featured": false
      },
    
    Text for license taken from http://www.apache.org/licenses/LICENSE-2.0