Re: [PATCH v3] credential: new attribute password_expiry_utc
- From
Calvin Wan <calvinwan@google.com>
- Date
- Feb 16, 2023, 19:16 UTC
- Message-ID
- <20230216191644.315615-1-calvinwan@google.com>
- In-Reply-To
- <pull.1443.v3.git.git.1675545372271.gitgitgadget@gmail.com>
Show 12 quoted lines
> static int run_credential_helper(struct credential *c,
> @@ -342,6 +352,10 @@ void credential_fill(struct credential *c)
>
> for (i = 0; i < c->helpers.nr; i++) {
> credential_do(c, c->helpers.items[i].string, "get");
> + if (c->password_expiry_utc < time(NULL)) {
> + FREE_AND_NULL(c->password);
> + c->password_expiry_utc = TIME_MAX;
> + }
> if (c->username && c->password)
> return;
> if (c->quit)I see you null out c->password in the expiry if block so that the following c->password check in the following if statement fails. While I think it's neat little trick, I wonder if others on list think it's better to be more explicit with how the logic should work (eg. adding the c->passowrd_expiry_utc check as an inner block inside of the c->username && c->password block).