Jabber Client and LabVIEW

Делись идеей, получай поддержку и критику!

Какой сервис Вам более симпатичен?

ICQ
5
71%
Jabber
2
29%
 
Всего голосов: 7

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Jabber Client and LabVIEW

Сообщение IvanLis »

Нужна помощь!
Необходимо пройти аутентификацию на Jabber сервере на основе алгоритма RFC 2831 использование MD5-Digest аутентификации в SASL.

Все вроде открыто, ясно и понятно.... :suicide: но на практике ничего не выходит.
Проверить правильность работы своей :vi: не могу, так как отсутствуют реальные логи обмена Сlient-Server.
Нашел с примером только следующее:
Общие принципы работы SASL
Метод SASL (Simple Authentication and Security Layer) используется для добавления поддержки аутентификации в различные протоколы соединения. Для аутентификации могут быть использованы различные механизмы.
Имя требуемого механизма задаётся клиентом в команде аутентификации. Если сервер поддерживает указанный механизм, он посылает клиенту последовательность окликов (challenges), на которые клиент посылает ответы (responses), чтобы удостоверить себя. Содержимое окликов и ответов определяется используемым механизмом и может представлять собой двоичные последовательности произвольной длины. Кодировка последовательностей определяется прикладным протоколом. Вместо очередного оклика сервер может послать подтверждение аутентификации или отказ. Кодировка также определяется протоколом. Вместо ответа клиент может послать отказ от аутентификации. Кодировка опять определяется протоколом. В результате обменов откликам и ответами должна произойти аутентификация (или отказ), передача идентификатора клиента (пустой идентификатор влечёт получение идентификатора из аутентификации) серверу и, возможно, договорённость об использовании безопасного транспортного протокола (security layer), включая максимальный размер буфера шифрования.
Идентификатор клиента может отличаться от идентификатора, определяемого из аутентификации, для обеспечения возможности работы прокси.

Реализация на примере механизма MD5-Digest
Схема работы SASL для нашего клиента основана на использовании механизма MD-Digest и имеет следующий алгоритм работы:
Сервер посылает случайную строку nonce, наличие поддержки utf-8 в параметре charset для имени и пароля, алгоритм аутентификации (обязательно md5-sess) в параметре algorithm.
То есть те данные, что мы раскодировали ранее из пакета challenge:

Код: Выделить всё

nonce="22647748",qop="auth",charset=utf-8,algorithm=md5-sess
Клиент отвечает строкой, содержащей: идентификатор клиента username, идентификатор домена realm, полученную от сервера случайную строку nonce, случайную строку клиента cnonce, номер запроса (позволяет серверу заметить попытку replay attack) nc. параметр digest-uri (сочетание имени сервиса, имени сервера т.е. 'xmpp/' + JID Domain), строку responce подтверждающею знание пароля и ответ на оклик (MD5 от имени пользователя, realm, пароля, случайной строки сервера, случайной строки клиента, идентификатора клиента, номера запроса, уровня защиты, digest-uri; некоторые компоненты берутся в виде MD5, некоторые в исходном виде, некоторые в обоих видах), использование utf-8 для имени и пароля, принятый алгоритм шифрования и идентификатор клиента.
То есть, как вы догадались эта та строка, которую мы формируем в ответ:

Код: Выделить всё

username="delphi-test",
realm="jabber.ru",
nonce="22647748",
cnonce="2313e069649daa0ca2b76363525059ebd",
nc=00000001,
qop=auth,
digest-uri="xmpp/jabber.ru",
charset=utf-8,
response=16351f86cc5591312e20b4ccd880eadb
username — JID-node пользователя
realm — JID-domain пользователя
nonce — Уникальный код сессии, присланный нам ранее сервером
cnonce — Уникальный код ответной клиентской сессии, сгенерированный клиентом
nc — Так называемый once count — сколько раз был использован текущий nonce. Обычно значение параметра равно 00000001, его и будем использовать. На самом деле параметр довольно интересный и стоит отдельного рассмотрения и изучения в RFC, но как показала практика его смело можно игнорировать.
digest-uri — Протокол подключения, для XMPP сервера он состоит из соединения строк "xmpp/" + JID Domain
charset — поддержка кодировки пароля и имени, в нашем случае UTF-8
И самый важный параметр response в котором заключен ключ ответа серверу, включающий в себя пароль и ответные данные в формате MD5 строящийся по определенному алгоритму.

