Не знаю кого как, а меня уже задрали запросы на авторизацию через 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