-
Notifications
You must be signed in to change notification settings - Fork 270
feat: Add local gocryptfs support #1897
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
base: dev
Are you sure you want to change the base?
Conversation
|
Wow that is a big step. Awesome! Do we need the latest GoCryptFS when running TavisCI? Are there known Issues with gocryptfs from the Ubuntu repos? |
|
I suspect that we don't need the latest version. I tested with the version in the latest Linux Mint, and it seemed to work. |
|
The code fetching the latest version was already in Germar's original branch. I haven't made many changes here, other than fixing merge conflicts. |
|
Please let me know if you prefer me to solve this merge conflicts. |
|
I'll do another rebase, and switch Travis to fetch the packaged version of gocryptfs rather than the latest release while I'm at it. |
8854b12 to
af10597
Compare
|
I've rebased on the latest I confirmed that I can still backup a file, delete it, then restore it. |
|
When my refactoring work on the manage profiles dialog is finished I think about a release candidate and release 1.5.3. |
|
FYI: I do plan a 1.5.3 release in the near future. After that release I would target your PR for a 1.6.0 release. |
|
I'll apply the suggestions above when I get a chance. There are also a few lint errors, so I'll fix those up too. |
|
The remaining lint errors are because there is similarity between the encfs and gocryptfs modules... Perhaps this can be ignored? |
Usually I would say "no" and recommend to create a base class to avoid code duplication. But we will remove encfs, so I see no problem to add an ignore clause for pylint. Not sure if this need to be place in both files. |
075f7d1 to
64404a3
Compare
|
Note to self: I need to test setting up a new EDIT: I've tested setting up a new backup profile from scratch, and the dialog needs some tweaking as it's missing a few inputs. I'll update it to match the EncFS local dialog. |
|
No guarantees for the April deadline, but I'll see what I can do. I'm trying a more cautious incremental approach to avoid the issues above. My plan is to submit the following changes as three separate PRs:
|
|
Hello David, I don't have the overview currently. To my understanding everything related to gocrypt is work in progress. Am I right? Let me know if I should take a look on something or test something. I usually read all notifications from Microsoft GitHub. But feel free to contact me via email or mailing list. Your task has priority now. Regards, |
|
Thanks @buhtz. Everything is WIP currently. The current priority is to get some good tests for the existing EncFS and MountControl APIs. This is important, as this gocryptfs branch, which was rebased from Germar's old branch, changes the MountControl API to add an explicit I haven't had much bandwidth lately to look at this, but I do hope to get back into it when I get a chance. |
|
Some more details in this comment: #2039 (comment) |
|
Hello David, I still lack of deeper understanding but after a first test, the local gocryptfs-encrypted backup seems to work. Looks better than I thought. Did you remember any other important problems with the current state, we need to tackle before merging? Of course, I'll review the modifications line by line before merging anything. Regards, |
|
@buhtz, the main problem with this branch is that it breaks EncFS, because it changes the Some details above: Previously, I was trying to update the EncFS code to use this new API. |
Ah, stupid me. 😄 Have not tested this case. ;) |
|
Mhm.... OK, do I understand that right? The I checked the EncFS related code. In the current version there is an EDIT: Not sure about it, but I am assuming it happens in The The Why not just leave At the current point I am not interested in fancy and high level super duper mega developer designs. I just want to make it work. 🤣 And EncFS is on the way to be removed soon. So I have no problems keeping some awkward workarounds until its final removal. |
|
Yes, I think most (all?) of the EncFS backend init logic is in these lines: backintime/common/encfstools.py Lines 77 to 78 in a8dcbff
Note that the I have a feeling that I tried just leaving |
|
Thank you for your feedback. OK, I'll try to leave it empty. |
Blocked by
This is a rebase of Germar Reitze's gocrypt branch on the latest
devbranch.It seems to work, so I thought we should try to merge it as a base for future gocryptfs work.
I've tested backing up a test file, deleting it, then restoring it.
Related to #1734.