Merge branch 'master' of /home/opensim/src/OpenSim
commit
171480f235
|
@ -64,6 +64,8 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
private TimeSpan m_QueueTimeout = new TimeSpan(2, 0, 0); // 2 hours without llGetNextEmail drops the queue
|
private TimeSpan m_QueueTimeout = new TimeSpan(2, 0, 0); // 2 hours without llGetNextEmail drops the queue
|
||||||
private string m_InterObjectHostname = "lsl.opensim.local";
|
private string m_InterObjectHostname = "lsl.opensim.local";
|
||||||
|
|
||||||
|
private int m_MaxEmailSize = 4096; // largest email allowed by default, as per lsl docs.
|
||||||
|
|
||||||
// Scenes by Region Handle
|
// Scenes by Region Handle
|
||||||
private Dictionary<ulong, Scene> m_Scenes =
|
private Dictionary<ulong, Scene> m_Scenes =
|
||||||
new Dictionary<ulong, Scene>();
|
new Dictionary<ulong, Scene>();
|
||||||
|
@ -127,6 +129,7 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
SMTP_SERVER_PORT = SMTPConfig.GetInt("SMTP_SERVER_PORT", SMTP_SERVER_PORT);
|
SMTP_SERVER_PORT = SMTPConfig.GetInt("SMTP_SERVER_PORT", SMTP_SERVER_PORT);
|
||||||
SMTP_SERVER_LOGIN = SMTPConfig.GetString("SMTP_SERVER_LOGIN", SMTP_SERVER_LOGIN);
|
SMTP_SERVER_LOGIN = SMTPConfig.GetString("SMTP_SERVER_LOGIN", SMTP_SERVER_LOGIN);
|
||||||
SMTP_SERVER_PASSWORD = SMTPConfig.GetString("SMTP_SERVER_PASSWORD", SMTP_SERVER_PASSWORD);
|
SMTP_SERVER_PASSWORD = SMTPConfig.GetString("SMTP_SERVER_PASSWORD", SMTP_SERVER_PASSWORD);
|
||||||
|
m_MaxEmailSize = SMTPConfig.GetInt("email_max_size", m_MaxEmailSize);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -176,18 +179,6 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
get { return true; }
|
get { return true; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Delay function using thread in seconds
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="seconds"></param>
|
|
||||||
private void DelayInSeconds(int delay)
|
|
||||||
{
|
|
||||||
delay = (int)((float)delay * 1000);
|
|
||||||
if (delay == 0)
|
|
||||||
return;
|
|
||||||
System.Threading.Thread.Sleep(delay);
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool IsLocal(UUID objectID)
|
private bool IsLocal(UUID objectID)
|
||||||
{
|
{
|
||||||
string unused;
|
string unused;
|
||||||
|
@ -267,10 +258,9 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
m_log.Error("[EMAIL] REGEX Problem in EMail Address: "+address);
|
m_log.Error("[EMAIL] REGEX Problem in EMail Address: "+address);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//FIXME:Check if subject + body = 4096 Byte
|
if ((subject.Length + body.Length) > m_MaxEmailSize)
|
||||||
if ((subject.Length + body.Length) > 1024)
|
|
||||||
{
|
{
|
||||||
m_log.Error("[EMAIL] subject + body > 1024 Byte");
|
m_log.Error("[EMAIL] subject + body larger than limit of " + m_MaxEmailSize + " bytes");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,10 +335,6 @@ namespace OpenSim.Region.CoreModules.Scripting.EmailModules
|
||||||
// TODO FIX
|
// TODO FIX
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//DONE: Message as Second Life style
|
|
||||||
//20 second delay - AntiSpam System - for now only 10 seconds
|
|
||||||
DelayInSeconds(10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -106,6 +106,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
protected IUrlModule m_UrlModule = null;
|
protected IUrlModule m_UrlModule = null;
|
||||||
protected Dictionary<UUID, UserInfoCacheEntry> m_userInfoCache =
|
protected Dictionary<UUID, UserInfoCacheEntry> m_userInfoCache =
|
||||||
new Dictionary<UUID, UserInfoCacheEntry>();
|
new Dictionary<UUID, UserInfoCacheEntry>();
|
||||||
|
protected int EMAIL_PAUSE_TIME = 20; // documented delay value for smtp.
|
||||||
|
|
||||||
public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, TaskInventoryItem item)
|
public void Initialize(IScriptEngine ScriptEngine, SceneObjectPart host, TaskInventoryItem item)
|
||||||
{
|
{
|
||||||
|
@ -113,6 +114,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
m_host = host;
|
m_host = host;
|
||||||
m_item = item;
|
m_item = item;
|
||||||
|
|
||||||
|
LoadLimits(); // read script limits from config.
|
||||||
|
|
||||||
|
m_TransferModule =
|
||||||
|
m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>();
|
||||||
|
m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>();
|
||||||
|
|
||||||
|
AsyncCommands = new AsyncCommandManager(ScriptEngine);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* load configuration items that affect script, object and run-time behavior. */
|
||||||
|
private void LoadLimits()
|
||||||
|
{
|
||||||
m_ScriptDelayFactor =
|
m_ScriptDelayFactor =
|
||||||
m_ScriptEngine.Config.GetFloat("ScriptDelayFactor", 1.0f);
|
m_ScriptEngine.Config.GetFloat("ScriptDelayFactor", 1.0f);
|
||||||
m_ScriptDistanceFactor =
|
m_ScriptDistanceFactor =
|
||||||
|
@ -125,12 +138,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
m_ScriptEngine.Config.GetInt("NotecardLineReadCharsMax", 255);
|
m_ScriptEngine.Config.GetInt("NotecardLineReadCharsMax", 255);
|
||||||
if (m_notecardLineReadCharsMax > 65535)
|
if (m_notecardLineReadCharsMax > 65535)
|
||||||
m_notecardLineReadCharsMax = 65535;
|
m_notecardLineReadCharsMax = 65535;
|
||||||
|
// load limits for particular subsystems.
|
||||||
m_TransferModule =
|
IConfig SMTPConfig;
|
||||||
m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>();
|
if ((SMTPConfig = m_ScriptEngine.ConfigSource.Configs["SMTP"]) != null) {
|
||||||
m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>();
|
// there's an smtp config, so load in the snooze time.
|
||||||
|
EMAIL_PAUSE_TIME = SMTPConfig.GetInt("email_pause_time", EMAIL_PAUSE_TIME);
|
||||||
AsyncCommands = new AsyncCommandManager(ScriptEngine);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Object InitializeLifetimeService()
|
public override Object InitializeLifetimeService()
|
||||||
|
@ -2877,6 +2890,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
public virtual void llSleep(double sec)
|
public virtual void llSleep(double sec)
|
||||||
{
|
{
|
||||||
|
// m_log.Info("llSleep snoozing " + sec + "s.");
|
||||||
m_host.AddScriptLPS(1);
|
m_host.AddScriptLPS(1);
|
||||||
Thread.Sleep((int)(sec * 1000));
|
Thread.Sleep((int)(sec * 1000));
|
||||||
}
|
}
|
||||||
|
@ -3130,7 +3144,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
|
|
||||||
emailModule.SendEmail(m_host.UUID, address, subject, message);
|
emailModule.SendEmail(m_host.UUID, address, subject, message);
|
||||||
ScriptSleep(20000);
|
llSleep(EMAIL_PAUSE_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void llGetNextEmail(string address, string subject)
|
public void llGetNextEmail(string address, string subject)
|
||||||
|
|
|
@ -273,6 +273,12 @@
|
||||||
;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1
|
;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1
|
||||||
; host_domain_header_from = "127.0.0.1"
|
; host_domain_header_from = "127.0.0.1"
|
||||||
|
|
||||||
|
;# {email_pause_time} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Period in seconds to delay after an email is sent.} {} 20
|
||||||
|
; email_pause_time = 20
|
||||||
|
|
||||||
|
;# {email_max_size} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Maximum total size of email in bytes.} {} 4096
|
||||||
|
; email_max_size = 4096
|
||||||
|
|
||||||
;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1
|
;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1
|
||||||
; SMTP_SERVER_HOSTNAME = "127.0.0.1"
|
; SMTP_SERVER_HOSTNAME = "127.0.0.1"
|
||||||
|
|
||||||
|
@ -285,7 +291,6 @@
|
||||||
;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {}
|
;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {}
|
||||||
; SMTP_SERVER_PASSWORD = ""
|
; SMTP_SERVER_PASSWORD = ""
|
||||||
|
|
||||||
|
|
||||||
[Network]
|
[Network]
|
||||||
;; Configure the remote console user here. This will not actually be used
|
;; Configure the remote console user here. This will not actually be used
|
||||||
;; unless you use -console=rest at startup.
|
;; unless you use -console=rest at startup.
|
||||||
|
@ -677,7 +682,7 @@
|
||||||
;; Sets the multiplier for the scripting delays
|
;; Sets the multiplier for the scripting delays
|
||||||
; ScriptDelayFactor = 1.0
|
; ScriptDelayFactor = 1.0
|
||||||
|
|
||||||
;; The factor the 10 m distances llimits are multiplied by
|
;; The factor the 10 m distances limits are multiplied by
|
||||||
; ScriptDistanceLimitFactor = 1.0
|
; ScriptDistanceLimitFactor = 1.0
|
||||||
|
|
||||||
;; Maximum length of notecard line read
|
;; Maximum length of notecard line read
|
||||||
|
@ -780,7 +785,7 @@
|
||||||
;; groups service if the service is using these keys
|
;; groups service if the service is using these keys
|
||||||
; XmlRpcServiceReadKey = 1234
|
; XmlRpcServiceReadKey = 1234
|
||||||
; XmlRpcServiceWriteKey = 1234
|
; XmlRpcServiceWriteKey = 1234
|
||||||
|
|
||||||
[InterestManagement]
|
[InterestManagement]
|
||||||
;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness
|
;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness
|
||||||
;; This section controls how state updates are prioritized for each client
|
;; This section controls how state updates are prioritized for each client
|
||||||
|
|
Loading…
Reference in New Issue