Index: jabber_db_utils.h =================================================================== --- jabber_db_utils.h (revision 12481) +++ jabber_db_utils.h (working copy) @@ -170,6 +170,7 @@ struct CJabberOptions { + CMOption AllowVersionRequests; CMOption AcceptHttpAuth; CMOption AddRoster2Bookmarks; CMOption AutoAcceptAuthorization; @@ -222,6 +223,7 @@ CJabberOptions(PROTO_INTERFACE *proto): BsDirect(proto, "BsDirect", FALSE), + AllowVersionRequests(proto, "AllowVersionRequests", TRUE), AcceptHttpAuth(proto, "AcceptHttpAuth", TRUE), AddRoster2Bookmarks(proto, "AddRoster2Bookmarks", TRUE), AutoAcceptAuthorization(proto, "AutoAcceptAuthorization", FALSE), Index: jabber_iq_handlers.cpp =================================================================== --- jabber_iq_handlers.cpp (revision 12481) +++ jabber_iq_handlers.cpp (working copy) @@ -292,6 +292,12 @@ if ( !pInfo->GetFrom() ) return TRUE; + // mhaller 2010/08/27 Optionally disallow sending out name and version of Jabber client software ("User-Agent") + if ( !m_options.AllowVersionRequests ) + { + return TRUE; + } + XmlNodeIq iq( _T("result"), pInfo ); HXML query = iq << XQUERY( _T(JABBER_FEAT_VERSION)); #if defined( _UNICODE ) Index: jabber_opt.cpp =================================================================== --- jabber_opt.cpp (revision 12481) +++ jabber_opt.cpp (working copy) @@ -835,6 +835,7 @@ m_otvOptions.AddOption(LPGENT("Other") _T("/") LPGENT("Fix incorrect timestamps in incoming messages"), m_proto->m_options.FixIncorrectTimestamps); m_otvOptions.AddOption(LPGENT("Other") _T("/") LPGENT("Disable frame"), m_proto->m_options.DisableFrame); + m_otvOptions.AddOption(LPGENT("Security") _T("/") LPGENT("Allow servers to request version (XEP-0092)"), m_proto->m_options.AllowVersionRequests); m_otvOptions.AddOption(LPGENT("Security") _T("/") LPGENT("Show information about operating system in version replies"), m_proto->m_options.ShowOSVersion); m_otvOptions.AddOption(LPGENT("Security") _T("/") LPGENT("Accept only in band incoming filetransfers (don't disclose own IP)"), m_proto->m_options.BsOnlyIBB); m_otvOptions.AddOption(LPGENT("Security") _T("/") LPGENT("Accept HTTP Authentication requests (XEP-0070)"), m_proto->m_options.AcceptHttpAuth);