-
v3.0.0
StableAll checks were successfulAuto Release on version bump / release (push) Successful in 10sreleased this
2026-10-11 16:03:49 +02:00 | 5 commits to main since this releaseChanged
- Token per istanza:
EG_FORGEJO_UPDATER_TOKENSinwp-config.php, mappahttps://host[:porta]→ token. Più istanze Forgejo/Gitea insieme senza configurazione per plugin: l'istanza di ogni plugin si ricava dall'URL nell'header. Chiavi normalizzate (schema https obbligatorio, host minuscolo, percorso e slash ignorati, porta 443 implicita); voci non valide scartate e contate nel pannello. - Il token va solo alla sua istanza (confronto esatto di schema, host e porta) e solo con le richieste dell'updater: le chiamate API lo prendono da
EG_Forgejo_Updater_API::request_args(); il filtrohttp_request_argslo allega solo agli URL dei pacchetti scelti dall'updater (download in cache dei plugin gestiti, o quello in installazione viaEG_Forgejo_Updater::allow_package()), e con il token spegne i redirect. - Prefissi = slug completo:
eg_fu_*→eg_forgejo_updater_*(transient, azioniadmin_post, nonce, parametri URL, campi),EG_FU_*→EG_FORGEJO_UPDATER_*, classiEG_Forgejo_API/EG_Forgejo_Admin→EG_Forgejo_Updater_API/EG_Forgejo_Updater_Admincon i file rinominati. - Riquadro della pagina: istanze con token (solo l'indirizzo), istanze dei plugin gestiti senza token, voci scartate, promemoria finché
FORGEJO_ACCESS_TOKENè definita. - Footer della pagina negli slot nativi (
admin_footer_text,update_footera priorità 20), come negli altri plugin eg-*. "Documentazione" punta al repo: le pagine/plugin/eg-forgejo-updater/e/en/plugins/eg-forgejo-updater/non esistono. readme.txtriscritto per la directory: niente confronto con Git Updater, descrizione e FAQ aggiornate, changelog solo della linea 3.x; il resto inchangelog.txt(voci della 2.10.0 tradotte in inglese). Description dell'header corretta (diceva "falls back to tags").- Il form di installazione dice che un repository privato richiede un token per la sua istanza (prima chiedeva un repository "pubblico").
Removed
FORGEJO_ACCESS_TOKEN,FORGEJO_BASE_URLe il formato breveowner/reponell'header. ⚠️FORGEJO_BASE_URLresta inwp-config.phpdi produzione: la usa eg-forgejo-registration. Il pannello avvisa solo perFORGEJO_ACCESS_TOKEN.
Added
maybe_upgrade(): al cambio di versione cancella i transienteg_fu_release_*/eg_fu_wporg_*della 2.x; optioneg_forgejo_updater_version.uninstall.phppulisce nomi vecchi e nuovi.
Why
- Fino alla 2.13.0 il token partiva verso tutti gli host dei plugin gestiti, compreso quello dell'updater stesso: chi lo avesse installato con il token della propria istanza l'avrebbe mandato anche a git.emanuelegori.uno. In più
build_request_args()lo allegava a ogni chiamata API senza guardare l'host, e il filtro globale lo regalava alle richieste di altri plugin verso la stessa istanza (eg-repo-card). WordPress (Requests) rimanda gli header anche sui redirect cross-host. - Git Updater gestisce più istanze con un token globale più token per repo nel database: i repo di una seconda istanza senza token proprio ricevono quello globale.
Verified
- Routing con token finti e richieste intercettate: token giusto per host e porta; nessun token a
host.evil.com, http, porta diversa, host sconosciuti; richieste API conredirection=0; filtro: token solo su pacchetto gestito e pacchetto in installazione, mai su altre richieste allo stesso host. - Token vero in mappa: gli 11 plugin con
Gitea Plugin URI, privati compresi, rispondono dalla release. - Rendering della pagina in it_IT con il
.monuovo; il token non compare nel markup. - Form, handler
admin_poste nonce corrispondono; hook nuovi solo quelli del footer. make-pot,msgfmt --check(104 tradotte, 3 non tradotte ammesse).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Token per istanza: