public string SendUserReport(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse, Caps caps) { httpResponse.StatusCode = (int)System.Net.HttpStatusCode.OK; httpResponse.ContentType = "text/html"; OSDMap response = new OSDMap(); OSDMap map = (OSDMap)OSDParser.DeserializeLLSDXml(request); AbuseReportData abuse_report = AbuseReportDataFromOSD(map); abuse_report.SenderID = caps.AgentID; abuse_report.SenderName = m_UserManager.GetUserName(caps.AgentID); abuse_report.AbuseRegionID = m_Scene.RegionInfo.RegionID; abuse_report.AbuseRegionName = m_Scene.RegionInfo.RegionName; abuse_report.AbuserName = m_UserManager.GetUserName(abuse_report.AbuserID); if (m_Connector.ReportAbuse(abuse_report)) { m_log.InfoFormat("[AbuseReports] {0} has reported {1}", abuse_report.SenderName, abuse_report.AbuserName); response.Add("state", "complete"); } else { response.Add("state", "failed"); } return(OSDParser.SerializeLLSDXmlString(response));; }
public bool ReportAbuse(AbuseReportData report) { if (!m_Enabled) { return(false); } return(m_service.ReportAbuse(report)); }
public bool ReportAbuse(AbuseReportData report) { if (!m_Enabled) { return(false); } return(m_remoteConnector.ReportAbuse(report)); }
public bool ReportAbuse(AbuseReportData report) { if (!m_Database.Store(report)) { return(false); } return(true); }
public string SendUserReportWithScreenshot(string request, string path, string param, IOSHttpRequest httpRequest, IOSHttpResponse httpResponse, Caps caps) { httpResponse.StatusCode = (int)System.Net.HttpStatusCode.OK; httpResponse.ContentType = "text/html"; OSDMap map = (OSDMap)OSDParser.DeserializeLLSDXml(request); AbuseReportData abuse_report = AbuseReportDataFromOSD(map); abuse_report.SenderID = caps.AgentID; abuse_report.SenderName = m_UserManager.GetUserName(caps.AgentID); abuse_report.AbuseRegionID = m_Scene.RegionInfo.RegionID; abuse_report.AbuseRegionName = m_Scene.RegionInfo.RegionName; abuse_report.AbuserName = m_UserManager.GetUserName(abuse_report.AbuserID); UUID screenshot_id = map["screenshot-id"].AsUUID(); BinaryStreamHandler uploader = new BinaryStreamHandler( "POST", "/CAPS/" + UUID.Random(), (byte[] data, string p, string pa) => { caps.HttpListener.RemoveStreamHandler("POST", p); OSDMap upload_response = new OSDMap(); abuse_report.ImageData = data; if (m_Connector.ReportAbuse(abuse_report)) { m_log.InfoFormat("[AbuseReports] {0} has reported {1}", abuse_report.SenderName, abuse_report.AbuserName); upload_response.Add("state", "complete"); upload_response.Add("new_asset", screenshot_id); } else { upload_response.Add("state", "failed"); } return(OSDParser.SerializeLLSDXmlString(upload_response)); }, "", null); caps.HttpListener.AddStreamHandler(uploader); OSDMap response = new OSDMap(); response.Add("state", "upload"); response.Add("uploader", "http://" + caps.HostName + ":" + caps.Port + uploader.Path); return(OSDParser.SerializeLLSDXmlString(response));; }
private AbuseReportData AbuseReportDataFromOSD(OSDMap map) { AbuseReportData abuse_report = new AbuseReportData(); if (map.ContainsKey("abuser-id")) { abuse_report.AbuserID = map["abuser-id"].AsUUID(); } if (map.ContainsKey("category")) { abuse_report.Category = map["category"].ToString(); } if (map.ContainsKey("check-flags")) { abuse_report.CheckFlags = map["check-flags"].AsInteger(); } if (map.ContainsKey("details")) { abuse_report.Details = map["details"].ToString(); } if (map.ContainsKey("object-id")) { abuse_report.ObjectID = map["object-id"].AsUUID(); } if (map.ContainsKey("position")) { abuse_report.Position = map["position"].AsVector3().ToString(); } if (map.ContainsKey("report-type")) { abuse_report.ReportType = map["report-type"].AsInteger(); } if (map.ContainsKey("summary")) { abuse_report.Summary = map["summary"].ToString(); } if (map.ContainsKey("version-string")) { abuse_report.Version = map["version-string"].ToString(); } return(abuse_report); }
public bool ReportAbuse(AbuseReportData report) { Dictionary <string, object> sendData = new Dictionary <string, object>(); sendData["METHOD"] = "report"; sendData["reporter"] = report.SenderID.ToString(); sendData["reporter-name"] = report.SenderName; sendData["abuser"] = report.AbuserID.ToString(); sendData["abuser-name"] = report.AbuserName; sendData["summary"] = report.Summary; sendData["check-flags"] = report.CheckFlags.ToString(); sendData["region-id"] = report.AbuseRegionID.ToString(); sendData["region-name"] = report.AbuseRegionName; sendData["category"] = report.Category; sendData["version"] = report.Version; sendData["details"] = report.Details; sendData["object-id"] = report.ObjectID.ToString(); sendData["position"] = report.Position.ToString(); sendData["report-type"] = report.ReportType.ToString(); sendData["image-data"] = Convert.ToBase64String(report.ImageData); return(doSimplePost(ServerUtils.BuildQueryString(sendData), "report")); }
byte[] report(Dictionary <string, object> request) { if (!request.ContainsKey("reporter") || !request.ContainsKey("abuser")) { return(FailureResult()); } AbuseReportData report = new AbuseReportData(); if (!UUID.TryParse(request["reporter"].ToString(), out report.SenderID)) { return(FailureResult()); } if (request.ContainsKey("reporter-name")) { report.SenderName = request["reporter-name"].ToString(); } if (!UUID.TryParse(request["abuser"].ToString(), out report.AbuserID)) { return(FailureResult()); } if (request.ContainsKey("abuser-name")) { report.AbuserName = request["abuser-name"].ToString(); } if (!UUID.TryParse(request["region-id"].ToString(), out report.AbuseRegionID)) { return(FailureResult()); } if (request.ContainsKey("region-name")) { report.AbuseRegionName = request["region-name"].ToString(); } report.Time = Util.UnixTimeSinceEpoch(); if (request.ContainsKey("summary")) { report.Summary = request["summary"].ToString(); } if (request.ContainsKey("details")) { report.Details = request["details"].ToString(); } if (request.ContainsKey("version")) { report.Version = request["version"].ToString(); } if (request.ContainsKey("object-id")) { if (!UUID.TryParse(request["object-id"].ToString(), out report.ObjectID)) { return(FailureResult()); } } else { report.ObjectID = UUID.Zero; } if (request.ContainsKey("position")) { report.Position = request["position"].ToString(); } if (request.ContainsKey("category")) { report.Category = request["category"].ToString(); } if (request.ContainsKey("check-flags")) { if (!Int32.TryParse(request["check-flags"].ToString(), out report.CheckFlags)) { return(FailureResult()); } } else { report.CheckFlags = 0; } if (request.ContainsKey("image-data")) { report.ImageData = Convert.FromBase64String(request["image-data"].ToString()); } else { report.ImageData = new byte[0]; } m_log.InfoFormat("[ABUSE REPORTS] {0} has reported {1}", report.SenderName, report.AbuserName); return(m_service.ReportAbuse(report) ? SuccessResult() : FailureResult()); }