Jagster
(Jakke Lehtonen)
2 Novembre 2022, 11:44am
1
Continuando la discussione da Galleria di immagini Masonry :
Il titolo dice tutto, immagino.
Dopo aver ricostruito da 2.9.0.beta11 (208d22cfc2 ) ogni tema o componente da GitLab dà errore 500 quando si tenta di installare o aggiornare.
È un bug o un problema di sicurezza? La mia configurazione non ha nulla di strano ed è piuttosto basilare.
Questo potrebbe essere correlato. È successo quando ho provato a installare un tema:
Messaggio (2 copie segnalate)
Impossibile elaborare correttamente la risposta dirottata: RemoteTheme::ImportError: Errore nel clonare il repository git, accesso negato o repository non trovato.
Backtrace
/var/www/discourse/lib/theme_store/git_importer.rb:81:in `raise_import_error!'
/var/www/discourse/lib/theme_store/git_importer.rb:148:in `rescue in clone_http!'
/var/www/discourse/lib/theme_store/git_importer.rb:145:in `clone_http!'
/var/www/discourse/lib/theme_store/git_importer.rb:93:in `clone!'
/var/www/discourse/lib/theme_store/git_importer.rb:18:in `import!'
/var/www/discourse/app/models/remote_theme.rb:82:in `import_theme'
/var/www/discourse/app/controllers/admin/themes_controller.rb:106:in `block in import'
/var/www/discourse/lib/hijack.rb:56:in `instance_eval'
/var/www/discourse/lib/hijack.rb:56:in `block in hijack'
/var/www/discourse/lib/scheduler/defer.rb:94:in `block in do_work'
Env
HTTP HOSTS: foorumi.katiska.eu
4 Mi Piace
pfaffman
(Jay Pfaffman)
2 Novembre 2022, 9:08pm
2
Intendi gitlab o github? Si tratta di componenti tematici che hanno funzionato in precedenza? Potrebbe trattarsi di un problema di rete anomalo. I temi a cui stai accedendo potrebbero essere stati eliminati o protetti?
Se sono pubblici, puoi condividerne gli URL in modo che altri possano tentare di accedervi.
Jagster
(Jakke Lehtonen)
2 Novembre 2022, 9:13pm
3
Jay Pfaffman:
Intendi gitlab o github?
GitLab. Quelli basati su GitHub vanno benissimo.
Sì. E funzionano ancora se installati da zip. Connettersi a Gitlab da Discourse è il problema ora.
No e no.
Certo. Puoi provare Masonry Image Gallery — il link è nel primo post.
Non so nulla ma ho la sensazione che la normalizzazione dell’URL (o qualcosa di simile) cambierà gitlab in github ed è per questo che il repository manca.
2 Mi Piace
RGJ
(Richard - Communiteq)
2 Novembre 2022, 11:00pm
5
Quasi certamente a causa delle correzioni SSRF protections .
Gitlab sta reindirizzando 301 un git clone per https://gitlab.com/silentboatman/discourse-masonry-image-gallery a https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ (sic, termina con .git/) ma git viene chiamato con -c http.followRedirects=false quindi fallisce.
Inserire https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ come URL del repository direttamente non funziona perché viene ripristinato a https://gitlab.com/silentboatman/discourse-masonry-image-gallery da FinalDestination.resolve(@uri.to_s) perché, non ci crederai, quando richiesto al di fuori di git, il reindirizzamento va nell’altra direzione! Gitlab reindirizza 302 https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ a https://gitlab.com/silentboatman/discourse-masonry-image-gallery
EDIT usando GIT_CURL_VERBOSE=1 sono stato in grado di vedere che Git aggiunge info/refs?service=git-upload-pack durante il clone, quindi
GET /silentboatman/discourse-masonry-image-gallery/info/refs?service=git-upload-pack HTTP/2
va a
location: https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/info/refs?service=git-upload-pack
5 Mi Piace
Jagster
(Jakke Lehtonen)
2 Novembre 2022, 11:11pm
6
Quindi - la Grande Domanda™ è: cosa è cambiato di recente? E come possiamo (e con noi intendo tutti tranne me) risolvere questo problema?
1 Mi Piace
Qualcuno sta dando un’occhiata.
5 Mi Piace
RGJ
(Richard - Communiteq)
3 Novembre 2022, 7:31am
8
(Inoltre, sembra che la maggior parte delle azioni che causano un errore durante l’aggiunta di un repository ora mostrino un popup con solo il testo “500 Server Error” invece di un messaggio di errore effettivo)
1 Mi Piace
Heddson
11 Novembre 2022, 1:01pm
10
Pensavo che questa correzione (sotto) avrebbe risolto questo problema, ma ricevo ancora lo stesso errore.
Attualmente sono sulla versione 2.9.0.beta11 +143 (795687160d ).
main ← gitlab-fetch-fix
opened 07:45PM - 03 Nov 22 UTC
This should fix fetching from gitlab.
@daniel Questa correzione è correlata al problema in questo argomento?
1 Mi Piace
daniel
(Daniel Waterworth)
14 Novembre 2022, 10:10pm
11
Sì, quel commit era destinato a correggere il recupero da gitlab. Ci ho appena provato e ora sono in grado di clonare da repository gitlab, sia tramite SSH che tramite HTTP. Potresti fornire maggiori dettagli su cosa stai facendo esattamente che non funziona?
@Jagster , è ancora un problema per te?
4 Mi Piace
RGJ
(Richard - Communiteq)
14 Novembre 2022, 10:35pm
12
Ho visto che questo fallisce anche dopo l’aggiornamento a beta12.
Sembra che il formato dell’URL sia importante.
https://gitlab.com/silentboatman/discourse-masonry-image-gallery/ –> errore
https://gitlab.com/silentboatman/discourse-masonry-image-gallery –> errore
https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git –> funziona
Ciò significa che dovrai rimuovere e riaggiungere i componenti del tema che hanno uno dei primi due formati e copiare la configurazione. Ma sarebbe davvero fantastico se anche questi due formati fossero supportati nativamente.
6 Mi Piace
Heddson
14 Novembre 2022, 11:02pm
13
Sì, aggiungere .git alla fine dell’URL sembra funzionare. Ottima osservazione!
Ecco qualche dettaglio in più. Ho installato discourse-masonry-image-gallery e dopo aver aggiornato Discourse ho ricevuto il seguente messaggio di errore.
Ricordo di averlo installato dall’URL senza .git alla fine, poiché l’URL di esempio non termina con .git .
Ho anche provato a installare un altro tema da gitlab (senza .git ) e ho ricevuto il seguente messaggio.
Nel test sopra ho provato a installare discourse-agora-theme , anch’esso un repository pubblico di gitlab.
3 Mi Piace
Jagster
(Jakke Lehtonen)
15 Novembre 2022, 9:14am
14
Dopo beta12 e usando .git funziona benissimo. Non ho provato senza .git, però.
2 Mi Piace
daniel
(Daniel Waterworth)
5 Dicembre 2022, 5:53pm
18
Richard - Communiteq:
Sembra che il formato dell’URL sia importante.
https://gitlab.com/silentboatman/discourse-masonry-image-gallery/ → errore
https://gitlab.com/silentboatman/discourse-masonry-image-gallery → errore
https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git → funziona
Questo commit dovrebbe risolvere il problema:
committed 08:21PM - 30 Nov 22 UTC
This is closer to git's redirect following behaviour. We prevented git
followin… g redirects when we clone in order to prevent SSRF attacks.
Follow-up-to: 291bbc4fb966165c9f7bbc7af6bea705b8c09a7d
7 Mi Piace
Sì, questo risolve il problema. Grazie!
2 Mi Piace