Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/katzenpost/server

library for implementing the server side of the mix network: mixes and providers
https://github.com/katzenpost/server

Add supported by footer

961b06f5890c773ecb7858c68c9221bac41dbd98 authored over 6 years ago by Masala <[email protected]>
Add user http registration service

276d9d867c19875760d6e2fca038f1ae3c3a6703 authored over 6 years ago by David Stainton <[email protected]>
provider: add thwack command REMOVE_USER_IDENTITY

5742e972d5fe467eaaee04d57cb2769f1f518d85 authored over 6 years ago by David Stainton <[email protected]>
Add log rotation

99e374153a2cdbfb4177c4b4ecdb261be4f568fc authored over 6 years ago by David Stainton <[email protected]>
Remove mgmt socket file on startup if it exists

1c0fb5e415d62ef497c48308cd0b366f64ca1243 authored over 6 years ago by David Stainton <[email protected]>
Add deaddrop microservice

16ccc5ce51c6ea220aa019cd722ad687b59c91d6 authored over 6 years ago by David Stainton <[email protected]>
return keyserverStatusSyntaxError for invalid requests

25372f3f96c802c2130e588b1a95664be1e4db65 authored over 6 years ago by Masala <[email protected]>
Add Identity() implementation for external UserDB

768aa067d5e0a13bd33ccd31956a8d30c54c241f authored over 6 years ago by Masala <[email protected]>
Add pipeline to KaetchenWorker thread pool

47dc950e39cb9103e1ed1150f1f2950cf3765080 authored over 6 years ago by David Stainton <[email protected]>
Remove go 1.7 from dot travis yaml file

c9c232b2dbf112e9b301d71992be50aa3d4d88b4 authored over 6 years ago by David Stainton <[email protected]>
Add Store() method to serialize Config to JSON

d5810a46fe1b95551f4f762c04ac7a18e85f46cb authored almost 7 years ago by Masala <[email protected]>
config: Add `Debug.DisableRateLimit`.

Certain (testing) scenarios may find it useful to disable the per-client
rate limiter.

1ced85daf39e9dcc9e833aca16f8170fc6d0e626 authored almost 7 years ago by Yawning Angel <[email protected]>
WIP

b3a37a4aabbedcef152399bf63bd6f11e09bdad7 authored almost 7 years ago by David Stainton <[email protected]>
WIP

26310335d77333272ca12860f6f2ba676f91c29d authored almost 7 years ago by David Stainton <[email protected]>
WIP

e85872f7010e029b9ba60ff2a21ae26f91a2e6ba authored almost 7 years ago by David Stainton <[email protected]>
Merge branch 'master' into add_voting_pki_client.0

5196b7f92b75c592db6d5f6b9aa3fbb86d1221a8 authored almost 7 years ago by David Stainton <[email protected]>
server: Add preliminary support for decoy traffic.

This is 95% done, traffic is generated at the approriate times, is
dispatched, and the responses...

a13df324be47f72f4b0ce41a993ccbfa6a7f1ea5 authored almost 7 years ago by Yawning Angel <[email protected]>
WIP

9a66b55a0fb43c1f7abaffe8fdb7197b74e801bb authored almost 7 years ago by David Stainton <[email protected]>
fixup! scheduler: Add a external memory queue backed by BoltDB.

40e36a76c137847ac1fb564983fb9b00a3d65c4f authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Actually delay SURB responses like it's supposed to.

Oops, no wonder the #50 branch was having decoy traffic arrive early.

c9486117d59edc1440c90317921bd61e1be6ee91 authored almost 7 years ago by Yawning Angel <[email protected]>
packet: Remove a stray newline. (No functional changes).

e32896c0be5f10d042cd8613836c991d20e56d1a authored almost 7 years ago by Yawning Angel <[email protected]>
provider: go fmt

261112a15eff9aaabd35e1b8b303050adfcdd25e authored almost 7 years ago by Yawning Angel <[email protected]>
scheduler: Implement a maximum batch size for crypto worker packets.

This eventually needs to be tunable, but it's important to avoid
starving the send side of the s...

90c1a76190fb93c7060e720e904667baf4784a1f authored almost 7 years ago by Yawning Angel <[email protected]>
mixkey: Minor perf tweak and cleanups.

