Olá - obrigado por registrar um problema. Certifique-se das seguintes coisas antes de criar um problema - obrigado! 🤓 Desde 15 de novembro tratamos de todas as solicitações, exceto bugs reais, em nosso fórum da comunidade. Explicação completa: https://community.zammad.org/t/major-change-regarding-github-issues-community-board/21 Publique: - Solicitações de recursos - Perguntas de desenvolvimento - Perguntas técnicas no quadro -> https: / /community.zammad.org! Se você acha que encontrou um bug, continue: - Pesquise os problemas existentes e o CHANGELOG.md para o seu problema - já pode haver uma solução - Certifique-se de usar a versão mais recente do Zammad se possível - Adicione o `log / produção. arquivo de log do seu sistema. Atenção: Certifique-se de que não contém dados confidenciais! - Escreva o problema em inglês - Não remova o modelo - caso contrário, fecharemos o problema sem mais comentários - Faça perguntas sobre a configuração e o uso do Zammad em nossa lista de discussão. Veja: https://zammad.org/participate Nota: Sempre fazemos nosso melhor. Infelizmente, às vezes há muitas solicitações e não podemos lidar com tudo de uma vez. Se quiser priorizar / escalar seu problema, você pode fazer isso por meio de um contrato de suporte (consulte https://zammad.com/pricing#selfhosted). * O bloco de texto superior será removido automaticamente quando você enviar seu problema *
Quadro LDPA exibido (no menu de configuração Sistema -> Integração -> LDAP) sem erro
*
O quadro LDAP não é exibido. Quadro permanece vazio com mensagem de erro
Também API e monitoramento
*
StatusCode 500
{"erro": "\" \ xC5 \ "de ASCII-8BIT para UTF-8"}
apenas configure o LDAP.
*
Minha configuração:
adaptador: postgresql
banco de dados: zammad
piscina: 50
tempo limite: 5000
codificação: utf8
nome de usuário: zammad
log / production.log:
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.5/lib/active_support/tagged_logging.rb:69:in `block in tagged'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.5/lib/active_support/tagged_logging.rb:26:in `tagged'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.5/lib/active_support/tagged_logging.rb:69:in `tagged'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/rack/logger.rb:24:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/actionpack-5.1.5/lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/actionpack-5.1.5/lib/action_dispatch/middleware/request_id.rb:25:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/rack-2.0.5/lib/rack/method_override.rb:22:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/rack-2.0.5/lib/rack/runtime.rb:22:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.5/lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/actionpack-5.1.5/lib/action_dispatch/middleware/executor.rb:12:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/actionpack-5.1.5/lib/action_dispatch/middleware/static.rb:125:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/rack-2.0.5/lib/rack/sendfile.rb:111:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/engine.rb:522:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/puma-3.11.0/lib/puma/configuration.rb:225:in `call'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/puma-3.11.0/lib/puma/server.rb:624:in `handle_request'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/puma-3.11.0/lib/puma/server.rb:438:in `process_client'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/puma-3.11.0/lib/puma/server.rb:302:in `block in run'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/puma-3.11.0/lib/puma/thread_pool.rb:120:in `block in spawn_thread'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/logging-2.2.2/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
I, [2018-07-24T09:47:49.326279 #12796] INFO -- : Completed 500 Internal Server Error in 1121ms (Views: 0.3ms | ActiveRecord: 43.9ms)
I, [2018-07-24T09:47:50.981956 #12794] INFO -- : 2018-07-24T09:47:50+0200: [Worker(host:support pid:12794)] Job Observer::UserDeviceLogJob (id=3437) RUNNING
I, [2018-07-24T09:47:51.081012 #12794] INFO -- : 2018-07-24T09:47:51+0200: [Worker(host:support pid:12794)] Job Observer::UserDeviceLogJob (id=3437) COMPLETED after 0.0988
Sim, tenho certeza que isso é um bug e nenhuma solicitação de recurso ou uma questão geral.
Olá @ e311 - você poderia fornecer a parte superior do log também? É aqui que as informações necessárias são impressas e que estão faltando no momento. Além disso: você poderia descrever as etapas executadas para solucionar o problema? No momento, isso não está claro. Obrigado!
Oi,
Eu vou tentar isso.
Eu abro o (em admin -> sistema -> Integarion) LDAP. Eu inicio a configuração. Tudo bem.
Senha do usuário do DN do domínio.
Usei o mapeamento padrão.
A tela de configuração do LDAP parece boa.
Eu pressiono com segurança. E recebo uma mensagem de erro.
Depois de recarregar a página, o quadro está vazio.
e aqui está o arquivo de log completo:
Olá @ e311 - obrigado pelo comentário abrangente! A linha interessante no log é esta:
E, [2018-07-24T11:39:30.491795 #973] ERROR -- : "\xC5" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.5/lib/active_support/core_ext/object/json.rb:36:in `encode'
...
/opt/zammad/app/controllers/application_controller/renders_models.rb:70:in `model_update_render_item'
/opt/zammad/app/controllers/application_controller/renders_models.rb:66:in `model_update_render'
/opt/zammad/app/controllers/settings_controller.rb:31:in `update'
O que basicamente diz que há caracteres especialmente codificados nas configurações do LDAP que serão armazenados / armazenados. Também posso ver aqueles no log.
Acho que isso é o suficiente para reproduzir o problema. Obrigado pelo seu apoio até agora. Vamos consertar o problema.
Observe que a integração do Exchange também é afetada: # 2152
Olá @ e311 ,
Estamos investigando esse problema e temos certeza de que entendemos o que está acontecendo, mas precisamos pedir sua ajuda novamente para ter certeza absoluta.
Tente a seguinte linha em seu terminal, no diretório Zammad. Se nossas suspeitas estiverem corretas, ele deve falhar (_ ou seja, _ gerar um erro e mostrar um rastreamento):
$ rails r "puts Setting.get('ldap_config').to_json"
Se você viu um traceback para o mesmo Encoding::UndefinedConversionError
que obteve no relatório de bug inicial, ótimo - para a Etapa 2! Caso contrário, confirme que você não reiniciou seu banco de dados ou alterou sua configuração LDAP desde a última vez que este bug ocorreu. Se ainda assim você não receber um erro, informe-nos para que possamos continuar investigando.
Execute o seguinte comando em seu terminal:
$ rails r "pp Setting.get('ldap_config').except('bind_pw')" > zammad_2140_debug_output.txt
Em seguida, envie o arquivo resultante ( zammad_2140_debug_output.txt
) para [email protected]. Certifique-se de mencionar que a mensagem é para Thorsten Eckel e para o bug # 2140.
Com isso, devemos conseguir fazer uma correção funcionar imediatamente.
Obrigado novamente por toda a sua ajuda!
Esta é a primeira massagem
serveradmin @ support : / opt / zammad $ rails r "puts Setting.get ('ldap_config'). to_json"
Traceback (última chamada mais recente):
4: de bin / trilhos: 3 : em <main>'
3: from bin/rails:3:in
require_relative '
2: de /opt/zammad/config/boot.rb:3:in <top (required)>'
1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in
require '
/usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require ': não é possível carregar esse arquivo - bundler / setup (LoadError)
Gesendet: Montag, 06. Agosto de 2018 hum 11:53 Uhr
Von: "Ryan Lue" [email protected]
An: zammad / zammad [email protected]
Cc: e311 [email protected] , Mencione a mençã[email protected]
Betreff: Re: [zammad / zammad] Código de status 500 do LDAP / Exchange UTF-8 (# 2140)
Olá @ e311 ,
Estamos investigando esse problema e temos certeza de que entendemos o que está acontecendo, mas precisamos pedir sua ajuda novamente para ter certeza absoluta.
Etapa 1: confirme a causa do bug
Tente a seguinte linha em seu terminal, no diretório Zammad. Se nossas suspeitas estiverem corretas, ele deve falhar (ou seja, gerar um erro e mostrar um rastreamento):
$ rails r "puts Setting.get ('ldap_config'). to_json"
Se você viu um rastreamento para o mesmo Encoding :: UndefinedConversionError que obteve no relatório de bug inicial, ótimo - na Etapa 2! Caso contrário, confirme que você não reiniciou seu banco de dados ou alterou sua configuração LDAP desde a última vez que este bug ocorreu. Se ainda assim você não receber um erro, informe-nos para que possamos continuar investigando.
Etapa 2: envie-nos uma última informação crucial
Execute o seguinte comando em seu terminal:
$ rails r "pp Setting.get ('ldap_config'). except ('bind_pw')"> zammad_2140_debug_output.txt
Em seguida, envie o arquivo resultante (zammad_2140_debug_output.txt) para [email protected]. Certifique-se de mencionar que a mensagem é para Thorsten Eckel e para o bug # 2140.
Com isso, devemos conseguir fazer uma correção funcionar imediatamente.
Obrigado novamente por toda a sua ajuda!
-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub ou ignore a conversa.
rails r "pp Setting.get ('ldap_config'). except ('bind_pw')"> zammad_2140_debug_output.txt
produzir um arquivo emty (não posso enviar porque está emty)
Olá @ e311 - Por favor, tente o seguinte:
zammad run rails r "pp Setting.get('ldap_config').except('bind_pw')" > zammad_2140_debug_output.txt
OU:
bundle exec rails r "pp Setting.get('ldap_config').except('bind_pw')" > zammad_2140_debug_output.txt
mas deve ser a primeira linha.
Eu tento o primeiro comando:
O mesmo que "Serveradmin" com sudo ou sem sudo
O pacote pode não estar instalado?
@ e311 , isso é muito estranho. Vamos ignorar o segundo comando ( bundle exec rails ...
) por enquanto - não acho que seja o caminho certo aqui. Você poderia tentar fazer backup do arquivo de log e criar um novo vazio?
/opt/zammad:# gzip production.log
/opt/zammad:# mv production.log.gz production.log.15.gz
/opt/zammad:# touch production.log
/opt/zammad:# chown zammad.zammad production.log
/opt/zammad:# chmod 0644 production.log
/opt/zammad:# zammad run rails r "pp Setting.get('ldap_config').except('bind_pw')" > zammad_2140_debug_output.txt
Obrigado por toda a sua ajuda para resolver este problema conosco.
@rlue fizemos os comandos ontem com @ e311 .
O log tem direitos de acesso perfeitamente bons, verifiquei duas vezes.
Vou enviar a você a saída do ldap-config na maioria das vezes, caso você ainda não tenha.
Opa, você me enviou totalmente o log no início do dia de ontem. Não sei como perdi!
@ e311 , não vi o que esperava ver em sua saída de depuração. Agora que @MrGeneration foi capaz de ajudá-lo a fazer seus zammad run rails r ...
comandos funcionarem, você poderia tentar o seguinte novamente e me dizer se ele está levantando Encoding::UndefinedConversionError
qual esse problema se destina?
$ rails r "puts Setting.get('ldap_config').to_json"
Recebo a mensagem "Sua versão do Ruby é 2.5.1, mas seu Gemfile especificou 2.4.4"
Lamento, mas não vai funcionar (tento todas as ideias que o Google me diz)
Seu Ruby e sua versão Elasticsearch não são compatíveis com Zammad.
Use Ruby 2.4.4 e Elasticsearch até 5.6.
@ e311 desculpe, na verdade, totalmente minha culpa. Esqueci de adicionar zammad r
novamente. -_- '
eu quis dizer
$ zammad run rails r "puts Setting.get('ldap_config').to_json"
Esta é a mensagem:
Portanto, a saída do último comando foi exatamente o que eu esperava. Para resumir, parece que alguns dos atributos do usuário em seu servidor LDAP têm valores de dados binários. Zammad tenta convertê-los em strings e depois passá-los do backend para o frontend, mas como não são realmente strings, acabamos tendo alguns problemas de codificação / conversão.
Claro, como não consigo me conectar ao seu servidor LDAP, não posso ter 100% de certeza de que uma correção funcionará até que você tente para nós. Portanto, gostaria de pedir sua ajuda em mais dois pontos:
A última vez que pedi que você executasse alguns comandos e nos enviasse a saída por e-mail (quarta-feira passada), os comandos que dei a você não estavam corretos e não forneceram exatamente as informações de que precisávamos. Aqui está um script que deve funcionar corretamente desta vez (faça o download aqui ):
# Place this script in your Zammad directory and run it with
#
# $ zammad run rails r 2140_bug_report.rb
#
# It should create a file named 2140_bug_report.txt.
# Please send this file to [email protected], and mention that it's for Ryan.
class Hash
def deep_values
values.map { |v| v.try(:deep_values) || v }.flatten
end
end
string_values = Setting.get('ldap_config').except('bind_pw').deep_values.select { |v| v.is_a?(String) }
File.binwrite('2140_bug_report.txt', Marshal.dump(string_values))
Desculpe obrigar você a fazer isso duas vezes.
Eu escrevi um patch que acho que deve resolver o problema. Basicamente, sempre que encontra um valor de dados binários na sincronização do LDAP, ele o ignora em vez de tentar salvá-lo como uma string.
Gostaria de confirmar se a correção funciona em sua máquina antes de mesclar essas alterações na base de código principal. Aqui está uma versão corrigida de bug do arquivo lib/ldap/user.rb
.
Baixe-o e copie-o para /opt/zammad/lib/ldap/user.rb
, então reinicie o Zammad (importante!) E execute todo o assistente de configuração do LDAP novamente. Como você já tem uma configuração LDAP existente, isso significa que você terá que clicar no botão "Alterar" na parte inferior do painel:
Se a Etapa 2 ainda não corrigir isso para você, execute o script da Etapa 1 novamente e certifique-se de nos enviar os dois arquivos.
Obrigado novamente por sua ajuda e sua paciência!
Reinicio o sistema de furos, mas não consigo apertar o botão de mudança.
antes do patch
2140_bug_report (Etapa 1) .txt
depois do patch
2140_bug_report (Etapa 2) .txt
Também tento uma nova configuração de LDAP. Eu restauro o sistema antes da conf. LDAP. mas é o mesmo resultado.
Verifiquei o nível funcional do domínio. É 2003, pode ser este o problema
Reinicio o sistema de furos, mas não consigo apertar o botão de mudança.
Obrigado por esclarecer isso. Eu não tinha entendido a extensão do problema, originalmente.
Também tento uma nova configuração de LDAP. Eu restauro o sistema antes da conf. LDAP. mas é o mesmo resultado.
Você quer dizer que restaurou o sistema antes da configuração do LDAP, executou todo o assistente com êxito e ainda acabou com o mesmo problema? Ou você quer dizer que tentou restaurar o sistema antes da configuração do LDAP, mas ainda está recebendo este erro e não consegue acessar o assistente?
Se for o primeiro, o patch ainda precisa de um pouco mais de trabalho; Devo ter uma solução para você amanhã. Se for o último, você pode tentar redefinir a configuração do LDAP com
$ RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"
(Você pode deixar de fora a parte RAILS_ENV=production
se estiver fazendo isso em um ambiente de desenvolvimento.)
Eu restaurei um backup, o backup foi criado antes de eu iniciar a configuração do LDAP pela primeira vez.
Tento redefinir o con do LDAP com
$ RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"
Eu não "reiniciei" o conf, ele ainda funciona.
Agora parece que todo o sistema está funcionando, sem uma mensagem de erro
(Sem LDAP)
Ok, então você está dizendo:
(Para confirmar o ponto 2, você pode executar RAILS_ENV=production zammad run rails r "puts Setting.get('ldap_config')"
, que deve imprimir {}
no console.)
Se tudo o que foi dito acima for verdade, e você copiou a versão corrigida de lib/ldap/user.rb
que vinculei acima, você pode tentar configurar a sincronização do LDAP mais uma vez e me dizer se ainda encontrar o mesmo problema?
Ou se eu não entendi, por favor me diga qual é a situação.
Obrigado.
@rlue - JFI: dê uma olhada em https://community.zammad.org/t/unable-to-access-ldap-in-integrations-statuscode-500/1116/5 😍
Desculpe pelo atraso na resposta. Sim, tudo correto. Depois que o LDAP foi configurado novamente, tive o mesmo erro novamente.
@rlue - como @ e311 já afirmou, ainda há algo errado: https://community.zammad.org/t/unable-to-access-ldap-in-integrations-statuscode-500/1116/21
Para sua informação: Eu tenho o mesmo problema e o patch user.rb não funcionou comigo também.
Obrigado pelo seu trabalho antecipadamente
Todos que ainda têm o problema depois de alterar o arquivo e reiniciar o aplicativo, forneçam o erro (incluindo backtrace) de seu arquivo log/production.log
. Obrigado!
@ e311 , @tbeitter e todos os outros que estão enfrentando esse problema - _ainda_outro_ script de depuração que gostaria que você executasse . Não quero falar muito cedo, mas esta realmente deve ser a última.
Coloque-o no diretório zammad e execute
$ zammad run rails r 2140_improved_bug_report.rb
Você será solicitado a fornecer o URL do servidor LDAP e as credenciais de login e, em seguida, o script irá gerar um arquivo chamado 2140_debug_log.txt
. Este arquivo contém uma amostra dos atributos do usuário do seu servidor LDAP, então se isso pode significar algo confidencial, NÃO poste publicamente . Em vez disso, envie-o para [email protected] e mencione que é para Ryan.
Obrigado a todos por sua paciência contínua enquanto resolvemos esse bug.
Olá,
Se tento executar o novo script, obtenho este (o LDAP está ativado), nenhum arquivo foi criado.
serveradmin<strong i="7">@support</strong>:/opt/zammad$ sudo zammad run rails r 2140_improved_bug_report.rb
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/commands/runner/runner_command.rb:34:in `load': 2140_improved_bug_report.rb:77: invalid multibyte char (UTF-8) (SyntaxError)
from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/commands/runner/runner_command.rb:34:in `perform'
from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch'
from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/command/base.rb:63:in `perform'
from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/command.rb:44:in `invoke'
from /opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/commands.rb:16:in `<top (required)>'
from /opt/zammad/bin/rails:4:in `require'
from /opt/zammad/bin/rails:4:in `<main>'
serveradmin<strong i="8">@support</strong>:/opt/zammad$
também tem este erro ldap ... (instalação do Ubuntu 16.04 através do repo)
root<strong i="6">@zammad01</strong>:/opt/zammad# zammad run rails r 2140_improved_bug_report.rb
Please specify a valid ruby command or the path of a script to run.
Run 'bin/rails runner -h' for help.
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/commands/runner/runner_command.rb:37: trailing `_' in number
2140_improved_bug_report.rb
^
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/railties-5.1.5/lib/rails/commands/runner/runner_command.rb:37: syntax error, unexpected tIDENTIFIER, expecting end-of-input
2140_improved_bug_report.rb
@ redbear-ger, certifique-se de que 2140_improved_bug_report.rb
está em seu diretório /opt/zammad
.
@ e311 ops , que bug estranho.
Modifiquei o script removendo alguns caracteres multibyte desnecessários da saída do console. Você pode baixar novamente o script e tentar novamente ou simplesmente alterar as aspas inteligentes na linha 77 para aspas normais:
# replace “#{default_base_dn}” with '#{default_base_dn}'
printf "Base DN (leave blank for default '#{default_base_dn}'): "
Não tenho 100% de certeza de que isso vai consertar, mas tenho um palpite.
@rlue , não 2140_improved_bug_report.rb em / opt / zammad
btw: Assim que excluo a configuração do LDAP (RAILS_ENV = production zammad run rails r "Setting.set ('ldap_config', {})"), o problema desaparece.
@ redbear-ger obrigado pelo seu feedback rápido; baixe o script do relatório de bug , coloque-o em /opt/zammad
e tente novamente.
Mesmo que o problema tenha desaparecido 100% agora, seria de grande ajuda ter seus dados de amostra para que possamos construir testes para garantir que isso não aconteça novamente.
O bug desapareceu, mas também a integração ldap;)
Farei o download do script de relatório hoje à noite
Olá,
Eu tenho o mesmo problema e tentei todas as sugestões acima. Nenhum deles resolve o problema.
Portanto, decidi reproduzir o problema em um sistema de desenvolvimento para fornecer a você um arquivo de depuração sem fornecer dados confidenciais.
O script 2140_improved_bug_report.rb me retornou o seguinte arquivo de texto:
2140_debug_log.txt
Obrigado!
Obrigado @hublux! Por alguma razão, há vários lugares no arquivo onde os caracteres de controle (_ex., _ ^D
) são substituídos por um caractere literal ( ^
) seguido por uma letra literal ( D
), e isso está causando erros ao tentar analisar o arquivo. Você fez alguma coisa com o arquivo antes de enviá-lo, por acaso? (Digamos, abri-lo em um editor de texto, fechá-lo e clicar em "salvar alterações"?) Ou você acha que talvez o GitHub possa ter feito algum tipo de processamento quando você o carregou?
Para confirmar se o arquivo original está formatado corretamente em sua máquina, tente o seguinte comando no diretório Zammad e verifique o resultado:
$ zammad run rails r "puts Marshal.load(File.read('2140_debug_log.txt')).first.inspect"
# should print the following:
["dn", "CN=Exchange Online-ApplicationAccount,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=ebusiness,DC=local"]
Se tudo estiver funcionando conforme o esperado, envie o arquivo por e-mail para [email protected].
Olá,
Obrigado por sua resposta.
Na verdade, parece que algumas de minhas ações alteraram o arquivo quando copiei o conteúdo dele.
verificando com o gato, parece um pouco diferente.
Tentei o comando e recebo a saída correta.
Enviei o arquivo para o suporte da Zammad.
Aqui está também o novo arquivo
2140_debug_log.txt
@hublux , obrigado novamente por seu feedback rápido. Acho que há algo errado com o script de depuração que escrevi, porque esse novo arquivo também não está certo (está faltando muitos dados - 4kB, em comparação com o log de depuração de 16kB que você enviou originalmente).
Desde então, apliquei o patch ao script de depuração para (espero) tornar o arquivo 2140_debug_log.txt
mais robusto e seguro para transmitir sem esses estranhos problemas de codificação. Faça o download mais uma vez e tente novamente. (Sinta-se à vontade para incluí-lo em sua resposta neste tópico, se for mais conveniente para você.)
Ele originalmente pegou um hash Ruby, empacotou-o e, em seguida, gravou os dados empacotados em um arquivo binário (sem codificação) 'texto'. Eu realmente não sei por que arquivos de texto binários seriam corrompidos ao serem transmitidos de uma máquina para outra, mas é o que estamos observando aqui.
Essa correção pega os dados empacotados e os codifica na base 64 antes de salvá-los em um arquivo de texto Unicode normal. Isso deve tornar mais seguro transmitir sem corrupção, porque o que é mais universal do que Unicode?
2140_debug_log.txt
Lá você tem a saída com o novo script
Saudações!
Olá a todos,
também concordando, pois o mesmo problema também me afeta - mesmo depois de atualizar para o novo lib/ldap/user.rb
Eu também comecei a cavar um pouco no hash ldap_config
e comecei a me livrar de todo o conteúdo de !binary
. Mas descobri que, embora eu tivesse 4 desses, apenas dois mexiam com a codificação.
Tive que remover usersmimecertificate
e msexchmailboxsecuritydescriptor
.
Os outros dois, msexchmasteraccountsid
e securityprotocol
, não causaram problemas.
Olá,
Só para esclarecer, não tenho certeza se isso é óbvio, pois não vi ninguém mencionando isso.
Como uma conexão LDAP, eu uso o Active Directory com alemão como idioma do sistema. Então instalei um novo sistema e um Domínio separado. A única diferença do sistema anterior em que o problema ocorreu é que no novo sistema o idioma é definido como inglês dos Estados Unidos em vez de alemão. Com esta configuração não há erro a ser encontrado, tudo funcionando conforme o esperado. Então peguei meu sistema zammad original onde eu tinha o problema e conectei com o Domínio recém-instalado e o problema desapareceu.
Executar o seguinte na configuração de trabalho me dá o seguinte resultado:
sudo zammad run rails r "puts Setting.get('ldap_config').to_json"
Se eu executar o comando para verificar a configuração do ldap com a configuração original, ele falhará e receberá o seguinte erro:
Espero que isso ajude você.
Cumprimentos!
Obrigado @hublux! Conseguimos uma solução graças à sua contribuição; ele deve ser mesclado com develop
breve!
Após a atualização ainda obter o mesmo erro. (Mas sem a configuração do Exchange, apenas LDAP-Sync)
Olá @tidet , obrigado pelo feedback. Siga as instruções neste comentário ; seus dados de amostra serão de grande ajuda para nos ajudar a resolver esse problema de forma conclusiva.
Oi,
Só para informar que tive o mesmo problema novamente, mas a configuração antiga ainda existia. Portanto, proceda da seguinte forma se você tiver esse problema novamente.
Exclua a configuração antiga com o seguinte comando:
sudo RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"
pare o serviço zammad
atualizar zammad
inicie o serviço zammad novamente e tente reconfigurar a conexão ldap
Depois disso, não enfrentei nenhum problema.
Cumprimentos
@rlue devo tentar a solução acima ou permanecer no erro atual para fins de depuração?
O e-mail com o arquivo de log foi lançado para o suporte @
@tidet , agora que temos seus dados de amostra do LDAP, sinta-se à vontade para prosseguir e tentar o E independentemente de as instruções acima corrigirem ou não para você, haverá outro patch no pipeline chegando mais tarde hoje.
EDIT: Mudei de ideia. Uma vez que a correção está funcionando para você, evitarei modificar o código e adicionar qualquer complexidade desnecessária até que ele seja realmente quebrado para alguém.
@hublux Fix funcionou para mim também.
@hublux corrigido também
ainda enfrentamos esse problema. Fiz o que @hublux escreveu, excluí a configuração, atualizei o zammad (2.6.0-1534939663.6d23dae9.stretch agora), reiniciei o zammad e configurei nossa conexão ldap. Preciso corrigir o código manualmente? Desde já, obrigado.
Eu estava de férias, desculpe pelo atraso na resposta aqui e se perdi alguma coisa :)
Olá @tbeitter ,
Se você executar este comando, receberá alguma saída:
sudo zammad run rails r "puts Setting.get('ldap_config').to_json"
Se sim, verifique isto:
https://github.com/zammad/zammad/issues/2140#issuecomment -417605384
Cumprimentos
Sim, recebo um erro semelhante ao seu:
"\xC2" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
Oi,
Acabei de verificar minha versão do Zammad que atualizei esta manhã:
É diferente do seu.
Você poderia prosseguir novamente com estas etapas:
Cumprimentos
@hublux que funcionou para mim! Obrigado!
Um grande agradecimento a
Comentários muito úteis
Oi,
Só para informar que tive o mesmo problema novamente, mas a configuração antiga ainda existia. Portanto, proceda da seguinte forma se você tiver esse problema novamente.
Exclua a configuração antiga com o seguinte comando:
sudo RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"
pare o serviço zammad
atualizar zammad
inicie o serviço zammad novamente e tente reconfigurar a conexão ldap
Depois disso, não enfrentei nenhum problema.
Cumprimentos