Skip to content

Commit 42bf2f0

Browse files
authored
Merge pull request trustcrypto#36 from ejhuff/patch-1
Fix sudo cmd && cmd. make gkey strip whitespace and accept lowercase. implement toggle password visibility
2 parents b08cf66 + f484e41 commit 42bf2f0

2 files changed

Lines changed: 16 additions & 12 deletions

File tree

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ $ sudo apt install python3-pip python3-tk libusb-1.0-0-dev libudev-dev
3737
$ pip3 install onlykey
3838
$ wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/master/49-onlykey.rules
3939
$ sudo cp 49-onlykey.rules /etc/udev/rules.d/
40-
$ sudo udevadm control --reload-rules && udevadm trigger
40+
$ sudo bash -c 'udevadm control --reload-rules && udevadm trigger'
4141
```
4242

4343
### Debian Install with dependencies
@@ -47,7 +47,7 @@ $ sudo apt install python3-pip python3-tk libusb-1.0-0-dev libudev-dev
4747
$ pip3 install onlykey
4848
$ wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/master/49-onlykey.rules
4949
$ sudo cp 49-onlykey.rules /etc/udev/rules.d/
50-
$ sudo udevadm control --reload-rules && udevadm trigger
50+
$ sudo bash -c 'udevadm control --reload-rules && udevadm trigger'
5151
```
5252

5353
### RedHat Install with dependencies
@@ -58,7 +58,7 @@ $ yum install python3-pip python3-devel python3-tk libusb-devel libudev-devel \
5858
$ pip3 install onlykey
5959
$ wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/master/49-onlykey.rules
6060
$ sudo cp 49-onlykey.rules /etc/udev/rules.d/
61-
$ sudo udevadm control --reload-rules && udevadm trigger
61+
$ sudo bash -c 'udevadm control --reload-rules && udevadm trigger'
6262
```
6363

6464
### Fedora Install with dependencies
@@ -68,7 +68,7 @@ $ dnf install python3-pip python3-devel python3-tkinter libusb-devel libudev-dev
6868
$ pip3 install onlykey
6969
$ wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/master/49-onlykey.rules
7070
$ sudo cp 49-onlykey.rules /etc/udev/rules.d/
71-
$ sudo udevadm control --reload-rules && udevadm trigger
71+
$ sudo bash -c 'udevadm control --reload-rules && udevadm trigger'
7272
```
7373

7474
### OpenSUSE Install with dependencies
@@ -77,7 +77,7 @@ $ zypper install python3-pip python3-devel python3-tk libusb-1_0-devel libudev-d
7777
$ pip3 install onlykey
7878
$ wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/master/49-onlykey.rules
7979
$ sudo cp 49-onlykey.rules /etc/udev/rules.d/
80-
$ sudo udevadm control --reload-rules && udevadm trigger
80+
$ sudo bash -c 'udevadm control --reload-rules && udevadm trigger'
8181
```
8282

8383
### Arch Linux Install with dependencies
@@ -86,7 +86,7 @@ $ sudo pacman -Sy git python3-setuptools python3 libusb python3-pip
8686
$ pip3 install onlykey
8787
$ wget https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/master/49-onlykey.rules
8888
$ sudo cp 49-onlykey.rules /etc/udev/rules.d/
89-
$ sudo udevadm control --reload-rules && udevadm trigger
89+
$ sudo bash -c 'udevadm control --reload-rules && udevadm trigger'
9090
```
9191

9292
### FreeBSD Install with dependencies

onlykey/cli.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,27 @@ def cli():
2727

2828
logging.basicConfig(level=logging.DEBUG)
2929

30-
# ContrlT handling
30+
# Control-T handling
3131
hidden = [True] # Nonlocal
3232
key_bindings = KeyBindings()
3333

3434
@key_bindings.add('c-t')
3535
def _(event):
36-
' When ControlT has been pressed, toggle visibility. '
36+
' When Control-T has been pressed, toggle visibility. '
3737
hidden[0] = not hidden[0]
3838

3939
def prompt_pass():
4040
print('Type Control-T to toggle password visible.')
41-
password = prompt('Password/Key: ', is_password=True)
41+
password = prompt('Password/Key: ',
42+
is_password=Condition(lambda: hidden[0]),
43+
key_bindings=key_bindings)
4244
return password
4345

4446
def prompt_key():
4547
print('Type Control-T to toggle key visible.')
46-
key = prompt('Key: ', is_password=True)
48+
key = prompt('Key: ',
49+
is_password=Condition(lambda: hidden[0]),
50+
key_bindings=key_bindings)
4751
return key
4852

4953
def prompt_pin():
@@ -185,7 +189,7 @@ def prompt_pin():
185189
only_key.setslot(slot_id, MessageField.TFATYPE, sys.argv[4])
186190
elif sys.argv[3] == 'gkey':
187191
totpkey = prompt_key()
188-
totpkey = base64.b32decode(totpkey)
192+
totpkey = base64.b32decode("".join(totpkey.split()).upper())
189193
totpkey = binascii.hexlify(totpkey)
190194
# pad with zeros for even digits
191195
totpkey = totpkey.zfill(len(totpkey) + len(totpkey) % 2)
@@ -419,7 +423,7 @@ def mprompt():
419423
only_key.setslot(slot_id, MessageField.TFATYPE, data[3])
420424
elif data[2] == 'gkey':
421425
totpkey = prompt_key()
422-
totpkey = base64.b32decode(totpkey)
426+
totpkey = base64.b32decode("".join(totpkey.split()).upper())
423427
totpkey = binascii.hexlify(totpkey)
424428
# pad with zeros for even digits
425429
totpkey = totpkey.zfill(len(totpkey) + len(totpkey) % 2)

0 commit comments

Comments
 (0)