This isn't massive and by no means makes the cases when the database
lookup needs to happen chea...

94733e388b0cc2662aa917b2a51382a178eab928 authored almost 7 years ago by Yawning Angel <[email protected]>
scheduler: Add a external memory queue backed by BoltDB.

The external memory queue is backed by a BoltDB database running with
`NoSync` for performance r...

2ef208396aec7890dac4e78cfab634821034b30f authored almost 7 years ago by Yawning Angel <[email protected]>
scheduler: Refactor the queue interface.

This is the first step to allowing more than one queue implementation to
be present in the code ...

eda85ace7c866710dcd05553f44f2b61a3d37448 authored almost 7 years ago by Yawning Angel <[email protected]>
scheduler: More performance improvements.

* The inbound queue is now batch processed, and all avaliable enqueued
worker packets are sc...

97408c08965bf8b8db919ae1202622f8d48fcc0d authored almost 7 years ago by Yawning Angel <[email protected]>
outgoing: Implement a client rate limit based on SendShift.

This implements a basic leaky bucket rate limit on outgoing client
traffic based on the PKI Send...

2a4023b6e09e77ea9a72944447869204ddc396d8 authored almost 7 years ago by Yawning Angel <[email protected]>
server: The PKI parameters were renamed.

2c156e0426d661c03e9f931a1e526bdb6e3da313 authored almost 7 years ago by Yawning Angel <[email protected]>
config: Reduce the default UnwrapDelay to 10 ms.

This is the delay spent waiting for an unwrap to occur. Under no
normal realistic circumstance ...

92acac3782ea67f6dd0786aa1d111080a1b04370 authored almost 7 years ago by Yawning Angel <[email protected]>
crypto_worker: Handle blown deadlines better.

I still don't think blown queue deadlines are going to happen all that
often, but this change sh...

82d8b84a7a4bfd5c7543b40d902a6edb86f857f6 authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Add a simple Kaetzchen based keyserver.

Requests and responses are a simple (versioned) JSON structure.

Fixes #44.

fc0c72439c3c501352ef8fc1ca467e3a8945af34 authored almost 7 years ago by Yawning Angel <[email protected]>
userdb: Add support for `SetIdentity` and `Identity`.

This is a breaking change for the pgx backend that will require
recreating the database. Additi...

b03b88bf510946f6c46c22283ad1858ce3dd0025 authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Expose the userdb.UserDB in the glue interface.

8a8ca06b7b64d49c4456960877cf672d3423beaa authored almost 7 years ago by Yawning Angel <[email protected]>
config: Add way to specify per Kaetzchen config options.

4e6c64677a64b68ad0cfb24c8304752b9c224e1d authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Add initial support for the Kaetzchen draft.

This only supports a trivial `loop` Kaetzchen, but it works, and this
lays down the framework re...

4886d60e5f344f152bab10392a5112456c2d45a6 authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Refactor "generate packet using a SURB" into a new function.

The auto-responder code needs to do something similar eventually, and
common code is common code.

8363b50dd1e2cc33e48b26bff2dbbaaeffc6857e authored almost 7 years ago by Yawning Angel <[email protected]>
config: Return an error if any TOML keys are undecoded.

f3ce0ce41ff8646738714a231915247c48ff0732 authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Support a RDBMS backend.

This adds support for interfacing with an RDBMS, where "RDBMS" is
defined as Postgresql. The Sp...

9c7cfd4e3ca376eb8d17a63bfee0106e5651300d authored almost 7 years ago by Yawning Angel <[email protected]>
boltspool: Copy out the message and SURB ID on a Get().

The result of a `Bucket.Get()` are only guaranteed to be valid till
the end of a transaction, an...

f9e8bd2275ab9be71a1bfb1c1287b1eeb3fcda3f authored almost 7 years ago by Yawning Angel <[email protected]>
server: Refactor the server into multiple internal submodules.

The server code was kind of hard to maintain, and component boundaries
were not very clear. Thi...

aa4e08d0b32d6937e1649a2e7ea6a7e486df5312 authored almost 7 years ago by Yawning Angel <[email protected]>
pki: Support Providers publishing alternative addresses.

I need to figure out how I want to let this override standard addresses,
but it works fine for t...

