Pull to refresh

ICQ spam в Pidgin — отключаем запросы авторизации

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

Итак, чтобы избавиться от любых запросов авторизации, необходимо:
  • Установить 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
Tags:
Hubs:
Total votes 45: ↑37 and ↓8+29
Comments47

Articles