0
0
mirror of https://github.com/monero-project/kovri synced 2025-10-06 00:32:51 +02:00

4298 Commits

Author SHA1 Message Date
anonimal
a5f2a1cb12 HTTPResponse: refactor response setter
Use trivially destructible static type, cleanup remaining impl.

Referencing #938.
2018-07-03 01:19:49 +00:00
anonimal
f4952ce4b6 Client: do not fully qualify HTTP error codes
Referencing #938.
2018-07-03 01:19:46 +00:00
anonimal
baea32ae43 HTTPResponse: move definitions into impl file
Referencing #938.
2018-07-03 01:18:57 +00:00
anonimal
18b35268aa RouterInfo: don't throw when RI fails sig verify
Sanely, we would want to throw here but doing so will stop the router
instead of allowing the RI to become updated.

Referencing #917
2018-07-02 23:33:25 +00:00
anonimal
ed041ea676 RouterInfo: remove unnecessary null buffer check
Buffer is always at least zero initialized.

Referencing #917
2018-07-02 23:33:25 +00:00
anonimal
e89e992de9 RouterInfo: Verify: remove auto for data pointer
Unclear contract (and auto* may as well be uint8_t*).

Referencing #917
2018-07-02 23:32:29 +00:00
anonimal
580a5b82b4 Tests: cleanup RI test comments
Referencing #917
2018-07-02 23:31:35 +00:00
oneiric
5143e0443f Tests: HTTPProxy: error response unit-test
Referencing #938
2018-07-02 23:22:36 +00:00
oneiric
0492c6005c HTTPProxy: refactor error response class and usage
Improve the utility of the HTTPResponse class.
Add error response getter & setter to the HTTPMessage class.

Referencing #938
2018-07-02 23:21:56 +00:00
oneiric
167502bc1d HTTPProxy: improve unavailable service error
Provide a more detailed and accurate error message explaining why a
service may be unavailable.

Resolves #936 & Referencing #938
2018-07-02 23:21:56 +00:00
el00ruobuob
6cb8b7c63a Update Readme with French link 2018-07-02 23:34:52 +02:00
anonimal
485cbc5be9 Merge pull request #925
fb4ac97e Testnet: workaround for stats collector logs (oneiric)
11979f3a Testnet: add eval for sequence bash variable (oneiric)
771c1414 Testnet: install InfluxDB admin panel (oneiric)
62704d9f Testnet: detect monitoring containers (oneiric)
76fa304b Testnet: enable monitoring by default (oneiric)
e71f276c Testnet: use print with parens for Grafana API key (oneiric)
2125eea5 Testnet: support Arch container dynamic builds (oneiric)
26ce47b8 Testnet: set container uid to Docker host user (oneiric)
2018-07-02 21:33:19 +00:00
anonimal
7bdfcc9173 Merge pull request #934
f6e401a5 CMake: fix the MinGW-w64 static build (anonimal)
2018-07-02 21:02:03 +00:00
oneiric
8927764369 Tests: AddressBookStorage load & save unit-tests
Referencing #914
2018-07-02 20:48:59 +00:00
oneiric
9070dc3cfb AddressBook: create multi-subscription address map
Refactor internal address map with subscription type for where to
load/save addresses.

Referencing #914
2018-07-02 20:48:59 +00:00
oneiric
fb4ac97e02 Testnet: workaround for stats collector logs
Disable file logs, color console logging, and redirect stderr to stdout.

Credit to MoroccanMalinois.

Referencing #925
2018-07-02 20:39:49 +00:00
oneiric
11979f3a2e Testnet: add eval for sequence bash variable
Credit to MoroccanMalinois.

Referencing #925
2018-07-02 20:39:22 +00:00
oneiric
771c14144c Testnet: install InfluxDB admin panel
Install panel to view and kill currently running queries.

Referencing #925
2018-07-02 20:39:10 +00:00
oneiric
62704d9f52 Testnet: detect monitoring containers
Helper function to detect if monitoring containers exist.

Referencing #925
2018-07-02 20:39:04 +00:00
oneiric
76fa304b3d Testnet: enable monitoring by default
Enable graphical monitoring by default, and add I2PControl to testnet
instances.

Credit to MoroccanMalinois for enabling I2PControl.

Referencing #925
2018-07-02 20:38:23 +00:00
oneiric
e71f276c3f Testnet: use print with parens for Grafana API key
Print with parentheses is valid for Python2/3, without parentheses is
broken in Python3.

Referencing #925
2018-07-02 20:38:03 +00:00
oneiric
2125eea570 Testnet: support Arch container dynamic builds
Arch doesn't support building OpenSSL statically (needed for cpp-netlib).

Credit to anonimal for correction about OpenSSL dependency.

Referencing #925
2018-07-02 20:37:13 +00:00
oneiric
26ce47b8c5 Testnet: set container uid to Docker host user
Ensure container user has same UID as Docker host user.

Referencing #925
2018-07-02 20:36:52 +00:00
oneiric
e850f5743c Tests: RouterInfo signature unit-tests
Referencing #627 + #917
2018-07-02 20:30:09 +00:00
oneiric
fcee141669 RouterInfo: verify signed router
Verify that a router has a valid signature.

Referencing #627 + #917
2018-07-02 20:30:09 +00:00
oneiric
07393363cf RouterInfo: sign during router creation
Sign, and append the signature, during RouterInfo creation.

Referencing #627 + #917
2018-07-02 20:30:09 +00:00
anonimal
5ebde46c19 Merge pull request #935
1cd37978 Tests: NetDb: update parameters when adding RI (anonimal)
2018-07-02 19:55:04 +00:00
anonimal
21d42bee59 Merge pull request #937
88133670 Socks: Catch a potential exception in destructor. (Tadeas Moravec)
2018-07-02 19:47:23 +00:00
anonimal
d87ca786d7 Merge pull request #912
9eec14a1 Router: Remove invalid delete (Tadeas Moravec)
15bc9ef1 Router: Fix lock in managing tunnels. (Tadeas Moravec)
2018-07-02 19:45:04 +00:00
anonimal
cad79e018b Merge pull request #928
ef58f80c Contrib: Add tmoravec's PGP key (Tadeas Moravec)
2018-07-02 19:42:36 +00:00
Tadeas Moravec
8813367037 Socks: Catch a potential exception in destructor.
shared_from_this() can throw std::bad_weak_ptr if called on an
object that has never been shared in a shared_ptr. Throwing an exception
in a destructor crashes the program.

Not using SOCKSHandler with shared pointers is a serious bug and
the program probably should crash, but in a more controlled manner and
with an error message.

But in mainly silences Coverity #175240.

Same situation as in PR #923 . I just haven't noticed that while working on
that one.

Signed-off-by: Tadeas Moravec <moravec.tadeas@gmail.com>
2018-06-30 21:42:15 +02:00
Tadeas Moravec
9eec14a165 Router: Remove invalid delete
Variable tmp pointed to the now-deleted TransitTunnel. The variable
was not needed anyway.

Rebased for PR #912

Signed-off-by: Tadeas Moravec <moravec.tadeas@gmail.com>
2018-06-30 20:38:47 +02:00
Tadeas Moravec
15bc9ef1e0 Router: Fix lock in managing tunnels.
There are two problems with the position of m_TransitTunnelsMutex:

1. Value of `it` might change between the condition
   `it->second->GetCreationTime() + TUNNEL_EXPIRATION_TIMEOUT` and
   erasing `it` from m_TransitTunnels

   Hence we need a lock around the whole condition.

2. But the content of m_TransitTunnels might change during the cycle.
   If ManageTransitTunnels runs twice in parallel, a tunnel can get
   deleted in one loop, but be accessed in the other one.

   Hence we need a lock around the whole cycle.