Сервер проверяет ответ на оклик и посылает ответ на ответ в похожем формате (но всё же отличающемся, чтобы клиент мог убедиться в подлинности сервера). Данный механизм слабее системы с открытыми ключами, но лучше простой CRAM-MD5.

Алгоритм вычисления строки ответа response
Алгоритм вычисления строки ответа response имеет следующую формулу:

Код: Выделить всё

response-value  =
         HEX( KD ( HEX(H(A1)),
                 { nonce-value, ":" nc-value, ":",
                   cnonce-value, ":", qop-value, ":", HEX(H(A2)) }))
      A1 = { H( { username-value, ":", realm-value, ":", passwd } ),
           ":", nonce-value, ":", cnonce-value }
      A2 = { "AUTHENTICATE:", digest-uri-value }
Где:
Выражение { a, b, ... } — означает сложение строк a, b
HEX(n) — 16-байтовый MD5-хеш n, приведенный в 32 байтовую Hex-строку в нижнем регистре. Фактически строковое представление дайджеста MD5.
H(s) — 16-байтовый MD5-хеш строки s
KD(k, s) — объединение данных (строк) k, s
H({k, ":", s}) — 16-байтовый MD5-хеш, полученный в результате сложения строки k, ":", S

Как видите, особо ничего сложного нет.
1. в примере response=16351f86cc5591312e20b4ccd880eadb у меня такого не получается
- руки кривые?
- неправильный алгоритм?
2. есть описание, где присутствует ":" в первой строке

Код: Выделить всё

response-value  =
         HEX( KD ( HEX(H(A1)), ":" , 
                 { nonce-value, ":" nc-value, ":",
                   cnonce-value, ":", qop-value, ":", HEX(H(A2)) }))
      A1 = { H( { username-value, ":", realm-value, ":", passwd } ),
           ":", nonce-value, ":", cnonce-value }
      A2 = { "AUTHENTICATE:", digest-uri-value }
Но все равно не работает, уже не знаю что пробовать.
Помогите с реализацией алгоритма расчета response-value :crazy:
Response.zip
мой вариант, попытка реализации примера из описания
lv 2010
(81.86 КБ) 327 скачиваний
Последний раз редактировалось IvanLis 07 июл 2011, 11:32, всего редактировалось 2 раза.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Реализация SASL аутентификации для протокола XMPP

Сообщение IvanLis »

Вопрос с Логими снимаю.
Сделал их сам.... Но они не помогут, так так есть неизвестные нам параметры, соответственно и воспроизвести "эксперимент" невозможно :cry:

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

Просьба не передавать данные для доступа к аккуанту. Он хоть и временный, но.... :wink:

login: IvanLabVIEW@jabber.ru
pass: ****

Вот два лога, тот момент где осуществляется аутентификация:

Код: Выделить всё

<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">bm9uY2U9IjM0ODE0MDI5OTEiLHFvcD0iYXV0aCIsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>

<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9Iml2YW5sYWJ2aWV3Iixub25jZT0iMzQ4MTQwMjk5MSIsY25vbmNlPSJ5ZXhWT2VtVi9ITGtLck5mOVdnQkM0ck9YVjNhdEFxc3lOd2hTbExEMXgwPSIsbmM9MDAwMDAwMDEsZGlnZXN0LXVyaT0ieG1wcC9qYWJiZXIucnUiLHFvcD1hdXRoLHJlc3BvbnNlPTVkNjgyMGUwMmNlN2Y0MzYxMjg4NmQzYjQxY2M0NjMwLGNoYXJzZXQ9dXRmLTg=</response>

Код: Выделить всё

<challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">bm9uY2U9IjQ4MTAyMTEwNiIscW9wPSJhdXRoIixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw==</challenge>

