small pixel drawing of a pufferfish pa

ee192ec8
support keys as symlinks in pa-rekey
arĉi arcxi@dismail.de
Sat, 06 Jul 2024 14:17:11 +0200
0d49c21d
exit menu scripts if name wasn't chosen
arĉi arcxi@dismail.de
Sat, 06 Jul 2024 14:09:06 +0200
6afa0f8f
head -c is now POSIX compliant

see https://austingroupbugs.net/view.php?id=407

it's still not portable though, because OpenBSD's head doesn't have -c

also, "password" is removed because rand_chars() is used not just for
password generation.
arĉi arcxi@dismail.de
Sat, 06 Jul 2024 01:55:03 +0200
754278b4
support $PA_DIR as a symlink in pa-rekey
arĉi arcxi@dismail.de
Sat, 06 Jul 2024 00:29:24 +0200
e7577e1d
unset traps before removing pa dir in pa-rekey
arĉi arcxi@dismail.de
Fri, 05 Jul 2024 17:30:38 +0200
f63aab4e
minor pa-pass fixes
arĉi arcxi@dismail.de
Fri, 05 Jul 2024 16:39:15 +0200
c049af89
make pa-rekey atomic

before this, interruptions of pa-rekey would corrupt whatever passwords
in the store it has managed to already replace.

this commit makes it do all the work in the temporary directory until
the very end, when the whole store is replaced at once along the keys.
arĉi arcxi@dismail.de
Fri, 05 Jul 2024 16:20:19 +0200
830c5501
suppress git init output
arĉi arcxi@dismail.de
Fri, 05 Jul 2024 04:20:08 +0200
bb122ea1
remove redundant and wrong comment

1. the command itself already clearly conveys what it does, so the first
   sentence is redundant.
2. this command will always fail, even if there are no entries in the
   same directory as the deleted entry, because it will try to delete
   its parents up to $PA_DIR, so the second sentence is wrong.
arĉi arcxi@dismail.de
Thu, 04 Jul 2024 20:19:06 +0200
b5a90a70
generate new password if it doesn't exist in menu scripts
arĉi arcxi@dismail.de
Wed, 26 Jun 2024 08:58:08 +0200
34b148f5
sort lines and remove additional space in usage's env vars
arĉi arcxi@dismail.de
Tue, 02 Jul 2024 16:27:54 +0200
4cfeb5bf
fix stty on a non-tty input
arĉi arcxi@dismail.de
Wed, 26 Jun 2024 06:45:44 +0200
ba3d5c16
do commits last for the status
arĉi arcxi@dismail.de
Tue, 25 Jun 2024 20:34:58 +0200
07afbca4
guard dirname against hyphen-started names in pa-pass
arĉi arcxi@dismail.de
Tue, 25 Jun 2024 18:27:42 +0200
e5484618
remove one more useless quoting
arĉi arcxi@dismail.de
Tue, 25 Jun 2024 17:59:50 +0200
c74f1e05
remove useless quotes
arĉi arcxi@dismail.de
Tue, 25 Jun 2024 17:39:51 +0200
93eeb5ab
exit on pa fail in pa-pass
arĉi arcxi@dismail.de
Tue, 25 Jun 2024 13:10:17 +0200
1fede32b
recreate repo after rekeying
arĉi arcxi@dismail.de
Mon, 24 Jun 2024 18:52:47 +0200
b7b5512e
just let it fail if /dev/urandom is unavailable (#34)

see #29
arĉi arcxi@dismail.de
Mon, 24 Jun 2024 17:51:43 +0200
2892819a
add git tracking to contrib/ scripts
arĉi arcxi@dismail.de
Sun, 23 Jun 2024 08:22:02 +0200
527b9b8f
strip out control characters from password name
arĉi arcxi@dismail.de
Sat, 22 Jun 2024 11:03:47 +0200
52ab7d0c
support spaces in password name
arĉi arcxi@dismail.de
Sat, 15 Jun 2024 08:45:35 +0200
cbb4f9f8
allow to use edit to create new entries (#16) (#28)

arĉi arcxi@dismail.de
Sun, 23 Jun 2024 04:22:37 +0200
95140161
fall back to rage if age is unavailable (#31)

arĉi arcxi@dismail.de
Sun, 23 Jun 2024 04:05:12 +0200
c89fbea3
improve wordings (#33)

arĉi arcxi@dismail.de
Sun, 23 Jun 2024 04:01:46 +0200
52d6b821
strip out './' from category creation error message

because 'dirname --' is not POSIX compliant...
arĉi arcxi@dismail.de
Sat, 22 Jun 2024 20:57:57 +0200
a140e2d5
move umask to before main()

ensure that the whole store is initialized with the safe permissions
arĉi arcxi@dismail.de
Sat, 22 Jun 2024 16:56:24 +0200
cb4e1779
fix minor style issues
arĉi arcxi@dismail.de
Sat, 22 Jun 2024 16:16:19 +0200
58d8f67c
forbid trailing '/' in password names

dirname strips them, which is expected, but then age is unable to save
file due to missing parent directory.

before switching to dirname, pa used to create ".age" file under the
password name, which is probably a mistake, and it's unclear what the
user intent would be there, so best to just avoid it altogether.

also, reword 'Category' -> 'Name' because category is part of the name
and the error sounds clearer this way: the user may not know that they
create a "category" by typing an errant slash.
arĉi arcxi@dismail.de
Sat, 22 Jun 2024 14:56:49 +0200
0bc99b27
reorder fails

1. if age/age-keygen don't exist, die *before* initializing the store
2. switch starting with / and out-of-bounds category guards
3. move attempt to create category to 'pw_add()' where it belongs
4. while I'm at it, change ad-hoc dirname implementation through
   parameter expansion to actual dirname, which is more robust
arĉi arcxi@dismail.de
Sat, 22 Jun 2024 14:04:12 +0200
ab3be0a9
merge answer and newline printfs in yn()
arĉi arcxi@dismail.de
Thu, 20 Jun 2024 17:46:32 +0200
f7115a02
make pa kill itself on SIGINT

make pa exit with the correct status code and report to the shell that
it died from SIGINT, which is for example used by bash to print a
newline after the interruption.

also remove EXIT trap as pa is never terminated by exit between sttys,
rendering this trap useless.
arĉi arcxi@dismail.de
Thu, 20 Jun 2024 15:59:22 +0200
54ab0fc3
fix edit and show for hyphen-started names

 #17 was not a complete fix, some of the commands were still broken
arĉi arcxi@dismail.de
Sat, 15 Jun 2024 19:05:35 +0200
ed74b06b
allow to cancel add with ^C or empty password
arĉi arcxi@dismail.de
Thu, 20 Jun 2024 07:26:14 +0200
d75acf94
simplify contrib/pa-pass
arĉi arcxi@dismail.de
Fri, 14 Jun 2024 06:32:58 +0200
fc3470f4
automatic git commits (#14) (#20)

arĉi arcxi@dismail.de
Thu, 20 Jun 2024 06:59:42 +0200
bd80d6a3
fix env var name in a pa-rekey comment
arĉi arcxi@dismail.de
Wed, 19 Jun 2024 14:20:13 +0200
81da3892
add pa-rekey
arĉi arcxi@dismail.de
Wed, 19 Jun 2024 06:30:55 +0200
1be7d830
put subtitle closer to the center

before: 10 characters to the left of the title, 13 to the right
after:  11 characters to the left of the title, 12 to the right
it's also indented by 8 spaces instead of 9 now, which makes it more
consistent with even indents in the rest of the file
arĉi arcxi@dismail.de
Wed, 19 Jun 2024 09:21:58 +0200
83f83953
save a bit of lines
arĉi arcxi@dismail.de
Wed, 19 Jun 2024 06:30:18 +0200
68d278e3
speed up bash completion

by using param transformation instead of printf for escaping
arĉi arcxi@dismail.de
Wed, 19 Jun 2024 05:34:56 +0200
925265d8
add completions for bash and fish
arĉi arcxi@dismail.de
Tue, 18 Jun 2024 21:35:21 +0200
325f63b1
sort list output (#23)

arĉi arcxi@dismail.de
Sun, 16 Jun 2024 19:47:49 +0200
c35a2cab
remove unused pash leftover (#24)

arĉi arcxi@dismail.de
Sun, 16 Jun 2024 19:46:55 +0200
39dec364
show default editor in usage (#25)

arĉi arcxi@dismail.de
Sun, 16 Jun 2024 19:46:23 +0200
cc1e5fce
this is not GPL3 (#26)

arĉi arcxi@dismail.de
Sun, 16 Jun 2024 19:45:20 +0200
ab1fc366
add pa-wmenu (#19)

arĉi arcxi@dismail.de
Sun, 16 Jun 2024 19:45:06 +0200
69b2ec82
fix delete for password names that start with a hyphen (#17)

Co-authored-by: rafapaezbas <rafa@holepunch.com>
rafapaezbas 15270736+rafapaezbas@users.noreply.github.com
Thu, 19 Oct 2023 03:24:51 +0200
26bdfc20
pass migration script (#15)

Marko Bauhardt marko.bauhardt@mailbox.org
Mon, 08 May 2023 06:34:27 +0200
3c634f85
Quote variable inside trap handler (#12)

AdamantGarth 35147577+AdamantGarth@users.noreply.github.com
Sat, 11 Mar 2023 08:38:05 +0200
6053c809
clean up readme a lil
Jes Olson j3s@c3f.net
Mon, 02 Jan 2023 13:48:06 -0800
8ab9a284
minor formatty
Jes Olson j3s@c3f.net
Sat, 31 Dec 2022 23:35:39 -0800
c0a3973b
pa edit: add /tmp fallback if /dev/shm is missing
Jes Olson j3s@c3f.net
Sat, 31 Dec 2022 23:32:16 -0800
6cd0cdbb
license.md -> license
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 18:14:46 -0800
80b8eb42
shellcheck
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 17:34:10 -0800
fea55bd7
shfmt -w -p -i 4 pa
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 17:30:18 -0800
31a28dff
age -> age-keygen
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 13:26:30 -0800
2b863a8a
Normalize age args, remove dep(), failed -> couldnt
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 13:21:23 -0800
6ebc9447
Add filter param to rand_chars
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 13:04:11 -0800
e67674d1
rework `pa edit` to be more resilient

thx to jwilk@jwilk.net
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 12:43:31 -0800
ec752291
Minor wording corrections
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 12:43:09 -0800
3a584202
Add rand_chars func
Jes Olson j3s@c3f.net
Thu, 29 Dec 2022 12:42:38 -0800
a45eb1f7
Make for-loop even simpler
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 20:15:46 -0800
3ae8d27a
Fix minor globbing bug
Jes Olson jolson@digitalocean.com
Wed, 28 Dec 2022 19:59:41 -0800
e5fb42b0
Clarify pronunciation
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 12:45:41 -0800
0ea7ee1a
Make pw_edit security logic clearer
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 12:37:58 -0800
e2a22615
make pw_edit more aesthetic
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 12:09:34 -0800
6b9c395f
Add more guards to /dev/shm usage
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 11:52:48 -0800
6295a586
shellcheck: quote to avoid re-splitting
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 09:11:51 -0800
a78000eb
Update loc estimate
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 02:45:29 -0800
51495d19
final readme touches
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 02:40:35 -0800
264f7ee0
PA_DIR = "password dir", store keys separately
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 02:27:31 -0800
47453355
jessify the README
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 02:01:39 -0800
b52acdd2
Further simplify key generation logic
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 01:18:50 -0800
8c5f0753
Simplify errors, improve dep logic
Jes Olson j3s@c3f.net
Wed, 28 Dec 2022 01:12:35 -0800
fe830f14
moar readme updates
Jes Olson j3s@c3f.net
Tue, 27 Dec 2022 23:27:47 -0800
a4c04279
Update README
Jes Olson j3s@c3f.net
Tue, 27 Dec 2022 23:14:52 -0800
7b16e8e5
Utilize age identity and recipient files

- simplify some code
- add a few ugly backwards-compat lifts
- Rename "key.txt" to "identities" and move its location to the pa store
  dir
- Move passwords into a dedicated "passwords" dir

Co-authored-by: Alan Morgan <alanxoc3@gmail.com>
Jes Olson j3s@c3f.net
Tue, 27 Dec 2022 23:10:57 -0800
b32ce1a1
Remove errant c from glob guards, add missing d

Co-authored-by: Alan Morgan <alanxoc3@gmail.com>
Jes Olson j3s@c3f.net
Tue, 27 Dec 2022 21:29:49 -0800
67a48b74
Add depends func
Jes Olson j3s@c3f.net
Tue, 27 Dec 2022 21:08:21 -0800
30f38c3a
shfmt
Jes Olson j3s@c3f.net
Tue, 22 Nov 2022 21:38:51 -0800
8cd3e9bd
add contrib/pa-bemenu
Jes Olson j3s@c3f.net
Tue, 21 Jun 2022 17:27:27 -0500
5001039f
Fix readme blog link
j3s jolson@digitalocean.com
Fri, 11 Feb 2022 12:51:43 -0600
a758e244
Add pa-fuzzel
Jes Olson jolson@digitalocean.com
Tue, 14 Dec 2021 12:06:38 -0600
b388e175
Merge remote-tracking branch 'github/master'
Jes Olson jolson@digitalocean.com
Tue, 14 Dec 2021 12:05:36 -0600
4c11b304
Add nested item support to pw_edit()
Jes Olson jolson@digitalocean.com
Tue, 14 Dec 2021 12:04:47 -0600
3e35c092
Minor readme fix
j3s j3s@c3f.net
Mon, 08 Feb 2021 14:56:42 -0600
0b310877
Add pa-rofi
j3s j3s@c3f.net
Mon, 08 Feb 2021 14:56:22 -0600
a3040cd6
Add dmenu script
j3s j3s@c3f.net
Thu, 04 Feb 2021 18:35:05 -0600
36695671
Remove rotate option
j3s j3s@c3f.net
Thu, 04 Feb 2021 18:17:40 -0600
d5f52613
*
j3s j3s@c3f.net
Thu, 28 Jan 2021 16:46:29 -0600
d8fe7f12
Initial commit
j3s j3s@c3f.net
Thu, 28 Jan 2021 16:42:29 -0600
4c3f7df9
Change pa-rofi search to be case-insensitive (#4)

Taha Gharib tgharib@users.noreply.github.com
Thu, 07 Oct 2021 14:58:39 -0400
e4a19993
Update license
Jesse Olson j3s@c3f.net
Sat, 15 May 2021 14:06:32 +0000