| Branch: | Tag: | Revision:

gdp / gdp / gdp_datum.c @ master

History | View | Annotate | Download (17.6 KB)

# Date Author Comment
c3369218 07/06/2020 06:42 PM Eric Allman

2.3.0: add -b flag to gdp-reader to allow binary output.

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...

738cd5c6 05/07/2019 01:39 PM Eric Allman

Tweak some debugging to be less intrusive.

2331d9f7 04/02/2019 05:51 PM Eric Allman

Properly diagnose missing datum signature.

e1c055ad 04/02/2019 05:51 PM Eric Allman

First cut at getting signature checking working again. This is just a
partial fix --- more to come.

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.

6218b529 03/26/2019 01:14 PM Rick Pratt

Revert e9be7d67 gdp/gdp_datum.c to unbreak multirecord stdout displays when using -t.

e9be7d67 03/25/2019 10:32 PM Rick Pratt

Remove trailing '\n' from -t output, so gdp-reader redirection to file produces exact cmp match with gdp-write input file, simplifying test cases.

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

Update license date on all files. No functional changes.

15d8c53d 01/06/2019 06:58 PM Eric Allman

Slight improvements for data signature printing.

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

caef25cd 07/31/2018 11:08 AM Eric Allman

Restructure signature verification code to move it from gdplogd into
libgdp in preparation for verifying signatures on reads. Version number
bumped to 2.0.4.

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

Begin implementation of signature checking by readers.

e95fef13 07/20/2018 11:59 AM Eric Allman

First cut at fixing bug that sometimes caused an "End of Results" PDU to
be delivered before some of the results themselves. This involves
passing a "number of results sent" field in the "End of Results" PDU and
saving that PDU until the indicated number of results are processed....

b7d4c21d 07/14/2018 10:47 AM Eric Allman

Recompute data hash on every append to avoid common error of people
resetting the datum buffer but not the datum itself; the cached data
hash was left over from the previous data and hence was wrong.

ff4ac022 07/14/2018 09:58 AM Eric Allman

Be sure to free datum->dhash during a gdp_datum_reset.

94399684 07/13/2018 04:57 PM Eric Allman

Remove data hash when consigning a datum to the free list.

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...

587a05de 06/09/2018 01:32 PM Eric Allman

Restore semantics leaving datums filled in after an append command.
This requires that apps that re-use datums must use gdp_datum_reset to
clear the old data before adding more.

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.

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

Snapshot. Fixes in protobuf format to better deal with reads returning

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.

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.

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.

53393e9c 02/20/2018 03:26 PM Eric Allman

Snapshot of work on getting subscriptions working under Net4. Still
has several problems.

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.

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...

1ca7751e 09/01/2017 03:45 PM Eric Allman

More work on making helgrind happy. This seems to be pretty close,
maybe worth a try in production.

9cacb7ea 08/29/2017 04:43 PM Eric Allman
  • Fix resource leak on some subscriptions.
  • Fix bogus assertion failure on gdplogd shutdown.
f095a16d 07/25/2017 01:41 PM Eric Allman

When doing final close on a GCL, free all events associated with it.
Add some additional parameter checking macros.

2a8cda22 06/24/2017 02:50 PM Eric Allman

Cleanup (and hopefully simplification) of assertion subsystem. Lots of
changes, but nothing particularly obtuse.

7882a3b0 03/23/2017 10:13 PM Eric Allman

Add order specification for some leaf locks.

a72e8d44 03/23/2017 09:27 PM Eric Allman

Declare expected lock ordering for chan, datum, gcl, and req objects.

85b68a8f 02/10/2017 03:23 PM Eric Allman

Fix a lock ordering problem; add Helgrind hints.

897accec 02/06/2017 10:41 AM Eric Allman

Update licenses to 2017.

a104a10f 02/06/2017 10:36 AM Eric Allman

Split req->pdu into two: cpdu holds the PDU for the command and rpdu
holds the PDU for the response. This makes it easier to make restart
work and the code to understand. However, it also means more copying of
data and a general lack of elegance. It also means that the datum in...

7bc0e2cf 12/11/2016 08:51 AM Eric Allman

Snapshot: get basic reading working again with new lock changes.

39fae5ac 12/10/2016 01:13 PM Eric Allman

Add gdp_datum_copy routine to copy datum contents.

e7b2a80c 11/22/2016 02:22 PM Eric Allman

Extensive work on reliability, notably sharing a datum between threads.
Increases reliability, but still not fully tested. Basic things seem to
work though. Note: this may disrupt the replication code.

56f047d8 10/08/2016 11:59 AM Eric Allman

