Git Product home page Git Product logo

keepass-mode's People

Contributors

ifosch avatar juergenhoetzel avatar ykgoon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

keepass-mode's Issues

keepass-mode in windows 10 and native emacs

hello,

I installed keepass-mode on windows 10 (native emacs 28.0.50 through mingw64) along keepassxc 2.6.4

When I open a keepass file I get the message :

'egrep' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

It is in french, it says that the egrep command is not recognized as a internal or external command.

This is strange because I do have egrep installed with mingw64.

I suspect the trouble is here in the code :

(defun keepass-mode-command (group command)
  "Generate KeePass COMMAND to run, on GROUP."
  (format "echo %s | \
           keepassxc-cli %s %s %s 2>&1 | \
           egrep -v '[Insert|Enter] password to unlock %s'"
          (shell-quote-argument keepass-mode-password)
          command
          keepass-mode-db
          group
          keepass-mode-db))

It seems that a pipe is used between keepass-cli and egrep command.

I may be wrong but this relies on a linux shell which is not available when using native emacs on windows 10.

Would it be possible to make keepass-mode more portable towards windows 10 ? I am ready to test any commits if helpful to you

Regards

Cannot enter a group

kdbx can be opened, groups are displayed.

But upon pressing enter we stay on the same page. No entries are seen.

I'm on emacs version 28.0.50, that probably is a big factor.

Umlauts (UTF-8) characters in group and password names do not work

When trying to open a group that contains keys or subgroups with special characters in their names (e.g. '&', 'ü', 'ß'), keepass-mode shows the error message "Cannot display group xxx".

This error message disappears when the special characters are removed, keepass-mode can then open the group.

Using keepass-mode-20210110.630 from MELPA.

Thank you very much for the otherwise excellent tool!

Adding keepass as as auth-source ?

Hello,

I have been recently thinking about using Keepass within Emacs via auth-source (like what has been done for pass here: https://github.com/DamienCassou/auth-password-store). I wasn't able to find packages implementing it.
Is adding support for auth-source in your package something that you would consider ?
I think it would greatly complement it by allowing to use the entries in Emacs directly.

Thanks in advance for your answer !

Fail to copy password

Hitting c results in this error:

menu-bar-update-yank-menu: Wrong type argument: stringp, nil

command line arguments are easily visible to other processes on linux

  (format "echo %s | \
           keepassxc-cli %s %s %s 2>&1 | \
           egrep -v '[Insert|Enter] password to unlock %s'"
          (shell-quote-argument keepass-mode-password)

It's pretty easy to read command line arguments on Linux so this method of passing the password leaks the keyring password to anything running on the host in question.

As a test I did this:

(shell-command-to-string "echo foo | ps aux")

user 356548 0.0 0.0 6968 3184 ? Ss 10:41 0:00 /bin/bash -c echo foo | ps aux
user 356550 0.0 0.0 10084 3288 ? R 10:41 0:00 ps aux

I don't know how to solve this in emacs lisp but ideally the password should be pushed to keepassxc-cli's standard in directly from emacs over a pipe.

(Environment variables also show up in /proc and so aren't the best method of IPC either.)

Make database searchable

Hi,

first of all, thanks for your efforts! I think usability would be greatly improved if one could search the database to find a specific entry. As my brain is not compatible with (e)lisp I'm afraid I cannot contribute though...

Cheers,
Thomas

Support evil-mode

I'm on evil-mode (Spacemacs), so using this is rather awkward in terms of keybindings. Before I realized it I thought it's bug #9.

To improve UX I added this in my personal config to turn on evil-state for the buffer.

  (add-hook 'keepass-mode-hook (lambda ()
                                 (evil-evilified-state)))

I raise it here to see if it resonate with others. If there's enough of you with this problem we can consider building in evil-friendly behavior.

Help menu

When keybindings grow we need a way to bring up functions that are available.

The suggestion is to have the same UX as magit.

Can't copy password

On pressing c for keepass-mode-copy-password on a key entry, I get 'PROTECTED' in my kill ring, instead of the actual password.

Keepass-mode version(melpa): 20200216.723
Emacs version:
GNU Emacs 28.0.50 (build 1, x86_64-apple-darwin19.5.0, NS appkit-1894.50 Version 10.15.5 (Build 19F101)) of 2020-07-24

Copy more fields

Improve proposal

More keybindings:

  • b to copy user name
  • u to copy URL

These keys are mapped similar in GUI client. They are frequently used (at least I do). Without a keybindings I have go into the entries and copy them with a lot of keystrokes.

Meantime as keybindings grow, there should be a better way to display instructions. I propose these be displayed either on top or bottom of the buffer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.