<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9Iml2YW5sYWJ2aWV3Iixub25jZT0iNDgxMDIxMTA2Iixjbm9uY2U9IllJbis2aFJFbWhJNitxOWhCTmMzZVpyVEJEdmdCUjIwS2Q4a1FscDZJN289IixuYz0wMDAwMDAwMSxkaWdlc3QtdXJpPSJ4bXBwL2phYmJlci5ydSIscW9wPWF1dGgscmVzcG9uc2U9YWRlZmQyNzc2MWJhMzY2MTNjZDE2ZGY5YTYxOGNiYTcsY2hhcnNldD11dGYtOA==</response>
Последний раз редактировалось IvanLis 21 окт 2011, 15:04, всего редактировалось 2 раза.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Реализация SASL аутентификации для протокола XMPP

Сообщение IvanLis »

Нашел следующее Jabber и PHP

Если кто шарит в PHP, помогите воспроизвести функцию в :labview:

Код: Выделить всё

// функция создания поля response
function response_code($data, $user, $pass) {
    $data['nc']='00000001';
    if (isset($data['qop']) && $data['qop'] != 'auth' && strpos($data['qop'],'auth') !== false) {
        $data['qop'] = 'auth';
    }
    foreach (array('realm', 'cnonce', 'digest-uri') as $key){
        if (!isset($data[$key])) {
            $data[$key] = '';
        }
    }
    $pack = md5($user.':'.$data['realm'].':'.$pass);
    if (isset($data['authzid'])) {
        $a1 = pack('H32',$pack).sprintf(':%s:%s:%s',$data['nonce'],$data['cnonce'],$data['authzid']);
    }
    else {
        $a1 = pack('H32',$pack).sprintf(':%s:%s',$data['nonce'],$data['cnonce']);
    }
    $a2 = 'AUTHENTICATE:'.$data['digest-uri'];

    return md5(sprintf('%s:%s:%s:%s:%s:%s', md5($a1), $data['nonce'], $data['nc'], $data['cnonce'], $data['qop'], md5($a2)));
}
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Jabber Client and LabVIEW

Сообщение IvanLis »

Реализовал соединение TLS и авторизацию по PLAIN алгоритму, DIGEST-MD5 пока не получается.
Клиент в сети, сообщения принимаются и отправляются.
Отображается список клиентов (RosterList), а также показывает клиентов OnLine. Правда не динамически, а только на момент загрузки.
Но и задача не ставилась написать именно "Клиента" для обмена сообщениями.



Jabber-LabVIEW-2011-06-29.mpeg



Jabber-LabVIEW-2011-07-06.mpeg

Идея состоит в реализации связки Client-Server (или Client-Client) для передачи информации, либо команд управления и взаимодействия между несколькими территориально-разнесенными рабочими станциями используя протокол XMPP и сервер мгновенного обмена сообщениями Jabber.

Недостатки:
1. Система взаимодействия "Не реального времени".

Достоинства:
1. Для идентификации используется не IP, а уникальный Jabber адрес.
2. Возможна передача информации между "Рабочими Станциями" (РС) не имеющими статического ("реального", "белого") IP.
3. При перемещении РС, адрес не изменяется.
4. Возможность использования собственной системы шифрования и подтверждения получения сообщений.

Кто желает, можете дополнить, тот или иной список. Готов обсудить и дополнить или корректировать.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Jabber Client and LabVIEW

Сообщение IvanLis »

Что хочу сделать....
Перспективы:
1. Реализовать взаимодействие Client-Client.
2. Реализовать систему проверки подлинности и подтверждения получения сообщений.
3. Реализовать систему шифрования передаваемой информации.
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Jabber Client and LabVIEW

Сообщение Chupakabra »

Я вот некоторое время назад изучал вопрос подключения к google gtalk-у. Правда изучал возможность реализации не в LabVIEW, а в CoDeSys, у меня ПЛК распределенные. Но у гугла TLS шифрование используется, а это дополнительные трудности при написании.

. I am a developer of an IM client. How do I connect to the Google Talk service?
As long as you adhere to the requirements of the XMPP specs, you will be able to connect to the Google Talk service.
You need to know the following:
•The service is hosted at talk.google.com on port 5222
•TLS is required
•The only supported authentication mechanism is SASL PLAIN

А так идея замечательная считаю.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Jabber Client and LabVIEW

Сообщение IvanLis »

