From 2dc6436f9282183ebf1be0066ddf0895f42dc809 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Sun, 8 Mar 2009 15:32:02 -0500 Subject: bump imspector package due to package file updates --- pkg_config.7.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg_config.7.xml b/pkg_config.7.xml index ee8ec4e0..ee963dbc 100755 --- a/pkg_config.7.xml +++ b/pkg_config.7.xml @@ -332,7 +332,7 @@ http://www.imspector.org/ Network Management billm@pfsense.org - 0.8-5 + 0.8-6 1.2.1 BETA http://doc.pfsense.org/index.php/IMSpector_package -- cgit v1.2.3 From f7452a391914883dd7412a64ad2b6166f102937d Mon Sep 17 00:00:00 2001 From: Jim Pingle Date: Sun, 8 Mar 2009 16:49:04 -0400 Subject: Fix snort package, rc.d script was being written incorrectly when multiple interfaces were selected. --- config/snort/snort.inc | 2 +- pkg_config.7.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/snort/snort.inc b/config/snort/snort.inc index c1c1a400..8b9d77f7 100644 --- a/config/snort/snort.inc +++ b/config/snort/snort.inc @@ -140,7 +140,7 @@ function sync_package_snort() /* Note the sleep delay. Seems to help getting mult interfaces to start -gtm */ foreach($snortInterfaces as $snortIf) { - $start .= ";sleep 8;snort -c /usr/local/etc/snort/snort.conf -l /var/log/snort -D -i {$snortIf} -A fast &"; + $start .= "\nsleep 8;snort -c /usr/local/etc/snort/snort.conf -l /var/log/snort -D -i {$snortIf} -A fast &"; } /* if block offenders is checked, start snort2c */ diff --git a/pkg_config.7.xml b/pkg_config.7.xml index ee963dbc..8132a069 100755 --- a/pkg_config.7.xml +++ b/pkg_config.7.xml @@ -147,7 +147,7 @@ http://files.pfsense.org/packages/7/All/ snort-2.8.2.1.tbz http://www.pfsense.com/packages/config/snort/snort.xml - 2.8.2.6 + 2.8.2.6_1 1.2 Stable snort.xml -- cgit v1.2.3 From 5ee52d94c6ffa509d4cca370a707553434ee4685 Mon Sep 17 00:00:00 2001 From: Eirik Oeverby Date: Sun, 8 Mar 2009 21:34:50 +0100 Subject: Create necessary directories, add 'local =' parameter Ensures stunnel can actually be used after installation. Add optional 'local =' parameter to a tunnel, to force binding to a particular IP for outgoing connections. Useful for transport mode IPSec, or with VPNs in general. Known issues: After (re)install, list of tunnels must be saved once to produce proper config file. Not sure why this isn't happening automagically. --- config/stunnel.xml | 47 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/config/stunnel.xml b/config/stunnel.xml index 85e43081..d2f0dd3a 100644 --- a/config/stunnel.xml +++ b/config/stunnel.xml @@ -111,6 +111,13 @@ Enter the port to redirect to. input + + Outgoing source IP + sourceip + Enter the source IP address for outgoing connections. + input + + stunnel @@ -128,6 +135,7 @@ fwrite($fout, "setgid = stunnel \n"); foreach($config['installedpackages']['stunnel']['config'] as $pkgconfig) { fwrite($fout, "\n[" . $pkgconfig['description'] . "]\n"); + if($pkgconfig['sourceip']) fwrite($fout, "local = " . $pkgconfig['sourceip'] . "\n"); fwrite($fout, "accept = " . $pkgconfig['localip'] . ":" . $pkgconfig['localport'] . "\n"); fwrite($fout, "connect = " . $pkgconfig['redirectip'] . ":" . $pkgconfig['redirectport'] . "\n"); fwrite($fout, "TIMEOUTclose = 0\n\n"); @@ -135,7 +143,7 @@ fclose($fout); conf_mount_ro(); config_unlock(); - system("/usr/bin/killall stunnel 2>/dev/null"); + system("/usr/local/etc/rc.d/stunnel.sh stop 2>/dev/null"); system("/usr/local/etc/rc.d/stunnel.sh start 2>/dev/null"); ]]> @@ -144,25 +152,38 @@ safe_mkdir("/usr/local/etc/stunnel"); system("/usr/bin/openssl req -new -x509 -days 365 -nodes -out /usr/local/etc/stunnel/stunnel.pem -keyout /usr/local/etc/stunnel/stunnel.pem 2>/dev/null"); chmod("/usr/local/etc/stunnel/stunnel.pem", 600); - system("/bin/mkdir /var/tmp/stunnel"); - system("/bin/mkdir /var/tmp/stunnel/var"); - system("/bin/mkdir /var/tmp/stunnel/var/tmp"); + system("/bin/mkdir -p /var/tmp/stunnel/var/tmp/run/stunnel"); system("/usr/sbin/chown -R stunnel:stunnel /var/tmp/stunnel"); - chmod("/var/tmp/stunnel/var/tmp/", 1777); - $fout = fopen("/usr/local/etc/rc.d/stunnel.sh","w"); - system("/usr/sbin/chown -R stunnel:stunnel /var/tmp/stunnel/var/stunnel"); - fwrite($fout, "#!/bin/sh\n"); - fwrite($fout, "# PACKAGE: STunnel\n"); - fwrite($fout, "# EXECUTABLE: stunnel\n"); - fwrite($fout, "/usr/local/sbin/stunnel /usr/local/etc/stunnel/stunnel.conf\n\n"); - fclose($fout); - chmod("/usr/local/etc/rc.d/stunnel.sh", 0555); + $_rcfile['file']='stunnel.sh'; + $_rcfile['start'].="/usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf \n\t"; + $_rcfile['stop'].="killall stunnel \n\t"; + write_rcfile($_rcfile); + system("rm /usr/local/etc/rc.d/stunnel"); + + conf_mount_rw(); + config_lock(); + $fout = fopen("/usr/local/etc/stunnel/stunnel.conf","w"); + fwrite($fout, "cert = /usr/local/etc/stunnel/stunnel.pem \n"); + fwrite($fout, "chroot = /var/tmp/stunnel \n"); + fwrite($fout, "setuid = stunnel \n"); + fwrite($fout, "setgid = stunnel \n"); + foreach($config['installedpackages']['stunnel']['config'] as $pkgconfig) { + fwrite($fout, "\n[" . $pkgconfig['description'] . "]\n"); + if($pkgconfig['sourceip']) fwrite($fout, "local = " . $pkgconfig['sourceip'] . "\n"); + fwrite($fout, "accept = " . $pkgconfig['localip'] . ":" . $pkgconfig['localport'] . "\n"); + fwrite($fout, "connect = " . $pkgconfig['redirectip'] . ":" . $pkgconfig['redirectport'] . "\n"); + fwrite($fout, "TIMEOUTclose = 0\n\n"); + } + fclose($fout); + conf_mount_ro(); + config_unlock(); ]]> -- cgit v1.2.3 From dff5764a0cfce21dd1e48ed0cdf016efe78aa061 Mon Sep 17 00:00:00 2001 From: Eirik Oeverby Date: Sun, 8 Mar 2009 21:34:50 +0100 Subject: Create necessary directories, add 'local =' parameter Ensures stunnel can actually be used after installation. Add optional 'local =' parameter to a tunnel, to force binding to a particular IP for outgoing connections. Useful for transport mode IPSec, or with VPNs in general. Known issues: After (re)install, list of tunnels must be saved once to produce proper config file. Not sure why this isn't happening automagically. Signed-off-by: Bill Marquette Minor tweaks to original patch added as part of this commit --- config/stunnel.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/config/stunnel.xml b/config/stunnel.xml index d2f0dd3a..ef526309 100644 --- a/config/stunnel.xml +++ b/config/stunnel.xml @@ -149,16 +149,16 @@ /dev/null"); - chmod("/usr/local/etc/stunnel/stunnel.pem", 600); - system("/bin/mkdir -p /var/tmp/stunnel/var/tmp/run/stunnel"); - system("/usr/sbin/chown -R stunnel:stunnel /var/tmp/stunnel"); + safe_mkdir("/usr/local/etc/stunnel"); + system("/usr/bin/openssl req -new -x509 -days 365 -nodes -out /usr/local/etc/stunnel/stunnel.pem -keyout /usr/local/etc/stunnel/stunnel.pem 2>/dev/null"); + chmod("/usr/local/etc/stunnel/stunnel.pem", 600); + make_dirs("/var/tmp/stunnel/var/tmp/run/stunnel"); + system("/usr/sbin/chown -R stunnel:stunnel /var/tmp/stunnel"); $_rcfile['file']='stunnel.sh'; $_rcfile['start'].="/usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf \n\t"; $_rcfile['stop'].="killall stunnel \n\t"; write_rcfile($_rcfile); - system("rm /usr/local/etc/rc.d/stunnel"); + unlink_if_exists("/usr/local/etc/rc.d/stunnel"); conf_mount_rw(); config_lock(); @@ -183,7 +183,7 @@ -- cgit v1.2.3 From 78512e0364d6e8d2f797ee2dc32c2867b2f427de Mon Sep 17 00:00:00 2001 From: rob iscool Date: Sun, 1 Mar 2009 04:02:38 -0800 Subject: Updates to Snort.inc and Snort.xml 03-01-09 Signed-off-by: Bill Marquette Comments: Removed openvpn-client related changes from merge request --- config/snort/snort.inc | 4 ++-- config/snort/snort.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/snort/snort.inc b/config/snort/snort.inc index 8b9d77f7..20a03f93 100644 --- a/config/snort/snort.inc +++ b/config/snort/snort.inc @@ -140,12 +140,12 @@ function sync_package_snort() /* Note the sleep delay. Seems to help getting mult interfaces to start -gtm */ foreach($snortInterfaces as $snortIf) { - $start .= "\nsleep 8;snort -c /usr/local/etc/snort/snort.conf -l /var/log/snort -D -i {$snortIf} -A fast &"; + $start .= ";sleep 8;snort -c /usr/local/etc/snort/snort.conf -l /var/log/snort -D -i {$snortIf} -A fast -q"; } /* if block offenders is checked, start snort2c */ if($_POST['blockoffenders']) - $start .= ";sleep 8;snort2c -w /var/db/whitelist -a /var/log/snort/alert"; + $start .= "\nsleep 8;snort2c -w /var/db/whitelist -a /var/log/snort/alert"; $sample_before = "\nBEFORE_MEM=`top | grep Free | grep Wired | awk '{print \$10}'`\n"; $sample_after = "\nAFTER_MEM=`top | grep Free | grep Wired | awk '{print \$10}'`\n"; diff --git a/config/snort/snort.xml b/config/snort/snort.xml index 6ba362c0..22b8e874 100644 --- a/config/snort/snort.xml +++ b/config/snort/snort.xml @@ -46,7 +46,7 @@ Describe your package requirements here Currently there are no FAQ items provided. Snort - 2.8.2.2 + 2.8.3.2 Services: Snort /usr/local/pkg/snort.inc -- cgit v1.2.3 From 5e661a306a1c7236a3253cf9efb7e0d654082679 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Sun, 8 Mar 2009 16:56:22 -0500 Subject: bump stunnel version --- pkg_config.7.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg_config.7.xml b/pkg_config.7.xml index 8132a069..d748d158 100755 --- a/pkg_config.7.xml +++ b/pkg_config.7.xml @@ -449,7 +449,7 @@ Network Management http://files.pfsense.org/packages/7/All/ stunnel-4.25.tbz - 4.25.1 + 4.25.2 Stable http://doc.pfsense.org/index.php/Stunnel_package 1.2.1 -- cgit v1.2.3 From 1abeec1834af6befd27ae0f839ccfc1ad8d20714 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Mon, 9 Mar 2009 11:05:14 -0500 Subject: fix imspector dependencies and bump version --- pkg_config.7.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg_config.7.xml b/pkg_config.7.xml index d748d158..f639263c 100755 --- a/pkg_config.7.xml +++ b/pkg_config.7.xml @@ -332,7 +332,7 @@ http://www.imspector.org/ Network Management billm@pfsense.org - 0.8-6 + 0.8-7 1.2.1 BETA http://doc.pfsense.org/index.php/IMSpector_package @@ -341,8 +341,8 @@ http://files.pfsense.org/packages/7/All/ imspector-0.8.tbz libiconv-1.11_1.tbz - mysql-client-5.1.30.tbz - sqlite3-3.5.6.tbz + mysql-client-5.0.77.tbz + sqlite3-3.6.10.tbz nut -- cgit v1.2.3 From 89c1e0ed2ba945e2aa4ecbe4b8b9e6d36b68bd4b Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Mon, 9 Mar 2009 12:24:02 -0500 Subject: add package delete to deinstall - who knows, maybe it will work --- config/imspector/imspector.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/imspector/imspector.inc b/config/imspector/imspector.inc index 09974363..1316ea5b 100644 --- a/config/imspector/imspector.inc +++ b/config/imspector/imspector.inc @@ -101,7 +101,7 @@ @unlink(IMSPECTOR_ETC . '/acl_blacklist.txt'); @unlink(IMSPECTOR_ETC . '/acl_whitelist.txt'); - //exec('pkg_delete imspector-0.4'); + exec('pkg_delete imspector-0.8'); } function sync_package_imspector() { -- cgit v1.2.3 From 8eff152d4aacf8f89c0388d571b44ca5360657aa Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Mon, 9 Mar 2009 12:27:13 -0500 Subject: Revert "add package delete to deinstall - who knows, maybe it will work" This reverts commit 98c5f0521ca9a9ee723a0863b8e9c97b59d26077. --- config/imspector/imspector.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/imspector/imspector.inc b/config/imspector/imspector.inc index 1316ea5b..09974363 100644 --- a/config/imspector/imspector.inc +++ b/config/imspector/imspector.inc @@ -101,7 +101,7 @@ @unlink(IMSPECTOR_ETC . '/acl_blacklist.txt'); @unlink(IMSPECTOR_ETC . '/acl_whitelist.txt'); - exec('pkg_delete imspector-0.8'); + //exec('pkg_delete imspector-0.4'); } function sync_package_imspector() { -- cgit v1.2.3 From 01c613d4e27d5e8245846ab22ce704422798dd84 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Tue, 10 Mar 2009 00:39:15 -0500 Subject: start migrating javascript to prototype --- config/imspector/services_imspector_logs.php | 36 +++++++++++++++------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/config/imspector/services_imspector_logs.php b/config/imspector/services_imspector_logs.php index fce9b892..14881bc6 100644 --- a/config/imspector/services_imspector_logs.php +++ b/config/imspector/services_imspector_logs.php @@ -151,6 +151,8 @@ include("head.inc"); //echo $pfSenseHead->getHTML(); ?> + +
@@ -188,7 +190,7 @@ function xmlhttpPost() updatepage(self.xmlHttpReq.responseText); } - document.getElementById('im_status').style.display = "inline"; + $('im_status').style.display = "inline"; self.xmlHttpReq.send("mode=render§ion=" + section); } @@ -204,25 +206,25 @@ function updatepage(str) if (!a[1] || !a[2] || !a[3]) continue; /* create titling information if needed */ - if (!document.getElementById(a[1])) { - document.getElementById('im_convos').innerHTML += + if (!$(a[1])) { + $('im_convos').innerHTML += "
" + a[1] + "
" + "
"; } - if (!document.getElementById(a[1] + "_" + a[2])) { + if (!$(a[1] + "_" + a[2])) { var imageref = ""; if (a[0]) imageref = "" + a[1] + ""; - document.getElementById(a[1]).innerHTML += + $(a[1]).innerHTML += "
" + imageref + a[2] + "
" + "
"; } - if (!document.getElementById(a[1] + "_" + a[2] + "_" + a[3])) { - document.getElementById(a[1] + "_" + a[2]).innerHTML += + if (!$(a[1] + "_" + a[2] + "_" + a[3])) { + $(a[1] + "_" + a[2]).innerHTML += "
" + a[3] + "
" + "
"; } - if (!document.getElementById(a[1] + "_" + a[2] + "_" + a[3] + "_" + a[4])) { - document.getElementById(a[1] + "_" + a[2] + "_" + a[3]).innerHTML += + if (!$(a[1] + "_" + a[2] + "_" + a[3] + "_" + a[4])) { + $(a[1] + "_" + a[2] + "_" + a[3]).innerHTML += "
»" + a[4] + "
"; @@ -236,21 +238,21 @@ function updatepage(str) if (!details[1]) title = " "; if (!parts[2]) parts[2] = " "; - document.getElementById('im_status').style.display = "none"; - var bottom = parseInt(document.getElementById('im_content').scrollTop); - var bottom2 = parseInt(document.getElementById('im_content').style.height); + $('im_status').style.display = "none"; + var bottom = parseInt($('im_content').scrollTop); + var bottom2 = parseInt($('im_content').style.height); var absheight = parseInt( bottom + bottom2 ); - if (absheight == document.getElementById('im_content').scrollHeight) { + if (absheight == $('im_content').scrollHeight) { moveit = 1; } else { moveit = 0; } - document.getElementById('im_content').innerHTML = parts[2]; + $('im_content').innerHTML = parts[2]; if (moveit == 1) { - document.getElementById('im_content').scrollTop = 0; - document.getElementById('im_content').scrollTop = document.getElementById('im_content').scrollHeight; + $('im_content').scrollTop = 0; + $('im_content').scrollTop = $('im_content').scrollHeight; } - document.getElementById('im_content_title').innerHTML = title; + $('im_content_title').update = title; the_timeout = setTimeout( "xmlhttpPost();", 5000 ); } -- cgit v1.2.3 From 6abb9ffd8bbd42c903c31ab5bf6fe68ef1c6f1a7 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Tue, 10 Mar 2009 01:19:23 -0500 Subject: remove home rolled xmlhttpPost crap, use Prototype --- config/imspector/services_imspector_logs.php | 44 +++++++++++++--------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/config/imspector/services_imspector_logs.php b/config/imspector/services_imspector_logs.php index 14881bc6..ecb8606f 100644 --- a/config/imspector/services_imspector_logs.php +++ b/config/imspector/services_imspector_logs.php @@ -172,26 +172,23 @@ var section = 'none'; var moveit = 1; var the_timeout; -function xmlhttpPost() -{ - var xmlHttpReq = false; - var self = this; - - if (window.XMLHttpRequest) - self.xmlHttpReq = new XMLHttpRequest(); - else if (window.ActiveXObject) - self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); - - self.xmlHttpReq.open('POST', 'services_imspector_logs.php', true); - self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - - self.xmlHttpReq.onreadystatechange = function() { - if (self.xmlHttpReq && self.xmlHttpReq.readyState == 4) - updatepage(self.xmlHttpReq.responseText); - } - - $('im_status').style.display = "inline"; - self.xmlHttpReq.send("mode=render§ion=" + section); +function xmlhttpPost(){ + var url = "/services_imspector_logs.php" + new Ajax.Request(url, { + method: 'post', + parameters: { + mode: 'render', + section: section + }, + onSuccess: function(transport){ + var response = transport.responseText || ""; + updatepage(response); + $('im_status').style.display = "none"; + }, + onLoading: function(){ + $('im_status').style.display = "inline"; + } + }); } function updatepage(str) @@ -233,12 +230,11 @@ function updatepage(str) /* determine the title of this conversation */ var details = parts[1].split(","); - var title = details[0] + " conversation between " + details[ 1 ] + + var title = details[0] + " conversation between " + details[1] + " and " + details[2] + ""; if (!details[1]) title = " "; if (!parts[2]) parts[2] = " "; - $('im_status').style.display = "none"; var bottom = parseInt($('im_content').scrollTop); var bottom2 = parseInt($('im_content').style.height); var absheight = parseInt( bottom + bottom2 ); @@ -247,12 +243,12 @@ function updatepage(str) } else { moveit = 0; } - $('im_content').innerHTML = parts[2]; + $('im_content').update(parts[2]); if (moveit == 1) { $('im_content').scrollTop = 0; $('im_content').scrollTop = $('im_content').scrollHeight; } - $('im_content_title').update = title; + $('im_content_title').update(title); the_timeout = setTimeout( "xmlhttpPost();", 5000 ); } -- cgit v1.2.3 From 34a0c678b48d0e0f8ebe929551c474e0322a65de Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Tue, 10 Mar 2009 01:25:21 -0500 Subject: More Prototype-isms Whitespace cleanup --- config/imspector/services_imspector_logs.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/config/imspector/services_imspector_logs.php b/config/imspector/services_imspector_logs.php index ecb8606f..f9e6d902 100644 --- a/config/imspector/services_imspector_logs.php +++ b/config/imspector/services_imspector_logs.php @@ -257,9 +257,14 @@ function setsection(value) section = value; clearTimeout(the_timeout); xmlhttpPost(); - document.getElementById('im_content').scrollTop = 0; - document.getElementById('im_content').scrollTop = document.getElementById('im_content').scrollHeight; + $('im_content').scrollTop = 0; + $('im_content').scrollTop = $('im_content').scrollHeight; } + +document.observe('dom:loaded', function() { + xmlhttpPost(); +}); + EOD; print($zz); @@ -271,22 +276,19 @@ print($zz);
 
- +
-
-
+
+
-
+
- - -
-- cgit v1.2.3 From c6bc45c6182c3d1e0b5745fd228afb77f8a61b35 Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Tue, 10 Mar 2009 01:27:18 -0500 Subject: bump imspector package version --- pkg_config.7.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg_config.7.xml b/pkg_config.7.xml index f639263c..4404c3ac 100755 --- a/pkg_config.7.xml +++ b/pkg_config.7.xml @@ -332,7 +332,7 @@ http://www.imspector.org/ Network Management billm@pfsense.org - 0.8-7 + 0.8-8 1.2.1 BETA http://doc.pfsense.org/index.php/IMSpector_package -- cgit v1.2.3 From 81d0087fbf73aa9ab05cf8ec1067dbb462fc698c Mon Sep 17 00:00:00 2001 From: Bill Marquette Date: Tue, 10 Mar 2009 02:04:30 -0500 Subject: put readable variable names in for a[*] array --- config/imspector/services_imspector_logs.php | 40 +++++++++++++++++----------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/config/imspector/services_imspector_logs.php b/config/imspector/services_imspector_logs.php index f9e6d902..8f208e5d 100644 --- a/config/imspector/services_imspector_logs.php +++ b/config/imspector/services_imspector_logs.php @@ -202,29 +202,37 @@ function updatepage(str) if (!a[1] || !a[2] || !a[3]) continue; + var image = a[0]; + var protocol = a[1]; + var login = a[2]; + var destination = a[3]; + var date = a[4]; + + /* create titling information if needed */ - if (!$(a[1])) { + if (!$(protocol)) { $('im_convos').innerHTML += - "
" + a[1] + "
" + - "
"; + "
" + protocol + "
" + + "
"; } - if (!$(a[1] + "_" + a[2])) { + if (!$(protocol + "_" + login)) { var imageref = ""; - if (a[0]) imageref = "" + a[1] + ""; - $(a[1]).innerHTML += - "
" + imageref + a[2] + "
" + - "
"; + if (image) imageref = "" + protocol + ""; + $(protocol).innerHTML += + "
" + imageref + login + "
" + + "
"; } - if (!$(a[1] + "_" + a[2] + "_" + a[3])) { - $(a[1] + "_" + a[2]).innerHTML += - "
" + a[3] + "
" + - "
"; + if (!$(protocol + "_" + login + "_" + destination)) { + $(protocol + "_" + login).innerHTML += + "
" + destination + "
" + + "
"; } - if (!$(a[1] + "_" + a[2] + "_" + a[3] + "_" + a[4])) { - $(a[1] + "_" + a[2] + "_" + a[3]).innerHTML += - "
»" + a[4] + "
"; + '"' + "setsection('" + protocol + "|" + login + "|" + destination + "|" + date + "');" + '"' + "' + >»" + date + ""; } } -- cgit v1.2.3