Не знаю кого как, а меня уже задрали запросы на авторизацию через ICQ — приходят по 10-20 штук в день. Наконец-то нашёл способ как это всё отключить полностью. На jabber аккаунты в том же экземпляре пиджина запросы авторизации приходить будут. Когда подобного рода спам доберётся и до джаббера, надо будет придумывать новые меры защиты.
Как известно, библиотека libpurple не позволяла антиспам-плагинам задать причину автоматического отклонения запроса авторизации, что приводило к всплывающему окну (т.е. без плагинов оказывалось даже лучше, т.к. авторизация показывалась в окне контактов и меньше отвлекала). Автор pidgin-privacy-please (Stefan Ott) написал патч для pidgin, обеспечивающий необходимую инфраструктуру и поддержал её в своём плагине.
К сожалению, несмотря на то что патч принят в upstream, релизить 2.8.0 пока не торопятся и придётся проделать необходимую работу самостоятельно. Для этого нам понадобится pidgin 2.7.10 (текущий на данный момент), патч на него developer.pidgin.im/ticket/8690 (он же в апстриме developer.pidgin.im/viewmtn/revision/info/490036a7b4ce807cb851ded91af7d959fe1c029e) и последний снапшот исходников плагина code.google.com/p/pidgin-privacy-please.
Итак, чтобы избавиться от любых запросов авторизации, необходимо:
Данная связка добавляет также возможность блокировать запросы содержащие url, но эту функциональность я себе включать не стал из-за опасений помешать входящим запросам в jabber. Поскольку за последний год у меня добавилось всего 3 или 4 контакта ICQ (и во всех случаях у собеседников была возможность связаться со мной по почте или телефону), вариант с полным отказом от входящих запросов авторизации по этому протоколу более-менее приемлем.
Проверялось всё под Linux, но не вижу причин мешающих повторить это и в Windows.
Как известно, библиотека libpurple не позволяла антиспам-плагинам задать причину автоматического отклонения запроса авторизации, что приводило к всплывающему окну (т.е. без плагинов оказывалось даже лучше, т.к. авторизация показывалась в окне контактов и меньше отвлекала). Автор pidgin-privacy-please (Stefan Ott) написал патч для pidgin, обеспечивающий необходимую инфраструктуру и поддержал её в своём плагине.
К сожалению, несмотря на то что патч принят в upstream, релизить 2.8.0 пока не торопятся и придётся проделать необходимую работу самостоятельно. Для этого нам понадобится pidgin 2.7.10 (текущий на данный момент), патч на него developer.pidgin.im/ticket/8690 (он же в апстриме developer.pidgin.im/viewmtn/revision/info/490036a7b4ce807cb851ded91af7d959fe1c029e) и последний снапшот исходников плагина code.google.com/p/pidgin-privacy-please.
Итак, чтобы избавиться от любых запросов авторизации, необходимо:
- Установить pidgin-2.7.10 (думаю можно и более раннюю версию) применив указанный выше патч
- Установить pidgin-privacy-please из транка с дополнительным патчем (см. ниже)
- В настройках плагина поставить «Block authorization requests from OSCAR (ICQ/AIM)»
- Убедиться что в плагине также включены опции «Auto-reply on blocked messages with», «Auto-reply on blocked messages from unknown people with», «Block messages from people not on your contact list»
Данная связка добавляет также возможность блокировать запросы содержащие url, но эту функциональность я себе включать не стал из-за опасений помешать входящим запросам в jabber. Поскольку за последний год у меня добавилось всего 3 или 4 контакта ICQ (и во всех случаях у собеседников была возможность связаться со мной по почте или телефону), вариант с полным отказом от входящих запросов авторизации по этому протоколу более-менее приемлем.
Проверялось всё под Linux, но не вижу причин мешающих повторить это и в Windows.
diff -Naur a/src/pidgin-pp.c b/src/pidgin-pp.c --- a/src/pidgin-pp.c 2011-02-20 12:34:06.234472155 +0600 +++ b/src/pidgin-pp.c 2011-02-20 12:35:44.954334909 +0600 @@ -200,7 +200,7 @@ } static int -#if PURPLE_VERSION_CHECK(2, 8, 0) +#if PURPLE_VERSION_CHECK(2, 7, 0) request_authorization_cb(PurpleAccount* account, char *sender, char *msg) #else request_authorization_cb(PurpleAccount* account, char *sender) @@ -238,7 +238,7 @@ return deny; } -#if PURPLE_VERSION_CHECK(2, 8, 0) +#if PURPLE_VERSION_CHECK(2, 7, 0) if (prefs_auth_block_with_url() && (msg != NULL)) { const gchar *pattern = "http:\\/\\/"; @@ -348,7 +348,7 @@ purple_signal_connect(conv_handle, "receiving-im-msg", plugin, PURPLE_CALLBACK(receiving_im_msg_cb), NULL); -#if PURPLE_VERSION_CHECK(2, 8, 0) +#if PURPLE_VERSION_CHECK(2, 7, 0) purple_signal_connect(acct_handle, "account-authorization-requested-with-message", plugin, PURPLE_CALLBACK(request_authorization_cb), diff -Naur a/src/pp-prefs.c b/src/pp-prefs.c --- a/src/pp-prefs.c 2011-02-20 12:34:06.234472155 +0600 +++ b/src/pp-prefs.c 2011-02-20 12:35:11.796420366 +0600 @@ -71,7 +71,7 @@ pref_boolean(auth_block_all, "block_auth_all"); pref_boolean(auth_block_oscar, "block_auth_oscar"); -#if PURPLE_VERSION_CHECK(2, 8, 0) +#if PURPLE_VERSION_CHECK(2, 7, 0) pref_boolean(auth_block_with_url, "block_auth_with_url"); #endif // PURPLE_VERSION_CHECK pref_boolean(auth_block_repeated, "block_denied"); @@ -183,7 +183,7 @@ pidgin_prefs_checkbox( _("Block authorization requests from OSCAR (ICQ/AIM)"), "/plugins/core/pidgin_pp/block_auth_oscar", tab_vbox); -#if PURPLE_VERSION_CHECK(2, 8, 0) +#if PURPLE_VERSION_CHECK(2, 7, 0) pidgin_prefs_checkbox( _("Block authorization requests with hyperlinks"), "/plugins/core/pidgin_pp/block_auth_with_url", tab_vbox); @@ -266,7 +266,7 @@ "/plugins/core/pidgin_pp/block_auth_all", FALSE); purple_prefs_add_bool( "/plugins/core/pidgin_pp/block_auth_oscar", FALSE); -#if PURPLE_VERSION_CHECK(2, 8, 0) +#if PURPLE_VERSION_CHECK(2, 7, 0) purple_prefs_add_bool( "/plugins/core/pidgin_pp/block_auth_with_url", FALSE); #endif // PURPLE_VERSION_CHECK