| 545 | } |
| 546 | |
| 547 | void credential_approve(struct repository *r, struct credential *c) |
| 548 | { |
| 549 | int i; |
| 550 | |
| 551 | if (c->approved) |
| 552 | return; |
| 553 | if (((!c->username || !c->password) && !c->credential) || c->password_expiry_utc < time(NULL)) |
| 554 | return; |
| 555 | |
| 556 | credential_next_state(c); |
| 557 | |
| 558 | credential_apply_config(r, c); |
| 559 | |
| 560 | for (i = 0; i < c->helpers.nr; i++) |
| 561 | credential_do(c, c->helpers.items[i].string, "store"); |
| 562 | c->approved = 1; |
| 563 | } |
| 564 | |
| 565 | void credential_reject(struct repository *r, struct credential *c) |
| 566 | { |
no test coverage detected