Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

Merge branch 'development' into coverity_scan #181

Merged
merged 61 commits into from May 23, 2016

Conversation

anonimal
Copy link
Collaborator

By submitting this pull request, I confirm the following:

  • I have read and understood the contributor guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used and that this pull request may be closed by the will of the maintainer.
  • I give this submission freely and claim no ownership to its content.

Place an X inside the bracket to confirm

  • I confirm.

anonimal and others added 30 commits February 17, 2016 10:57
* 8eb187f broke the fix (my apologies to fluffypony).
* As notified by backup@mail.i2p (0xEBBDF1C7) who is
  I2P's official reseed-list maintainer
d523405 Reseed: add zmx's SU3/TLS cert, update reseed list (anonimal)
36af71d CMake: revert 8eb187f (OSX brew OpenSSL fix). (anonimal)
* Swapout CLI arg switches (from -- to -)
013a025 License/Docs: link C4 to upstream in markup. (anonimal)
511215e License/Docs: remove dangerous port-usage example. (anonimal)
e959533 License/Docs: minor style update for BUILDING.md. (anonimal)
c1cf8d1 License/Docs: add Governance Process. (anonimal)
9ba769b License/Docs: update/cleanup documentation. (anonimal)
51dcb23 License/Docs: implement 0MQ 22/C4.1 + revise docs. (anonimal)
5dc950f License/Docs: minor revisions to license. (anonimal)
* Reflect in code/docs/CMake
* Now uses environment's default locale
* Codepage is now UTF-8
* Minor updates to README.md/FAQ.md
e350366 Documentation: add contact info to FAQ.md (anonimal)
d207188 Win32: remove Russian locale and codepage. (anonimal)
ce616d2 Doxygen: move output to doc/Doxygen + update docs. (anonimal)
b8a56ef CMake: remove ghost client directory for Doxygen. (anonimal)
a4567ee CMake: update source directories for Doxygen. (anonimal)
c089b0e Filesystem: tunnels.cfg is now tunnels.conf (anonimal)
a4aa27a Filesystem: move ./resources/* into KOVRI_DATA_DIR (anonimal)
ab35c35 CMake: remove erroneous addition to KOVRI_DATA_DIR (anonimal)
* Minor cleanup + clarifications + remove any redundancies.
e48fcff GitHub: update issue/PR templates. Refs monero-project#143. (anonimal)
01c88db GitHub: create issue/PR templates. Resolves monero-project#143. (anonimal)
6af88ab Documentation: fix repeated step number in 828314e (anonimal)
828314e Documentation: cleanup before Satoshi Roundtable. (anonimal)
df46814 updated readme to enhance attribution (Riccardo Spagni)
* C++11 (minimum) refactor
* Create/rewrite appropriate classes
  - Improve class Reseed
  - Create classes SU3, ZIP, X509, and HTTP
  - Refactoring: move the mess of local variables into a POD type
  - Use spec-identifiable constants instead of raw numbers
  - Move class ZIP to core/util/ZIP.{h,cpp}
  - Move class X509 to core/crypto/X509.{h,cpp}
* Design rewrite
  - Create better reseed abstraction
    - See constructors, design, and interface of class
      Reseed/SU3/ZIP/X509
  - Separate parsing:
    - Class SU3 parsing from X.509/signature parsing and from class ZIP
      parsing
  - Rewrite/refactor related class NetDb code
  - Refactor: get rid of -1 return values, use bool and adjust related
    code
* Create/implement stream abstraction
  - Stream wrapper for strongly-typed classes
* Abstract CryptoPP from class ZIP and class X509
  - Pimpl ZIP decompression
  - Pimpl X.509 and separate cert processing from decoding
  - Ensure uncaught exceptions are caught
  - Cleanup pimpl-related directory structure
* Feature: manual reseed: create/implement an overloaded --reseed-from
  run-time switch
  - Handles reseeding from file
  - Handles reseeding from specified URL
* Feature: create/implement --reseed-skip-ssl-check run-time switch
  - Allows connecting to servers with certificates not shipped with
    Kovri (such as a local server)
  - Users can still put their self-signed cert in
    KOVRI_DATA_DIR/certificates/su3
    and skip this switch if desired
* HTTP: minor design refactor to accommodate new class Reseed design
  - Download function stores results in member stream, returns bool
  - HTTP response is stored in member variable
  - Logic design refactor to fix erroneous error response and help with
    debugging
* Spec review
  - Ensure that SU3 implementation meets requirements and provides a
    minimal interface to implement future content-types and/or specifications
    (ex. for auto-update or news feed)
  - Ensure that ZIP meets minimum requirements for our use-case
* Create secure sanity checks
* Create unit tests (referencing #7)
  - Tests for class SU3, ZIP, and X509
  - Cleanup unit-test directory structure and rename appropriate files
  - Adjust CMake accordingly
* Document code
  - Extensive documentation where possible
* Resolve any preexisting TODO's
* General improvements and rewrites
8d63e4d Reseed: rewrite implementation. Resolves monero-project#149. (anonimal)
8c61f5d Reseed: append null byte to compressed payloads. (anonimal)
* Add 2nd manas.ca server
* Remove (domain deleted, owner vanished):
  - https://i2pseed.zarrenspry.info
  - i2pseed.zarrenspry.info.crt
  - cheezybudz_at_mail.i2p.crt
* Remove (closed his reseed server):
  - j_at_torontocrypto.org.crt
  - Note: https://www.torontocrypto.org:8443/
    was not in our list because of SNI
0ee1d44 SSUSession: document SSU payload types. Refactor. (anonimal)
d649e8a SSUSession: fill padding in SendSessionConfirmed. (anonimal)
e39ed38 Reseed: add a TODO and revise another TODO. (anonimal)
00a3c1c Reseed: update server list + certs. (anonimal)
90fcced Cleanup: minor corrections to monero-project#162. (anonimal)
292ee95 Documentation: cleanup language and punctuation. (anonimal)
7d6a995 Documentation: cleanup style guide. (anonimal)
a2ab096 Doxygen: cleanup missing parameters, update CMake. (anonimal)
607e898 Version: bump to .25. Add pre-alpha. Closes monero-project#161. (anonimal)
* Redesign/refactor: the previous design was unnecessary in terms of
  organization and the logic was askew. Rewrite with maintainability in mind
* Within the realm of Signature and ElGamal, refactor out the unfinished
  cryptopp
* Finish the unfinished RNG-related refactor:
  - Swapout appropriate CryptoPP with Rand*-related calls
  - Creation of class DiffieHellman
  - Moving of CryptoConst into pimpl directory
* Cleanup related files that still call cryptopp
* C++11/style guideline refactor for touched files
* Add Crypto++ CMake build option + related pimpl src dir handling
* Various cleanups + add documentation
09febe4 Crypto: add missing Ed25519 header. Fixes build. (anonimal)
5beae18 Crypto: rewrite preexisting refactor. Fixes monero-project#164. (anonimal)
In addition to the refactor:
* Separate crypto by use-case
  - Crypto that's essential to core I2P network functionality stays in
    ./crypto
  - Crypto that's not essential to core I2P network functionality goes
    into ./crypto/util
  - Library implementations go into ./crypto/pimpl
  - Name/Re-name appropriate files
* Rewrite token generation implementation for I2PControl
* Minor design refactor of monero-project#170
* Minor guideline refactoring
* Adjust related CMake
* Add documentation
2408707 Crypto: finish pimpl refactor. Resolves monero-project#57. (anonimal)
637b9a9 Crypto: implement runtime AES-NI. Resolves monero-project#73. (anonimal)
* LogPrint() now prepends class or filename to messages in an effort to
  aid in overall readability and debugging.
* Cleanup/clarify message content.
* Misc. minor refactoring where needed.
* Drop support for clang, add minimum gcc 5.3.0
* Remove claim for MSVC support. Resolves monero-project#38.
* Add C++14 minimum requirement. Refs monero-project#158.
* Update Travis CI.
* Minor cleanup of BUILDING.md
ba92ee0 Travis: fix previously-made yaml error. (anonimal)
41347f0 Travis: attempt fix for GCC 5 installation. (anonimal)
48d2bb0 Docs: add notes about Clang/OSX/BSD support. (anonimal)
4ed1af4 Build: update requirements/instructions. (anonimal)
2b9a369 ZIP: add missing header (I2PEndian.h) (anonimal)
4436f08 UPnP: fix typos that broke build. (anonimal)
243bb25 LogPrint: enhance reporting by prepending class. (anonimal)
@anonimal anonimal merged commit 87ab3bd into monero-project:coverity_scan May 23, 2016
anonimal added a commit that referenced this pull request May 23, 2016
a7e8c0e README: Add help options to quickstart. (anonimal)
9b6c58a README/FAQ: Update donation/FFS info. Resolves #43. (anonimal)
068ac04 README: Add Coverity status badge. (anonimal)
eb4ff3f Travis: update Coverity token/build command. (anonimal)
ba92ee0 Travis: fix previously-made yaml error. (anonimal)
41347f0 Travis: attempt fix for GCC 5 installation. (anonimal)
48d2bb0 Docs: add notes about Clang/OSX/BSD support. (anonimal)
4ed1af4 Build: update requirements/instructions. (anonimal)
2b9a369 ZIP: add missing header (I2PEndian.h) (anonimal)
4436f08 UPnP: fix typos that broke build. (anonimal)
243bb25 LogPrint: enhance reporting by prepending class. (anonimal)
637b9a9 Crypto: implement runtime AES-NI. Resolves #73. (anonimal)
2408707 Crypto: finish pimpl refactor. Resolves #57. (anonimal)
09febe4 Crypto: add missing Ed25519 header. Fixes build. (anonimal)
5beae18 Crypto: rewrite preexisting refactor. Fixes #164. (anonimal)
607e898 Version: bump to .25. Add pre-alpha. Closes #161. (anonimal)
e39ed38 Reseed: add a TODO and revise another TODO. (anonimal)
00a3c1c Reseed: update server list + certs. (anonimal)
90fcced Cleanup: minor corrections to #162. (anonimal)
292ee95 Documentation: cleanup language and punctuation. (anonimal)
7d6a995 Documentation: cleanup style guide. (anonimal)
a2ab096 Doxygen: cleanup missing parameters, update CMake. (anonimal)
0ee1d44 SSUSession: document SSU payload types. Refactor. (anonimal)
d649e8a SSUSession: fill padding in SendSessionConfirmed. (anonimal)
8d63e4d Reseed: rewrite implementation. Resolves #149. (anonimal)
8c61f5d Reseed: append null byte to compressed payloads. (anonimal)
df46814 updated readme to enhance attribution (Riccardo Spagni)
6af88ab Documentation: fix repeated step number in 828314e (anonimal)
828314e Documentation: cleanup before Satoshi Roundtable. (anonimal)
e48fcff GitHub: update issue/PR templates. Refs #143. (anonimal)
01c88db GitHub: create issue/PR templates. Resolves #143. (anonimal)
e350366 Documentation: add contact info to FAQ.md (anonimal)
d207188 Win32: remove Russian locale and codepage. (anonimal)
ce616d2 Doxygen: move output to doc/Doxygen + update docs. (anonimal)
b8a56ef CMake: remove ghost client directory for Doxygen. (anonimal)
a4567ee CMake: update source directories for Doxygen. (anonimal)
c089b0e Filesystem: tunnels.cfg is now tunnels.conf (anonimal)
a4aa27a Filesystem: move ./resources/* into KOVRI_DATA_DIR (anonimal)
ab35c35 CMake: remove erroneous addition to KOVRI_DATA_DIR (anonimal)
013a025 License/Docs: link C4 to upstream in markup. (anonimal)
511215e License/Docs: remove dangerous port-usage example. (anonimal)
e959533 License/Docs: minor style update for BUILDING.md. (anonimal)
c1cf8d1 License/Docs: add Governance Process. (anonimal)
9ba769b License/Docs: update/cleanup documentation. (anonimal)
d523405 Reseed: add zmx's SU3/TLS cert, update reseed list (anonimal)
36af71d CMake: revert 8eb187f (OSX brew OpenSSL fix). (anonimal)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants