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

Delete Account #2472

Merged
merged 41 commits into from
May 17, 2018
Merged

Delete Account #2472

merged 41 commits into from
May 17, 2018

Conversation

TheAspens
Copy link
Member

This pull request resolves issue #2447

This will be a work in progress for a bit, so please don't merge. However, since it is a large change I wanted to push incremental updates for review if people want to look.

@Ageless93
Copy link
Contributor

Ageless93 commented Apr 18, 2018

The one thing I notice in all the code is the blurb at the top that says:

// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2018 University of California

It would be nicer if the URL was immediately made https, so that you don't have to do that again in the future.

@TheAspens
Copy link
Member Author

@Ageless93 - thanks for the feedback. I've updated them to https.

// Constants for token durations
define("TOKEN_DURATION_ONE_DAY", "86400");

function create_confirm_delete_account_token($user) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this function and the is_valid_delete_account_token be generalized. I think having them generalized will help decrease the amount of code as well as the maintenance of it going forward. Having functions that call say create_token($userid, $type, $expire_time = null). This way anywhere that needs to use a new token can easily call it. At the moment we have 2 types needed, one for delete account and email change, but this can be used for many more types going forward.

is_valid_token($userid, $token, $type) is for the other generalized function

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to implement this on #2474 and then merge into this branch.

@TheAspens
Copy link
Member Author

@davidpanderson - left you a message. Give me a ring or I'll call you again tomorrow.

@davidpanderson
Copy link
Contributor

davidpanderson commented May 1, 2018 via email

Kevin Reed added 6 commits May 1, 2018 17:08
is removed from the system.  add task to remove entries from those
tables after 60 days.
Also modify db_dump to exclude user records whose authenticator starts
with 'deleted' or host domain names that equal 'deleted'.  Those values
are set by the obfuscate delete method.
@TheAspens
Copy link
Member Author

@davidpanderson - if you could review also and if both you and @brevilo are satisfied, then please merge as well. Thanks!

@davidpanderson
Copy link
Contributor

Fine with me. Oliver, merge if OK with you.

Copy link
Contributor

@brevilo brevilo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While it almost feels like nitpicking, I'm not really happy with the abbreviated index names. I mean, they're almost never to be typed anyway so I don't see the justification to reduce their readability (contextual meaning) in favor of length. Opinions?

@brevilo
Copy link
Contributor

brevilo commented May 17, 2018

However, to reduce the chance (of something that is already a very small chance), I will take the step to invalidate the authenticator and add a short delay of 2 seconds. That is more time than most of our scheduler requests take and this would make the scenario you describe vanishingly unlikely.

@bema-ligo are you happy with this or does it (still) mean a no-merge for you? Please review Kevin's changes regarding this.

@TheAspens
Copy link
Member Author

While it almost feels like nitpicking, I'm not really happy with the abbreviated index names. I mean, they're almost never to be typed anyway so I don't see the justification to reduce their readability (contextual meaning) in favor of length. Opinions?

I've made the names long. However, many indexes previously had shortened names so I had been following that convention.

can be customized by projects in the project.inc file
@TheAspens
Copy link
Member Author

@bema-ligo and @brevilo,
I've added commit: ae72004 which make the length of the delay something that projects can configure in the project.inc file. Since the timeouts and reasonable values depend on different conditions on different projects, this allows projects to choose a setting that works for them with a default that will work properly in the majority of cases.

@brevilo
Copy link
Contributor

brevilo commented May 17, 2018

Thanks Kevin, sounds good to me. I'll merge as soon as I here from @bema-ligo .

@brevilo
Copy link
Contributor

brevilo commented May 17, 2018

How about your review @Uplinger? Are you satisfied? If so, please acknowledge/accept the review changes.

Ideally @davidpanderson would do the same such that all reviews are visibly done (upper right).

@brevilo
Copy link
Contributor

brevilo commented May 17, 2018

Duh!

@TheAspens
Copy link
Member Author

I've completed my regression testing. Once I review the scrutinizer feedback it should be good for merge.

@TheAspens
Copy link
Member Author

I've incorproated the scruitinizer feedback as pertains to my code. Note that it has a false bug report that I've submitted to them for review.

@TheAspens
Copy link
Member Author

I'm done with the code. Please merge when you are satisfied.

@TheAspens
Copy link
Member Author

@brevilo - Can you go over to Bernd's office and discuss with him? All other reviewers have approved (either inline in the discussion or formally via the review feature). Sorry for pushing, but since WCG is not up to current code, we have some work to do to integrate this into our code and @Uplinger is blocked getting started on that until this is in master.

@brevilo
Copy link
Contributor

brevilo commented May 17, 2018

Sorry for pushing, but since WCG is not up to current code, we have some work to do to integrate this into our code

Yep, same here. I reckon we can still optimize things later should Bernd have further input. So let's go...

@brevilo brevilo merged commit 16bbbea into master May 17, 2018
@brevilo
Copy link
Contributor

brevilo commented May 17, 2018

Thanks Kevin for all the effort you put into this! Thanks also to all the others involved in various ways 👍

@TheAspens TheAspens deleted the knr_right_to_erase branch May 17, 2018 20:24
@bema-aei
Copy link
Contributor

Sorry for the delay at my end. FTR: I'm fine with the solution (configurable time).

@Ageless93
Copy link
Contributor

Since this was merged 6 days ago, can it be tested someplace for real? I haven't seen this code be available yet at for instance Seti@Home. Not that I want to test it there, but wouldn't mind testing it at a test project. The 25th is less than two days away.

@brevilo
Copy link
Contributor

brevilo commented May 23, 2018

We already deployed a custom solution at Einstein@Home as well as our test instance Albert@Home. However, we're currently waiting for #2524 to be merged which will then make use of the features added by this PR.

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

Successfully merging this pull request may close these issues.

8 participants