Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scaffold for Linux desktop #26

Closed
hpoul opened this issue Sep 10, 2019 · 9 comments
Closed

Scaffold for Linux desktop #26

hpoul opened this issue Sep 10, 2019 · 9 comments
Assignees
Milestone

Comments

@hpoul
Copy link
Collaborator

hpoul commented Sep 10, 2019

flutter relevant tickets to track progress:

probably does not make sense to invest much time before flutter is ready.

@hpoul
Copy link
Collaborator Author

hpoul commented May 30, 2020

fwiw, the desktop linux release mode (with the glfw, not gtk) has been merged into flutter master 🎉️
i've tried a basic flutter create and it indeed looks promising.. i guess i'll play around the next few days to get the bare minimum of plugins working.. (i could imagine argon2 (kdbx 4) support to be the most troublesome..) we'll see..

Screenshot 2020-05-30 at 14 14 38

Screenshot 2020-05-30 at 14 15 59

hpoul added a commit that referenced this issue May 30, 2020
@hpoul
Copy link
Collaborator Author

hpoul commented Jun 2, 2020

I have now a reasonable first binary in release mode ready which supports basic functions (like opening kdbx files :) and also argon2 for kdbx 4..) Anyone willing to give it a try?

authpass-linux-1186.tar.gz

@hpoul hpoul self-assigned this Jun 2, 2020
@idunno101
Copy link

Just tested it on Fedora 32 (Wayland).
It worked well, I opened a local database (Argon2 KDBX 4) and was able to filter entries, copy values and add a new entry.
There were a few errors registered in the terminal.

This error showed up when I first launched the program but didn't show up on any launch after that.
Link 1

These two were triggered when the database was unlocked
Link 2
Link 3

This one was triggered when the database was locked
Link 4

And this one happened when viewing the entries that didn't have the otp set up as
otpauth://totp/Site?secret&time
I have some logins (like Google and Firefox) that set their TOTP as two separate entries; one is a seed (like XXXX XXXX) and the other is a time url (like 30;6;https://time.is/)
For those logins it gave this error and didn't display the otp digits
Link 5

@hpoul
Copy link
Collaborator Author

hpoul commented Jun 3, 2020

@idunno101 thanks for the exhaustive test 👍️ i have also seen the first error (regarding clipboard) occassionally.. can you still copy password (ctrl+c) and usernames (ctrl+b)? (or via the dropdown button next to the fields)

the last error regarding TOTP shouldn't be related to the linux version obviously.. how did you create those entries? would it be easy for you to create an empty kdbx file with dummy entries in the same format, so I can reproduce it myself?

@hpoul
Copy link
Collaborator Author

hpoul commented Jun 3, 2020

btw. is anyone using ubuntu (or snapcraft) I've created a snap release and was wondering if anyone could give it a go: https://snapcraft.io/authpass

@idunno101
Copy link

can you still copy password (ctrl+c) and usernames (ctrl+b)? (or via the dropdown button next to the fields)

Yeah both methods worked even while the errors were being triggered.

how did you create those entries? would it be easy for you to create an empty kdbx file with dummy entries in the same format, so I can reproduce it myself?

I looked through my logins a bit more and it seems that the problem occurs when there are spaces within the seed. I was able to reproduce the behaviour in the database attached here
Database password is 123
totp test.zip

@hpoul
Copy link
Collaborator Author

hpoul commented Jun 4, 2020

@idunno101 thanks for the test database. You are exactly right, the spaces broke everything.. (I clean up those keys when the user adds the TOTP secrets..). Anyway, it is now fixed and I've used your test data to create unit tests. So this should stay fixed

_testTotp(
'base32 code',
fields: {
'TOTP Seed': '3TBQAZ2XLJ54LTUMVVLJTPAST5TZANMF',
'TOTP Settings': '30;6',
},
expectCode: '059989',
);
_testTotp(
'base32 with spaces',
fields: {
'TOTP Seed': 'g33a l2j6 hqzv djri wtwp 4yhv iu74 4ue4',
'TOTP Settings': '30;6',
},
expectCode: '872187',
);
_testTotp(
'base32 with empty settings',
fields: {
'TOTP Seed': 'g33a l2j6 hqzv djri wtwp 4yhv iu74 4ue4',
'TOTP Settings': '',
},
expectCode: '872187',
);
_testTotp(
'otpauth url',
fields: {
'otp':
'otpauth://totp/test?secret=27zzsdziauhmftpf33sc5ksvmcn3crljhrusmxmmjt2tkht4huny5ozk&algorithm=SHA256&digits=6&period=30',
},
expectCode: '412013',
);
:)

If you like to try again, here is an updated linux version - it should also fix a couple of other exceptions (unfortunately not the one regarding clipboard, because that's a problem in the flutter embedder):

authpass-linux-1.6.3_1196.zip

@idunno101
Copy link

Yep looks good 😃 Didn't notice any problems

@hpoul
Copy link
Collaborator Author

hpoul commented Jun 10, 2020

I have now created a ubuntu package as a PPA, and published a blog post with installation instructions 🎉️. So I will close this issue, if anyone runs into trouble just create a new bug report :-)

There is also a new Issue about improving linux releases #87 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants
@hpoul @idunno101 and others