aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
diff options
context:
space:
mode:
authorChris Koeritz2012-05-13 16:58:47 -0400
committerBlueWall2012-05-13 17:34:20 -0400
commit30a272ba318c2cacc27f6244dcf829c37a789a7c (patch)
tree976beda77221f1d826a4b9c04b59fad0409f8930 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
parentAdd configurable SpawnPointRouting (diff)
downloadopensim-SC_OLD-30a272ba318c2cacc27f6244dcf829c37a789a7c.zip
opensim-SC_OLD-30a272ba318c2cacc27f6244dcf829c37a789a7c.tar.gz
opensim-SC_OLD-30a272ba318c2cacc27f6244dcf829c37a789a7c.tar.bz2
opensim-SC_OLD-30a272ba318c2cacc27f6244dcf829c37a789a7c.tar.xz
Modifications for SMTP in OpenSimulator. Email size limit was fixed (was out of step with documentation at 1024, so boosted to 4096). Added configuration item for maximum email size. Redundant sleep inside email module was fixed (LSL Api was already sleeping). Added sleep time configuration item for snooze between email sending for LSL Api. Added two new configuration items (email_max_size and email_pause_time) into the example OpenSim.ini, plus fixed a spelling error (llimits) and odd tabbing.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs28
1 files changed, 21 insertions, 7 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 5b5cab8..5bff2e9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -106,6 +106,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
106 protected IUrlModule m_UrlModule = null; 106 protected IUrlModule m_UrlModule = null;
107 protected Dictionary<UUID, UserInfoCacheEntry> m_userInfoCache = 107 protected Dictionary<UUID, UserInfoCacheEntry> m_userInfoCache =
108 new Dictionary<UUID, UserInfoCacheEntry>(); 108 new Dictionary<UUID, UserInfoCacheEntry>();
109 protected int EMAIL_PAUSE_TIME = 20; // documented delay value for smtp.
109 110
110 public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, TaskInventoryItem item) 111 public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, TaskInventoryItem item)
111 { 112 {
@@ -113,6 +114,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
113 m_host = host; 114 m_host = host;
114 m_item = item; 115 m_item = item;
115 116
117 LoadLimits(); // read script limits from config.
118
119 m_TransferModule =
120 m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>();
121 m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>();
122
123 AsyncCommands = new AsyncCommandManager(ScriptEngine);
124 }
125
126 /* load configuration items that affect script, object and run-time behavior. */
127 private void LoadLimits()
128 {
116 m_ScriptDelayFactor = 129 m_ScriptDelayFactor =
117 m_ScriptEngine.Config.GetFloat("ScriptDelayFactor", 1.0f); 130 m_ScriptEngine.Config.GetFloat("ScriptDelayFactor", 1.0f);
118 m_ScriptDistanceFactor = 131 m_ScriptDistanceFactor =
@@ -125,12 +138,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
125 m_ScriptEngine.Config.GetInt("NotecardLineReadCharsMax", 255); 138 m_ScriptEngine.Config.GetInt("NotecardLineReadCharsMax", 255);
126 if (m_notecardLineReadCharsMax > 65535) 139 if (m_notecardLineReadCharsMax > 65535)
127 m_notecardLineReadCharsMax = 65535; 140 m_notecardLineReadCharsMax = 65535;
128 141 // load limits for particular subsystems.
129 m_TransferModule = 142 IConfig SMTPConfig;
130 m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>(); 143 if ((SMTPConfig = m_ScriptEngine.ConfigSource.Configs["SMTP"]) != null) {
131 m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>(); 144 // there's an smtp config, so load in the snooze time.
132 145 EMAIL_PAUSE_TIME = SMTPConfig.GetInt("email_pause_time", EMAIL_PAUSE_TIME);
133 AsyncCommands = new AsyncCommandManager(ScriptEngine); 146 }
134 } 147 }
135 148
136 public override Object InitializeLifetimeService() 149 public override Object InitializeLifetimeService()
@@ -2877,6 +2890,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2877 2890
2878 public virtual void llSleep(double sec) 2891 public virtual void llSleep(double sec)
2879 { 2892 {
2893// m_log.Info("llSleep snoozing " + sec + "s.");
2880 m_host.AddScriptLPS(1); 2894 m_host.AddScriptLPS(1);
2881 Thread.Sleep((int)(sec * 1000)); 2895 Thread.Sleep((int)(sec * 1000));
2882 } 2896 }
@@ -3130,7 +3144,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3130 } 3144 }
3131 3145
3132 emailModule.SendEmail(m_host.UUID, address, subject, message); 3146 emailModule.SendEmail(m_host.UUID, address, subject, message);
3133 ScriptSleep(20000); 3147 llSleep(EMAIL_PAUSE_TIME);
3134 } 3148 }
3135 3149
3136 public void llGetNextEmail(string address, string subject) 3150 public void llGetNextEmail(string address, string subject)