first commit
This commit is contained in:
commit
2eb8aac027
91 files changed
+20139
No files matched your search
@@ -0,0 +1,73 @@
|
||||
# Zgodnosc z PostfixAdmin
|
||||
|
||||
Stan: **0.0.1-dev**. 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](PORT-PARITY.md). 0.0.1-dev 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](docs/RSPAMD_DKIM.md).
|
||||
Reference in new issue
Block a user