Yet more debug tweaking.

f786d159 10/03/2016 10:48 AM Eric Allman

Fix minor compilation warning.

37a1fb57 09/30/2016 08:26 AM Eric Allman

Print a blank line in gdp_datum_print for zero length records in text

48fe62d6 08/24/2016 03:09 PM Eric Allman

Signature buffer was not properly deallocated when a datum was freed.

197e9ea3 08/18/2016 09:36 AM Eric Allman

Finish putting gdp_buf abstraction in code (it was previously mixed with
libevent evbuffer calls).

d2647d1f 07/26/2016 07:34 PM Eric Allman

Next take on read-by-timestamp. This version works for read, multiread,
and subscribe. There are still some glitches (e.g., you can't have a
starting timestamp in the future) but fixing these would require major
code restructuring, and besides, you can't specify a starting record...

87a0bdac 12/17/2015 04:01 PM Eric Allman

Add -q flag to gdp-reader to suppress all metadata output; this allows
it to be piped into another program to read the data.

6bd5476b 12/01/2015 01:22 PM Eric Allman

Update license. No code changes.

055d3009 11/21/2015 01:20 PM Eric Allman

Include copyright in all files. There are scripts to do bulk
replacement of the copyright if desired.

02de7463 10/27/2015 04:53 PM Eric Allman

Implement subscription renewals. This causes clients who have open
subscriptions to re-issue the subscription every
swarm.gdp.subscr.pokeintvl seconds. It's not complete yet: gdplogd
still needs to expire subscriptions after a timeout.

c8e97446 10/01/2015 11:58 AM Eric Allman

Change on-disk log to store signature.
Return that signature on READ commands.
Update reader-test to add a -v flag to print signature info.
Document new interfaces.

034d97fd 07/30/2015 12:06 PM Eric Allman

Add creation time to logs. This also changes the ep_time_format and
ep_time_print APIs.

68989a12 02/17/2015 01:39 PM Eric Allman

Make datum printing consistent between ASCII text and hex dump modes
(include trailing newline).

b42c4583 02/13/2015 02:48 PM Eric Allman

Add -t option to reader-test to print plain text (instead of a hexdump).

Also changes gdp_datum_print to take a flags argument.

153ffd95 02/10/2015 05:40 PM Eric Allman

Clean up gdp_datum_print (it's not just for debugging any more!).

2a8fd2c7 02/05/2015 04:17 PM Eric Allman

Adjust output for gdp_datum_print.

05e1cb19 01/29/2015 04:40 PM Eric Allman

Rename PUBLISH => APPEND (API change).
Eliminate gdp_datum_setrecno and gdp_datum_setts (didn't make sense).
Fix example code in protocol documentation.

7a52336b 01/21/2015 09:01 AM Eric Allman

Snapshot in getting fallbacks for connections to the routing plane.
Still doesn't work, but at least works for the case where the first
address in the list is available. It's also clear that _gdp_req_new
needs substantial work; as it is, gdplogd can handle commands and...

549b367d 12/26/2014 07:55 AM Eric Allman

Begin change to new on-wire protocol. Involves lots of renaming.
Amazingly it still seems to run.

4195f6c4 11/26/2014 12:21 PM Eric Allman

Update ep_hexdump to allow initial offset to be passed in.

3ddd2ed9 11/06/2014 10:37 AM Eric Allman

More work on metadata: allow specification of metadata when a GCL is

c305fd99 10/21/2014 10:04 AM Eric Allman

Handle multiple GDP packets in a single read callback (previously it was
backing up, just processing one packet even if several were available).

2fb1d8eb 10/20/2014 09:17 PM Eric Allman

Fix a deadlock condition.

7fc131d1 09/09/2014 11:33 AM Eric Allman

Eliminate datum->dlen; it's redundant now.

22442bd4 09/08/2014 03:37 PM Eric Allman

Hide data structure internals by wrapping them in functions. This also
updates the documentation, but it hasn't been significantly reviewed

0adcb3e0 08/26/2014 01:56 PM Eric Allman

Representation changes and functionality fixes:
* Change representation of gdp_recno_t to be 64 bits.
* Replace tt_interval with EP_TIME_SPEC.
* Augment EP_TIME_SPEC to have a floating-point tv_accuracy field and
pack the structure to keep the whole thing to 16 bytes....

343366c2 08/24/2014 03:21 PM Eric Allman

Clean out unnecessary #includes. Linux portability.

8f19d4ba 08/24/2014 02:58 PM Eric Allman

Subscriptions working!

9509f13b 08/23/2014 01:27 PM Eric Allman

Another snapshot. Much closer to having subscriptions working.