Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add back DpConfig and make vdaf_config and query_config opaque #61

Merged
merged 1 commit into from
Jan 18, 2024

Conversation

cjpatton
Copy link
Collaborator

Option 2.

A previous commit f8cedf1, the DpConfig structure was replaced with an opaque byte string that the parties are meant to ignore. We don't want the parties to ignore unrecognized parameters: they should opt out instead. This change specifies that the content should be a DpConfig. We also remove the length prefix from that structure, since it's no longer needed.

The same commit removed the length prefixes from VdafConfig and QueryConfig. This is a regression because it means the encoding of the TaskConfig is no longer self-describing. In particular, it forces to conflate opt-out due to unrecognized variants (an unimplemented VDAF, say) with serialization errors. Solve this making the vdaf_config and query_config fields of the TaskConfig struct opaque, in the same way that dp_config is opaque.

@cjpatton cjpatton requested a review from wangshan as a code owner January 17, 2024 19:36
draft-wang-ppm-dap-taskprov.md Outdated Show resolved Hide resolved
draft-wang-ppm-dap-taskprov.md Outdated Show resolved Hide resolved
@cjpatton cjpatton force-pushed the cjpastton/self-describing-2 branch from 4292eae to d7e5a0d Compare January 17, 2024 20:12
@cjpatton cjpatton requested a review from kristineguo January 17, 2024 21:11
In a previous commit f8cedf1, the
`DpConfig` structure was replaced with an opaque byte string that the
parties are meant to ignore. We don't want the parties to ignore
unrecognized parameters: they should opt out instead. This change
specifies that the content should be a `DpConfig`. We also remove the
length prefix from that structure, since it's no longer needed.

The same commit removed the length prefixes from `VdafConfig` and
`QueryConfig`. This is a regression because it means the encoding of the
`TaskConfig` is no longer self-describing. In particular, it forces to
conflate opt-out due to unrecognized variants (an unimplemented VDAF,
say) with serialization errors. Solve this making the `vdaf_config` and
`query_config` fields of the `TaskConfig` struct opaque, in the same way
that `dp_config` is opaque.
@cjpatton cjpatton force-pushed the cjpastton/self-describing-2 branch from 2d4c01a to aa1815c Compare January 17, 2024 21:58
@cjpatton
Copy link
Collaborator Author

Squashed.

@junyechen1996 junyechen1996 merged commit 1ddcb35 into main Jan 18, 2024
2 checks passed
@cjpatton cjpatton deleted the cjpastton/self-describing-2 branch October 3, 2024 22:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants