Zammad: LDAP / Exchange UTF-8 Kode Status 500

Dibuat pada 24 Jul 2018  ·  59Komentar  ·  Sumber: zammad/zammad

Halo - terima kasih telah mengajukan masalah. Harap pastikan hal-hal berikut sebelum membuat masalah - terima kasih! 🤓 Sejak 15 November kami menangani semua permintaan, kecuali bug nyata, di papan komunitas kami. Penjelasan lengkap: https://community.zammad.org/t/major-change-regarding-github-issues-community-board/21 Silakan posting: - Permintaan fitur - Pertanyaan pengembangan - Pertanyaan teknis di papan -> https: / /community.zammad.org! Jika Anda merasa terkena bug, silakan lanjutkan: - Cari masalah yang ada dan CHANGELOG.md untuk masalah Anda - mungkin sudah ada solusi - Pastikan untuk menggunakan versi terbaru Zammad jika memungkinkan - Tambahkan `log / produksi. log` file dari sistem Anda. Perhatian: Pastikan tidak ada data rahasia di dalamnya! - Harap tulis masalah dalam bahasa Inggris - Jangan hapus templatnya - jika tidak kami akan menutup masalah tanpa komentar lebih lanjut - Ajukan pertanyaan tentang konfigurasi dan penggunaan Zammad di milis kami. Lihat: https://zammad.org/participate Catatan: Kami selalu melakukan yang terbaik. Sayangnya, terkadang ada terlalu banyak permintaan dan kami tidak dapat menangani semuanya sekaligus. Jika Anda ingin memprioritaskan / meningkatkan masalah Anda, Anda dapat melakukannya melalui kontrak dukungan (lihat https://zammad.com/pricing#selfhosted). * Teks blok atas akan dihapus secara otomatis saat Anda mengirimkan masalah Anda *

Informasi:

  • Versi Zammad yang digunakan
  • Metode instalasi (sumber, paket, ..): DEP
  • Sistem operasi: ubuntu 18.04
  • Database + versi: psql (PostgreSQL) 10.4 (Ubuntu 10.4-0ubuntu0.18.04)
  • Versi Elasticsearch: 6.6.1
  • Browser + versi:
    Chrome

Perilaku yang diharapkan:

Bingkai LDPA ditampilkan (dalam menu konfigurasi Sistem -> Integrasi -> LDAP) tanpa kesalahan
*

Perilaku sebenarnya:

Bingkai LDAP tidak ditampilkan. Bingkai tetap kosong dengan pesan kesalahan
Juga API dan Monitoring
2018-07-24 08_35_07-microsoft edge
*
Kode Status 500
{"error": "\" \ xC5 \ "dari ASCII-8BIT ke UTF-8"}

Langkah-langkah untuk mereproduksi perilaku:

hanya Konfigurasi LDAP.

*
Konfigurasi Saya:
adaptor: postgresql
database: zammad
kolam: 50
batas waktu: 5000
pengkodean: utf8
username: zammad

log / produksi.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

Ya, saya yakin ini bug dan tidak ada permintaan fitur atau pertanyaan umum.

LDAP bug import

Komentar yang paling membantu

Hai,
Sekadar memberi tahu saya mengalami masalah yang sama lagi tetapi konfigurasi lama masih ada. Jadi, lanjutkan sebagai berikut jika Anda mengalami masalah ini lagi.

Hapus konfigurasi lama dengan perintah berikut:
sudo RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"

  • hentikan layanan zammad

  • perbarui zammad

  • mulai layanan zammad lagi dan coba konfigurasi ulang koneksi ldap

Setelah ini saya tidak menghadapi masalah apa pun.

Salam

Semua 59 komentar

Hai @ e311 - dapatkah Anda memberikan bagian atas log juga? Di sinilah informasi yang diperlukan dicetak dan yang saat ini hilang. Selain itu: Bisakah Anda menjelaskan langkah-langkah yang Anda lakukan untuk mengatasi masalah tersebut? Ini saat ini tidak jelas. Terima kasih!

Hai,
saya akan mencobanya.
saya membuka LDAP (di admin -> sistem -> Integarion). Saya memulai konfigurasi Semua baik-baik saja.
Kata Sandi Pengguna DN Domain.
3 ldap

Saya menggunakan pemetaan standar.
4

Iklan layar Konfigurasi LDAP terlihat baik-baik saja.
6
Saya menekan aman. Dan saya mendapatkan pesan kesalahan.
7

Setelah saya memuat ulang Halaman, Frame kosong.
2018-07-24 08_35_07-microsoft edge

dan ini file log lengkapnya:

log.txt

Hai @ e311 - terima kasih atas laporan lengkapnya! Baris yang menarik di log adalah yang ini:

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'

Yang pada dasarnya mengatakan bahwa ada karakter yang dikodekan secara khusus dalam pengaturan LDAP yang akan disimpan / disimpan. Saya juga bisa melihatnya di log.

Saya rasa ini cukup untuk mereproduksi masalah. Terima kasih atas dukungan Anda sejauh ini. Kami akan memperbaiki masalahnya.

Harap perhatikan bahwa integrasi Exchange juga terpengaruh: # 2152

Hai @ e311 ,

Kami telah menyelidiki masalah ini dan cukup yakin kami memahami apa yang terjadi, tetapi kami perlu meminta bantuan Anda lagi untuk sepenuhnya yakin.

Langkah 1: Konfirmasikan penyebab bug

Coba baris berikut di terminal Anda, di direktori Zammad. Jika kecurigaan kami benar, maka itu akan gagal (_i.e., _ Memunculkan kesalahan dan menunjukkan pelacakan kembali):

$ rails r "puts Setting.get('ldap_config').to_json"

Jika Anda melihat traceback untuk Encoding::UndefinedConversionError yang sama dengan yang Anda dapatkan di laporan bug awal, maka bagus - ke Langkah 2! Jika tidak, harap pastikan bahwa Anda belum mengatur ulang database atau mengubah konfigurasi LDAP Anda sejak terakhir kali bug ini terjadi. Jika Anda masih tidak mendapatkan kesalahan, beri tahu kami agar kami dapat terus menyelidikinya.

Langkah 2: Kirimi kami sedikit informasi penting terakhir

Jalankan perintah berikut di terminal Anda:

$ rails r "pp Setting.get('ldap_config').except('bind_pw')" > zammad_2140_debug_output.txt

Kemudian, kirim file yang dihasilkan ( zammad_2140_debug_output.txt ) ke [email protected]. Pastikan untuk menyebutkan bahwa pesan tersebut untuk Thorsten Eckel, dan untuk bug # 2140.

Dengan ini, kita seharusnya bisa segera memperbaikinya.

Sekali lagi terima kasih atas semua bantuan Anda!

Ini adalah pemijat pertama

serveradmin @ support : / opt / zammad $ rails r "menempatkan Setting.get ('ldap_config'). to_json"
Traceback (panggilan terakhir terakhir):
4: dari bin / rel: 3 : di <main>'         3: from bin/rails:3:in require_relative '
2: dari /opt/zammad/config/boot.rb:3: di <top (required)>'         1: from /usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in membutuhkan '
/usr/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `memerlukan ': tidak dapat memuat file seperti itu - bundler / setup (LoadError)

Gesendet: Montag, 06. Agustus 2018 um 11:53 Uhr
Von: "Ryan Lue" [email protected]
An: zammad / zammad [email protected]
Cc: e311 [email protected] , Sebutkan [email protected]
Betreff: Re: [zammad / zammad] LDAP / Exchange UTF-8 Status Code 500 (# 2140)

Hai @ e311 ,

Kami telah menyelidiki masalah ini dan cukup yakin kami memahami apa yang terjadi, tetapi kami perlu meminta bantuan Anda lagi untuk sepenuhnya yakin.

Langkah 1: Konfirmasikan penyebab bug

Coba baris berikut di terminal Anda, di direktori Zammad. Jika kecurigaan kami benar, maka itu akan gagal (yaitu, memunculkan kesalahan dan menunjukkan pelacakan kembali):

$ rails r "menempatkan Setting.get ('ldap_config'). to_json"

Jika Anda melihat traceback untuk Encoding :: UndefinedConversionError yang sama dengan yang Anda dapatkan di laporan bug awal, lanjutkan - ke Langkah 2! Jika tidak, harap pastikan bahwa Anda belum mengatur ulang database atau mengubah konfigurasi LDAP Anda sejak terakhir kali bug ini terjadi. Jika Anda masih tidak mendapatkan kesalahan, beri tahu kami agar kami dapat terus menyelidikinya.

Langkah 2: Kirimi kami sedikit informasi penting terakhir

Jalankan perintah berikut di terminal Anda:

$ rails r "pp Setting.get ('ldap_config'). kecuali ('bind_pw')"> zammad_2140_debug_output.txt

Kemudian, kirim file yang dihasilkan (zammad_2140_debug_output.txt) ke [email protected]. Pastikan untuk menyebutkan bahwa pesan tersebut untuk Thorsten Eckel, dan untuk bug # 2140.

Dengan ini, kita seharusnya bisa segera memperbaikinya.

Sekali lagi terima kasih atas semua bantuan Anda!

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub, atau nonaktifkan utasnya.

rails r "pp Setting.get ('ldap_config'). kecuali ('bind_pw')"> zammad_2140_debug_output.txt
prodruce a emty file (saya tidak bisa mengupload karena emty)

befehl
output

Hai @ e311 - Silakan coba yang berikut ini:

zammad run rails r "pp Setting.get('ldap_config').except('bind_pw')" > zammad_2140_debug_output.txt

ATAU:

bundle exec rails r "pp Setting.get('ldap_config').except('bind_pw')" > zammad_2140_debug_output.txt

tetapi harus menjadi baris pertama.

Saya mencoba Perintah pertama:
Sama seperti "Serveradmin" dengan sudo atau tanpa sudo
image
Bundel saya tidak dipasang?
image

@ e311 , itu sangat aneh. Mari kita abaikan perintah kedua ( bundle exec rails ... ) untuk saat ini - saya rasa itu bukan jalan yang benar di sini. Bisakah Anda mencoba mencadangkan file log dan membuat yang baru kosong?

/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

Terima kasih atas semua bantuan Anda untuk mengatasi masalah ini bersama kami.

@rlue kami melakukan perintah kemarin dengan @ e311 .

Log ini memiliki hak akses yang sangat baik, saya sudah memeriksanya dua kali.
Saya akan mengirimkan keluaran ldap-config paling penting, jika Anda belum memilikinya.

Ups, Anda benar-benar mengirimi saya log pada awal hari kemarin. Tidak tahu bagaimana saya melewatkannya!

@ e311 , saya tidak melihat apa yang saya harapkan dari keluaran debug Anda. Sekarang @MrGeneration dapat membantu Anda menjalankan perintah zammad run rails r ... , dapatkah Anda mencoba yang berikut ini lagi dan memberi tahu saya jika masalah ini meningkatkan Encoding::UndefinedConversionError untuk masalah ini?

$ rails r "puts Setting.get('ldap_config').to_json"

Saya mendapatkan pesan "Versi Ruby Anda adalah 2.5.1, tetapi Gemfile Anda ditentukan 2.4.4"
Saya minta maaf itu tidak akan berhasil (saya mencoba semua pemikiran yang dikatakan Google kepada saya)

Versi Ruby & Elasticsearch Anda tidak kompatibel dengan Zammad.
Gunakan Ruby 2.4.4 dan Elasticsearch hingga 5.6.

@ e311 maaf sebenarnya, sepenuhnya salahku. Lupa menambahkan zammad r lagi. -_- '

maksud saya

$ zammad run rails r "puts Setting.get('ldap_config').to_json"

Jadi keluaran dari perintah terakhir persis seperti yang saya harapkan. Singkatnya, sepertinya beberapa atribut pengguna di server LDAP Anda memiliki nilai data biner. Zammad mencoba untuk mengubahnya menjadi string dan kemudian meneruskannya dari backend ke frontend, tetapi karena mereka sebenarnya bukan string, kami akhirnya mengalami beberapa masalah encoding / konversi.

Tentu saja, karena saya tidak dapat terhubung ke server LDAP Anda, saya tidak dapat 100% yakin bahwa perbaikan akan berhasil sampai Anda mencobanya untuk kami. Jadi, saya ingin meminta bantuan Anda untuk dua hal lagi:

  1. Terakhir kali saya meminta Anda untuk menjalankan beberapa perintah dan mengirimkan outputnya kepada kami melalui email (Rabu lalu), perintah yang saya berikan kepada Anda kurang tepat, dan tidak benar-benar memberi kami informasi yang kami butuhkan. Berikut skrip yang seharusnya melakukannya dengan benar kali ini ( unduh di sini ):

    # 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))
    

    Maaf membuat Anda melakukannya dua kali.

  2. Saya telah menulis tambalan yang menurut saya harus memperbaiki masalah. Pada dasarnya, setiap kali menemukan nilai data biner di sinkronisasi LDAP, ia melewatinya alih-alih mencoba menyimpannya sebagai string.

    Saya ingin mengonfirmasi bahwa perbaikan berfungsi pada mesin Anda sebelum kami menggabungkan perubahan ini ke dalam basis kode utama. Ini adalah versi perbaikan bug dari file lib/ldap/user.rb .

    Unduh dan salin ke /opt/zammad/lib/ldap/user.rb , kemudian mulai ulang Zammad (penting!) Dan jalankan kembali seluruh wizard konfigurasi LDAP. Karena Anda sudah memiliki konfigurasi LDAP, itu berarti Anda harus mengklik tombol "Ubah" di bagian bawah panel:

    screenshot_20180814_201507

Jika Langkah 2 masih tidak memperbaikinya untuk Anda, jalankan kembali skrip dari Langkah 1, dan pastikan untuk mengirimkan kedua file tersebut kepada kami.

Sekali lagi terima kasih atas bantuan dan kesabaran Anda!

Saya me-reboot sistem lubang, tetapi saya tidak dapat menekan Tombol perubahan.

image

sebelum tambalan
2140_bug_report (Langkah1) .txt

setelah tambalan
2140_bug_report (Langkah2) .txt

saya juga mencoba konfigurasi LDAP baru. Saya mengembalikan Sistem sebelum konfigurasi LDAP. tetapi hasil yang sama.

Saya telah memeriksa tingkat fungsional domain. Sudah tahun 2003 ini bisa menjadi Masalah

Saya me-reboot sistem lubang, tetapi saya tidak dapat menekan Tombol perubahan.

Terima kasih telah mengklarifikasi ini. Saya awalnya tidak memahami ruang lingkup masalahnya.

saya juga mencoba konfigurasi LDAP baru. Saya mengembalikan Sistem sebelum konfigurasi LDAP. tetapi hasil yang sama.

Apakah maksud Anda Anda memulihkan sistem ke sebelum konfigurasi LDAP, berhasil menjalankan seluruh wizard, dan masih mengalami masalah yang sama? Atau maksud Anda mencoba memulihkan sistem ke sebelum konfigurasi LDAP, tetapi Anda masih mendapatkan kesalahan ini dan tidak bisa membuka wizard?

Jika itu yang pertama, maka tambalan masih membutuhkan sedikit lebih banyak pekerjaan; Aku harus memperbaikinya untukmu besok. Jika yang terakhir, maka Anda dapat mencoba mengatur ulang konfigurasi LDAP dengan

$ RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"

(Anda dapat meninggalkan bagian RAILS_ENV=production jika Anda melakukan ini di lingkungan pengembangan.)

Saya memulihkan cadangan. Cadangan dibuat sebelum saya memulai konfigurasi LDAP untuk pertama kalinya.

Saya mencoba untuk mengatur ulang LDAP con dengan
$ RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"
saya tidak "mengatur ulang" conf, itu masih berfungsi.
Sekarang sepertinya seluruh sistem sedang berjalan, tanpa pesan kesalahan

(Tanpa LDAP)

Oke, jadi maksud Anda:

  1. Zammad sedang bekerja,
  2. Anda saat ini tidak memiliki sinkronisasi LDAP yang dikonfigurasi, dan
  3. Anda tidak lagi mendapatkan pesan kesalahan pada halaman sinkronisasi LDAP?

(Untuk mengonfirmasi poin 2, Anda dapat menjalankan RAILS_ENV=production zammad run rails r "puts Setting.get('ldap_config')" , yang seharusnya mencetak {} ke konsol.)


Jika semua hal di atas benar, dan Anda telah menyalin versi patch lib/ldap/user.rb yang saya tautkan di atas, dapatkah Anda mencoba menyiapkan sinkronisasi LDAP sekali lagi, dan beri tahu saya jika Anda masih mengalami permasalahan yang sama?

Atau jika saya salah paham, beri tahu saya apa situasinya.

Terima kasih.

Maaf atas jawaban yang terlambat. Ya semuanya benar. Setelah LDAP dikonfigurasi lagi, saya mengalami kesalahan yang sama lagi.

@rlue - karena @ e311 sudah menyatakan masih ada yang salah: https://community.zammad.org/t/unable-to-access-ldap-in-integrations-statuscode-500/1116/21

FYI: Saya punya masalah yang sama dan user.rb yang di-patch juga tidak berfungsi untuk saya.
Terima kasih atas pekerjaan Anda sebelumnya

Setiap orang yang masih memiliki masalah setelah mengubah file dan memulai ulang aplikasi, harap berikan kesalahan (termasuk lacak balik) dari file log/production.log . Terima kasih!

@ e311 , @tbeitter , dan semua orang yang saat ini mengalami masalah ini - Saya memiliki skrip debugging _yet another_. Saya ingin Anda menjalankannya . Saya tidak ingin berbicara terlalu cepat, tetapi ini harus menjadi yang terakhir.

Tempatkan di direktori zammad Anda dan kemudian jalankan

$ zammad run rails r 2140_improved_bug_report.rb

Anda akan diminta memasukkan URL server LDAP dan kredensial login Anda, kemudian skrip akan menghasilkan file bernama 2140_debug_log.txt . File ini berisi contoh atribut pengguna dari server LDAP Anda, jadi jika itu berarti sesuatu yang sensitif, JANGAN posting secara publik . Sebagai gantinya, kirimkan ke [email protected], dan sebutkan untuk Ryan.

Terima kasih atas kesabaran Anda selama kami mengatasi bug ini.

Halo,
Jika saya mencoba menjalankan skrip baru, saya mendapatkan ini (LDAP aktif) tidak ada file yang dibuat.

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$

production.log

juga memiliki kesalahan ldap ini ... (instalasi ubuntu 16.04 melalui 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, pastikan bahwa 2140_improved_bug_report.rb ada di direktori /opt/zammad .

@ e311 ups, itu bug yang aneh.

Saya telah memodifikasi skrip dengan menghapus beberapa karakter multibyte yang tidak perlu dari output konsol. Anda dapat mengunduh ulang skrip dan mencoba lagi, atau cukup ubah tanda kutip cerdas di baris 77 menjadi tanda kutip biasa:

# replace “#{default_base_dn}” with '#{default_base_dn}'
printf "Base DN (leave blank for default '#{default_base_dn}'): "

Tidak 100% yakin ini akan memperbaikinya, tapi saya punya firasat.

@rlue , no 2140_improved_bug_report.rb di / opt / zammad

btw: Segera setelah saya menghapus konfigurasi LDAP (RAILS_ENV = produksi zammad run rails r "Setting.set ('ldap_config', {})"), masalah menghilang.

@ redbear-ger terima kasih atas tanggapan cepat Anda; silakan unduh skrip laporan bug , tempatkan di /opt/zammad , dan coba lagi.

Meskipun masalahnya sudah 100% hilang sekarang, akan sangat membantu jika Anda memiliki data sampel sehingga kami dapat membuat pengujian untuk memastikan hal ini tidak terjadi lagi.

Bug hilang tetapi juga integrasi ldap;)
Akan Mengunduh Naskah Laporan malam ini

Halo,
Saya memiliki masalah yang sama dan mencoba semua saran di atas. Tak satu pun dari mereka menyelesaikan masalah.
Jadi saya memutuskan untuk mereproduksi masalah pada sistem dev untuk memberi Anda file debug tanpa memberikan data sensitif.

Skrip 2140_improved_bug_report.rb mengembalikan saya file teks berikut:
2140_debug_log.txt

Terima kasih!

Terima kasih @hublux! Untuk beberapa alasan, ada banyak tempat dalam file di mana karakter kontrol (_misalnya, _ ^D ) diganti dengan karat literal ( ^ ) diikuti dengan huruf literal ( D ), dan ini menyebabkan kesalahan saat mencoba mengurai file. Apakah Anda kebetulan melakukan sesuatu pada file sebelum menguploadnya? (Katakanlah, membukanya di editor teks, lalu menutupnya, dan mengklik "simpan perubahan"?) Atau apakah Anda mengira bahwa GitHub mungkin telah melakukan semacam pemrosesan saat Anda mengunggahnya?

Untuk mengonfirmasi bahwa file asli diformat dengan benar di komputer Anda, coba perintah berikut di direktori Zammad Anda, dan verifikasi hasilnya:

$ 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"]

Jika itu semua berfungsi seperti yang diharapkan, silakan email file ke [email protected].

Halo,
Terimakasih atas balasan anda.

Memang, sepertinya beberapa tindakan saya memang mengubah file saat saya menyalin konten darinya.
memeriksanya dengan kucing, terlihat sedikit berbeda.

grafik

Saya mencoba perintah dan menerima keluaran yang benar.
grafik
Saya telah mengirim file ke dukungan zammad.

Ini juga file baru
2140_debug_log.txt

@hublux , sekali lagi terima kasih atas tanggapan cepat Anda. Saya pikir ada yang salah dengan skrip debug yang saya tulis, karena file baru ini juga kurang tepat (banyak data hilang - 4kB, dibandingkan dengan log debug 16kB yang Anda kirim).

Saya telah menambal skrip debug untuk (semoga) membuat file 2140_debug_log.txt lebih kuat dan lebih aman untuk dikirim tanpa masalah pengkodean yang aneh ini. Harap unduh sekali lagi dan coba lagi. (Jangan ragu untuk memasukkannya dalam balasan Anda di utas ini, jika itu lebih nyaman bagi Anda.)

Dan jika Anda benar-benar penasaran untuk mengetahui apa yang salah dengan skrip debug ...

Ini awalnya mengambil hash Ruby, menyusunnya , dan kemudian menulis data yang disusun ke file 'teks' biner (encoding-less). Saya benar-benar tidak tahu mengapa file teks biner akan rusak saat dikirim dari satu mesin ke mesin lain, tapi itulah yang kami amati di sini.

Perbaikan ini mengambil data yang disusun dan base-64-mengenkodenya sebelum menyimpannya ke file teks Unicode biasa. Itu seharusnya membuatnya lebih aman untuk mengirim tanpa korupsi, karena apa yang lebih universal daripada Unicode?

2140_debug_log.txt
Di sana Anda memiliki keluaran dengan skrip baru
salam!

Hai semuanya,
juga ikut campur, karena masalah yang sama juga memengaruhi saya - bahkan setelah memperbarui ke lib/ldap/user.rb

2140_debug_log.txt

Saya juga mulai menggali sedikit di ldap_config -hash dan mulai menyingkirkan semua konten !binary . Tetapi ternyata, meskipun saya memiliki 4 di antaranya, hanya dua yang mengacaukan pengkodean.

Saya harus menghapus usersmimecertificate dan msexchmailboxsecuritydescriptor .

Dua lainnya, msexchmasteraccountsid dan securityprotocol tidak menimbulkan masalah.

Halo,

Sekadar klarifikasi, saya tidak yakin apakah ini jelas karena saya belum melihat siapa pun yang menyebutkan ini.
Sebagai koneksi LDAP saya menggunakan Active Directory dengan bahasa Jerman sebagai Systemlanguage. Jadi saya menginstal sistem baru dan Domain terpisah. Satu-satunya perbedaan dari sistem sebelumnya di mana masalah terjadi adalah pada sistem baru bahasanya disetel ke bahasa Inggris AS, bukan bahasa Jerman. Dengan pengaturan ini tidak ada kesalahan yang ditemukan, semuanya bekerja seperti yang diharapkan. Jadi saya mengambil sistem zammad asli saya di mana saya memiliki masalah dan menghubungkannya dengan Domain yang baru diinstal dan masalahnya hilang.

Menjalankan mengikuti di pengaturan kerja memberi saya output berikut:
sudo zammad run rails r "puts Setting.get('ldap_config').to_json"

workingsetup.txt

Jika saya menjalankan perintah untuk memeriksa ldap config dengan pengaturan asli gagal dan menerima kesalahan berikut:

grafik

Semoga ini bisa membantu Anda.
Salam!

Terima kasih @hublux! Kami memiliki perbaikan dalam pengerjaan berkat masukan Anda; itu akan segera digabungkan menjadi develop !

screenshot_1

Setelah Memperbarui masih mendapatkan kesalahan yang sama. (Tapi tanpa Exchange-setup, hanya LDAP-Sync)

Hai @tidet , terima kasih atas umpan baliknya. Ikuti petunjuk di komentar ini ; data sampel Anda akan sangat membantu kami menyelesaikan masalah ini secara meyakinkan.

Hai,
Sekadar memberi tahu saya mengalami masalah yang sama lagi tetapi konfigurasi lama masih ada. Jadi, lanjutkan sebagai berikut jika Anda mengalami masalah ini lagi.

Hapus konfigurasi lama dengan perintah berikut:
sudo RAILS_ENV=production zammad run rails r "Setting.set('ldap_config', {})"

  • hentikan layanan zammad

  • perbarui zammad

  • mulai layanan zammad lagi dan coba konfigurasi ulang koneksi ldap

Setelah ini saya tidak menghadapi masalah apa pun.

Salam

@rlue haruskah saya mencoba solusi di atas atau tetap pada kesalahan saat ini untuk keperluan debugging?
E-Mail dengan logfile keluar untuk mendukung @

@tidet , setelah kami memiliki sampel data LDAP Anda, silakan lanjutkan dan coba cara di atas. Saya memang menemukan satu nilai yang _might_ masih menyebabkan masalah, tetapi mungkin baik-baik saja. Dan apakah petunjuk di atas memperbaikinya untuk Anda atau tidak, akan ada tambalan lain dalam pipa yang akan datang hari ini.

EDIT: Berubah pikiran. Karena perbaikan berhasil untuk Anda, saya akan menahan diri dari memodifikasi kode dan menambahkan kerumitan yang tidak perlu sampai benar-benar rusak untuk seseorang.

@hublux Fix juga berhasil untuk saya.

@hublux diperbaiki juga

kami masih menghadapi masalah ini. Yang saya lakukan adalah @hublux menulis, menghapus konfigurasi, memperbarui zammad (2.6.0-1534939663.6d23dae9.stretch sekarang), memulai ulang zammad dan mengkonfigurasi koneksi ldap kami. Apakah saya harus menambal kode secara manual? Terima kasih sebelumnya.

Saya sedang liburan, maaf telat balas disini dan jika ada yang terlewat :)

Hai @tbei ,
Jika Anda menjalankan perintah ini, apakah Anda menerima keluaran apa pun:
sudo zammad run rails r "puts Setting.get('ldap_config').to_json"

Jika demikian, lihat ini:
https://github.com/zammad/zammad/issues/2140#issuecomment -417605384

Salam

Ya, saya mendapatkan pesan kesalahan yang serupa dengan Anda:

"\xC2" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

Hai,

Saya baru saja memeriksa versi Zammad saya yang saya perbarui pagi ini:
grafik
Ini berbeda dari milik Anda.

Bisakah Anda melanjutkan lagi dengan langkah-langkah ini:

  • Hapus konfigurasi LDAP
  • hentikan layanan zammad
  • perbarui zammad lagi
  • mulai layanan zammad

Salam

@hublux yang berhasil untuk saya! Terima kasih!

Terima kasih banyak kepada @hublux untuk semua bantuan Anda dalam menyortir pengguna lain. e07f41ed sekarang menyertakan migrasi database yang seharusnya secara otomatis menghapus konfigurasi LDAP yang salah sehingga setiap pengguna yang mengalami masalah ini di masa mendatang tidak lagi harus berurusan dengan langkah-langkah manual ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat