savePurposes() only checked that each key was a nonempty string, so a stale or tampered mailbox key (reachable by posting straight to /livewire/update) saved successfully while MailboxResolver silently returned null for it. Every purpose's key must now name a mailbox that exists; system's must additionally be active, since every unmapped or inactive OTHER purpose falls through to it. EditMailbox::save() also cleared last_verified_at only when the password changed, but smtpUsername() depends on address and username too (falling back to address when username is blank) — changing either while leaving the password untouched kept showing a successful verification for an identity nothing had actually tested. |
||
|---|---|---|
| .. | ||
| MailSettingsPageTest.php | ||
| MailboxModelTest.php | ||
| MailboxResolverTest.php | ||
| MailboxSeedMigrationTest.php | ||
| MailboxTakeoverTest.php | ||
| MailboxTesterTest.php | ||
| MailboxTransportTest.php | ||
| SenderAddressTest.php | ||