Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,

on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
This commit is contained in:
Homer Horwitz
2008-11-01 22:09:48 +00:00
parent e3a1ccf0b2
commit 38e8853e57
32 changed files with 1402 additions and 754 deletions

View File

@@ -137,8 +137,14 @@ namespace OpenSim.Region.Environment.Modules.Avatar.InstantMessage
// IM dialogs need to be pre-processed and have their sessionID filled by the server
// so the sim can match the transaction on the return packet.
// Don't send a Friend Dialog IM with a UUID.Zero session.
if (!dialogHandledElsewhere)
// Don't process IMs that are handled elsewhere (e.g. friend dialog
// IMs) with a non-UUID.Zero agent session, as those have been send
// by a client (either directly or from another region via
// inter-region communication) and will be processed in another
// module (e.g. the friends-module).
// IMs with fromAgentSession == UUID.Zero come from the server, and
// have to be passed to the matching viewer
if (!dialogHandledElsewhere || fromAgentSession == UUID.Zero)
{
// Try root avatar only first
foreach (Scene scene in m_scenes)