Jagster
(Jakke Lehtonen)
Novembro 2, 2022, 11:44am
1
Continuando a discussão de Masonry Image Gallery :
O título diz tudo, eu acho.
Depois de reconstruir de 2.9.0.beta11 (208d22cfc2 ), todos os temas ou componentes do GitLab dão erro 500 ao tentar instalar ou atualizar.
Isso é um bug ou algum tipo de problema de segurança? Minha configuração não tem nada de estranho e é bastante básica.
Isso pode estar relacionado. Veio quando testei a instalação de um tema:
Mensagem (2 cópias relatadas)
Falha ao processar a resposta sequestrada corretamente: RemoteTheme::ImportError: Erro ao clonar o repositório git, acesso negado ou repositório não encontrado.
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 curtidas
pfaffman
(Jay Pfaffman)
Novembro 2, 2022, 9:08pm
2
Você quer dizer GitLab ou GitHub? São componentes de tema que funcionavam antes? Pode ser um problema de rede intermitente. Os temas aos quais você está acessando podem ter sido excluídos ou protegidos?
Se forem públicos, você pode compartilhar seus URLs para que outros possam tentar acessá-los.
Jagster
(Jakke Lehtonen)
Novembro 2, 2022, 9:13pm
3
GitLab. Os baseados em GitHub estão ótimos.
Sim. E ainda funcionam se instalados a partir de um zip. Conectar-se ao Gitlab a partir do Discourse é o problema agora.
Não e não.
Claro. Você pode tentar o Masonry Image Gallery — o link está na primeira postagem.
Não sei nada, mas tenho a sensação de que a normalização de URL (ou algo semelhante) mudará gitlab para github e é por isso que o repositório está faltando.
2 curtidas
RGJ
(Richard - Communiteq)
Novembro 2, 2022, 11:00pm
5
Quase certamente devido às correções de proteções SSRF .
O Gitlab está redirecionando 301 um git clone para https://gitlab.com/silentboatman/discourse-masonry-image-gallery para https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ (sic, termina com .git/) mas o git é chamado com -c http.followRedirects=false então falha.
Inserir https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ como URL do repositório diretamente não funciona porque isso é revertido para https://gitlab.com/silentboatman/discourse-masonry-image-gallery por FinalDestination.resolve(@uri.to_s) porque, você não vai acreditar, quando solicitado fora do git, o redirecionamento vai na outra direção! O Gitlab redireciona 302 https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/ para https://gitlab.com/silentboatman/discourse-masonry-image-gallery
EDIT usando GIT_CURL_VERBOSE=1 eu consegui ver que o Git anexa info/refs?service=git-upload-pack ao clonar, então
GET /silentboatman/discourse-masonry-image-gallery/info/refs?service=git-upload-pack HTTP/2
vai para
location: https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git/info/refs?service=git-upload-pack
5 curtidas
Jagster
(Jakke Lehtonen)
Novembro 2, 2022, 11:11pm
6
Então - a Grande Questão™ é: o que mudou recentemente? E como nós (e com nós quero dizer todo mundo, exceto eu) podemos consertar isso?
1 curtida
Alguém está dando uma olhada.
5 curtidas
RGJ
(Richard - Communiteq)
Novembro 3, 2022, 7:31am
8
(Além disso, parece que a maioria das ações que causam um erro ao adicionar um repositório agora exibem um pop-up apenas com o texto “500 Server Error” em vez de uma mensagem de erro real)
1 curtida
Heddson
Novembro 11, 2022, 1:01pm
10
Pensei que este conserto (abaixo) resolveria este problema, mas ainda recebo o mesmo erro.
Atualmente estou na versão 2.9.0.beta11 +143 (795687160d ).
main ← gitlab-fetch-fix
opened 07:45PM - 03 Nov 22 UTC
This should fix fetching from gitlab.
@daniel Este conserto está relacionado ao problema neste tópico?
1 curtida
daniel
(Daniel Waterworth)
Novembro 14, 2022, 10:10pm
11
Sim, esse commit foi feito para corrigir a busca no gitlab. Acabei de tentar e agora consigo clonar de repositórios do gitlab, tanto via SSH quanto via HTTP. Você poderia dar mais detalhes sobre o que exatamente você está fazendo que não está funcionando?
@Jagster , isso ainda é um problema para você?
4 curtidas
RGJ
(Richard - Communiteq)
Novembro 14, 2022, 10:35pm
12
Eu também vi isso falhando após a atualização para beta12.
Parece que o formato do URL importa.
https://gitlab.com/silentboatman/discourse-masonry-image-gallery/ –\u003e erro
https://gitlab.com/silentboatman/discourse-masonry-image-gallery –\u003e erro
https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git –\u003e funciona
Isso significa que você precisará remover e readicionar componentes de tema que tenham um dos dois primeiros formatos e copiar a configuração. Mas seria muito legal se esses dois formatos também fossem suportados nativamente.
6 curtidas
Heddson
Novembro 14, 2022, 11:02pm
13
Sim, adicionar .git ao final da URL parece funcionar. Ótima observação!
Aqui estão mais detalhes. Instalei o discourse-masonry-image-gallery e, após atualizar o Discourse, recebi a seguinte mensagem de erro.
Lembro-me de tê-lo instalado a partir da URL sem o .git no final, já que a URL de exemplo não termina com .git .
Também tentei instalar outro tema do gitlab (sem .git ) e recebi a seguinte mensagem.
No teste acima, tentei instalar o discourse-agora-theme , também um repositório público do gitlab.
3 curtidas
Jagster
(Jakke Lehtonen)
Novembro 15, 2022, 9:14am
14
Após o beta12 e usando .git, funciona perfeitamente. Eu não tentei sem .git, no entanto.
2 curtidas
daniel
(Daniel Waterworth)
Dezembro 5, 2022, 5:53pm
18
Richard - Communiteq:
Parece que o formato do URL importa.
https://gitlab.com/silentboatman/discourse-masonry-image-gallery/ → erro
https://gitlab.com/silentboatman/discourse-masonry-image-gallery → erro
https://gitlab.com/silentboatman/discourse-masonry-image-gallery.git → funciona
Este commit deve corrigir isso:
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 curtidas
Heddson
Dezembro 5, 2022, 8:01pm
19
Sim, isso resolve este problema. Obrigado!
2 curtidas