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

Support raw sends of encrypted datasets #323

Closed
wants to merge 1 commit into from

Conversation

aarononeal
Copy link
Contributor

An additional 'on|off' parameter can now be set on a destination to indicate that a 'raw' send should be used to transmit an encrypted dataset. This is useful for remote backup scenarios to an untrusted destination since data is not decrypted before transmitting. Unlike unencrypted datasets, the destination dataset must not exist prior to the initial send, so this commit also disables such checks when raw send is enabled.

@coveralls
Copy link

coveralls commented Feb 24, 2018

Coverage Status

Coverage decreased (-0.2%) to 86.969% when pulling ac7995c on aarononeal:feature/raw into 1d266cf on oetiker:master.

@coveralls
Copy link

Coverage Status

Coverage decreased (-0.2%) to 86.969% when pulling 54358b8 on aarononeal:feature/raw into 1d266cf on oetiker:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage decreased (-0.2%) to 86.969% when pulling 54358b8 on aarononeal:feature/raw into 1d266cf on oetiker:master.

@oetiker
Copy link
Owner

oetiker commented Feb 25, 2018

could you add a bit more documentation about the purpose of the raw switch ?

@oetiker
Copy link
Owner

oetiker commented Feb 25, 2018

reading your PR I get the impression that [raw] is not really optional ... and would break existing syntax

@aarononeal
Copy link
Contributor Author

I can revise the PR if you can suggest a preferred way to make the syntax optional. Easiest fix may be to move it after post-command.

@aarononeal
Copy link
Contributor Author

I just pushed an update that moves raw to the end and adds a doc entry.

An additional 'on|off' parameter can now be set on a destination to indicate that a 'raw' send should be used to transmit an encrypted dataset. This is useful for remote backup scenarios to an untrusted destination since data is not decrypted before transmitting. Unlike unencrypted datasets, the destination dataset must not exist prior to the initial send, so this commit also disables such checks when raw send is enabled.
@oetiker
Copy link
Owner

oetiker commented Feb 26, 2018

I think we have API design issue here ... positional arguments in this structure are not really sustainable if more of them come. I would suggest the following:

only mandatory arguments are positional (plus the two optional ones added earlier for backward compatibility).

all optional argument follow the classic cli design principle where optional argument are written as --key[=value] so the syntax would look like this:

[ DST[:key] plan [[user@]host:]dataset [--pre-send-command=cmd] [--post-send-command=cmd] [--raw]

the optional arguments can appear in any order AFTER the DST: argument.

@hadfl what do you think?

@aarononeal
Copy link
Contributor Author

I prefer that approach but am not familiar with how to modify that option parsing code.

On a related note, I think recvu might also have made a good option as it seems something destination specific.

@tgerczei
Copy link
Contributor

tgerczei commented Oct 6, 2019

Could this one be revived? I'd have use for this feature.

@oetiker
Copy link
Owner

oetiker commented Aug 12, 2020

I think we got this now

@oetiker oetiker closed this Aug 12, 2020
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