Author Topic: Русские буквы в имени пользователя при использовании опции "Доменный логин"  (Read 3379 times)

0 Members and 1 Guest are viewing this topic.

Offline FDrake

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
FDrake,
Тогда в форме настройки вбей \20 вместо пробела и попробуй. Если прокатит, я это исправлю программно
\20 сработало, авторизовался
 

Offline ghazan

FDrake,
залил на сервер дев билд с исправлением, но там дальше вопрос, насколько хватит этого фикса, чтобы жить нормально с таким жидом... в плагине больше 200 мест, где на сервер или с сервера прилетает from/to/jid, и если их всех надо будет кодировать и раскодировать, это затянется надолго
 
The following users thanked this post: FDrake

Offline FDrake

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
FDrake,
залил на сервер дев билд с исправлением, но там дальше вопрос, насколько хватит этого фикса, чтобы жить нормально с таким жидом... в плагине больше 200 мест, где на сервер или с сервера прилетает from/to/jid, и если их всех надо будет кодировать и раскодировать, это затянется надолго
потестил, вроде уже пишет Logged in, но затем валится в ошибку.
Code: [Select]
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data received
<stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>PLAIN</mechanism><mechanism>NTLM</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><ver xmlns="urn:xmpp:features:rosterver"/><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="https://www.igniterealtime.org/projects/openfire/" ver="dfdAkP3SX5AVgYgi5Osia/oYKTk="/></stream:features>
[12:20:36 2D4C] [JABBER_1] recvResult = 500
[12:20:36 2D4C] NtlmCreateResponseFromChallenge (N): chl= {(null):(null)} => 0
[12:20:36 2D4C] InitializeSecurityContext(NTLM): 0x90312
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data sent
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="NTLM">TlRMTVNTUAABAAAAB7IIogUABQAwAAAACAAIACgAAAAKAGFKAAAAD0xLQUIyMDJSMjNVUFI=</auth>
[12:20:36 2D4C] [JABBER_1] bytesParsed = 500
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data received
<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">TlRMTVNTUAACAAAACgAKADgAAAAFgomilLmTdsqA2wsAAAAAAAAAAJgAmABCAAAACgA5OAAAAA8yADMAVQBQAFIAAgAKADIAMwBVAFAAUgABABwAUwBFAFIAVgBFAFIATwBQAEUATgBGAEkAUgBFAAQAEAAyADMAdQBwAHIALgByAHUAAwAuAFMAZQByAHYAZQByAE8AcABlAG4AZgBpAHIAZQAuADIAMwB1AHAAcgAuAHIAdQAFABAAMgAzAHUAcAByAC4AcgB1AAcACAC06YW4CErWAQAAAAA=</challenge>
[12:20:36 2D4C] [JABBER_1] recvResult = 356
[12:20:36 2D4C] NtlmCreateResponseFromChallenge (N): chl=TlRMTVNTUAACAAAACgAKADgAAAAFgomilLmTdsqA2wsAAAAAAAAAAJgAmABCAAAACgA5OAAAAA8yADMAVQBQAFIAAgAKADIAMwBVAFAAUgABABwAUwBFAFIAVgBFAFIATwBQAEUATgBGAEkAUgBFAAQAEAAyADMAdQBwAHIALgByAHUAAwAuAFMAZQByAHYAZQByAE8AcABlAG4AZgBpAHIAZQAuADIAMwB1AHAAcgAuAHIAdQAFABAAMgAzAHUAcAByAC4AcgB1AAcACAC06YW4CErWAQAAAAA= {(null):(null)} => 0
[12:20:36 2D4C] InitializeSecurityContext(NTLM): 0x0
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data sent
<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">TlRMTVNTUAADAAAAGAAYAIIAAAAYABgAmgAAAAoACgBYAAAAEAAQAGIAAAAQABAAcgAAAAAAAACyAAAABYKIogoAYUoAAAAPC/Rs8hY967cQRfvJOd/BJDIAMwBVAFAAUgAuBEgEOgQ+BDIEIAAgBCEETABLAEEAQgAyADAAMgBSAMEtbpFc0YwdAAAAAAAAAAAAAAAAAAAAAPBlt3ykQE6cCAthX2PtQg3zMJTLUuf+Kw==</response>
[12:20:36 2D4C] [JABBER_1] bytesParsed = 356
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data received
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">=</success>
[12:20:36 2D4C] [JABBER_1] recvResult = 61
[12:20:36 2D4C] [JABBER_1] Success: Logged-in.
[12:20:36 2D4C] [JABBER_1] Stream will be initialized after successful sasl
[12:20:36 2D4C] [JABBER_1] bytesParsed = 61
[12:20:36 2D4C] [JABBER_1] Stream is initializing after successful sasl
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data sent
<?xml version="1.0" encoding="UTF-8"?><stream:stream xmlns="jabber:client" to="domainr.ru" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="ru" version="1.0">
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data received
<?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="domainr.ru" id="9e30wncite" xml:lang="ru" version="1.0"><stream:features><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><ver xmlns="urn:xmpp:features:rosterver"/><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"><optional/></session><sm xmlns='urn:xmpp:sm:2'/><sm xmlns='urn:xmpp:sm:3'/><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="https://www.igniterealtime.org/projects/openfire/" ver="dfdAkP3SX5AVgYgi5Osia/oYKTk="/></stream:features>
[12:20:36 2D4C] [JABBER_1] recvResult = 677
[12:20:36 2D4C] [JABBER_1] bytesParsed = 183
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data sent
<iq type="set" id="mirb9b91bee991dff3e_1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>Miranda</resource></bind></iq>
[12:20:36 2D4C] [JABBER_1] bytesParsed = 494
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data received
<iq type="error" id="mirb9b91bee991dff3e_1" to="domainr.ru/9e30wncite"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>Miranda</resource></bind><error code="500" type="wait"><internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
[12:20:36 2D4C] [JABBER_1] recvResult = 262
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data sent
</stream:stream>
[12:20:36 2D4C] [JABBER_1] bytesParsed = 262
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Data received
</stream:stream>
[12:20:36 2D4C] [JABBER_1] recvResult = 16
[12:20:36 2D4C] [JABBER_1] bytesParsed = 16
[12:20:36 2D4C] [JABBER_1] Connection closed gracefully
[12:20:36 2D4C] [JABBER_1] recvResult = 0
[12:20:36 2D4C] [JABBER_1] m_iDesiredStatus reset to (1,40072) => 40071
[12:20:36 2D4C] [JABBER_1] leaving worker thread
[12:20:36 2D4C] [JABBER_1] Thread ended: type=0 server='domainr.ru'
[12:20:36 2D4C] [JABBER_1] (030B1728:1988) Connection closed internal
[12:20:36 2D4C] [JABBER_1] (030B1728:4294967295) Connection closed
[12:20:36 2D4C] [JABBER_1] Exiting ServerThread

со стороны сервера жалобы на jid:
Code: [Select]
2020.06.24 12:20:37 ERROR [socket_c2s-thread-2]: org.jivesoftware.openfire.handler.IQHandler - Внутренняя ошибка сервера
java.lang.IllegalArgumentException: Illegal JID: иванов рс@domainr.ru/Miranda
at org.xmpp.packet.JID.<init>(JID.java:534) ~[tinder-2.0.0.jar:?]
at org.xmpp.packet.JID.<init>(JID.java:490) ~[tinder-2.0.0.jar:?]
at org.jivesoftware.openfire.session.LocalClientSession.setAuthToken(LocalClientSession.java:684) ~[xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.handler.IQBindHandler.handleIQ(IQBindHandler.java:156) ~[xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.handler.IQHandler.process(IQHandler.java:62) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:369) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:112) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:74) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:366) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler.java:95) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:316) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:203) [xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandler.java:183) [xmppserver-4.5.2.jar:4.5.2]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:1015) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:122) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:413) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:257) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:106) [mina-core-2.1.3.jar:?]
at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:766) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:758) [mina-core-2.1.3.jar:?]
at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:697) [mina-core-2.1.3.jar:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_202]
Caused by: java.lang.IllegalArgumentException: The input 'иванов рс' is not a valid JID node part: Contains prohibited code points.
at org.xmpp.packet.JID.nodeprep(JID.java:331) ~[tinder-2.0.0.jar:?]
at org.xmpp.packet.JID.<init>(JID.java:522) ~[tinder-2.0.0.jar:?]
... 31 more
Запасся терпением, вся надежда на Ваши доработки  :) разработчики openfire не реагируют с 2010г., а кроме миранды с ntlm никто нормально не работает с кириллицей
 

