| Age | Commit message (Collapse) | Author |
|
=== Bug fix
* all: load private key only when needed
In case the configuration use private key with passphrase, the bash
completion will hang due to the command ask for passphrase.
This changes fix this issue by loading private key only when doing add,
generate, import, or remote-private-key.
|
|
In case the configuration use private key with passphrase, the bash
completion will hang due to the command ask for passphrase.
This changes fix this issue by loading private key only when doing add,
generate, import, or remote-private-key.
|
|
=== New features
* all: add command to remove the private key
* all: add command to set private key
=== Chores
* all: update Go version to 1.19 and all dependencies
|
|
The remove-private-key decrypt the issuer's value back using previous
private key and store it back to file as plain text.
|
|
The set-private-key command encrypt the issuer's value (hash:secret...)
in the file using private key.
The supported private key is RSA.
|
|
If the file is not set, do nothing.
|
|
The MarshalText convert the config object back to INI format.
|
|
|
|
This changes require the loadPrivateKey method detached from Cli and
become function.
|
|
The loadConfig load the configuration from raw bytes.
This replace part of newConfig with loadConfig to minimize duplicate.
The idea of loadConfig is to simplify testing later.
|
|
Use the constant Version instead, no need to automate this.
While at it, fix the test coverage HTML output file name.
|
|
|
|
I use two remote repositories: GitHub and SourceHut.
GitHub support rendering README using asciidoc while SourceHut not.
This cause the repository that use README.adoc rendered as text in
SourceHut which make the repository page less readable.
Also, the pkg.go.dev now render README but only support Markdown.
Since we cannot control the SourceHut and go.dev, the only option is
to support converting Markdown in ciigo so I can write README using
Markdown and the rest of documentation using Asciidoc.
|
|
=== Enhancements
* all: add bash completion script
=== Chores
* all: move the installation steps in AUR to Makefile
* make: change the build and install directory
The build task now create binary under _sys/usr/bin/, while the install
task install the binary based on $DESTDIR environment variable, not
$GOBIN.
|
|
|
|
|
|
|
|
The build task now create binary under _sys/usr/bin/, while the install
task install the binary based on $DESTDIR environment variable, not
$GOBIN.
|
|
=== Bug fix
* all: fix the go:embed reference to symbolic link
=== Chores
* all: add task to serve and preview the documentation at _doc
* all: group all documents into directory _doc
|
|
|
|
|
|
Due to previous commit, where we rename the README.adoc to README, and
change it to symbolic link, the build then failed when doing go:embed.
|
|
|
|
=== Bug fixes
* all: fix base32 decoding on secret
=== Chores
* _AUR: add package build for Arch Linux
* go.mod: set minimum Go version to 1.18 and update all modules
|
|
This package build the gotp based on the latest tag and commit.
|
|
|
|
The golang.org/x/crypto/ssh/terminal has been deprecated.
|
|
The "version" command print the module version based on the latest tag,
with additional commit number and hash.
|
|
The 1.17 has been deprecated since the release of 1.19.
This update affect the test cases on Cli.
|
|
|
|
Changes,
* Replace variable declaration ":=" using explicit one
* Use raw string literal whenever possible
* Realign struct Config from 56 to 40 bytes (-16 bytes)
* Realign struct Issuer from 88 to 72 bytes (-16 bytes)
|
|
The base32 decoding should be without padding otherwise it will return
an error (for some base32 string):
illegal base32 data at input byte 48
|
|
Release gotp under GPL 3.0 or later.
See https://kilabit.info/journal/2022/gpl/ for more information.
|
|
See https://kilabit.info/journal/2022/gpl/ for more information.
|
|
|
|
The first release of gotp, a command line interface to manage and generate
Time-based One Time Password (TOTP).
Features,
* Add a TOTP secret identified by unique LABEL.
* Generate N number passwords using the secret identified by LABEL.
* Import the TOTP configuration from other provider.
Currently, the only supported PROVIDER is Aegis and the supported file
is .txt.
* List all labels stored in the configuration.
* Remove LABEL from configuration.
* Rename a LABEL into NEW-LABEL.
* Encrypted secret using RSA based private key.
|
|
This update make the configuration file sort the issuer by label, in
ascending order.
So, any "add" or "remove" that may changes the configuration will not
reorder all labels.
|
|
In case user set the CGO_ENABLED environment to 0, running "make all"
will fail with the following error:
go: -race requires cgo; enable cgo by setting CGO_ENABLED=1
|
|
The gotp currently has the following features,
* add: add new TOTP issuer with their label and secret
* gen: generate password
* import: import TOTP from other provider, currently support Aegis
* list: print all registered TOTP configuration by labels
* remove: delete a TOTP configuration from file by label
* rename: changes the TOTP configuration by its label
|