Repository navigation
Releases: paperplanefactory/paperplane-mail-test
Releases · paperplanefactory/paperplane-mail-test
Release list
1.1.11
1.1.10
v1.1.10: richieste firmate (HMAC), export cifrato con password - Le richieste al child non contengono più la chiave: timestamp, nonce monouso e firma HMAC-SHA256 (pp_mm_signed_body); nonce nuovo a ogni tentativo. Richiede child >= 1.4.11 - Messaggi: orologi sfasati, replay, child precedente alla 1.4.11 - Export senza chiavi in chiaro: cifrate con password (AES-256-GCM, PBKDF2-SHA256 600.000 iterazioni, salt casuale, minimo 12 caratteri) oppure export senza chiavi - Import: password richiesta per export protetti; password errata o file alterato → nessun sito importato; limite iterazioni anti-DoS; export precedenti in chiaro ancora importabili; siti senza chiave in KO con la causa e senza alert - Traduzioni it_IT, README, changelog Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1.8
v1.1.8: down management, cause dei KO, notifica di ripristino - Cron: stato salvato dopo ogni sito (prima solo a fine run: un'interruzione per max_execution_time perdeva gli stati e ripeteva gli alert); limite di esecuzione rinnovato per sito; lock contro run sovrapposti - Un nuovo tentativo dopo 5 s per errori di rete, timeout, HTTP 502/503/504 - Notifica di ripristino quando un sito torna OK (inizio e durata del KO) - pp_mm_check_url(): motivo specifico del rifiuto (DNS, privato, credenziali, https), usato nel check e nei form Aggiungi/Modifica - pp_mm_describe_http_error(): causa leggibile per 3xx/401/403/404/5xx, child non attivo (rest_no_route), chiave illeggibile sul child (pp_mt_key_unreadable); dettaglio tecnico (Server, estratto risposta) - Chiave salvata non più decifrabile sul main (AUTH_KEY cambiata): causa esplicita invece di un generico 401 - Lista siti e alert: causa, dettagli e "KO dal" - Traduzioni it_IT, README (siti down/in errore, rotazione chiave), changelog Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1.7
v1.1.7: SSRF hardening (IP pinning, credenziali URL), fix import - Il check si connette all'IP già validato (CURLOPT_RESOLVE tramite pp_mm_remote_post_pinned()): chiude DNS rebinding e connessioni IPv6 mai validate. Hostname, SNI e verifica certificato restano quelli dell'URL - pp_mm_resolve_allowed_ip(): valida tutti gli IPv4 del dominio (gethostbynamel), rifiuta URL con credenziali (https://user:pass@host) - Import JSON e form Aggiungi/Modifica: campi non stringa non causano più fatal error (trim() su array) - README: rimosso il riferimento a PP_MAIL_TEST_SECRET del child Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1.6
v1.1.6: zip di release con cartella a nome fisso - GitHub Action (release-zip.yml): alla pubblicazione di una release crea paperplane-mail-test.zip con cartella paperplane-mail-test/ e lo allega alla release (avviabile anche a mano su un tag esistente) - Plugin Update Checker: enableReleaseAssets() usa lo zip allegato; se manca ripiega sullo zip sorgente - .gitattributes: .github, .gitattributes, .gitignore esclusi dallo zip - README: installare da paperplane-mail-test.zip, non da "Source code (zip)" (la cartella con la versione nel nome fa vedere a MainWP plugin diversi) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1.5
v1.1.5: modifica URL/chiave, "Salva e verifica", "Aggiungi e verifica" - Modifica sito: ora si possono cambiare anche URL (validato con pp_mm_is_url_allowed()) e chiave segreta (campo password vuoto = chiave invariata; la chiave attuale non viene mai mostrata) - Al cambio di URL o chiave lo stato del sito viene azzerato, così un sito già in KO rimanda l'alert se la nuova configurazione è errata - Nuovi pulsanti "Salva e verifica" (modifica) e "Aggiungi e verifica" (inserimento) che eseguono subito un check - Estratta pp_mm_manual_check(), condivisa da "Controlla ora" e dai nuovi pulsanti - Traduzioni it_IT, README e changelog aggiornati Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.1.4
v1.1.4: security hardening (SSRF, GET actions, encryption key)
- SSRF bypass via import: pp_mm_is_url_allowed() ora applicato nel loop
dell'import (prima era assente, consentendo URL privati via JSON)
- SSRF TOCTOU: ri-validazione URL al momento della richiesta HTTP in
pp_mm_check_site() per prevenire DNS rebinding
- Write actions leggibili da GET: rimosso fallback $_GET su $action;
aggiunto sanitize_key()
- Encryption key fallback: rimosso get_option('siteurl') come fallback
(pubblicamente noto); comportamento ora coerente col child plugin
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.1.3
Bump version to 1.1.3, update readme.txt changelog Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.1.2
Add inline edit for site name and frequency (v1.1.2) Clicking "Edit" on a site row reveals an inline form to update the label and check frequency without removing and re-adding the site. Uses the existing _orig_idx pattern for correct index mapping. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.1.1
Update email subjects with consistent PaperPlane Mail Test prefix (v1…