diff options
Diffstat (limited to 'OpenSim/Region')
3 files changed, 22 insertions, 7 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 47a239a..94d888c 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -270,7 +270,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
270 | 270 | ||
271 | public string Text | 271 | public string Text |
272 | { | 272 | { |
273 | get { return m_rootPart.Text; } | 273 | get { |
274 | string returnstr = m_rootPart.Text; | ||
275 | if (returnstr.Length > 255) | ||
276 | { | ||
277 | returnstr = returnstr.Substring(0, 255); | ||
278 | } | ||
279 | return returnstr; | ||
280 | } | ||
274 | set { m_rootPart.Text = value; } | 281 | set { m_rootPart.Text = value; } |
275 | } | 282 | } |
276 | 283 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 9afffbe..de5da40 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -585,7 +585,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
585 | 585 | ||
586 | public string Text | 586 | public string Text |
587 | { | 587 | { |
588 | get { return m_text; } | 588 | get |
589 | { | ||
590 | string returnstr = m_text; | ||
591 | if (returnstr.Length > 255) | ||
592 | { | ||
593 | returnstr = returnstr.Substring(0, 254); | ||
594 | } | ||
595 | return returnstr; | ||
596 | } | ||
589 | set | 597 | set |
590 | { | 598 | { |
591 | m_text = value; | 599 | m_text = value; |
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs index a40b95b..10380f2 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs | |||
@@ -42,7 +42,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL | |||
42 | // c Style | 42 | // c Style |
43 | private Regex cstylecomments = new Regex(@"/\*(.|[\r\n])*?\*/", RegexOptions.Compiled | RegexOptions.Multiline); | 43 | private Regex cstylecomments = new Regex(@"/\*(.|[\r\n])*?\*/", RegexOptions.Compiled | RegexOptions.Multiline); |
44 | // c# one liners | 44 | // c# one liners |
45 | private Regex nonCommentFwsl = new Regex("\"[a-zA-Z0-9.,:/ ]+//[^\"]+(" + @"[\\" + "\"]+)?[\"](\\s+)?;", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); | 45 | private Regex nonCommentFwsl = new Regex("\"[a-zA-Z0-9.,:/\\n ]+//[^\"+]+([\\\\\\\"+]+)?(\\s+)?[\"+](\\s+)?(;)?", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); |
46 | private Regex conelinecomments = new Regex(@"[^:].?([\/]{2}[^\n]*)|([\n]{1,}[\/]{2}[^\n]*)", RegexOptions.Compiled | RegexOptions.Multiline); | 46 | private Regex conelinecomments = new Regex(@"[^:].?([\/]{2}[^\n]*)|([\n]{1,}[\/]{2}[^\n]*)", RegexOptions.Compiled | RegexOptions.Multiline); |
47 | // ([^\"])((?:[a-zA-Z])\.[a-zA-Z].?)([^\"]) | 47 | // ([^\"])((?:[a-zA-Z])\.[a-zA-Z].?)([^\"]) |
48 | 48 | ||
@@ -121,10 +121,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL | |||
121 | // ignores alpha.x alpha.y, alpha.z for refering to vector components | 121 | // ignores alpha.x alpha.y, alpha.z for refering to vector components |
122 | Match SecurityM; | 122 | Match SecurityM; |
123 | 123 | ||
124 | // BROKEN: this check is very wrong. It block's any url in strings. | 124 | |
125 | SecurityM = Regex.Match(checkscript, @"(?:[a-zA-Z])\.(?:[a-wA-Z]|[a-zA-Z][a-zA-Z])", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); | 125 | SecurityM = Regex.Match(checkscript, @"([a-zA-Z])\.(?:[a-wA-Z]|[a-zA-Z][a-zA-Z])", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); |
126 | if (SecurityM.Success) | 126 | if (SecurityM.Success) |
127 | throw new Exception("CS0103: 'The . symbol cannot be used in LSL except in float values or vector components'"); | 127 | throw new Exception("CS0103: 'The . symbol cannot be used in LSL except in float values or vector components'. Detected around: " + SecurityM.Captures[0].Value); |
128 | 128 | ||
129 | SecurityM = Regex.Match(checkscript, @"typeof\s", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); | 129 | SecurityM = Regex.Match(checkscript, @"typeof\s", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); |
130 | if (SecurityM.Success) | 130 | if (SecurityM.Success) |