As a bonus, making the timestamp constant.

Coverity #151155

Rebased for PR #912

Signed-off-by: Tadeas Moravec <moravec.tadeas@gmail.com>
2018-06-30 20:38:09 +02:00
Tadeas Moravec
ef58f80c07 Contrib: Add tmoravec's PGP key
Yet another attempt to really sign the commit.

PR #928.

Signed-off-by: Tadeas Moravec <moravec.tadeas@gmail.com>
2018-06-30 20:14:28 +02:00
oneiric
c9e89027fa Merge pull request #1 from anonimal/0.9.32
Core: handle intro exp + revert RI unknown trait handling + finish resolutions for prop 141
2018-06-30 04:41:34 +00:00
anonimal
1cd37978f8 Tests: NetDb: update parameters when adding RI
Was not rebased after the buffer refactor in #926
2018-06-30 04:31:01 +00:00
anonimal
ec3fede66e Merge pull request #926
c175fbff RouterInfo: buffer refactor (anonimal)
695c9117 Tests: create buffer utility class unit-test (anonimal)
5e2897c3 Core: create buffer utility class (anonimal)
2018-06-30 04:04:49 +00:00
anonimal
f6e401a5a6 CMake: fix the MinGW-w64 static build
Credit to iDunk. Referencing monero-project/meta#238
2018-06-30 04:02:01 +00:00
anonimal
b1a2fcac50 Kovri: bump I2P router version to 0.9.35
Resolves #433
2018-06-30 02:44:53 +00:00
anonimal
d13064ee93 Transports: remove NTCP resolver per prop 141
Referencing #686 #931
2018-06-30 01:00:25 +00:00
anonimal
ab04b92e2c RouterInfo: remove deprecation when parsing host
Referencing #686 #931
2018-06-30 01:00:13 +00:00
anonimal
c05c544fff RouterInfo: handle intro expiration, don't save RIs with unknown traits
Prevents malicious RIs from spamming invalid traits (or traits which we
don't support).

Referencing #931
2018-06-29 22:19:28 +00:00
oneiric
daece38875 Kovri: set I2P router version to 0.9.32 2018-06-29 19:06:39 +00:00
oneiric
7c5e3e6e8f RouterInfo: ignore addresses with unresolved hosts
Part of bumping to router version 0.9.32.

Referencing #686
2018-06-29 19:06:39 +00:00
oneiric
2354e9d17f RouterInfo: add TODO for introducer expiration
Optional implementation for router version 0.9.30.
Avoid rejecting valid addresses with unimplemented introducer options.
2018-06-29 18:31:55 +00:00
anonimal
c6a96babaa Merge pull request #910
e9d2bf47 Tests: patches NetDb closest router unit-tests (oneiric)
32ebf5dc NetDb: adds const-correctness + default params (oneiric)
4ea811cb Test: NetDb get closest routers unit-tests (oneiric)
06d4f0b5 NetDb: catch exceptions getting closest routers (oneiric)
bbdf271c Exception: make Dispatch const-correct (oneiric)
eca11283 NetDb: add lock in getting closest non-floodfill (oneiric)
57332bb0 NetDb: exclude routers before sorting them (oneiric)
2018-06-29 06:49:08 +00:00
anonimal
c175fbff36 RouterInfo: buffer refactor 2018-06-29 03:20:09 +00:00
anonimal
695c9117cb Tests: create buffer utility class unit-test
Referencing #926
2018-06-29 03:20:06 +00:00
anonimal
1f867e8f60 Merge pull request #927
50eaee07 utils/main: catch all exceptions in main() (Tadeas Moravec)
2018-06-28 22:44:57 +00:00
anonimal
8f1155f8d9 Merge pull request #924
3a300640 Fixing minor typos (Ordtrogen Översättning)
2018-06-28 22:43:44 +00:00