Offline ghazan

FDrake,
есть мнение, что если логин всё равно вбивается руками, а не берется автоматически из имени компьютера, то проще его так и вбивать в настройки в виде \20 - заодно и проверка жида будет нормально работать (с сервера-то он тоже в таком виде прилетать будет)

реально невозможно сейчас в двухстах местах пройти это и перебить без того, чтобы плагин не превратился в кашу и не начал глючить в самых странных местах, да и времени на это совсем нет
 
The following users thanked this post: FDrake

Offline FDrake

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
FDrake,
есть мнение, что если логин всё равно вбивается руками, а не берется автоматически из имени компьютера, то проще его так и вбивать в настройки в виде \20 - заодно и проверка жида будет нормально работать (с сервера-то он тоже в таком виде прилетать будет)

реально невозможно сейчас в двухстах местах пройти это и перебить без того, чтобы плагин не превратился в кашу и не начал глючить в самых странных местах, да и времени на это совсем нет
понимаю. просто тогда придется и пароль вбивать ручками юзерам.
либо идти по пути смены логинов в LDAP...
 

Offline ghazan

просто тогда придется и пароль вбивать ручками юзерам.
почему вдруг? пароль в GSSAPI вообще не фигурирует
 
The following users thanked this post: FDrake

Offline FDrake

  • Newbie
  • *
  • Posts: 7
  • Karma: 0
почему вдруг? пароль в GSSAPI вообще не фигурирует
Так просто хотелось чтобы работала прозрачная авторизация по ntlm. Без ввода паролей.
Пока остановился на снятой галке "Доменный логин", автоматическом заполнении логина скриптом с заменой пробела на \20 и однократным вводом доменного пароля юзером при входе с сохранением пароля.

Спасибо за подсказки  :THUMBS UP:



Вкратце по настройке (вдруг кто вздумает повторить):
Галка "Доменный логин" и логины на кириллице отлично работают:
1) Windows Server 2016, Postgresql,  Openfire 4.5.2 x64 со встроенным JRE и отдельно настроенным плагином NTLM x64 по инструкции http://forum.ru-board.com/topic.cgi?forum=8&topic=45052&start=0&limit=1&m=3#1. Плагин качается отсюда:http://norman.rasmussen.co.za/dl/sasl-sspi/ плюс SaslSspi.dll x64 https://cloud.mail.ru/public/3v3h/37ykKS3Q4
2) Windows 10 и последняя сборка Miranda NG с галкой "Доменный логин"
 

Offline sergio_sd

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
Аналогичная проблема при авторизации через kerberos. Openfire 4.5.3 GSSAPI + MirandaNG 0.95.12
Да, пожалуй со стороны клиента тут ничего не исправить.

Остается два реальных варианта:
1 Включить PLAIN на сервере и забивать логин/пароль руками
2 Менять имена пользователей в AD удаляя пробелы

И один призрачный вариант:
Что igniterealtime исправит эту досадную особенность.