| Branch: | Tag: | Revision:

gdp / gdp / gdp_gob_ops.c @ master

History | View | Annotate | Download (33.1 KB)

# Date Author Comment
c9a90ca9 09/17/2020 12:40 PM Eric Allman

Don't assume Berkeley creation service address. It's caused too much

390531f2 07/13/2020 04:19 PM Eric Allman

Allow GINs output from gdp_gin_create to be immediately used for writing
(i.e., properly set up the signing context).

b1faf4b1 07/10/2020 03:21 PM Eric Allman

Rearrange some code (no changes) so future commit will make more sense.

6654cd63 06/13/2020 02:22 PM Eric Allman

Logs with no public key would return confusing results; it is now
explicit that the problem (which is now a warning) is that there was no
public key available.

49d76189 01/14/2020 01:06 PM Eric Allman

Version 2.2.3: Make failure to read a secret key for a writable log an
error instead of waiting for the first append to fail (this can be
turned off using gdp_open_info_set_no_skey_nonfatal, which causes
gdp_gin_open to return a warning instead of an error). Add a -S flag to...

62b30482 01/14/2020 01:05 PM Eric Allman

Make extreme debug tests consistent.

d12d634c 10/18/2019 04:14 PM Eric Allman

General code cleanup, moving toward Dockerization.

08344c4f 06/20/2019 01:40 PM Eric Allman

Fix a memory leak in key handling.

76b104d6 06/18/2019 02:54 PM Eric Allman

Fix a bug that might cause "OK" status codes to be interpreted as not
OK. This would only happen if the OK status included a value between 29
and 31 bits large.

0e35f054 06/13/2019 11:23 AM Eric Allman

Improved debugging for key manipulation.

a4c503f0 04/29/2019 12:02 PM Eric Allman

Fix bug caused when passing a NULL open_info to gdp_gin_open.

1125ff4e 04/08/2019 05:00 PM Eric Allman

Changes to fix data signature checking. Still doesn't check sigs on

71b33459 04/02/2019 05:51 PM Eric Allman

Search for current public keys in metadata, not just legacy version.

59fe1e09 04/02/2019 05:51 PM Eric Allman

Change datum->inuse to a flags word to allow additional flags.

1042a70f 04/02/2019 05:51 PM Eric Allman

Change ep_crypto_{md|sign|vrfy}_new to return an error status so we can
do a better job of diagnosing problems.

c6ccd9ef 01/29/2019 01:42 PM Eric Allman

Do primitive caching of default creation service name.

c87dd166 01/23/2019 07:56 AM Eric Allman

Update license date on all files. No functional changes.

32dc12ee 01/22/2019 05:06 PM Eric Allman

Fix a problem with locating secret keys for logs when using a search
path. Do some prep for making this more flexible. It turns out the
semantics of -K in some applications has changed, but the current
behavior still matches the documentation.

There may be security implications with allowing the ability to name...

b364b308 01/03/2019 05:07 PM Eric Allman

Rationalize lots of documentation. Fix inconsistencies in some
parameter names (e.g., swarm.gdp.gdp-create.server,, and swarm.gdp.create.service). Some
minor code changes for consistency changes, but mostly docs.

c39a16b1 12/11/2018 11:59 AM Eric Allman

Cleanup on human-oriented name handling during creation, including
documentation. Big changes: don't allow a "human name" that looks like
a base-64-encoded name; use GDP_NAME_ROOT when creating a new log using
gdp-create; treat a zero-length GDP_NAME_ROOT as though the variable...

80da996e 10/24/2018 12:53 PM Eric Allman

Mega-change: new object creation API with updated metadata; internal
name is hash of metadata, not hash of human name; query and maintain
human-oriented name to GDPname directory (HONGD).

ee0cddb9 08/24/2018 02:16 PM Eric Allman

Add optional signature (proof) checking when reading records. Lightly
tested. Seems to do the right thing if the signature does verify, but
fails incorrectly if it does not. Does not do any hash chain checking

6600673b 07/31/2018 11:00 AM Eric Allman

Add -Dtest.gdp.gob.ops=101 to send intentionally incorrect signatures
(for testing).

c9f4745b 07/27/2018 10:52 AM Eric Allman

Begin implementation of signature checking by readers.

c3cba586 07/12/2018 02:33 PM Eric Allman

First cut at allowing gdp_gin_append_async take multiple datums in one
call. It isn't clear the semantics are right yet.

1e763cb7 06/23/2018 06:14 PM Eric Allman

Comment clarification.

4aa32996 06/22/2018 02:46 PM Eric Allman

Pass GIN through to requests so that events can be properly correlated.

1c4fea03 06/20/2018 07:14 AM Eric Allman

Fix problems with hash chains on logs that did not have have crypto

58b43678 06/18/2018 06:14 PM Eric Allman

Fix or expand on FIXME comments.

2da682ef 06/18/2018 02:51 PM Eric Allman

Get signatures on APPEND working again. Still incomplete, but handles
the single datum in a request case.

9f6be413 06/15/2018 03:26 PM Eric Allman

Cleanup signature and hash type handling. There's no point in storing
the MD algorithm with each datum since it is fixed per GOB, nor in
passing it over the wire since it is just a blob unless you have either
the secret or public key, either of which contain that information...

bd278f2e 06/08/2018 11:45 AM Eric Allman

Snapshot: change physical interface to make more efficient use of SQLite
when retrieving sets. Use this for asynchronous reads.

8cfe4117 05/25/2018 01:22 PM Eric Allman

It turns out that including a GOB pointer in the datum causes too many
locking problems. Just pass the gob in as needed.

eae1d3ec 05/25/2018 01:22 PM Eric Allman

The grand renaming: GCL is (mostly) gone in favor of GOB and GIN.

2e65953f 05/25/2018 01:22 PM Eric Allman

Simplify the datum interface back to what it was before. Basic
subscriptions and subscription timeout seems to work now.

9852be60 05/25/2018 01:22 PM Eric Allman

Snapshot: several problems with timestamps and metadata.

72871cfc 05/25/2018 01:22 PM Eric Allman

Checkpoint: basic create, write, read all work. Subscriptions, async
commands, and multireads untested.

b6423859 05/25/2018 01:22 PM Eric Allman

Snapshot: some things working, but more things (notably datum lists)
need more work, including at the protocol level.

fa7cfdb9 05/25/2018 01:22 PM Eric Allman

Snapshot: compiles cleanly with updated protocol and crypto
support, but completely untested.

92243bf4 05/25/2018 01:22 PM Eric Allman

Snapshot in on-disk format conversion from ad hoc files to SQLite
databases. Compiles but is completely untested.

05c663a2 03/01/2018 02:00 PM Eric Allman

Add UUID to new log metadata to guarantee unique names once we switch to
the new naming scheme (name == HASH(metadata)).

f67d0170 01/24/2018 09:45 AM Eric Allman

Be more careful with enums, which are not just aliases for integers in
C++. Most importantly, use gdp_cmd_t instead of various int types for
commands and acks.

d2422e31 01/23/2018 05:06 PM Eric Allman

Fixes to prevent C++ compile errors for variables that are not
initialized and not used. This isn't a problem with C, and it's not a
bug, just an annoying C++-ism.

fc0cbc23 01/23/2018 04:09 PM Eric Allman

Changes necessary to compile under C++ because it doesn't understand
that (void *) is compatible with other pointer types. This adds a lot
of explicit casts that are not needed in C.

7f74c3b3 01/18/2018 04:09 PM Eric Allman

Fix signature generation and checking.

63dc8142 01/17/2018 12:02 PM Eric Allman

Change req->md to req->digest to mirror the name in the GOB and to avoid
confusion between "message digest" and "metadata".

4a89fdda 01/17/2018 11:34 AM Eric Allman

First cut at flattening out protobuf definition. Some changes to data
structure printing (e.g., _gdp_pdu_dump) to get indenting more rational
so as to make reading the output easier.

d65c01e2 01/09/2018 11:18 AM Eric Allman

First cut at running Layer 5 network protocol version 4 over old
(version 3) Layer 4 stack. Substantial parts are unimplemented,
including signature generation and checking, read or subscribe by
timestamp or hash, and others. No asynchronous operations including...

194715b4 11/27/2017 10:12 AM Eric Allman

Don't leak reqs when doing async read/append.

9c9c33fb 11/17/2017 11:06 AM Eric Allman

Fix reference counting when creating a new log.

4a6db795 10/27/2017 07:35 PM Eric Allman

First cut at "delete log" command (lightly tested).

fec93aac 10/24/2017 02:38 PM Eric Allman

First cut at separating GCL instances (GINs) from GDP Objects (GOBs).
This is intended to fix some semantic problems with subscriptions. End
users always use GINs (aliased to gdp_gcl_t for now for compatibility),
and there is one GIN for each call to gdp_gcl_open (i.e., no returning...