diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/UserProfiles.cs | 1 | ||||
-rw-r--r-- | OpenSim/Framework/Util.cs | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/OpenSim/Framework/UserProfiles.cs b/OpenSim/Framework/UserProfiles.cs index 6d46fe9..4ed890b 100644 --- a/OpenSim/Framework/UserProfiles.cs +++ b/OpenSim/Framework/UserProfiles.cs | |||
@@ -135,6 +135,7 @@ namespace OpenSim.Framework | |||
135 | public string born; | 135 | public string born; |
136 | public byte[] membershipType; | 136 | public byte[] membershipType; |
137 | public uint flags; | 137 | public uint flags; |
138 | public HashSet<IClientAPI> ClientsWaitingProps; | ||
138 | } | 139 | } |
139 | } | 140 | } |
140 | 141 | ||
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index b622523..89cf045 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -1725,12 +1725,16 @@ namespace OpenSim.Framework | |||
1725 | return new UUID(bytes, 0); | 1725 | return new UUID(bytes, 0); |
1726 | } | 1726 | } |
1727 | 1727 | ||
1728 | public static void ParseFakeParcelID(UUID parcelID, out ulong regionHandle, out uint x, out uint y) | 1728 | public static bool ParseFakeParcelID(UUID parcelID, out ulong regionHandle, out uint x, out uint y) |
1729 | { | 1729 | { |
1730 | byte[] bytes = parcelID.GetBytes(); | 1730 | byte[] bytes = parcelID.GetBytes(); |
1731 | regionHandle = Utils.BytesToUInt64(bytes); | 1731 | regionHandle = Utils.BytesToUInt64(bytes); |
1732 | x = Utils.BytesToUInt(bytes, 8) & 0xffff; | 1732 | x = Utils.BytesToUInt(bytes, 8) & 0xffff; |
1733 | y = Utils.BytesToUInt(bytes, 12) & 0xffff; | 1733 | y = Utils.BytesToUInt(bytes, 12) & 0xffff; |
1734 | // validation may fail, just reducing the odds of using a real UUID as encoded parcel | ||
1735 | return ( bytes[0] == 0 && bytes[4] == 0 && // handler x,y multiples of 256 | ||
1736 | bytes[9] < 64 && bytes[13] < 64 && // positions < 16km | ||
1737 | bytes[14] == 0 && bytes[15] == 0); | ||
1734 | } | 1738 | } |
1735 | 1739 | ||
1736 | public static void ParseFakeParcelID(UUID parcelID, out ulong regionHandle, out uint x, out uint y, out uint z) | 1740 | public static void ParseFakeParcelID(UUID parcelID, out ulong regionHandle, out uint x, out uint y, out uint z) |