Giter Club home page Giter Club logo

cryptopals's People

Contributors

codacy-badger avatar mend-bolt-for-github[bot] avatar rneatherway avatar s0 avatar tanzislam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cryptopals's Issues

Travis SonarCloud plugin integration issues

The SonarCloud plugin is documented to not work on external pull requests, but it's worse than just that -- the plugin's utility scripts are actually not present during the run, causing a build failure on the pull request. (Example: #17.) Need to revert to a normal build during external pull requests (or perhaps all pull requests, if simpler), until the promised feature of scanning external pull requests appears.

On another note, the github_token property in .travis.yml is now deprecated. It was used for supplying the personal access token of the GitHub account to use for annotating internal pull requests, and can now be specified in

the “Administration > General Settings > Pull Requests” page of your project on SonarCloud

So need to remove that key and its documentation from the .travis.yml file, and the SONAR_GITHUB_TOKEN encrypted environment variable from Travis settings.

Migrate away from std::(i|o)strstream to boost::iostreams replacements

The std::istrstream and std::ostrstream classes are long-deprecated and will be removed in C++17. They have been used as an efficient mechanism to read/write a user-provided character array as a stream, without ownership semantics (i.e. don't assume a particular allocation method and leave deallocation to the user).

The recommended replacements for this use case are boost::iostreams::array_source and boost::iostreams::array_sink.

Integrate with TrustInSoft CI

This online analyzer used to be controlled by a checked-in config file (containing detailed build steps) or compile_commands.json file, which I had requested a programmatic-generation option for. The current documentation shows that request to have been implemented around end-of-August.

Crash inside AesEcbTest.DecryptsAesInEcbMode

weidai11/cryptopp@04dee2a467 added a dependency on:

and this seek-to-end behavior is unimplemented in our streambuf implementations. This started assertion failures in our CI.

I'm classing this as a Dependency Breakage rather than a Bug, because Crypto++ is expecting all input streams to implement seek-to-end behavior, which isn't mandated in the C++ standard.

Add test/coverage reports to SonarCloud/CodeClimate/Codacy

Google Test emits test execution reports in the JUnit XML format. SonarCloud (i.e. SonarCFamily not sonar-cxx), however, expects test execution reports in CppUnit's XML format which can be gleaned from the implementation. Need to convert somehow (perhaps XSLT) before calling sonar-scanner.

SonarCloud also supports importing coverage reports from gcov or llvm-cov. We'll need to use the latter if we use the macOS-specific workflow in our .travis.yml.

CodeClimate also supports importing coverage reports generated with gcov, but not llvm-cov.

Codacy also supports importing coverage reports from lcov, and this blog explains how to upload coverage data for unsupported languages like C++.

Update Wiki with Visual Studio 2017 instructions

Same as VS2015, except that when building the Boost libraries the toolset needs to be specified with the version, i.e. toolset=msvc-14.1.

The Wiki page also needs fine-tuning on the indentation of the bullet points.

macOS build job timeout

Build #572.2 started to time out on macOS. Some main time contributors compared to the prior successful job (that finished in 39 min 36 seconds):

  • brew update took 413.05 seconds compared to the prior 340.64 seconds -- increase of 1 min 12.41 seconds.
  • Installing Homebrew packages took 878.36 seconds compared to the prior 59.70 seconds -- an increase of 13 min 38.66 seconds.
  • The $shell ./prepare_deps step took 1282.83 seconds compared to the prior 1005.73 seconds -- an increase of over 4.5 minutes.
  • SonarCFamily plugin has updated to v6.18.0.29274 (which ran until the 50-minute job timeout) compared to the prior v6.17.0.27551 (which finished in 731.89 seconds including the compilation, or 9 min 45.143 seconds for just the analysis).

Other time contributors from the later stages of the prior successful job were:

  • Running the tests: 16.56 seconds
  • brew cleanup: 16.22 seconds
  • Store build cache: 167.16 seconds

So the new compile+analysis phase managed to run for:

50 min - (413.05 + 878.36 + 1282.83) seconds = 425.76 seconds ≈ 7 min 5.76 seconds

with the updated SonarCFamily plugin before timing out. Therefore the Homebrew package-installation needs to be looked at in more detail.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.