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

Mark some features as deprecated #1301

Merged
merged 1 commit into from
Apr 29, 2020

Conversation

dominikschulz
Copy link
Member

Signed-off-by: Dominik Schulz dominik.schulz@gauner.org

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
@dominikschulz dominikschulz added this to the 1.9.0 milestone Apr 29, 2020
@dominikschulz dominikschulz merged commit 9733f28 into gopasspw:master Apr 29, 2020
@dominikschulz dominikschulz deleted the feat/deprecate branch April 29, 2020 12:19
@jjthiessen
Copy link

Do we know when TOTP support is slated for removal?

Also, are there any recommendations for a tool that can take an otpauth:// URI via stdin (or arbitrary fd), and output a code? It'd be easy enough to write something, but if there's a good solution out there already — why re-invent the wheel.

@dominikschulz
Copy link
Member Author

That depends if someone steps up to maintain it.
I never liked the idea of having OTP support in gopass because it encourages questionable behaviour (i.e. storing two factors in the same place). I did only add it because a colleague asked for it. I've never used this feature so I won't notice if it's broken and I also don't have any incentive to fix it.

We're planning for several breaking changes in a 2.0 release anyway and that's the point when we need to have a decision on OTP support. If nobody has stepped up by then it will be dropped.

@nokernel
Copy link
Contributor

nokernel commented May 2, 2020

I am using Gopass mainly for OTP ;). It is soo usefull, no need to move OTP secrets between phones and devices.

Sadly I can't step in to maintain that. Lacking time and golang knowledge...

That is a very useful feature for me :). Mostly I set it up with yaml entries

---
totp: secret_token

I have 2 gopass repo on different git hosts. One git for the passwords, and another git repo for OTP.

@avanier
Copy link

avanier commented May 4, 2020

I'm going to step up as well. I use gopass with OTP every day, it's one of gopass's best features.

While I do agree about the whole totp alongside secrets is not best practice, there are certainly ways to mitigate that.

I'm not savvy enough on this codebase to understand the challenges brought by the 2.0 release. May I ask you to point me to some information or detail the challenge in a separate issue? I might be able to find a friend or two to help me with this.

@dominikschulz
Copy link
Member Author

Thanks for speaking up. Good to know it's considered useful.
Given the support I think we can argue that we should keep OTP in.

However HOTP seems to be broken and unless someone steps up to fix it I'll drop it from the documentation and close any bugs about HOTP as wont fix.

TOTP will remain as is and we'll try to fix it if it breaks.

@avanier
Copy link

avanier commented May 5, 2020

w00t! That's a more than acceptable outcome! Thank you! 🙏 🙏

@nokernel
Copy link
Contributor

nokernel commented May 5, 2020

Very nice :) thank you @dominikschulz. I really should get into golang to help in this project.

@devhell
Copy link

devhell commented May 5, 2020

Yes, thank you! I and a number of my colleagues use totp as well quite a lot. :)

@tetrodoxin
Copy link

tetrodoxin commented May 6, 2020

Or better here, the short question:
What what the actual reason to deprecate the feature of handling binary files?

@dominikschulz
Copy link
Member Author

Binary support in it's current form is hacky and relies on some heuristics. And in the end it's just wrapper around base64. Even if we kill it, you can still handle binary data by pipeing through base64.

We have some ideas how considerably improve this without the use of error prone heuristics.

@fgarcia
Copy link

fgarcia commented May 18, 2020

May I ask why yaml is deprecated? Without that every entry is just a password and plain text, but with a yaml frontmatter one gets structured data. To me it looks like the basics to enable third party scripts/plugins.

Should I assume that dropping yaml also means that the concept of structured data and custom fields will be gone too?

Right now I have my own set of conventions around some custom fields like:

  • tags
  • project name
  • phone number (in case the recovery codes are linked to an outdated number)
  • allocated security keys (to track I do not have sites with just one yubikey)
  • keyfile locations for an encrypted drive

@dominikschulz
Copy link
Member Author

The current YAML implementation is relying on broken heuristics to somehow ensure compatability with other password store implementations. Also YAML is not intutive for most users (e.g. try to add an unquoted phone number as a YAML value - it will drop the leading zeros).

The current plan is to stop using these heuristics and support proper content types (e.g. MIME or simliar). That way we could properly support YAML or other kinds of structured data.

We don't want to drop the concept of structured data and custom fields without offering a replacement.

But we also don't want to encourage people to start using the current implementation if they don't do already.

@ndarilek
Copy link

Sorry to revive this, but how is gopass-git-credentials supposed to be used? It is still in the repo and README, but this issue claims that it is deprecated. Building it manually doesn't work and claims my store isn't initialized though it definitely is, but the logs show changes as recently as yesterday.

Thanks.

@tmccombs
Copy link

The current plan is to stop using these heuristics and support proper content types (e.g. MIME or simliar). That way we could properly support YAML or other kinds of structured data.

If you do that, please make it as easy to edit fields as it currently is. And is there a discussion of this migration somewhere?

@dominikschulz
Copy link
Member Author

You can still edit existing files. They wont be converted unless you run gopass fsck --decrypt.

@KlavsKlavsen
Copy link

I LOVE the OTP feature as well - with browser plugin its a fantastic way to fill out OTP secrets for websites.
I store my GPG key on a yubikey with touch enabled (the entire company does this :) - so that way it just blinks if I need to insert an TOTP key or userpassword or HOTP. Works really well and ensures backup of my TOTP secrets in an easy and shareable way (as our passwordstore manages which keys can decrypt which secrets)

@AnomalRoil
Copy link
Member

@dominikschulz Should we consider adding OTP back as a fully supported feature?

I don't mind maintaining it, I don't use it a lot, but I use it enough for caring.

@dominikschulz
Copy link
Member Author

Sounds good. Feel free to send a PR.

AnomalRoil added a commit that referenced this pull request Jul 18, 2022
RELEASE_NOTES[DOCUMENTATION]=OTP is no longer considered deprecated

Related to #1301

Signed-off-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
dominikschulz pushed a commit that referenced this pull request Jul 18, 2022
RELEASE_NOTES[DOCUMENTATION]=OTP is no longer considered deprecated

Related to #1301

Signed-off-by: Yolan Romailler <AnomalRoil@users.noreply.github.com>
kpitt pushed a commit to kpitt/gopass that referenced this pull request Jul 21, 2022
Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.