ac81a771721d7270425d8b88a7cb2d912a53b921 authored almost 7 years ago by Yawning Angel <[email protected]>
fixup! config: Clean up the Provider database backend configuration.

a51e149126cf38cde4c007db884891f690604ca8 authored almost 7 years ago by Yawning Angel <[email protected]>
fixup! config: Clean up the Provider database backend configuration.

9f8b7a27fe56179d9d0368fdd47e8d5a06385321 authored almost 7 years ago by Yawning Angel <[email protected]>
config: Clean up the Provider database backend configuration.

This changes the config file format, but will be less of a mess when
people add more backend imp...

9ad57bb76701231baa7d5694a36566c69fae638e authored almost 7 years ago by Yawning Angel <[email protected]>
scheduler: Reject delays that are over the current network wide MaxDelay.

This also clamps the enforced MaxDelay to the number of mix keys that
are published per descript...

cc5e183aacae710f66c7532f3ea7c58c29b9e3db authored almost 7 years ago by Yawning Angel <[email protected]>
fixup! pki: serve cached pki docs via wire protocol

f4bb5b66231aa64a837c60b6c34f032eded71a18 authored almost 7 years ago by Yawning Angel <[email protected]>
pki: serve cached pki docs via wire protocol

Fixes #31.

9dd6365a076f4d4dd9a7869f69f0b6a91a5c8ee2 authored almost 7 years ago by David Stainton <[email protected]>
schedule: Enqueue the packet before enforcing queue size limits.

This should make it harder (but not impossible) for an adversary to fill
up the mix queue. Than...

22d8d3d45b5a81b2b4c45dfdbc07238a5db2a867 authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Optionally allow multiple provider workers.

The current user message spool implementation renders this largely
pointless as the bulk of the ...

a3d4cb7d11de541047a3dbcc8171576231c96f20 authored almost 7 years ago by Yawning Angel <[email protected]>
provider: Add a max dwell time for the provider queue.

Infinite channels are scary, so do the drop head on rising delay thing
here as well. The tunabl...

e694ee9343eaccb66746c53cda91677e08998a2d authored almost 7 years ago by Yawning Angel <[email protected]>
pki: Update to the new PKI client interface.

41d3f51ae5852e10c4bd609d5fb27c3ba35062b6 authored almost 7 years ago by Yawning Angel <[email protected]>
mix: Use `gopkg.in/op/go-logging.v1` as the go-logging import.

Part of #10.

894995e2d0bddc752efac7f12005f7a291a866bf authored almost 7 years ago by Yawning Angel <[email protected]>
Use the versioned channels import.

Part of #10.

008ec589102ab7454b0316e10ec2a1f59b554d9b authored almost 7 years ago by Yawning Angel <[email protected]>
config: `ForceIdentityKey` -> `IdentityKey`.

f9ea190bf49cc9ceed0373da96dade7f92434cd8 authored almost 7 years ago by Yawning Angel <[email protected]>
periodic: Fix format strings in warning messages.

415b4e940f556b5e0832c96e921057b0bd0e86c2 authored about 7 years ago by Yawning Angel <[email protected]>
mix: Fix some gometalinter warnings.

b35e682a416419164b73255a6cb32ca32342a0bf authored about 7 years ago by Yawning Angel <[email protected]>
config: Kill `Debug.CaseSensitiveIdentifier`, use RFC 5891 instead.

Provider identifiers are now normalized following the IDNA Domain Lookup
Protocol conventions.

...

0ebea4bc3fc9e12b06a53cdb8def840458fafcf2 authored about 7 years ago by Yawning Angel <[email protected]>
provider: Use PRECIS for handling username case conversion.

114973b73b2757b44143a606b3b7c22e8fb8ab32 authored about 7 years ago by Yawning Angel <[email protected]>
config: Force lower case Identifier by default.

The `domain` component of an address is case insensitive by spec, so
preserving the case here is...

f76450e956bac8f412c0c8141fda9e9733de91c1 authored about 7 years ago by Yawning Angel <[email protected]>
externuserdb: Misc changes/cleanups.

* `ExternAuth` -> `externAuth`, access should use the `userdb.UserDB`
interface.
* Switch t...

e81c5eaf2a328e1fd8483931e1bcc1a2a265c84d authored about 7 years ago by Yawning Angel <[email protected]>
mix: `%t` -> `%T` in some log messages.

d46333af4c7f9af356f0e0269dec9b0c431d92f7 authored about 7 years ago by Yawning Angel <[email protected]>
mix: Use `utils.MkDataDir()`.

69afac395681d209cae53797335e69256c4960a8 authored about 7 years ago by Yawning Angel <[email protected]>
config: Switch the TOML library import.

Everything else will use `github.com/BurntSushi/toml` because it can
handle unmarshalling nested...

631c83417ad55adbb831d99462b53dd7295d061d authored about 7 years ago by Yawning Angel <[email protected]>
mix: Use the new `ecdh.Load()` arguments.

2d2db58961c01c4f6e91bd1610cad06903a97535 authored about 7 years ago by Yawning Angel <[email protected]>
fixup! Implement external http userdb

042bb32da4e6a35cafb39365db73acfd32712124 authored about 7 years ago by Yawning Angel <[email protected]>
provider: Support case insensitive user names and delimiters.

The Provider now has additional configuration options:

* BinaryRecipients - Treat all user nam...

b239a1639fcc0be57e8b838b1f634c9ac4c0d631 authored about 7 years ago by Yawning Angel <[email protected]>
mix: Support the new MixDescriptor format.

Part of katzenpost/mixnet_uprising#15

6ac11f658911dac99663b1ddf39956446902809e authored about 7 years ago by Yawning Angel <[email protected]>
mix: Remove `Debug.DisableKeyRotation`.

Part of #26.

eb24f4b900d687153f7b4cbc3e4d5222f3029afc authored about 7 years ago by Yawning Angel <[email protected]>
pki: Remove `Debug.DisableMixAuthentication`.

Part of #26.

c1d674a13ab1ed41203fc239113b9c16bbcfe0df authored about 7 years ago by Yawning Angel <[email protected]>
crypto: Drop (head) packets if they were wating on a worker too long.

Currently "too long" is a extremely generous 250 ms by default. I also
added some insturmentati...

7ce46cb7216a3e7938eebf23e80aea4bc654df5a authored about 7 years ago by Yawning Angel <[email protected]>
connector: Removed sweep related log spam.

Tangentially related to #14.

dd6eb2b4eb053820bb5fa564a45180ccd02dc586 authored about 7 years ago by Yawning Angel <[email protected]>
pki: Give up if the authority rejects a POST with `ErrInvalidPostEpoch`.

Instead of getting stuck trying to publish for the current epoch, give
up on said epoch if the a...

f86122f2b4b1c7f353aa5064ef6f987654a7c507 authored about 7 years ago by Yawning Angel <[email protected]>
mix: Convert panics to errors, log messages, and `fatalErrCh` writes.

Most of the cases where panic was called were better handled as
non-fatal errors anyway.

Fixes ...

ced242fecfc7fbb85672c8209e493644abac1286 authored about 7 years ago by Yawning Angel <[email protected]>
pki: Fetch documents for prior epochs.

Since nodes should honor prior topologies when possible, it should fetch
documents for prior epo...

d1489400573a52b3868b4154110aac5536c6d4dc authored about 7 years ago by Yawning Angel <[email protected]>
pki: Cache certain PKI fetch failures and skip futher fetches.

The PKI fetch logic will now skip fetching the Document for any given
epoch if:

* The fetch op...

3c3f305060166d7af4e6fc82e1e2f075dd0e9bd0 authored about 7 years ago by Yawning Angel <[email protected]>
Merge pull request #24 from meskio/master

Fix url parser in the provider configuration

587db8e34e652c21e13f2338e3d75ec8e9afdf1a authored about 7 years ago by David Stainton <[email protected]>
Fix url parser in the provider configuration

e933e4c959b61bdf7faa116a29ac33f77b2bfbb1 authored about 7 years ago by Ruben Pollan <[email protected]>
Merge pull request #23 from meskio/externuserdb

Implement external http userdb

c61ff4e997bd308400e106825a14c528bc02b0dc authored about 7 years ago by Yawning Angel <[email protected]>
Implement external http userdb

04f1297188c754197649007ab710de90ae791c8b authored about 7 years ago by Kali Kaneko <[email protected]>
pkicache: Use pointers to pass around nodeIDs.

Not sure if saving the copy here is worth it, but it probably is.

047d1bef86ab450176c746dc53e6ff524dd1a4aa authored about 7 years ago by Yawning Angel <[email protected]>
pkicache: Add `Entry.GetByID()`.

When using "stale" documents, it's neccecary to ensure that more recent
documents haven't delist...

5315bb8b21ea3a4de3f526d329056c232999ebae authored about 7 years ago by Yawning Angel <[email protected]>
mix: Maintain connections to nodes regardless of layer changes.

Bad things happen if nodes get their layer assignment changed since it
essentially is equivalent...

576d3622017d31f9cff273da27f4510212d88b5d authored about 7 years ago by Yawning Angel <[email protected]>
mix: Refactor the node authentication, better handle LinkKey changes.

`pki.autheticateIncoming` and `pki.authenticateOutgoing` were basically
almost identical, so mer...

ac496e0d21cb1849a318962587c4f35d509f5da9 authored about 7 years ago by Yawning Angel <[email protected]>
Add dot travis file and README with badges

c31a18bb21c0da78571adccc34da8ea8cb9bb2b4 authored about 7 years ago by David Stainton <[email protected]>
provider: Handle forward packets without SURBs correctly.

This shouldn't be a common occurence, but the ACK mechanism for reliable
delivery is technically...

4336d20f3d0e7fb6c05fd132d054949f05099041 authored about 7 years ago by Yawning Angel <[email protected]>
fixup! provider: Fix the SURB-ACK payload sizes to account for the SPRP tag.

192d7e8dc62c1485548b72d3c03d9fa6b331d1ab authored about 7 years ago by Yawning Angel <[email protected]>
provider: Fix the SURB-ACK payload sizes to account for the SPRP tag.

ba177615be2d364b08de8ac9a187e9f1f424eae5 authored about 7 years ago by Yawning Angel <[email protected]>
packet: "Fix" the pool allocator issues.

This should always work, but it's slightly inefficient.

054e6b2d6cce81882f46a8045a9a6749b20f1e3c authored about 7 years ago by Yawning Angel <[email protected]>
config: Accept Provider identifiers over 32 bytes in length.

3fe20564ee04fd531d1e0d5c0e6e8a0187e21f43 authored about 7 years ago by Yawning Angel <[email protected]>
server: Use `core/utils.ASCIIBytesToPrintString`, remove it from debug.go.

0b8dd5b2bb37fb857a0e67fe997b87c78d31bc32 authored about 7 years ago by Yawning Angel <[email protected]>
server: Use `core/worker'.

ad138f3ea313425164c1035a2fde9f036cc513fe authored about 7 years ago by Yawning Angel <[email protected]>
fixup! fixup! server: Fix issues found by static analysis.

c6fb7d2ee0cba296b3fc9150ed7d317e0948051f authored about 7 years ago by Yawning Angel <[email protected]>
fixup! server: Fix issues found by static analysis.

69363fa18d97ee6595ed33c8dc9ffd90999b7bce authored about 7 years ago by Yawning Angel <[email protected]>
provider: Make the `ADD_USER` thwack command actually work.

c2b50b27278ec0f719ddf6fd7c2c387a371e48b5 authored about 7 years ago by Yawning Angel <[email protected]>
fixup! incoming: Reduce the authentication related log spam.

66edaab5783aaf3ab5a3e169c11bf1b574ee729e authored about 7 years ago by Yawning Angel <[email protected]>
incoming: Reduce the authentication related log spam.

Tangentially related to #14.

a3e3c1846927cd763a6430a747fab935aa4bd807 authored about 7 years ago by Yawning Angel <[email protected]>
pki: Fix the descriptor publication deadline.

3029f29001a44e29faa29c79371b9329a2720dde authored about 7 years ago by Yawning Angel <[email protected]>
server: Fix issues found by static analysis.

2fb7585320379b9cf9063d323ce8b52cc5d06232 authored about 7 years ago by Yawning Angel <[email protected]>
pki: Simplify obtaining the list of cache entries for authentication.

Removed some redundant code.

c8d49e309df6f6acd1a935dab0df42a29253d711 authored about 7 years ago by Yawning Angel <[email protected]>