summaryrefslogtreecommitdiff
path: root/gnu/packages/password-utils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/password-utils.scm')
-rw-r--r--gnu/packages/password-utils.scm214
1 files changed, 141 insertions, 73 deletions
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index bcd323ced8..1dbf138ad4 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
-;;; Copyright © 2015-2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
@@ -12,7 +12,7 @@
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2017, 2020-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2020-2022, 2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2022 Marius Bakke <marius@gnu.org>
@@ -24,7 +24,7 @@
;;; Copyright © 2018, 2019, 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;; Copyright © 2019,2022 Tanguy Le Carrour <tanguy@bioneland.org>
-;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020, 2024 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
@@ -39,6 +39,7 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2023 Christian Miller <christian.miller@dadoes.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -91,6 +92,8 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages kerberos)
@@ -146,7 +149,7 @@ human.")
(define-public keepassxc
(package
(name "keepassxc")
- (version "2.7.6")
+ (version "2.7.7")
(source
(origin
(method url-fetch)
@@ -154,7 +157,7 @@ human.")
"/releases/download/" version "/keepassxc-"
version "-src.tar.xz"))
(sha256
- (base32 "0w6nh2lnzfqcxasfsppmh4q309p1flzgfiv25hahzsd8kx879055"))))
+ (base32 "0rzfh8xdsd1r0xb7yb0h2zyzwhbsp7si8c0haaqgzcz4k2p4bz2q"))))
(build-system qt-build-system)
(arguments
(list
@@ -422,7 +425,7 @@ applications, there is xclip integration." )
(define-public ssh-to-age
(package
(name "ssh-to-age")
- (version "1.1.2")
+ (version "1.1.7")
(source
(origin
(method git-fetch)
@@ -431,7 +434,7 @@ applications, there is xclip integration." )
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "09rhga9iqmyyq8pkprydy8y15qhzqvbpgzvs681rcyllf8szrj73"))))
+ (base32 "134gpbalyll238wvj9ci0rascgm4csayz863ci99cy5qq8266wrl"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/Mic92/ssh-to-age/cmd/ssh-to-age"
@@ -440,7 +443,7 @@ applications, there is xclip integration." )
go-filippo-io-edwards25519
go-filippo-io-age))
(home-page "https://github.com/Mic92/ssh-to-age")
- (synopsis "Convert SSH @code{ed25519} keys to @code{age} keys.")
+ (synopsis "Convert SSH @code{ed25519} keys to @code{age} keys")
(description "This package provides a simple command-line tool to
convert SSH @code{ed25519} keys to @code{age} keys.")
(license license:expat)))
@@ -851,7 +854,7 @@ key URIs using the standard otpauth:// scheme.")
(define-public qtpass
(package
(name "qtpass")
- (version "1.3.2")
+ (version "1.4.0")
(source
(origin
(method git-fetch)
@@ -860,65 +863,37 @@ key URIs using the standard otpauth:// scheme.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0748hjvhjrybi33ci3c8hcr74k9pdrf5jv8npf9hrsrmdyy1kr9x"))))
- (build-system gnu-build-system)
+ (base32 "10ixahm4ap0l1rrz4cyswblm22ns9z1baf5lv3dn23wprfdcp8m0"))))
+ (build-system qt-build-system)
(arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build qt-utils)
- (guix build utils))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build qt-utils))
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; lupdate/lrelease need to find qmake.
- (setenv "QMAKE" "qmake")
- ;; qmake needs to find lrelease/lupdate.
- (invoke "qmake"
- "QMAKE_LRELEASE=lrelease"
- "QMAKE_LUPDATE=lupdate"
- (string-append "PREFIX=" out)))))
- (add-after 'configure 'reset-resource-timestamps
- ;; Reset timestamps on localization files for a reproducible build.
- (lambda _
- (with-directory-excursion "localization"
- (for-each (lambda (file)
- (let* ((base (basename file ".qm"))
- (src (string-append base ".ts"))
- (st (stat src)))
- (set-file-time file st)))
- (find-files "." ".*\\.qm")))
- #t))
- (add-after 'install 'install-auxilliary
- ;; Install man-page, icon and .desktop file.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (applications (string-append out "/share/applications"))
- (icons (string-append out "/share/icons/hicolor/scalable/apps"))
- (man (string-append out "/share/man/man1")))
- (install-file "qtpass.desktop" applications)
- (install-file "artwork/icon.svg" icons)
- (rename-file (string-append icons "/icon.svg")
- (string-append icons "/qtpass-icon.svg"))
- (install-file "qtpass.1" man)
- #t)))
- (add-after 'install 'wrap-qt
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-qt-program "qtpass" #:output out #:inputs inputs))
- #t))
- (add-before 'check 'check-setup
- ;; Make Qt render "offscreen", required for tests.
- (lambda _
- (setenv "QT_QPA_PLATFORM" "offscreen")
- #t)))))
+ (list
+ #:test-target "check"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (invoke "qmake"
+ "QMAKE_LRELEASE=lrelease"
+ "QMAKE_LUPDATE=lupdate"
+ (string-append "PREFIX=" #$output))))
+ (add-before 'check 'pre-check
+ ;; Fontconfig needs a writable cache.
+ (lambda _ (setenv "HOME" "/tmp")))
+ (add-after 'install 'install-auxilliary
+ ;; Install man-page, icon and .desktop file.
+ (lambda _
+ (let ((applications (string-append #$output "/share/applications"))
+ (icons (string-append #$output "/share/icons/hicolor/scalable/apps"))
+ (man (string-append #$output "/share/man/man1")))
+ (install-file "qtpass.desktop" applications)
+ (install-file "artwork/icon.svg" icons)
+ (rename-file (string-append icons "/icon.svg")
+ (string-append icons "/qtpass-icon.svg"))
+ (install-file "qtpass.1" man)))))))
(native-inputs
(list qttools-5))
(inputs
- (list qtbase-5 qtsvg-5))
+ (list qtsvg-5))
(home-page "https://qtpass.org")
(synopsis "GUI for password manager password-store")
(description
@@ -1454,6 +1429,43 @@ function. Since they all work with @code{STDIN} and @code{STDOUT} you can
group them into chains.")
(license license:expat)))
+(define-public zxcvbn-c
+ (package
+ (name "zxcvbn-c")
+ (version "2.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tsyrogit/zxcvbn-c")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1clm9sxz6q360xk6vq5hi3b0mq374nl958mjcfxk94l692zrpaj4"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "CXX=" #$(cxx-for-target)))
+ #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "zxcvbn.h" (string-append #$output "/include"))
+ (for-each (lambda (file)
+ (install-file file
+ (string-append #$output "/lib")))
+ (find-files "." "libzxcvbn\\.so.*")))))))
+ (home-page "https://github.com/tsyrogit/zxcvbn-c")
+ (synopsis "C/C++ implementation of the zxcvbn password strength estimation")
+ (description "This library is a C/C++ implementation of the zxcvbn password
+strength estimator. It provides functions to rate password strength, by
+comparing the password to several word lists, including English first and last
+names.")
+ (license license:expat)))
+
(define-public hydra
(package
(name "hydra")
@@ -1486,20 +1498,19 @@ HTTP.")
(define-public bruteforce-luks
(package
(name "bruteforce-luks")
- (version "1.4.0")
+ (version "1.4.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/glv2/bruteforce-luks/releases/download/"
- version
- "/bruteforce-luks-"
- version
- ".tar.lz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/glv2/bruteforce-luks")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0yawrlbbklhmvwr99wm7li3r0d5kxvpkwf33a12rji7z0ya5p340"))))
+ (base32 "1fhvm7ykqv2anny6zavd4iwh6gq5rp1r27p3zhn78sd3y34xhkmp"))))
(build-system gnu-build-system)
(native-inputs
- (list lzip))
+ (list autoconf automake))
(inputs
(list cryptsetup))
(synopsis "LUKS encrypted volume cracker")
@@ -1510,6 +1521,32 @@ try every password contained in a file.")
(home-page "https://github.com/glv2/bruteforce-luks")
(license license:gpl3+)))
+(define-public bruteforce-salted-openssl
+ (package
+ (name "bruteforce-salted-openssl")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/glv2/bruteforce-salted-openssl")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00w1szj04jb63rh7sq1spc50013jgmz2nwm8k552i9ir8h4phw45"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake))
+ (inputs
+ (list openssl))
+ (synopsis "Bruteforce cracker for openssl encrypted files")
+ (description
+ "This is a cracker for openssl encrypted files. It can be used either in
+exhaustive mode to try every password given a charset or in dictionary mode to
+try every password contained in a file.")
+ (home-page "https://github.com/glv2/bruteforce-salted-openssl")
+ (license license:gpl3+)))
+
(define-public makepasswd
(let ((commit "3545d57d3a589a392d7eb0df36a5286785345c9e")
(revision "1"))
@@ -1588,6 +1625,37 @@ therefore you don't need to manage more key or secret. Moreover, you can ask
pass-tomb to automatically close your store after a given time.")
(license license:gpl3+)))
+(define-public pass-coffin
+ (package
+ (name "pass-coffin")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ayushnix/pass-coffin")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1486ikwsdjsj74qf949vk47r8mfp2mbbdc3scs8786nnnkhzc89n"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;No tests
+ #:make-flags #~(list (string-append "PREFIX="
+ #$output)
+ (string-append "BASHCOMPDIR="
+ #$output "/etc/bash_completion.d"))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs (list password-store tar))
+ (home-page "https://github.com/ayushnix/pass-coffin")
+ (synopsis "Pass extension to keep the tree of passwords encrypted")
+ (description
+ "Pass-coffin is a pass extension that hides the password store
+data inside a GPG encrypted file, which we'll call a coffin.")
+ (license license:gpl3)))
+
(define-public xkcdpass
(package
(name "xkcdpass")