5.2 KiB
Zgodnosc z PostfixAdmin
Stan: 0.0.2. Celem jest replacement runtime PHP z zachowaniem istniejacej bazy PostfixAdmin i SQL map uzywanych przez Postfix/Dovecot.
| Obszar | Stan | Uwagi |
|---|---|---|
| Admin / global-admin / domain-admin | gotowe | Uprawnienia wymuszane w backendzie |
| Mailbox user login | gotowe | Tabela mailbox |
| Domeny CRUD | gotowe | Limity, quota, transport, backup MX |
| Mailbox CRUD | gotowe | Maildir, quota, self-alias, welcome mail, hooki |
| Aliasy CRUD | gotowe | Store-and-forward, special aliases, limity |
| Bulk delete inactive forwards | gotowe | Z ochrona mailbox self-alias i special aliases |
| Alias domains | gotowe | Kontrola lancuchow/cykli |
| Admin preferences | gotowe | W tym domyslny cel aliasu |
| Status aliasow | gotowe | undeliverable/external/POP-IMAP/vacation/disabled/expired/custom |
| Fetchmail | gotowe | Stary i nowszy wariant tabeli; MDA/extra options tylko gdy wlaczone |
| Vacation | gotowe | User/admin control |
| Logging | gotowe | Tabela log |
| Send mail / broadcast | gotowe | Mailbox-only lub aktywne cele aliasow |
| Backup | gotowe | mysqldump / pg_dump / SQLite; sekret MySQL poza argv |
| Quota / domain quota | gotowe | Zgodne z multiplierem |
| Used quota | gotowe warunkowo | quota / quota2, jesli istnieje |
| Password hashes | gotowe | Natywne formaty PA + Courier/Authlib/php_crypt + kontrolowany Dovecot fallback |
| Mixed legacy hashes | gotowe | Format rekordu ma pierwszenstwo przy weryfikacji |
| Password recovery e-mail | gotowe warunkowo | Wymaga kolumn token/email |
| SMS recovery | brak | Do dodania jako jawny provider, bez callbackow PHP |
| TOTP | gotowe warunkowo | Wymaga totp_secret |
| TOTP exceptions | gotowe warunkowo | Wymaga tabeli totp_exception_address |
| Application passwords | gotowe warunkowo | Wymaga mailbox_app_password |
| DKIM keys/signing | gotowe warunkowo | Wymaga tabel dkim, dkim_signing; OpenSSL bez shella |
| Password expiration | gotowe warunkowo | Wymaga odpowiednich kolumn |
smtp_active |
gotowe warunkowo | Wymaga kolumny |
| DNS status domeny | gotowe warunkowo | Wymaga dns_active i dns_checked |
| DNS validation adresow/domen | gotowe | A/AAAA/MX/NS zgodnie z logika PA |
| MySQL/MariaDB | gotowe | Podstawowy wariant produkcyjny |
| PostgreSQL | gotowe | Placeholdery transliterowane przez DB layer |
| SQLite | gotowe | Takze izolowany mock developerski |
| Dev mock DB | gotowe | Superset tabel PA + seedy; tylko environment=development |
| Dev SSH tunnel do produkcyjnej DB | gotowe | Domyslnie read-only; zapis wymaga POSTFIXADMIN_RS_DEV_DB_WRITES=1 |
| UI i18n | gotowe | EN/PL, domyslnie English, przelaczanie z loginu/topbara; API pozostaje angielskie |
| Post-create/edit/delete hooks | gotowe inaczej | Program + argumenty, bez powloki |
maildir_name_hook |
zastapione natywnie | maildir_template z {domain}, {local_part}, {username} |
| Auto-create subfolders | gotowe dla Dovecot | doveadm mailbox create; generic IMAP/Courier jeszcze brak |
PHP *_struct_hook |
brak celowo | Nie uruchamiamy PHP; docelowo natywne rozszerzenia/config |
language_hook PHP |
brak celowo | Zastapione natywnymi katalogami i18n EN/PL; bez wykonywania callbackow PHP |
| XML-RPC | brak | W przekazanym configu jest wylaczone |
| Setup wizard / DB upgrade | brak | Runtime wykrywa schema capability, nie migruje jeszcze produkcyjnej DB |
| Update checker | brak | Nie jest potrzebny do runtime poczty |
| Stary theme PostfixAdmin | brak celowo | Zastapiony UI RustBox-like |
Funkcje publicznego PA sprawdzone przy porownaniu
Odwzorowane odpowiedniki istnieja dla: login/MFA, list/edit/delete/editactive, list-virtual, vacation, viewlog, sendmail, broadcast, backup, refresh-domain-dns, delete-inactive i delete-preference.
Nieodwzorowane jeszcze publiczne wejscia: setup.php, upgrade.php, update-check.php, xmlrpc.php.
Hasla
Lista kompatybilnosci jest oparta na dostarczonych DOCUMENTS/HASHING.md, functions.inc.php i tests/PacryptTest.php. W kodzie sa referencyjne wektory PA dla SHA, crypt, bcrypt, SSHA, Argon2, Courier oraz wariantow B64.
Weryfikacja nie wymusza aktualnego password.scheme, jesli hash sam identyfikuje algorytm ({SCHEME}, $1$, $2..., $5$, $6$). To pozwala na stopniowa migracje. Generowanie nowego hasla nadal uzywa jawnie skonfigurowanego schematu, aby nie zerwac zgodnosci z Dovecot/SASL.
Przekazany config
Aktywne elementy istotne dla tego wdrozenia (MySQL/MariaDB, php_crypt:MD5, alias-domain, sendmail, logging, fetchmail, user recovery) maja odpowiednik. XML-RPC jest w nim wylaczone, SMS callback pusty, maildir_name_hook=NO, a lista automatycznych subfolderow pusta, wiec pozostale luki nie blokuja obecnego profilu.
Audit PostfixAdmin 4.0.1
Pelniejszy audyt funkcji z dostarczonego PHP 4.0.1 jest w PORT-PARITY.md. 0.0.2 nadal nie jest 100% parity; dokument rozdziela funkcje runtime juz przeportowane od pozostalych narzedzi instalacyjnych, API, CLI i legacy hookow/UI.
Rspamd DKIM
Dodano osobna integracje hostowa Rspamd: generowanie przez rspamadm dkim_keygen, selector_map, path_map, atomowe zapisy, rspamadm configtest, opcjonalny reload i podpinanie istniejacych kluczy. Szczegoly: docs/RSPAMD_DKIM.md.