Chupakabra писал(а):у гугла TLS шифрование используется, а это дополнительные трудности при написании
TLS судя по обмену работает нормально, правда иногда не получается перейти в режим шифрования, но это очень редко
Авторизацию PLAIN SASL проходит
Не получается правильно посчитать ответ response при DIGEST-MD5, если есть пример просчитанный со всеми промежуточными результатами, буду очень признателен.
В принципе PLAIN поддерживают практически все Jabber сервера, а вот DIGEST-MD5 нет..... Но тут уже на принцип пошло. :cool:
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Jabber Client and LabVIEW

Сообщение IvanLis »

До этого все было реализовано согласно модели "Машина состояний".... гибкая и универсальная модель, но есть и отрицательные моменты...

Решил переделать все в виде библиотеки и перейти к линейной модели (по аналогии с инструментами NI), вот пока начало:
3.png
3.png (2.12 КБ) 16678 просмотров
На мой взгляд такая схема упростит использование инструментов Jabber конечному пользователю.
Когда сделаю основные инструменты, выложу на Beta-тестирование.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Jabber Client and LabVIEW

Сообщение mzu2006 »

IvanLis писал(а):До этого все было реализовано согласно модели "Машина состояний".... гибкая и универсальная модель, но есть и отрицательные моменты...

Решил переделать все в виде библиотеки и перейти к линейной модели (по аналогии с инструментами NI)
Можно сделать машину состояний внутри в виде LV2Global, например, и оставить и машину состояний и линейную модель получить. Как-то так:
Jabber.zip
(29.33 КБ) 327 скачиваний
Шаблон не идеальный, например, для поддержки нескольких соединений одновременно надо будет поработать.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Jabber Client and LabVIEW

Сообщение Eugen Graf »

Иван, тут один немец интересуется твоей прогой, ты можешь ему выслать или выложить в открытый доступ?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Jabber Client and LabVIEW

Сообщение IvanLis »

Eugen Graf писал(а):Иван, тут один немец интересуется твоей прогой, ты можешь ему выслать или выложить в открытый доступ?
Я знаю, он мне уже на YouTuBe писал
Сыро там все :crazy: , я его предупредил, но видимо все равно ХОЧЕТСЯ

Так как версия "линейного" типа в виде библиотеки находится в разработке (а время сейчас катастрофически не хватает), к стати там я избавляюсь от сторонних библиотек и делаю все средствами :labview:
Jabber Line.png
Выглядит пока следующим образом, но отсутствует самое главное: передача и прием сообщений :D

Сейчас выкладываю первоначальную версию построенную на идеологии "Машина состояний", что мне кажется крайне неудобно для реального использования.
Необходимы библиотеки: OpenG и EasyXML!!!
Jabber Project.zip
lv2010
(503.2 КБ) 331 скачивание
Предупреждаю, что это сырье.
По этому :crazy: скачиваете на свой страх и риск, доработанная версия в проекте. Выкладывать раньше времени не хотелось, но если это поможет другим, то пожалуйста!
NoUse666 писал(а):Hello IvanLis,

i saw your video on YouTube with the Jabber Labview program. That's
very interesting and i wonder, if you could give me your program or a
description how you've realized it.

I have added a Chat to an application based on simple TCP/IP
communication, but since my boss wants to use this chat with his
iPhone i'm looking for alternatives and your program seems to be the
perfect choice.

Best Regards,
Mateusz Buglowski
marcellinho писал(а):Dear Ivanlis,
saw your Jabber VI on youtube :1stplace:

One question: Can I use this VI to use it in my LabView application? Where could I download the VI?
Thanks in advance :super:

Marcel
Удачи Вам!
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Jabber Client and LabVIEW

Сообщение IvanLis »

Лирическое отступление....

Меня неоднократно спрашивают, почему Jabber, а не ICQ, столь популярный в России.
Я писал подобное на основе ICQ, но тут есть много НО...

Если кто-то заинтересуется, то можете почитать более подробно Сравнение Jabber и ICQ

Приложение работало, но до определенного времени, потом все серверы были переведены на новый протокол... после этого у меня желание переделывать и разбираться пропало :bae: .

Мало кто вникает в то, под чем собственноручно ставят галочку о согласии Лицензионное соглашение конечного пользователя ICQ.
Приведу лишь короткие цитаты, а Вы как люди сознательные, делайте соответствующие выводы. :cry:
Просим заметить, что услуги и программное обеспечение ICQ, как и большинство приложений Интернет, являются уязвимыми с точки зрения безопасности, и поэтому должны рассматриваться как незащищенные.
Если вы не желаете подвергаться указанным опасностям, то мы рекомендуем не использовать услуги и программное обеспечение ICQ. Более того, мы просим не использовать услуги и программное обеспечение ICQ для решения "критических задач" или для приложений и целей с "чувствительным содержанием".
Конечный пользователь программного обеспечения ICQ получает бесплатную лицензию компании ICQ, LLC., в форме "КАК ОНА ЕСТЬ". Лицензия предоставляется исключительно для частного личного пользования и в соответствии с постановлениями и условиями данного лицензионного соглашения конечного пользователя.
т.е. корпоративное или коммерческое использование запрещено
доступ к Услугам ICQ, предоставленный вам или любому иному пользователю, доступность и выполняемые функции любого свойства или назначения (включая, но не ограничиваясь сказанным, Прикладные программы ICQ) могут быть изменены, обновлены, добавлены, ограничены или прекращены в любой момент, временно или постоянно, без извещения, по любой причине или без причины со стороны ICQ по ее исключительному усмотрению
т.е. в один прекрасный момент халява может закончится и все перейдет на коммерческое обслуживание
о чем уже неоднократно поднимался вопрос
Вы соглашаетесь не делать следующее:
(1) использовать или создавать любое программное обеспечение за исключением Программного обеспечения, предоставленного ICQ или America Online, LLC., или любой их дочерней компанией, вводить ваш номер ICQ и пароль или получать доступ к Услугам ICQ без письменных полномочий со стороны ICQ;
(2) извлекать информацию из Услуг ICQ, выполнять восстановление структурной схемы и алгоритма работы по исходным текстам, производить декомпиляцию, обратное ассемблирование, изменение, дублирование, создание копий, создание производных работ, распространение или предоставление иным лицам Программного обеспечения, коммуникационных протоколов ICQ или иной информации, вытекающей из них, производной от них или извлеченной из Услуг ICQ или любой их части;
(3) блокировать, отключать или иным образом влиять на любую рекламу, окно с рекламными баннерами, ссылки на иные интернет-странички или услуги, или иные функции, которые являются неотъемлемой частью Услуг и программного обеспечения ICQ;
(4) подключать, использовать, попытаться подключиться или использовать любым образом Услуги ICQ для любой коммерческой цели или любой другой цели, кроме частного добросовестного личного использования и как это четко предложено на интернет-страничке ICQ; и
(5) включать, интегрировать или добавлять Программное обеспечение или любую его часть (включая протоколы коммуникации ICQ) в любое программное обеспечение, программу или продукт, который вступает в связь, получает доступ или иным образом взаимодействует с Услугами ICQ или другими системами обмена сообщениями, Интернет или онлайновой службой.
здесь все понятно,
т.е. возможно использование только оригинального ПО
к тому же могу добавить, что протокол является закрытым
По мимо запрета пересылки материалов защищенных законом об авторских правах, Вы теряете свои права на пересылаемую информацию с использованием сервиса ICQ:
Используя Услуги ICQ или любую их часть, вы соглашаетесь и подтверждаете, что детальная информация, которую вы выбираете для отправки в различные директории ICQ как в процессе регистрации или после таковой, включая информацию, отправляемую в процессе использования Услуг ICQ, является общедоступной и к ней имеется свободный доступ пользователей Интернет и широкой публики, если явным образом не выражено иное.
ICQ вправе уничтожить, убрать, удалить, отложить, создать помехи или изменить любую или всю такую информацию без предварительного уведомления, по причинам функциональности или по любым иным причинам.
ICQ имеет право контролировать содержимое, которое доступно с помощью Услуг ICQ или путем использования Услуг ICQ, для выявления соответствия Условиям предоставления услуг ICQ и любым иным действующим правилам, которые могут время от времени устанавливаться ICQ, но не обязана этого делать.
А как же "свобода слова" и "неприкосновенность частной жизни"...

А это ОЧЕНЬ ВАЖНО!
При отправке или рассылке документов, информации или иных материалов ("Материалы") в ICQ или при направлении информации, вводимой в различные указатели и инструментарии ICQ, и любых сообщений на доске сообщений ICQ вы
(1) гарантируете, что не обладаете никакими правами в отношении Материалов, и на основании имеющейся у вас информации никакая сторона не имеет никаких прав на эти Материалы;
(2) предоставляете ICQ неограниченное, бессрочное, неотзывное разрешение использовать, воспроизводить, демонстрировать, исполнять, адаптировать, изменять, передавать и распределять Материалы с использованием всех средств аудиовизуальной информации; и
(3) соглашаетесь, что ICQ свободна в использовании любых идей, ноу-хау, концепций, методов или иных материалов, которые отправлены вами в связи с любой целью.
Без коментариев :evil:
ICQ не ручается и не гарантирует, что все версии Программного обеспечения будут предоставлены с одинаковым качеством и уровнем услуг, функций, функциональности и доступности для использования в рамках Услуг ICQ. ICQ не ручается и не гарантирует, что: (1) любая программа или информация будет свободна от заражения вирусами, червями, троянскими конями или не будет обладать другими зараженными или разрушающими свойствами; (2) информация, доступная с помощью или посредством Услуг ICQ не будет содержать материалы, предназначенные только для взрослых, или материалы, которые могут быть сочтены некоторыми лицами нежелательными; (3) Услуги ICQ и функции или услуги, выполняемые ICQ, будут непрерывными и свободными от ошибок; или (4) недостатки в Услугах ICQ будут исправлены. Вы несете исключительную ответственность за изоляцию программного обеспечения или информации, использование антивирусного программного обеспечения и принятие иных мер для того, чтобы программное обеспечение или информация, если она загрязнена или заражена, не нанесет ущерба вашей информации или системе.
Не исключено целенаправленное "заражение" Вашего компьютера с целью завладения какими-либо данными! А сами виноваты :haha: .

И так далее и тому подобное!
Вы еще не решились перейти на Jabber?
Это Вам поможет: Переход с ICQ на Jabber
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Jabber Client and LabVIEW

Сообщение Pavel Krivozubov »

гм.. что -то непонятно

Руководящее законодательство и юрисдикция

Настоящее Соглашение и Условия предоставления услуг разработаны в соответствии с законодательством штата Виржиния, исключая положения, противоречащие закону, и руководствуются им. Просим заметить, что использование вами Услуг ICQ может находиться в юрисдикции другого местного, штатного, национального или международного законодательства. Вы явным образом соглашаетесь, что исключительной юрисдикцией в связи с любой претензией или спором с ICQ, или со спором, связанным любым образом с вашим пользованием Услугами ICQ, обладают суды штата Вирджиния. При этом вы соглашаетесь на рассмотрение в судах Вирджинии любого такого спора, включая любой иск к ICQ, ее дочерним компаниям, филиалам, служащим, подрядчикам, должностным лицам, директорам, поставщикам телекоммуникационных услуг и поставщикам содержательных материалов.


Причем тут штат Вирджиния и как ко мне, гражданину Российской Федерации могут применяться его законы??
По моему они написали чушь)
С правами вообще шедеврально)) Короче ребята выдают желаемое за действительное по моему. Разумеется все права на интеллектуальную собственность принадлежат владельцу, это любой суд скажет, и по этому их лицензионное соглашение, противозаконно.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Jabber Client and LabVIEW

Сообщение Pavel Krivozubov »

И именно в силу абсурдности их лицензионного соглашения - проголосовал за ICQ)
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5461
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 27 раз
Поблагодарили: 86 раз

Re: Jabber Client and LabVIEW

Сообщение IvanLis »

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

Выкладываю все наработки, в том числе и нигде не прописанные, некоторые были на грани идеи...
Паролей вроде нигде не установлено.

Не для коммерческого использования, свободно к распространению с указанием автора и ссылкой на labviewportal.org :wink: .
Использование в коммерческих целях по дополнительному согласованию.


В виду превышения максимального размера файла, выкладываю на внешнем ресурсе:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Проекты»