Update svn properties, formatting cleanup.
parent
6d2e1ad6ba
commit
bea7d4d81a
|
@ -23,14 +23,12 @@
|
|||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// This interface represents the boundary between the general purpose
|
||||
/// REST plugin handling, and the functionally specific handlers. The
|
||||
|
@ -44,5 +42,4 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
void Initialize();
|
||||
void Close();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -40,7 +40,6 @@ using System.Xml;
|
|||
|
||||
namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// This class represents the current REST request. It
|
||||
/// encapsulates the request/response state and takes care
|
||||
|
@ -66,7 +65,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal class RequestData
|
||||
{
|
||||
|
||||
// HTTP Server interface data
|
||||
|
||||
internal OSHttpRequest request = null;
|
||||
|
@ -170,7 +168,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal RequestData(OSHttpRequest p_request, OSHttpResponse p_response, string p_qprefix)
|
||||
{
|
||||
|
||||
request = p_request;
|
||||
response = p_response;
|
||||
qprefix = p_qprefix;
|
||||
|
@ -187,7 +184,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
initUrl();
|
||||
|
||||
initParameters(p_qprefix.Length);
|
||||
|
||||
}
|
||||
|
||||
// Just for convenience...
|
||||
|
@ -212,7 +208,8 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
return authenticated;
|
||||
}
|
||||
else return true;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -229,7 +226,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private void authenticate()
|
||||
{
|
||||
|
||||
string authdata = request.Headers.Get("Authorization");
|
||||
string reqscheme = String.Empty;
|
||||
|
||||
|
@ -291,7 +287,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
Rest.Log.DebugFormat("{0} Challenge reason: Authentication failed", MsgId);
|
||||
DoChallenge();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -315,7 +310,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private void DoBasic(string authdata)
|
||||
{
|
||||
|
||||
string response = null;
|
||||
|
||||
MatchCollection matches = basicParms.Matches(authdata);
|
||||
|
@ -346,7 +340,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
// Validate against user database
|
||||
authenticated = Validate(userName,userPass);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -357,7 +350,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private void DoDigest(string authdata)
|
||||
{
|
||||
|
||||
string response = null;
|
||||
|
||||
MatchCollection matches = digestParm1.Matches(authdata);
|
||||
|
@ -390,12 +382,10 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
if (authparms.TryGetValue("response", out response))
|
||||
{
|
||||
|
||||
string temp = null;
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
string nck = null;
|
||||
string ncl = null;
|
||||
|
||||
|
@ -448,7 +438,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
if (authparms.TryGetValue("qop", out temp))
|
||||
{
|
||||
|
||||
qop = temp.ToLower(); // replace with actual value used
|
||||
|
||||
// if QOP was specified then
|
||||
|
@ -485,11 +474,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
{
|
||||
lock (cntable) cntable.Add(nonce, nck);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
qop = String.Empty;
|
||||
|
||||
// if QOP was not specified then
|
||||
|
@ -509,12 +496,9 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
// Validate the supplied userid/password info
|
||||
|
||||
authenticated = ValidateDigest(userName, nonce, cnonce, nck, authPrefix, response);
|
||||
|
||||
}
|
||||
while (false);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Indicate that authentication is required
|
||||
|
@ -523,7 +507,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
string opaque, string stale, string alg,
|
||||
string qop, string auth)
|
||||
{
|
||||
|
||||
sbuilder.Length = 0;
|
||||
|
||||
if (scheme == null || scheme == Rest.AS_BASIC)
|
||||
|
@ -544,7 +527,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
if (scheme == null || scheme == Rest.AS_DIGEST)
|
||||
{
|
||||
|
||||
sbuilder.Append(Rest.AS_DIGEST);
|
||||
sbuilder.Append(" ");
|
||||
|
||||
|
@ -617,9 +599,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
sbuilder.Append(Rest.CS_DQUOTE);
|
||||
|
||||
AddHeader(Rest.HttpHeaderWWWAuthenticate,sbuilder.ToString());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -631,7 +611,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private bool Validate(string user, string pass)
|
||||
{
|
||||
|
||||
Rest.Log.DebugFormat("{0} Simple User Validation", MsgId);
|
||||
|
||||
// Both values are required
|
||||
|
@ -643,7 +622,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
user = user.Trim();
|
||||
|
||||
return vetPassword(user, pass);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -658,7 +636,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private string getPassword(string user)
|
||||
{
|
||||
|
||||
int x;
|
||||
string first;
|
||||
string last;
|
||||
|
@ -690,7 +667,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
Rest.Log.DebugFormat("{0} Normal User {1}", MsgId, user);
|
||||
return udata.PasswordHash;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -704,7 +680,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private bool vetPassword(string user, string pass)
|
||||
{
|
||||
|
||||
int x;
|
||||
string HA1;
|
||||
string first;
|
||||
|
@ -734,13 +709,11 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
HA1 = HashToString(String.Format("{0}:{1}",HA1,udata.PasswordSalt));
|
||||
|
||||
return (0 == sc.Compare(HA1, udata.PasswordHash));
|
||||
|
||||
}
|
||||
|
||||
// Validate the request-digest
|
||||
private bool ValidateDigest(string user, string nonce, string cnonce, string nck, string uri, string response)
|
||||
{
|
||||
|
||||
string patt = null;
|
||||
string payl = String.Empty;
|
||||
string KDS = null;
|
||||
|
@ -798,12 +771,10 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
// Compare the generated sequence with the original
|
||||
|
||||
return (0 == sc.Compare(KDS, response));
|
||||
|
||||
}
|
||||
|
||||
private string HashToString(string pattern)
|
||||
{
|
||||
|
||||
Rest.Log.DebugFormat("{0} Generate <{1}>", MsgId, pattern);
|
||||
|
||||
byte[] hash = md5hash.ComputeHash(encoding.GetBytes(pattern));
|
||||
|
@ -818,7 +789,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
Rest.Log.DebugFormat("{0} Hash = <{1}>", MsgId, sbuilder.ToString());
|
||||
|
||||
return sbuilder.ToString();
|
||||
|
||||
}
|
||||
|
||||
internal void Complete()
|
||||
|
@ -829,7 +799,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal void Redirect(string Url, bool temp)
|
||||
{
|
||||
|
||||
redirectLocation = Url;
|
||||
|
||||
if (temp)
|
||||
|
@ -844,7 +813,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
}
|
||||
|
||||
Fail(statusCode, statusDescription, true);
|
||||
|
||||
}
|
||||
|
||||
// Fail for an arbitrary reason. Just a failure with
|
||||
|
@ -867,7 +835,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal void Fail(int code, string message, bool reset)
|
||||
{
|
||||
|
||||
statusCode = code;
|
||||
statusDescription = message;
|
||||
|
||||
|
@ -907,7 +874,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
re.httppath = path;
|
||||
|
||||
throw re;
|
||||
|
||||
}
|
||||
|
||||
// Reject this request
|
||||
|
@ -924,19 +890,16 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal virtual bool Respond(string reason)
|
||||
{
|
||||
|
||||
Rest.Log.DebugFormat("{0} Respond ENTRY, handled = {1}, reason = {2}", MsgId, handled, reason);
|
||||
|
||||
if (!handled)
|
||||
{
|
||||
|
||||
Rest.Log.DebugFormat("{0} Generating Response", MsgId);
|
||||
Rest.Log.DebugFormat("{0} Method is {1}", MsgId, method);
|
||||
|
||||
// A Head request can NOT have a body!
|
||||
if (method != Rest.HEAD)
|
||||
{
|
||||
|
||||
Rest.Log.DebugFormat("{0} Response is not abbreviated", MsgId);
|
||||
|
||||
// If the writer is non-null then we know that an XML
|
||||
|
@ -993,7 +956,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
response.SendChunked = chunked;
|
||||
response.KeepAlive = keepAlive;
|
||||
|
||||
}
|
||||
|
||||
// Set the status code & description. If nothing has been stored,
|
||||
|
@ -1054,13 +1016,11 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
Rest.Log.DebugFormat("{0} Closing output stream", MsgId);
|
||||
response.OutputStream.Close();
|
||||
|
||||
}
|
||||
|
||||
Rest.Log.DebugFormat("{0} Respond EXIT, handled = {1}, reason = {2}", MsgId, handled, reason);
|
||||
|
||||
return handled;
|
||||
|
||||
}
|
||||
|
||||
// Add a header to the table. We need to allow
|
||||
|
@ -1122,7 +1082,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private void initUrl()
|
||||
{
|
||||
|
||||
uri = request.Url;
|
||||
|
||||
if (query == null)
|
||||
|
@ -1137,7 +1096,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
{
|
||||
path = uri.AbsolutePath;
|
||||
if (path.EndsWith(Rest.UrlPathSeparator))
|
||||
path = path.Substring(0,path.Length-1);
|
||||
path = path.Substring(0, path.Length-1);
|
||||
}
|
||||
|
||||
// If we succeeded in getting a path, perform any
|
||||
|
@ -1149,7 +1108,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
{
|
||||
// Handle "+". Not a standard substitution, but
|
||||
// common enough...
|
||||
path = path.Replace(Rest.C_PLUS,Rest.C_SPACE);
|
||||
path = path.Replace(Rest.C_PLUS, Rest.C_SPACE);
|
||||
}
|
||||
pathNodes = path.Split(Rest.CA_PATHSEP);
|
||||
}
|
||||
|
@ -1167,12 +1126,10 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
hostname = uri.Host;
|
||||
port = uri.Port;
|
||||
|
||||
}
|
||||
|
||||
internal int initParameters(int prfxlen)
|
||||
{
|
||||
|
||||
if (prfxlen < path.Length-1)
|
||||
{
|
||||
parameters = path.Substring(prfxlen+1).Split(Rest.CA_PATHSEP);
|
||||
|
@ -1194,7 +1151,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
}
|
||||
|
||||
return parameters.Length;
|
||||
|
||||
}
|
||||
|
||||
internal string[] PathNodes
|
||||
|
@ -1211,7 +1167,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal string BuildUrl(int first, int last)
|
||||
{
|
||||
|
||||
if (pathNodes == null)
|
||||
{
|
||||
initUrl();
|
||||
|
@ -1252,7 +1207,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
}
|
||||
|
||||
return sbuilder.ToString();
|
||||
|
||||
}
|
||||
|
||||
// Setup the XML writer for output
|
||||
|
@ -1272,7 +1226,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal void initXmlReader()
|
||||
{
|
||||
|
||||
XmlReaderSettings settings = new XmlReaderSettings();
|
||||
|
||||
settings.ConformanceLevel = ConformanceLevel.Fragment;
|
||||
|
@ -1282,14 +1235,12 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
settings.ValidationType = ValidationType.None;
|
||||
|
||||
reader = XmlReader.Create(request.InputStream,settings);
|
||||
|
||||
}
|
||||
|
||||
private void Flush()
|
||||
{
|
||||
byte[] dbuffer = new byte[8192];
|
||||
while (request.InputStream.Read(dbuffer,0,dbuffer.Length) != 0);
|
||||
return;
|
||||
}
|
||||
|
||||
// This allows us to make errors a bit more apparent in REST
|
||||
|
@ -1301,7 +1252,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
internal void SendHtml(string title, string text)
|
||||
{
|
||||
|
||||
AddHeader(Rest.HttpHeaderContentType, "text/html");
|
||||
sbuilder.Length = 0;
|
||||
|
||||
|
@ -1321,7 +1271,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
sbuilder.Append("</html>");
|
||||
|
||||
html = sbuilder.ToString();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,10 +38,8 @@ using Nini.Config;
|
|||
|
||||
namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
{
|
||||
|
||||
public class Rest
|
||||
{
|
||||
|
||||
internal static readonly log4net.ILog Log =
|
||||
log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
|
@ -374,7 +372,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
}
|
||||
|
||||
return sum;
|
||||
|
||||
}
|
||||
|
||||
public static string Int2Hex8(int val)
|
||||
|
@ -409,7 +406,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
public static void Dump(byte[] data)
|
||||
{
|
||||
|
||||
char[] buffer = new char[Rest.DumpLineSize];
|
||||
int cc = 0;
|
||||
|
||||
|
@ -435,7 +431,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
Console.Write(" |"+(new String(buffer))+"|");
|
||||
cc = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Finish off any incomplete line
|
||||
|
@ -455,16 +450,13 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
{
|
||||
Console.Write("\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Local exception type
|
||||
|
||||
public class RestException : Exception
|
||||
{
|
||||
|
||||
internal int statusCode;
|
||||
internal string statusDesc;
|
||||
internal string httpmethod;
|
||||
|
@ -474,5 +466,4 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -182,7 +182,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
}
|
||||
|
||||
Rest.Log.DebugFormat("{0} REST Asset handler EXIT", MsgId);
|
||||
|
||||
}
|
||||
|
||||
#endregion Interface
|
||||
|
|
|
@ -358,8 +358,8 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
{
|
||||
if (path.StartsWith(key))
|
||||
{
|
||||
return ( path.Length == key.Length ||
|
||||
path.Substring(key.Length,1) == Rest.UrlPathSeparator);
|
||||
return (path.Length == key.Length ||
|
||||
path.Substring(key.Length, 1) == Rest.UrlPathSeparator);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -257,7 +257,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
if (Rest.InventoryServices.HasInventoryForUser(rdata.uuid))
|
||||
{
|
||||
|
||||
rdata.root = Rest.InventoryServices.RequestRootFolder(rdata.uuid);
|
||||
|
||||
Rest.Log.DebugFormat("{0} Inventory Root retrieved for {1} {2}",
|
||||
|
@ -646,7 +645,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
// Scan the set of folders in the entity collection for an
|
||||
// entry that matches the context folder. It is assumed that
|
||||
// the only reliable indicator of this is a zero UUID ( using
|
||||
// the only reliable indicator of this is a zero UUID (using
|
||||
// implicit context), or the parent's UUID matches that of the
|
||||
// URI designated node (explicit context). We don't allow
|
||||
// ambiguity in this case because this is POST and we are
|
||||
|
@ -1368,7 +1367,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
foreach (InventoryFolderBase parent in ic.rdata.folders)
|
||||
{
|
||||
if ( parent.ID == result.ParentID )
|
||||
if (parent.ID == result.ParentID)
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
|
@ -1382,7 +1381,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
ic.Fail(Rest.HttpStatusCodeBadRequest,
|
||||
Rest.HttpStatusDescBadRequest+": invalid parent");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// This is a new folder, so no existing UUID is available
|
||||
|
|
|
@ -40,10 +40,8 @@ using OpenSim.Framework.Communications.Cache;
|
|||
|
||||
namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||
{
|
||||
|
||||
public class RestTestServices : IRest
|
||||
{
|
||||
|
||||
private bool enabled = false;
|
||||
private string qPrefix = "test";
|
||||
|
||||
|
@ -52,7 +50,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
public RestTestServices()
|
||||
{
|
||||
|
||||
Rest.Log.InfoFormat("{0} Test services initializing", MsgId);
|
||||
Rest.Log.InfoFormat("{0} Using REST Implementation Version {1}", MsgId, Rest.Version);
|
||||
|
||||
|
@ -67,7 +64,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
// Load test cases
|
||||
|
||||
loadTests();
|
||||
foreach ( ITest test in tests )
|
||||
foreach (ITest test in tests)
|
||||
{
|
||||
test.Initialize();
|
||||
}
|
||||
|
@ -81,7 +78,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
enabled = true;
|
||||
|
||||
Rest.Log.InfoFormat("{0} Test services initialization complete", MsgId);
|
||||
|
||||
}
|
||||
|
||||
// Post-construction, pre-enabled initialization opportunity
|
||||
|
@ -98,7 +94,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
public void Close()
|
||||
{
|
||||
enabled = false;
|
||||
foreach ( ITest test in tests )
|
||||
foreach (ITest test in tests)
|
||||
{
|
||||
test.Close();
|
||||
}
|
||||
|
@ -123,8 +119,8 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
|
||||
private void DoTests(RequestData rdata)
|
||||
{
|
||||
|
||||
if (!enabled) return;
|
||||
if (!enabled)
|
||||
return;
|
||||
|
||||
// Now that we know this is a serious attempt to
|
||||
// access inventory data, we should find out who
|
||||
|
@ -177,7 +173,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
|||
if (!rdata.handled)
|
||||
test.Execute(rdata);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endregion Interface
|
||||
|
|
|
@ -668,7 +668,7 @@ namespace OpenSim.Data.MySQL
|
|||
while (r.Read())
|
||||
{
|
||||
int attachpoint = Convert.ToInt32(r["attachpoint"]);
|
||||
if(ret.ContainsKey(attachpoint))
|
||||
if (ret.ContainsKey(attachpoint))
|
||||
continue;
|
||||
Hashtable item = new Hashtable();
|
||||
item.Add("item", r["item"].ToString());
|
||||
|
@ -1216,7 +1216,7 @@ namespace OpenSim.Data.MySQL
|
|||
cmd = (MySqlCommand) dbcon.CreateCommand();
|
||||
cmd.CommandText = sql;
|
||||
|
||||
foreach(DictionaryEntry e in data)
|
||||
foreach (DictionaryEntry e in data)
|
||||
{
|
||||
int attachpoint = Convert.ToInt32(e.Key);
|
||||
|
||||
|
|
|
@ -363,7 +363,7 @@ namespace OpenSim.Framework
|
|||
h["skirt_asset"] = SkirtAsset.ToString();
|
||||
|
||||
string attachments = GetAttachmentsString();
|
||||
if(attachments != String.Empty)
|
||||
if (attachments != String.Empty)
|
||||
h["attachments"] = attachments;
|
||||
|
||||
return h;
|
||||
|
@ -411,7 +411,7 @@ namespace OpenSim.Framework
|
|||
SkirtItem = new LLUUID((string)h["skirt_item"]);
|
||||
SkirtAsset = new LLUUID((string)h["skirt_asset"]);
|
||||
|
||||
if(h.ContainsKey("attachments"))
|
||||
if (h.ContainsKey("attachments"))
|
||||
{
|
||||
SetAttachmentsString(h["attachments"].ToString());
|
||||
}
|
||||
|
@ -441,7 +441,7 @@ namespace OpenSim.Framework
|
|||
{
|
||||
m_attachments.Clear();
|
||||
|
||||
if(data == null)
|
||||
if (data == null)
|
||||
return;
|
||||
|
||||
foreach (DictionaryEntry e in data)
|
||||
|
@ -468,7 +468,7 @@ namespace OpenSim.Framework
|
|||
|
||||
public Hashtable GetAttachments()
|
||||
{
|
||||
if(m_attachments.Count == 0)
|
||||
if (m_attachments.Count == 0)
|
||||
return null;
|
||||
|
||||
Hashtable ret = new Hashtable();
|
||||
|
|
|
@ -168,7 +168,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
ThrottleCheck(ref TextureThrottle, ref TextureOutgoingPacketQueue, item);
|
||||
break;
|
||||
case ThrottleOutPacketType.Task:
|
||||
if((item.throttleType & ThrottleOutPacketType.LowPriority) != 0)
|
||||
if ((item.throttleType & ThrottleOutPacketType.LowPriority) != 0)
|
||||
ThrottleCheck(ref TaskThrottle, ref TaskLowpriorityPacketQueue, item);
|
||||
else
|
||||
ThrottleCheck(ref TaskThrottle, ref TaskOutgoingPacketQueue, item);
|
||||
|
|
|
@ -97,7 +97,6 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
DrawObjectVolume(m_scene, mapbmp);
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
imageData = OpenJPEG.EncodeFromImage(mapbmp, true);
|
||||
|
@ -220,13 +219,10 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
//int tc = System.Environment.TickCount;
|
||||
for (int y = 0; y < 256; y++)
|
||||
{
|
||||
|
||||
float heightvalue = (float)hm[x, y];
|
||||
|
||||
|
||||
if (heightvalue > (float)whichScene.RegionInfo.RegionSettings.WaterHeight)
|
||||
{
|
||||
|
||||
// scale height value
|
||||
heightvalue = low + mid * (heightvalue - low) / mid;
|
||||
|
||||
|
@ -238,6 +234,7 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
|
||||
if (Single.IsInfinity(heightvalue) || Single.IsNaN(heightvalue))
|
||||
heightvalue = 0;
|
||||
|
||||
try
|
||||
{
|
||||
Color green = Color.FromArgb((int)heightvalue, 100, (int)heightvalue);
|
||||
|
@ -264,7 +261,6 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
|
||||
if (hfdiff > 0.3f)
|
||||
{
|
||||
|
||||
}
|
||||
else if (hfdiff < -0.3f)
|
||||
{
|
||||
|
@ -301,15 +297,8 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
mapbmp.SetPixel(x - 1, (256 - y) - 1, Shade);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (System.ArgumentException)
|
||||
{
|
||||
|
@ -367,7 +356,6 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
return mapbmp;
|
||||
}
|
||||
|
||||
|
||||
private Bitmap DrawObjectVolume(Scene whichScene, Bitmap mapbmp)
|
||||
{
|
||||
int tc = 0;
|
||||
|
@ -395,7 +383,6 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
if (part == null)
|
||||
continue;
|
||||
|
||||
|
||||
// Draw if the object is at least 1 meter wide in any direction
|
||||
if (part.Scale.X > 1f || part.Scale.Y > 1f || part.Scale.Z > 1f)
|
||||
{
|
||||
|
@ -459,8 +446,8 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
continue;
|
||||
|
||||
// skip prim in non-finite position
|
||||
if (Single.IsNaN(pos.X) || Single.IsNaN(pos.Y) || Single.IsInfinity(pos.X)
|
||||
|| Single.IsInfinity(pos.Y))
|
||||
if (Single.IsNaN(pos.X) || Single.IsNaN(pos.Y) ||
|
||||
Single.IsInfinity(pos.X) || Single.IsInfinity(pos.Y))
|
||||
continue;
|
||||
|
||||
// Figure out if object is under 256m above the height of the terrain
|
||||
|
@ -482,7 +469,6 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
Vector3 tScale = new Vector3();
|
||||
Vector3 axPos = new Vector3(pos.X,pos.Y,pos.Z);
|
||||
|
||||
|
||||
LLQuaternion llrot = part.GetWorldRotation();
|
||||
Quaternion rot = new Quaternion(llrot.W, llrot.X, llrot.Y, llrot.Z);
|
||||
scale = rot * lscale;
|
||||
|
@ -618,14 +604,10 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
ds.brush = new SolidBrush(mapdotspot);
|
||||
//ds.rect = new Rectangle(mapdrawstartX, (255 - mapdrawstartY), mapdrawendX - mapdrawstartX, mapdrawendY - mapdrawstartY);
|
||||
|
||||
|
||||
ds.trns = new face[FaceA.Length];
|
||||
|
||||
|
||||
|
||||
for (int i = 0; i < FaceA.Length; i++)
|
||||
{
|
||||
|
||||
Point[] working = new Point[5];
|
||||
working[0] = project(FaceA[i], axPos);
|
||||
working[1] = project(FaceB[i], axPos);
|
||||
|
@ -637,18 +619,12 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
workingface.pts = working;
|
||||
|
||||
ds.trns[i] = workingface;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
z_sort.Add(part.LocalId, ds);
|
||||
z_localIDs.Add(part.LocalId);
|
||||
z_sortheights.Add(pos.Z);
|
||||
|
||||
|
||||
|
||||
//for (int wx = mapdrawstartX; wx < mapdrawendX; wx++)
|
||||
//{
|
||||
//for (wy = mapdrawstartY; wy < mapdrawendY; wy++)
|
||||
|
@ -683,13 +659,10 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
// Sort prim by Z position
|
||||
Array.Sort(sortedZHeights, sortedlocalIds);
|
||||
|
||||
|
||||
|
||||
Graphics g = Graphics.FromImage(mapbmp);
|
||||
|
||||
for (int s = 0; s < sortedZHeights.Length; s++)
|
||||
{
|
||||
|
||||
if (z_sort.ContainsKey(sortedlocalIds[s]))
|
||||
{
|
||||
DrawStruct rectDrawStruct = z_sort[sortedlocalIds[s]];
|
||||
|
@ -701,13 +674,13 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
g.Dispose();
|
||||
} // lock entities objs
|
||||
|
||||
m_log.Info("[MAPTILE]: Generating Maptile Step 2: Done in " + (System.Environment.TickCount - tc) + " ms");
|
||||
return mapbmp;
|
||||
}
|
||||
|
||||
private Point project(Vector3 point3d, Vector3 originpos)
|
||||
{
|
||||
Point returnpt = new Point();
|
||||
|
@ -721,7 +694,6 @@ namespace OpenSim.Region.Environment.Modules.World.WorldMap
|
|||
returnpt.Y = (int)(255 - point3d.y);//(int)(255 - (((topos.y - point3d.y) / z * d)));
|
||||
|
||||
return returnpt;
|
||||
|
||||
}
|
||||
|
||||
// TODO: unused:
|
||||
|
|
Loading…
Reference in New Issue