LINUX.ORG.RU
ФорумTalks

кривые стандарты

 ,


0

1

Сижу пишу xmpp-клиент (без либ, под колибри). Читаю rfc. Как эту шнягу вообще можно назвать протоколом? О_о

«сервер может послать ответ, а может не послать, а может сразу пароль запросить не дав id, а свой логин можно послать, а можно не послать, а в конце plain-строки можно ставить =, а можно не ставить. а можно вообще все через iq слать и забить толстый на половину rfc.»

Это что блин за шиза? Напоминает поток мыслей 14-летней девочки

★★★★★

Что из написанного тебе непонятно? То что ты описал это вполне нормальные опциональные штуки. Не вижу никакой причины, по которой протокол должен говорить «сервер обязан прислать тебе все 9000 параметров».

vurdalak ★★★★★
()
Ответ на: комментарий от vurdalak

То что ты описал это вполне нормальные опциональные штуки

все, что я описал - это _обязательные_ шаги, и в этом проблема. Без id как общаться с сервером вообще слабо понятно. А залогиниться - целый хреновый квест. каждый сервер тянет одеяло в свою сторону и надо подсознательно угадать что ему надо послать, иначе фейл

upcFrost ★★★★★
() автор топика
Последнее исправление: upcFrost (всего исправлений: 1)

Напоминает поток мыслей 14-летней девочки

Теперь и ты знаешь, кем и для кого придуман XMPP.

olibjerd ★★★★★
()
Ответ на: комментарий от vurdalak

rfc6120, пункты 4-6. На закваску можно сравнить его с более старым 3920, пункт 5.3, и найти как минимум 2 отличия уже в открытии потока (которые например ejabberd не слишком нравятся). Про авторизацию - 6.4, в частности 6.4.2.

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от DELIRIUM

Можно, но тогда меньше веселухи. Тем более для колибри с - это неспортивно

А либ для xmpp на асме я не видел. Да хрен там xmpp - base64 пришлось писать руками. Зато заряд бодрой ненависти дает, жизнь чувствуется

upcFrost ★★★★★
() автор топика
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от Spoofing

кстати внезапно спасибо за код. Оно рабочее? если да - то хотя бы видно как plain-авторизацию пройти

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от upcFrost

Оно рабочее

ну конечно рабочее, только логин/пароль свои поставь туды :)

Spoofing ★★★★★
()
Ответ на: комментарий от Spoofing

да, блин, спасибо, теперь пашет. Где-то в rfc было сказано кодировать строку \0$USER\0$PASS. Они б написали, что \0 == byte 0

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от Stil

собственно что написано. как у любого символа, у \ тоже есть свой код. мне же ничего не мешает побайтно загнать строку '\','0', и т.д.

upcFrost ★★★★★
() автор топика
Ответ на: комментарий от upcFrost

казалось бы, '\' — стандартный символ экранирования для спецсимволов. да и как-то нелогично использовать в качестве разделителя строк печатные символы, не?

billic ★★
()
Ответ на: комментарий от billic

да я уж потом понял что они имеют ввиду. Хотя тут тоже не все так чисто - в зависимости от языка вполне может быть что '\0' != «\0» != \0, так что имхо писать в rfc '\0user\0pass' слегка сбивает с толку

да и как-то нелогично использовать в качестве разделителя строк печатные символы

почему? если есть зарезервированный символ (например \, который скорее всего в имя юзера пихать нельзя) - то вполне можно. Вспомни csv

upcFrost ★★★★★
() автор топика
Последнее исправление: upcFrost (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.