Commit Graph

5229 Commits

Author SHA1 Message Date
Daniel J. Hofmann e050f15cf8 Provide correct Base64 implementation.
Phew, this was painful. Turns out most hints out there on how to use the
Boost serialization iterators are wrong. Here's why:

    transform_width<6, 8>

needs an input stream of length: common multiple of 6 and 8.

That is, the padding needs to happen _before_ using the provided
iterators, otherwise the behavior is undefined!

See: http://www.boost.org/doc/libs/1_60_0/boost/archive/iterators/transform_width.hpp

Thanks @mokob for pointing that out to me!

We also need to manually add as many padding chars "=" to the encoded
result as many bytes we had to append to the input to conform to the
rule above.

Decoding then knows the number of padding chars by counting for "=" and
then using it in order to split off the last bytes from the decoded
result.
2016-03-31 18:58:52 +02:00
Daniel J. Hofmann 0acf7f7400 Adds round trip tests for RFC 4648 Test Vectors and equality checks 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann 9abfb7ea3b Makes hint Equatable and Printable for tests 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann 8a4551500d Make Hint encoding safe for passing them as GET parameter in URLs
Thanks @TheMarex for flagging this!
2016-03-31 18:58:52 +02:00
Daniel J. Hofmann d0c534e5fa Completely re-write base64 logic, make API suck less in doing so 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann 822bb97a5f RFC 4648 Test Vectors 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann 6cd3b8bc00 Object Encoder -> Base64, kill false dependencies while doing so 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann a145520b5b Adapts Hint encoding and decoding to new fixed data facade 2016-03-31 18:58:52 +02:00
Daniel J. Hofmann 3d75d15361 Formats parameter parser unit tests 2016-03-31 18:58:52 +02:00
Patrick Niklaus 8dd3fe3173 Fix hint size 2016-03-31 18:58:52 +02:00
Patrick Niklaus 0bb1b04170 Always safe the absolute path to .fileIndex 2016-03-31 18:58:52 +02:00
Patrick Niklaus 11629e0538 Install storage_config.hpp 2016-03-31 18:58:52 +02:00
Aleksei Potov 6462ea14a2 compilation error on debian jessie with boost 1.54 2016-03-31 18:58:52 +02:00
Daniel Patterson 993c4796c1 Fix boost geometry constructor.
Versions older than 1.58 don't support the initializer-list form.
2016-03-31 18:58:52 +02:00
Moritz Kobitzsch b11d3ad1ba syncronize geometry and steps after post-processing 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch 9681d662cb added list of intersections to the step-maneuver, not in api so far 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch 6a5ffc126a fix initial maneuvers 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch 7bf2cb1917 post processing moved onto route-steps, looses sync with geometry segments 2016-03-31 18:58:52 +02:00
Patrick Niklaus 2b0a1bbb63 Simplify the timestamp handling 2016-03-31 18:58:52 +02:00
Patrick Niklaus 31297d1c9f Check all streams 2016-03-31 18:58:52 +02:00
Patrick Niklaus 4e854399b6 std::string -> boost::filesystem::path 2016-03-31 18:58:52 +02:00
Patrick Niklaus 17adeaf3e2 Only allow to specify the common base path 2016-03-31 18:58:52 +02:00
Patrick Niklaus cf92e52b86 print -> io.write 2016-03-31 18:58:52 +02:00
Patrick Niklaus 250acf6a2a Address PR comments
Renamed lua_function_exists and removes unused print function
2016-03-31 18:58:52 +02:00
Patrick Niklaus 49c852917f Use uturn default from .properties file 2016-03-31 18:58:52 +02:00
Patrick Niklaus 3467696f8a Adds .properties file to osrm-extract ouput
This file contains global properties set by the lua
profile, such as enabling uturns at vias and penalties.
This file will be consumed by the server.
2016-03-31 18:58:52 +02:00
Patrick Niklaus a6a4fb0d49 Use global uturns parameter.
Instead of previously per-via settings like uturns=true;false;true;; it
now only supports a global setting uturns=true.
2016-03-31 18:58:52 +02:00
Moritz Kobitzsch d3888942e8 improves consistency of fork handling 2016-03-31 18:58:52 +02:00
Patrick Niklaus 1f853385d5 Make gcc 4.8 happy and disable protected because of lambdas 2016-03-31 18:58:52 +02:00
Daniel Patterson 08e56956d6 Properly clip lines so that we don't get crazy coords with long linestrings (relative to tile coords) 2016-03-31 18:58:52 +02:00
Daniel Patterson fc027417d8 Include edge duration information. 2016-03-31 18:58:52 +02:00
Patrick Niklaus f07da00dfe Implement viewport code to fix simplification
This fixes #2083
2016-03-31 18:58:52 +02:00
Patrick Niklaus 5bd874aab6 Add tests for coordinate transformation 2016-03-31 18:58:52 +02:00
Patrick Niklaus 6904851eb6 Consolidate math functions 2016-03-31 18:58:52 +02:00
Patrick Niklaus 6d70e1d47d get_name_for_id -> GetNameForID 2016-03-31 18:58:52 +02:00
Patrick Niklaus 7a55b46848 Simplfy name change announcement 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch 989b374d86 fix division by zero 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch 9034d0c521 restructured to only return valid turns to the outside + cleanup 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch 064eb8bca7 less new names, forks consider road classes, api clean-up 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch b63f3cc247 implement basic turn handling 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch 4f1503c4a1 implements relative position feature based on coordinates 2016-03-31 18:58:52 +02:00
Patrick Niklaus 64ace032f6 Don't sum up durations of merged steps since we do that in a different place now 2016-03-31 18:58:52 +02:00
Patrick Niklaus 2d4fc9a0b7 Fix foward/backwad swap 2016-03-31 18:58:52 +02:00
Patrick Niklaus 0c4cb9fb1b Limit zoomlevel to 18 2016-03-31 18:58:52 +02:00
Patrick Niklaus d2bd2c7ec6 Fix shared memory 2016-03-31 18:58:52 +02:00
Patrick Niklaus 10f8bf53b4 Fixup for last commit 2016-03-31 18:58:52 +02:00
Daniel Patterson 3058135f55 Enables the use of multiple segment-speed-files on the osrm-contract
command line, and exposes the file name used for each edge in the debug
tiles.
2016-03-31 18:58:52 +02:00
Patrick Niklaus ba00871793 Fix ingestion fixed duration values from UnpackPath 2016-03-31 18:58:52 +02:00
Patrick Niklaus bd66ba9eee Fix durations in UnpackPath 2016-03-31 18:58:52 +02:00
Moritz Kobitzsch dacd3b4833 fixes a broken assertion 2016-03-31 18:58:52 +02:00