Changeset 4902
- Timestamp:
- 05/04/07 09:52:47 (19 months ago)
- Location:
- trunk/licq
- Files:
-
- 3 modified
-
include/licq_icq.h (modified) (2 diffs)
-
src/icqd-srv.cpp (modified) (3 diffs)
-
src/icqpacket.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/licq/include/licq_icq.h
r4786 r4902 220 220 const unsigned short ICQ_CMDxMETA_ORGBACKxINFOxRSP = 0x0096; // 150 221 221 const unsigned short ICQ_CMDxMETA_SENDxSMSxRSP = 0x0096; // 150 222 const unsigned short ICQ_CMDxMETA_SECURITYxRSP = 0x00A0; // 160 222 // Deprecated? const unsigned short ICQ_CMDxMETA_SECURITYxRSP = 0x00A0; // 160 223 const unsigned short ICQ_CMDxMETA_SECURITYxRSP = 0x0C3F; 223 224 const unsigned short ICQ_CMDxMETA_PASSWORDxRSP = 0x00AA; // 170 224 225 const unsigned short ICQ_CMDxMETA_RANDOMxUSERxRSP = 0x0366; // 870 … … 242 243 const unsigned short ICQ_CMDxMETA_INTERESTSxINFOxSET = 0x0410; // 1040 243 244 const unsigned short ICQ_CMDxMETA_ORGBACKxINFOxSET = 0x041A; // 1050 244 const unsigned short ICQ_CMDxMETA_SECURITYxSET = 0x0424; // 1060 245 // Deprecated? const unsigned short ICQ_CMDxMETA_SECURITYxSET = 0x0424; // 1060 246 const unsigned short ICQ_CMDxMETA_SECURITYxSET = 0x0C3A; 245 247 const unsigned short ICQ_CMDxMETA_PASSWORDxSET = 0x042E; // 1070 246 248 const unsigned short ICQ_CMDxMETA_REQUESTxALLxINFO = 0x04B2; // 1202 -
trunk/licq/src/icqd-srv.cpp
r4799 r4902 1088 1088 unsigned long CICQDaemon::icqSetSecurityInfo(bool bAuthorize, bool bHideIp, bool bWebAware) 1089 1089 { 1090 // Since ICQ5.1, the status change packet is sent first, which means it is 1091 // assumed that the set security info packet works. 1092 ICQOwner *o = gUserManager.FetchOwner(LOCK_W); 1093 o->SetEnableSave(false); 1094 o->SetAuthorization(bAuthorize); 1095 o->SetWebAware(bWebAware); 1096 o->SetHideIp(bHideIp); 1097 o->SetEnableSave(true); 1098 o->SaveLicqInfo(); 1099 unsigned short s = o->StatusFull(); 1100 gUserManager.DropOwner(); 1101 // Set status to ensure the status flags are set 1102 icqSetStatus(s); 1103 1104 // Now send the set security info packet 1090 1105 CPU_Meta_SetSecurityInfo *p = new CPU_Meta_SetSecurityInfo(bAuthorize, bHideIp, bWebAware); 1091 1106 gLog.Info(tr("%sUpdating security info (#%hu/#%d)...\n"), L_SRVxSTR, p->Sequence(), p->SubSequence()); … … 4987 5002 } 4988 5003 case 0x07DA: 5004 case 0x07D0: // XXX Now I see this one, huh? 4989 5005 { 4990 5006 unsigned short nSubtype; … … 5015 5031 pEvent = DoneServerEvent(nSubSequence, 5016 5032 nResult == META_SUCCESS ? EVENT_SUCCESS : EVENT_FAILED); 5017 5018 if (pEvent != NULL && nResult == META_SUCCESS)5019 {5020 CPU_Meta_SetSecurityInfo *p = (CPU_Meta_SetSecurityInfo *)pEvent->m_pPacket;5021 ICQOwner *o = gUserManager.FetchOwner(LOCK_W);5022 o->SetEnableSave(false);5023 o->SetAuthorization(p->Authorization());5024 o->SetWebAware(p->WebAware());5025 o->SetHideIp(p->HideIp());5026 o->SetEnableSave(true);5027 o->SaveLicqInfo();5028 unsigned short s = o->StatusFull();5029 gUserManager.DropOwner();5030 5031 // Set status to ensure the status flags are set5032 icqSetStatus(s);5033 }5034 5033 } 5035 5034 else if (nSubtype == ICQ_CMDxMETA_GENERALxINFOxRSP) -
trunk/licq/src/icqpacket.cpp
r4785 r4902 4019 4019 4020 4020 4021 int packetSize = 2+2+2+4+2+2+2+4 ;4021 int packetSize = 2+2+2+4+2+2+2+4+6; 4022 4022 m_nSize += packetSize; 4023 4023 InitBuffer(); … … 4031 4031 buffer->PackUnsignedShortBE(m_nSubSequence); 4032 4032 buffer->PackUnsignedShort(m_nMetaCommand); // subtype 4033 buffer->PackChar(m_nAuthorization); 4033 buffer->PackUnsignedShortBE(0x0C03); 4034 buffer->PackUnsignedShortBE(0x0100); 4034 4035 buffer->PackChar(m_nWebAware); 4036 buffer->PackChar(0xF8); 4037 buffer->PackChar(2); 4035 4038 buffer->PackChar(1); 4036 4039 buffer->PackChar(0); 4040 buffer->PackChar(m_nAuthorization); 4037 4041 } 4038 4042
