LOGC#45667 consistente rng met oCrypto.hex_random()
svn path=/Website/trunk/; revision=37822
This commit is contained in:
@@ -38,6 +38,7 @@ function sendMail( p_mailfrom
|
||||
var objFso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
var objStrm = new ActiveXObject("ADODB.Stream");
|
||||
var objMail = new ActiveXObject("CDO.Message");
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
|
||||
// De onderstaande configuratie is ook handig voor het testen op een lokale pc.
|
||||
// Dan heb je geen lokale SMTP service nodig
|
||||
@@ -127,10 +128,10 @@ function sendMail( p_mailfrom
|
||||
// src="cid:qrc.png"
|
||||
// Ondertussen is het al HTML dus we kunnen geen XML-query doen
|
||||
// Daarom gewoon textueel opzoeken
|
||||
var rnd_cid;
|
||||
var rnd_cid, cidname;
|
||||
var startPos = p_bodyhtml.indexOf("qrc=") + 4;
|
||||
var quote = p_bodyhtml.substr(startPos, 1); // enkele of dubbele quote
|
||||
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
var quote = p_bodyhtml.substr(startPos, 1); // enkele of dubbele quote
|
||||
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
if (startPos > 3 && eindPos > startPos)
|
||||
{
|
||||
var qrc = p_bodyhtml.substring(startPos + 1, eindPos);
|
||||
@@ -142,23 +143,21 @@ function sendMail( p_mailfrom
|
||||
oStream.Open;
|
||||
oStream.Type = 1; // binary
|
||||
oStream.Write(xc.GetAsPNG());
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto"); // Maak random naam
|
||||
var sha1 = oCrypto.hex_sha1(qrc);
|
||||
var tempfile = custabspath + "/../../temp/puo_qr_" + sha1 + ".png";
|
||||
oStream.SaveToFile(tempfile, 2); // overwrite
|
||||
rnd_cid = (Math.random().toString(36)+'00000000000000000').slice(2, 12);
|
||||
var cidname = "qrc" + rnd_cid + ".png";
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"cid:" + cidname + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
rnd_cid = oCrypto.hex_random(10);
|
||||
cidname = "qrc" + rnd_cid + ".png";
|
||||
p_bodyhtml = p_bodyhtml.substr(0, startPos - 4) + "src=\"cid:" + cidname + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
objMail.addRelatedBodyPart(tempfile, cidname, 0);
|
||||
if (S("puo_loglevel") < 4)
|
||||
objFso.DeleteFile(tempfile);
|
||||
}
|
||||
|
||||
// Nu frc-codering opzoeken <img frc="M=SML:K=34417"/>
|
||||
var startPos = p_bodyhtml.indexOf("frc=") + 4;
|
||||
var quote = p_bodyhtml.substr(startPos, 1); // enkele of dubbele quote
|
||||
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
startPos = p_bodyhtml.indexOf("frc=") + 4;
|
||||
quote = p_bodyhtml.substr(startPos, 1); // enkele of dubbele quote
|
||||
eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
while (startPos > 4 && eindPos > startPos)
|
||||
{
|
||||
var flexcode = p_bodyhtml.substring(startPos + 1, eindPos);
|
||||
@@ -203,9 +202,8 @@ function sendMail( p_mailfrom
|
||||
Log2File(1, props.flexlog);
|
||||
if (!props.files || !props.files.length)
|
||||
{ // Geen bestanden gevonden? Dan hele img-tag gewoon er uit halen
|
||||
var eindPos = p_bodyhtml.indexOf(">", startPos + 2);
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 9) + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
eindPos = p_bodyhtml.indexOf(">", startPos + 2);
|
||||
p_bodyhtml = p_bodyhtml.substr(0, startPos - 9) + p_bodyhtml.substr(eindPos + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -214,10 +212,9 @@ function sendMail( p_mailfrom
|
||||
var file = filedata.resized;
|
||||
else
|
||||
var file = props.AttachPath + props.files[0].name;
|
||||
rnd_cid = (Math.random().toString(36)+'00000000000000000').slice(2, 12);
|
||||
var cidname = "flex" + rnd_cid + ".png";
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"cid:" + cidname + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
rnd_cid = oCrypto.hex_random(10);
|
||||
cidname = "flex" + rnd_cid + ".png";
|
||||
p_bodyhtml = p_bodyhtml.substr(0, startPos - 4) + "src=\"cid:" + cidname + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
try {
|
||||
objMail.addRelatedBodyPart(file, cidname, 0);
|
||||
}
|
||||
@@ -229,9 +226,9 @@ function sendMail( p_mailfrom
|
||||
objFso.DeleteFile(filedata.tempdelete);
|
||||
}
|
||||
// Volgende zoeken
|
||||
var startPos = p_bodyhtml.indexOf("frc=", eindPos) + 4;
|
||||
var quote = p_bodyhtml.substr(startPos, 1);
|
||||
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
startPos = p_bodyhtml.indexOf("frc=", eindPos) + 4;
|
||||
quote = p_bodyhtml.substr(startPos, 1);
|
||||
eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
}
|
||||
|
||||
// Eventueel een ics er aan toevoegen
|
||||
@@ -243,7 +240,6 @@ function sendMail( p_mailfrom
|
||||
oStream.Type = 2; // tekst
|
||||
oStream.Charset = 'Windows-1252'; // Anders is de ics 'not supported'
|
||||
oStream.WriteText(params.attachics);
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto"); // Maak random naam
|
||||
// var sha1 = oCrypto.hex_sha1(params.attachics); werkt niet goed als RESMAI twee keer wordt gestuurd, dan heb je overlap
|
||||
var sha1 = oCrypto.hex_random(16);
|
||||
var tempfile = custabspath + "/../../temp/puo_ics_" + sha1 + ".ics";
|
||||
@@ -263,8 +259,8 @@ function sendMail( p_mailfrom
|
||||
|
||||
Log2File(2, "Before bodyHTML");
|
||||
|
||||
var startPos = p_bodyhtml.indexOf("cid:") + 4;
|
||||
var eindPos = p_bodyhtml.indexOf(".gif", startPos) + 4;
|
||||
startPos = p_bodyhtml.indexOf("cid:") + 4;
|
||||
eindPos = p_bodyhtml.indexOf(".gif", startPos) + 4;
|
||||
if (startPos >= 4 && eindPos > startPos && eindPos - startPos < 20)
|
||||
{
|
||||
var logoFileName = p_bodyhtml.substring(startPos, eindPos);
|
||||
@@ -273,10 +269,9 @@ function sendMail( p_mailfrom
|
||||
if (objFso.FileExists(logoPathName))
|
||||
{
|
||||
Log2File(2, logoFileName);
|
||||
rnd_cid = (Math.random().toString(36)+'00000000000000000').slice(2, 12);
|
||||
var cidname = "logo" + rnd_cid + ".gif";
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "cid:" + cidname + p_bodyhtml.substr(eindPos);
|
||||
p_bodyhtml = newbody;
|
||||
rnd_cid = oCrypto.hex_random(10);
|
||||
cidname = "logo" + rnd_cid + ".gif";
|
||||
p_bodyhtml = p_bodyhtml.substr(0, startPos - 4) + "cid:" + cidname + p_bodyhtml.substr(eindPos);
|
||||
|
||||
try {
|
||||
objMail.addRelatedBodyPart(logoPathName, cidname, 0);
|
||||
|
||||
Reference in New Issue
Block a user