From 9536e0bb47b12ea2ae01ab070dd9f6aa5bb360c2 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 29 Dec 2023 17:03:21 +0300 Subject: =?UTF-8?q?fixes=20#4085=20(=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BD=D0=B5=D0=B2=D0=B8=D0=B4=D0=B8=D0=BC=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/EmLanProto/src/amdproto.cpp | 2 +- protocols/Gadu-Gadu/src/core.cpp | 11 ++--- protocols/Gadu-Gadu/src/gg.h | 1 - protocols/Gadu-Gadu/src/gg_proto.cpp | 13 +----- protocols/Gadu-Gadu/src/gg_proto.h | 1 - protocols/ICQ-WIM/src/ignore.cpp | 12 ----- protocols/ICQ-WIM/src/proto.cpp | 15 +----- protocols/ICQ-WIM/src/proto.h | 1 - protocols/ICQCorp/src/protocol.cpp | 75 ------------------------------ protocols/ICQCorp/src/protocol.h | 2 - protocols/ICQCorp/src/services.cpp | 29 ------------ protocols/JabberG/src/jabber_proto.cpp | 41 ---------------- protocols/JabberG/src/jabber_proto.h | 1 - protocols/Weather/src/weather_svcs.cpp | 2 +- protocols/WebView/src/webview_services.cpp | 2 +- 15 files changed, 9 insertions(+), 199 deletions(-) (limited to 'protocols') diff --git a/protocols/EmLanProto/src/amdproto.cpp b/protocols/EmLanProto/src/amdproto.cpp index bc4d7655f1..215f02a24b 100644 --- a/protocols/EmLanProto/src/amdproto.cpp +++ b/protocols/EmLanProto/src/amdproto.cpp @@ -63,7 +63,7 @@ static INT_PTR __cdecl EMPGetCaps(WPARAM wParam, LPARAM) { switch (wParam) { case PFLAGNUM_1: - return PF1_IM | PF1_BASICSEARCH | PF1_ADDSEARCHRES | PF1_PEER2PEER | PF1_INDIVSTATUS | + return PF1_IM | PF1_BASICSEARCH | PF1_ADDSEARCHRES | PF1_PEER2PEER | PF1_MODEMSG | PF1_FILE | PF1_CANRENAMEFILE | PF1_FILERESUME; case PFLAGNUM_2: return PF2_ONLINE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND | PF2_FREECHAT; diff --git a/protocols/Gadu-Gadu/src/core.cpp b/protocols/Gadu-Gadu/src/core.cpp index b7c506df0b..dd2271de69 100644 --- a/protocols/Gadu-Gadu/src/core.cpp +++ b/protocols/Gadu-Gadu/src/core.cpp @@ -1350,12 +1350,10 @@ void GaduProto::notifyuser(MCONTACT hContact, int refresh) if (!hContact) return; - if (isonline() && (uin = (uin_t)getDword(hContact, GG_KEY_UIN, 0))) - { + if (isonline() && (uin = (uin_t)getDword(hContact, GG_KEY_UIN, 0))) { // Check if user should be invisible // Or be blocked ? - if ((getWord(hContact, GG_KEY_APPARENT, (uint16_t)ID_STATUS_ONLINE) == ID_STATUS_OFFLINE) || !Contact::OnList(hContact)) - { + if (!Contact::OnList(hContact)) { gg_EnterCriticalSection(&sess_mutex, "notifyuser", 77, "sess_mutex", 1); if (refresh) { gg_remove_notify_ex(m_sess, uin, GG_USER_NORMAL); @@ -1365,8 +1363,7 @@ void GaduProto::notifyuser(MCONTACT hContact, int refresh) gg_add_notify_ex(m_sess, uin, GG_USER_OFFLINE); gg_LeaveCriticalSection(&sess_mutex, "notifyuser", 77, 1, "sess_mutex", 1); } - else if (getByte(hContact, GG_KEY_BLOCK, 0)) - { + else if (getByte(hContact, GG_KEY_BLOCK, 0)) { gg_EnterCriticalSection(&sess_mutex, "notifyuser", 78, "sess_mutex", 1); if (refresh) gg_remove_notify_ex(m_sess, uin, GG_USER_OFFLINE); @@ -1409,7 +1406,7 @@ void GaduProto::notifyall() int cc = 0; for (auto &hContact : AccContacts()) { if (uins[cc] = getDword(hContact, GG_KEY_UIN, 0)) { - if ((getWord(hContact, GG_KEY_APPARENT, (uint16_t)ID_STATUS_ONLINE) == ID_STATUS_OFFLINE) || !Contact::OnList(hContact)) + if (!Contact::OnList(hContact)) types[cc] = GG_USER_OFFLINE; else if (getByte(hContact, GG_KEY_BLOCK, 0)) types[cc] = GG_USER_BLOCKED; diff --git a/protocols/Gadu-Gadu/src/gg.h b/protocols/Gadu-Gadu/src/gg.h index 757feeda92..301d3fdb2e 100644 --- a/protocols/Gadu-Gadu/src/gg.h +++ b/protocols/Gadu-Gadu/src/gg.h @@ -230,7 +230,6 @@ struct GGGETAVATARDATA #define GG_KEYDEF_GC_POLICY_DEFAULT 0 #define GG_KEY_BLOCK "Block" // Contact is blocked -#define GG_KEY_APPARENT "ApparentMode" // Visible list #define GG_KEY_TIMEDEVIATION "TimeDeviation" // Max time deviation for connections (seconds) #define GG_KEYDEF_TIMEDEVIATION 300 diff --git a/protocols/Gadu-Gadu/src/gg_proto.cpp b/protocols/Gadu-Gadu/src/gg_proto.cpp index 856ce81228..a083507708 100644 --- a/protocols/Gadu-Gadu/src/gg_proto.cpp +++ b/protocols/Gadu-Gadu/src/gg_proto.cpp @@ -155,7 +155,7 @@ INT_PTR GaduProto::GetCaps(int type, MCONTACT) switch (type) { case PFLAGNUM_1: return PF1_IM | PF1_BASICSEARCH | PF1_EXTSEARCH | PF1_EXTSEARCHUI | PF1_SEARCHBYNAME | - PF1_MODEMSG | PF1_NUMERICUSERID | PF1_VISLIST | PF1_FILE; + PF1_MODEMSG | PF1_NUMERICUSERID | PF1_FILE; case PFLAGNUM_2: return PF2_ONLINE | PF2_SHORTAWAY | PF2_HEAVYDND | PF2_FREECHAT | PF2_INVISIBLE | PF2_LONGAWAY; @@ -526,17 +526,6 @@ int GaduProto::SendMsg(MCONTACT hContact, MEVENT, const char *msg) return seq; } -////////////////////////////////////////////////////////// -// visible lists -// -int GaduProto::SetApparentMode(MCONTACT hContact, int mode) -{ - setWord(hContact, GG_KEY_APPARENT, (uint16_t)mode); - notifyuser(hContact, 1); - - return 0; -} - ////////////////////////////////////////////////////////// // sets protocol status // diff --git a/protocols/Gadu-Gadu/src/gg_proto.h b/protocols/Gadu-Gadu/src/gg_proto.h index 75da3bc4f1..f7387f789c 100644 --- a/protocols/Gadu-Gadu/src/gg_proto.h +++ b/protocols/Gadu-Gadu/src/gg_proto.h @@ -48,7 +48,6 @@ struct GaduProto : public PROTO HANDLE SendFile(MCONTACT hContact, const wchar_t* szDescription, wchar_t** ppszFiles) override; int SendMsg(MCONTACT hContact, MEVENT hReplyEvent, const char* msg) override; - int SetApparentMode(MCONTACT hContact, int mode) override; int SetStatus(int iNewStatus) override; HANDLE GetAwayMsg(MCONTACT hContact) override; diff --git a/protocols/ICQ-WIM/src/ignore.cpp b/protocols/ICQ-WIM/src/ignore.cpp index a7b6cfe66b..6dd86c51fb 100644 --- a/protocols/ICQ-WIM/src/ignore.cpp +++ b/protocols/ICQ-WIM/src/ignore.cpp @@ -58,18 +58,6 @@ void CIcqProto::ProcessPermissions(const JSONNode &ev) Contact::Hide(p->m_hContact); m_bIgnoreListEmpty = false; } - - { mir_cslock lck(m_csCache); - for (auto &it : m_arCache) { - int oldMode = getDword(it->m_hContact, "ApparentMode"); - if (oldMode != it->m_iApparentMode) { - if (it->m_iApparentMode == 0) - delSetting(it->m_hContact, "ApparentMode"); - else - setDword(it->m_hContact, "ApparentMode", it->m_iApparentMode); - } - } - } } void CIcqProto::SetPermitDeny(const CMStringW &userId, bool bAllow) diff --git a/protocols/ICQ-WIM/src/proto.cpp b/protocols/ICQ-WIM/src/proto.cpp index dea367270c..68567975b1 100644 --- a/protocols/ICQ-WIM/src/proto.cpp +++ b/protocols/ICQ-WIM/src/proto.cpp @@ -491,7 +491,7 @@ INT_PTR CIcqProto::GetCaps(int type, MCONTACT) switch (type) { case PFLAGNUM_1: nReturn = PF1_IM | PF1_AUTHREQ | PF1_BASICSEARCH | PF1_ADDSEARCHRES | /*PF1_SEARCHBYNAME | TODO */ - PF1_VISLIST | PF1_FILE | PF1_CONTACT | PF1_SERVERCLIST; + PF1_FILE | PF1_CONTACT | PF1_SERVERCLIST; break; case PFLAGNUM_2: @@ -668,16 +668,3 @@ int CIcqProto::UserIsTyping(MCONTACT hContact, int type) << AIMSID(this) << WCHAR_PARAM("t", GetUserId(hContact)) << CHAR_PARAM("typingStatus", (type == PROTOTYPE_SELFTYPING_ON) ? "typing" : "typed")); return 0; } - -//////////////////////////////////////////////////////////////////////////////////////// -// PS_SetApparentMode - sets the visibility status - -int CIcqProto::SetApparentMode(MCONTACT hContact, int iMode) -{ - int oldMode = getWord(hContact, "ApparentMode"); - if (oldMode != iMode) { - setWord(hContact, "ApparentMode", iMode); - SetPermitDeny(GetUserId(hContact), iMode != ID_STATUS_OFFLINE); - } - return 0; -} diff --git a/protocols/ICQ-WIM/src/proto.h b/protocols/ICQ-WIM/src/proto.h index c0339b38aa..44def39b16 100644 --- a/protocols/ICQ-WIM/src/proto.h +++ b/protocols/ICQ-WIM/src/proto.h @@ -435,7 +435,6 @@ class CIcqProto : public PROTO HANDLE SendFile(MCONTACT hContact, const wchar_t *szDescription, wchar_t **ppszFiles) override; int SendMsg(MCONTACT hContact, MEVENT hReplyEvent, const char *msg) override; - int SetApparentMode(MCONTACT hContact, int mode) override; int SetStatus(int iNewStatus) override; int UserIsTyping(MCONTACT hContact, int type) override; diff --git a/protocols/ICQCorp/src/protocol.cpp b/protocols/ICQCorp/src/protocol.cpp index bdbf79bce3..cb24b1ddf4 100644 --- a/protocols/ICQCorp/src/protocol.cpp +++ b/protocols/ICQCorp/src/protocol.cpp @@ -1151,81 +1151,6 @@ void ICQ::updateContactList() /////////////////////////////////////////////////////////////////////////////// -void ICQ::sendVisibleList() -{ - /* - unsigned int i, numUsers = 0; - ICQUser *u; - - if (statusVal != ID_STATUS_INVISIBLE) return; - - Packet userPacket; - userPacket << ICQ_VERSION - << ICQ_CMDxSND_VISxLIST - << sequenceVal - << sequenceVal - << uin - << (unsigned int)0x00; - - for (i=0; istatusVal != ID_STATUS_OFFLINE && g_plugin.getWord(u->hContact, "ApparentMode") == ID_STATUS_ONLINE) - numUsers++; - } - - if (numUsers == 0) return; - userPacket << (char)numUsers; - - for (i=0; istatusVal != ID_STATUS_OFFLINE && g_plugin.getWord(u->hContact, "ApparentMode") == ID_STATUS_ONLINE) - userPacket << icqUsers[i]->uin; - } - - Netlib_Logf(hNetlibUser, "[udp] sending visible list (%d)\n", sequenceVal); - sendICQ(udpSocket, userPacket, ICQ_CMDxSND_VISxLIST, sequenceVal); - */ -} - -/////////////////////////////////////////////////////////////////////////////// - -void ICQ::sendInvisibleList() -{ - /* - unsigned int i, numUsers = 0; - - Packet userPacket; - userPacket << ICQ_VERSION - << ICQ_CMDxSND_INVISxLIST - << sequenceVal - << sequenceVal - << uin - << (unsigned int)0x00; - - for (i=0; ihContact, "ApparentMode") == ID_STATUS_OFFLINE) - numUsers++; - } - - if (numUsers == 0) return; - userPacket << (char)numUsers; - - for (i=0; ihContact, "ApparentMode") == ID_STATUS_OFFLINE) - userPacket << icqUsers[i]->uin; - } - - Netlib_Logf(hNetlibUser, "[udp] sending invisible list (%d)\n", sequenceVal); - sendICQ(udpSocket, userPacket, ICQ_CMDxSND_INVISxLIST, sequenceVal); - */ -} - -/////////////////////////////////////////////////////////////////////////////// - void ICQ::updateUserList(ICQUser* /*u*/, char /*list*/, char /*add*/) { /* diff --git a/protocols/ICQCorp/src/protocol.h b/protocols/ICQCorp/src/protocol.h index 4e23d7781c..ef1adf9ad6 100644 --- a/protocols/ICQCorp/src/protocol.h +++ b/protocols/ICQCorp/src/protocol.h @@ -165,8 +165,6 @@ public: void requestSystemMsg(); void requestBroadcastMsg(); void updateContactList(); - void sendVisibleList(); - void sendInvisibleList(); void updateUserList(ICQUser *u, char list, char add); void processSystemMessage(Packet &packet, unsigned long checkUin, unsigned short newCommand, time_t timeSent); void ackSYS(unsigned int timeStamp); diff --git a/protocols/ICQCorp/src/services.cpp b/protocols/ICQCorp/src/services.cpp index 253dfb3e42..90a79b090f 100644 --- a/protocols/ICQCorp/src/services.cpp +++ b/protocols/ICQCorp/src/services.cpp @@ -392,34 +392,6 @@ static INT_PTR icqFileResume(WPARAM wParam, LPARAM lParam) /////////////////////////////////////////////////////////////////////////////// -static INT_PTR icqSetApparentMode(WPARAM, LPARAM) -{ - /* - CCSDATA *ccs = (CCSDATA *)lParam; - int oldMode, newMode = ccs->wParam; - ICQUser *u; - - u = icq.getUserByContact(ccs->hContact); - if (u == NULL) return 1; - - oldMode = db_get_w(u->hContact, ICQCORP_PROTONAME, "ApparentMode", 0); - if (newMode == oldMode) return 1; - - Netlib_Logf(hNetlibUser, "[ ] set apparent mode\n"); - - if (newMode == ID_STATUS_ONLINE || newMode == ID_STATUS_OFFLINE) db_set_w(u->hContact, ICQCORP_PROTONAME, "ApparentMode", (uint16_t)newMode); - else db_unset(u->hContact, ICQCORP_PROTONAME, "ApparentMode"); - - if (icq.statusVal <= ID_STATUS_OFFLINE) return 0; - - if (oldMode != 0) icq.updateUserList(u, oldMode == ID_STATUS_OFFLINE ? 1 : 2, 0); - if (newMode != 0) icq.updateUserList(u, newMode == ID_STATUS_OFFLINE ? 1 : 2, 1); - */ - return 0; -} - -/////////////////////////////////////////////////////////////////////////////// - static int icqContactDeleted(WPARAM hContact, LPARAM) { Netlib_Logf(hNetlibUser, "[ ] contact deleted\n"); @@ -469,7 +441,6 @@ int LoadServices() CreateProtoServiceFunction(protoName, PSS_FILEALLOW, icqFileAllow); CreateProtoServiceFunction(protoName, PSS_FILEDENY, icqFileDeny); CreateProtoServiceFunction(protoName, PSS_FILECANCEL, icqFileCancel); - CreateProtoServiceFunction(protoName, PSS_SETAPPARENTMODE, icqSetApparentMode); CreateProtoServiceFunction(protoName, PSR_MESSAGE, icqRecvMessage); CreateProtoServiceFunction(protoName, PSR_AWAYMSG, icqRecvAwayMsg); diff --git a/protocols/JabberG/src/jabber_proto.cpp b/protocols/JabberG/src/jabber_proto.cpp index 63009c39fc..5eda5e8ff9 100644 --- a/protocols/JabberG/src/jabber_proto.cpp +++ b/protocols/JabberG/src/jabber_proto.cpp @@ -983,47 +983,6 @@ int CJabberProto::SendMsgEx(MCONTACT hContact, const char *pszSrc, XmlNode &m) return id; } -//////////////////////////////////////////////////////////////////////////////////////// -// rSetApparentMode - sets the visibility status - -int CJabberProto::SetApparentMode(MCONTACT hContact, int mode) -{ - if (mode != 0 && mode != ID_STATUS_ONLINE && mode != ID_STATUS_OFFLINE) - return 1; - - int oldMode = getWord(hContact, "ApparentMode", 0); - if (mode == oldMode) - return 1; - - setWord(hContact, "ApparentMode", (uint16_t)mode); - if (!m_bJabberOnline) - return 0; - - ptrA jid(getUStringA(hContact, "jid")); - if (jid == nullptr) - return 0; - - switch (mode) { - case ID_STATUS_ONLINE: - if (m_iStatus == ID_STATUS_INVISIBLE || oldMode == ID_STATUS_OFFLINE) - m_ThreadInfo->send(XmlNode("presence") << XATTR("to", jid)); - break; - case ID_STATUS_OFFLINE: - if (m_iStatus != ID_STATUS_INVISIBLE || oldMode == ID_STATUS_ONLINE) - SendPresenceTo(ID_STATUS_INVISIBLE, jid); - break; - case 0: - if (oldMode == ID_STATUS_ONLINE && m_iStatus == ID_STATUS_INVISIBLE) - SendPresenceTo(ID_STATUS_INVISIBLE, jid); - else if (oldMode == ID_STATUS_OFFLINE && m_iStatus != ID_STATUS_INVISIBLE) - SendPresenceTo(m_iStatus, jid); - break; - } - - // TODO: update the zebra list (jabber:iq:privacy) - return 0; -} - //////////////////////////////////////////////////////////////////////////////////////// // JabberSetStatus - sets the protocol status diff --git a/protocols/JabberG/src/jabber_proto.h b/protocols/JabberG/src/jabber_proto.h index 54359d8d8c..824ad6c929 100644 --- a/protocols/JabberG/src/jabber_proto.h +++ b/protocols/JabberG/src/jabber_proto.h @@ -141,7 +141,6 @@ struct CJabberProto : public PROTO, public IJabberInterface int SendMsg(MCONTACT hContact, MEVENT, const char *msg) override; int SendMsgEx(MCONTACT hContact, const char *msg, XmlNode &m); - int SetApparentMode(MCONTACT hContact, int mode) override; int SetStatus(int iNewStatus) override; HANDLE GetAwayMsg(MCONTACT hContact) override; diff --git a/protocols/Weather/src/weather_svcs.cpp b/protocols/Weather/src/weather_svcs.cpp index c8307ba99a..757e243910 100644 --- a/protocols/Weather/src/weather_svcs.cpp +++ b/protocols/Weather/src/weather_svcs.cpp @@ -59,7 +59,7 @@ INT_PTR WeatherGetCaps(WPARAM wParam, LPARAM) switch (wParam) { case PFLAGNUM_1: // support search and visible list - ret = PF1_BASICSEARCH | PF1_ADDSEARCHRES | PF1_EXTSEARCH | PF1_VISLIST | PF1_MODEMSGRECV; + ret = PF1_BASICSEARCH | PF1_ADDSEARCHRES | PF1_EXTSEARCH | PF1_MODEMSGRECV; break; case PFLAGNUM_2: diff --git a/protocols/WebView/src/webview_services.cpp b/protocols/WebView/src/webview_services.cpp index 2eef900ee9..bbc7fb457f 100644 --- a/protocols/WebView/src/webview_services.cpp +++ b/protocols/WebView/src/webview_services.cpp @@ -199,7 +199,7 @@ INT_PTR GetCaps(WPARAM wParam, LPARAM) { switch (wParam) { case PFLAGNUM_1: - return PF1_BASICSEARCH | PF1_ADDSEARCHRES | PF1_VISLIST; + return PF1_BASICSEARCH | PF1_ADDSEARCHRES; case PFLAGNUM_2: return g_plugin.getByte(HIDE_STATUS_ICON_KEY, 0) ? 0 : (PF2_ONLINE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND); case PFLAGNUM_3: -- cgit v1.2.3