15-Oct-2010

Spam filter statistics update
The procedure used to gather statistics of last month’s Spam filter statistics has been updated, it can now handle up to 100.000 messages (well, one less), and it now shows the number of messages that have been rejected, or accepted, by server or user rules, so those that won’t be scanned on their content by the program.
With this changed program, I rescanned the files of September:
PMAS statistics for September
Total messages    :  10365 = 100.0 o/o
DNS Blacklisted   :   1547 =  14.9 o/o (Files: 31)
Relay attempts    :   7655 =  73.8 o/o (Files: 31)
Accepted by PMAS  :   1163 =  11.2 o/o (Files: 31)
 Handled by explicit rule
        Rejected :    580 =  49.8 o/o (processed),   5.5 o/o (all)
        Accepted :    200 =  17.1 o/o (processed),   1.9 o/o (all)
 Handled by content
       Discarded :    104 =   8.9 o/o (processed),   1.0 o/o (all)
    Quarantained :    192 =  16.5 o/o (processed),   1.8 o/o (all)
       Delivered :     87 =   7.4 o/o (processed),    .8 o/o (all)

Halfway october, the result is:
PMAS statistics for October
Total messages    :   7307 = 100.0 o/o
DNS Blacklisted   :   1941 =  26.5 o/o (Files: 44)
Relay attempts    :   3762 =  51.4 o/o (Files: 14)
Accepted by PMAS  :   1604 =  21.9 o/o (Files: 44)
 Handled by explicit rule
        Rejected :    779 =  48.5 o/o (processed),  10.6 o/o (all)
        Accepted :    300 =  18.7 o/o (processed),   4.1 o/o (all)
 Handled by content
       Discarded :    139 =   8.6 o/o (processed),   1.9 o/o (all)
    Quarantained :    282 =  17.5 o/o (processed),   3.8 o/o (all)
       Delivered :    104 =   6.4 o/o (processed),   1.4 o/o (all)

10-Jul-2010

A first result
I didn keep sufficient track of things when the main page of WP showed up, although as a plain, non-css’d site, so it took quite some re-searching and trial-and-error – with some good deduction, to get the main page of WordPress3 fully shown. It looks like all of it is working – using the supplied form. Now testing the two I use for the sysmgr and tracks blogs…
I also checked the Admin page – it loads, but with a few errors that may be related to the URL of the ‘site’ – Iĺl have to check that. Also, there is a widget ‘Quickpress’ that took a lot of time to be displayed – and, according the grinding sounds of the disk, it requires a lot of memory: it hardly did the trick:
$
%SYSTEM-W-PAGEFRAG, page file filling up; please create more space

$
%SYSTEM-W-PAGECRIT, page file nearly full; system trying to continue

$
%SYSTEM-W-PAGEFILEFULL, all page or swap files are full; system trying to continue

Ok, pageing IS just basic:
$ sho mem/file
System Memory Resources on 10-JUL-2010 18:40:09.75

Swap File Usage (8KB pages): Index Free Size
DISK$DAPHNE84EFT:[SYS0.SYSEXE]SWAPFILE.SYS
1 1528 1656

Paging File Usage (8KB pages): Index Free Size
DISK$DAPHNE84EFT:[SYS0.SYSEXE]PAGEFILE.SYS
254 15956 33280
Total committed paging file usage: 27142
$

But at least, the admin page came up as well.
This is the current configuration for WP30 that works so far:
redirect /wp30 /wp30/index.php
#redirect /wp30/ /wp30/index.php?
#redirect /wp30/**/ /wp30/**
map /wp30/ /wp30/index.php
set /wp30/*.php script=query=relaxed ods=5
set /wp30/*/*.php* script=query=relaxed ods=5
exec /wp30/*.php (@cgi-bin:[000000]phpwasd.com)/wp30/*.php \
ods=5 script=syntax=unix script=query=none map=once
pass /wp30/* /wp30/* ods=5 search=none dir=noaccess

The out-commented REDIRECT lines cannot be enabled – it will cause the main page run into a loop; but a mapping from /wp30/ to /wp30/index/php seems to be required…

05-Jul-2010

Maintenance
The maintenance job has started, did some work – but not entirely correct, mainly because of specifications that weren’t entirely correct, of missed a $ SET DEFFAULT and a typo, but since deletions have been commented out, is was not a really big issue, and the errors have now been corrected, and, as far as possible, tested. Waiting for the next automated run….
Mail statistics: A lot of relay attempts!
What did work, anyway, was mailing the mail statistics:
PMAS statistics for June
Total messages    : 4975 = 100.0 o/o
DNS Blacklisted   : 2016 =  40.5 o/o (Files: 30)
Relay attempts    : 1888 =  37.9 o/o (Files: 26)
Processed by PMAS : 1071 =  21.5 o/o (Files: 29)
       Discarded :  164 =  15.3 o/o (processed),   3.2 o/o (all)
    Quarantained :  334 =  31.1 o/o (processed),   6.7 o/o (all)
       Delivered :  573 =  53.5 o/o (processed),  11.5 o/o (all)

Again a high number of relay attempts: over 700 on June 19th and 25th. On the 19th, the offending address was 118.249.218.246, the supposed senders were jxzhn@21cn.com (180), csj-lx@sohu.com (164), andly88888@163.com (188) and haoyunwp@sina.com (188), they cycle after a number of attempts. On 25th, the offending address was 113.97.110.230, sent by either asdjkl831266@126.com (348) or asdjkl831266@163.com (348). Far less attempts have been found on June 5th (81, from address 219.132.25.98, by hioaghoghl@126.com (47) and iaghghlk@126.com (34)) and 7th (291, from address 222.247.120.209, by jacklywangpeng@126.com (70), 2006peixunbu@21cn.com (80), haoyunwp@sina.com (64) and wphaoyundao@sohu.com (77)). And I’ve seen that July will hold even bigger numbers: on 03-jul-2010, there have been over 2000 attempts from address 121.13.12.72, by sender “smtp100@sina.com” , every second between 9:30 and 10:21…
All addresses are located in China, 219.132.25.98 and 121.13.12.72 are likely to be broadband addresses and could be forged (according the query result), the other ones link to CHINANET-BACKBONE. But all tried to access (non-existent) accounts at my ISP via my server. But it doesn’t accept relay – my ISP tries on regular intervals, and I see them refused as well.
Irene ‘renewed’
There are continously problems with DNS translations; though all settings seem Ok, and Internet access is never a problem, accessing local systems is notoriously problematic. Using the standard internal domain (intra.grootersnet.nl) any non-Windows system cannot be found, but without, there is no problem at all.
But this time, I had enough. I installed Ubuntu on the machine as the primary OS, and that solved this problem. The general users on that system (my wife and son) usually just use the web-browser, and my wife will occasionely use email but never store a message. They’ll have to learn new interfaces, but the differences are minor.
Main advantage si that my wife now has most of the menus and texts in Dutch – like she prefers, where my son and I have no problem with the English menus.
One problem, though, still to be solved: I changed my wife’s password for login, but her keyring-password hasn’t changed, and I’m looking on how to do that.
New web- and PHP getting on
Last weekend, a new release of WASD has been published, which fixes a few issues I ran into. So that was the first thing to do: install the new server. Normally, this is just running a proceduree, but this time, there was something wrong: the OpenSSL package that I use was not correctly installed, but after that, installation went fine – except that a new file (required when updating from 9.3) was missing. But since this installation is a fresh one, it didn’t effect me.
The server runs fine now.
PHP is another matter.
It took some reading. mailing, deduction and trial-and-error, but I finally got PHPMydmin and WordPress running. Not entirely 100%, but at least I found the problem: both applications had problems including files – couldn’t locate them, and run into an error. A closer look on the PHPMYADMIN log showed a possible reason: ./libraries/common.inc.php – there are more than one dot in the file…
Copied the file to be “common_inc.php” and changed to code accordingly: behold, the error was gone, but the next multi-dot file caused the same error.
Wordpress ran into a similar error.
Now I looked at the HP PHP documentation, and there is stated that setting parse-style to EXTENDED – what’s done by WASD if an ODS-5 file system is encountered – is not sufficient: You need to set the following logicals:
$ DEFINE /NoLog DECC$EFS_CASE_PRESERVE ENABLED
$ DEFINE /NoLog DECC$EFS_CASE_SPECIAL ENABLED
$ DEFINE /NoLog DECC$EFS_CHARSET ENABLED
$ DEFINE /NoLog DECC$FILE_SHARING ENABLED

To try this, I set these logicals /SYSTEM and now PHPMyAdmin got into the login screen, and WordPress asked the credentials to create the database.
So I had to change the configuration to use PHPWASD.COM as a wrapper – that sets these logicals before invoking PHPWASD.EXE. It made a difference. PHPWASD.EXE makes an attempt to set these as well, but it seems not enough.
So there is some progress, but there are still a number of things to check: PHPMyAdmin cannot connect to the database and gave a “heap corrupted” message, and WordPress ran into ACCVIO errors. But after $ DEFINE/SYSTEM USE_ZEND_ALLOC 0 both seem to be gone.
But still, phpmyadmin cannot access the database, and wordpress now runs into a loop: accessing “/index.php” redirects to “/INDEX.PHP” – and I get a “page not found” error…

30-jun-2010

PhpMyAdmin
I downloaded the latest version (3.3.4) and installed it on Daphne, to test it with the new PHP installation.
That, by itself, was a challenge.
First, I tried the .ZIP file. but no: There are issues with files with multiple dots – and directory-names with dots in them. Unzip – as far as I knew – translated all but the last dots into underscores – and that’s not what I want. So I got the .tar.gz file – and had to get gzip and vmstar, and build them. For VMSTar, it meant re-compilation as well, since required objectfiles were missing. So C had to be installed – and the license loaded. But even that wasn’t sufficient, I also needed MMS to be installed, for a proper build….
Finally, I got both and could now work on the compressed tarball. decormpressing worked fne, but for some reason, VMSTAR choked on a CRC error in a directory and stopped.
Exit .tar.gz.
Got myself the latest version of UNZIP, hoping it would get over the problems with it’s predecessor, But it simply down’t work: not only were multiple dots – again – translated into undersores, the files were always stored in upercase – even when the “-LL” option was specified. Even the -a option doesn’t work…
Set proces-environment into extended parse-style – that might have been the problem, but not even that did work.
Exit UNZIP60, and back to the old one. Which now, all of a sudden did actually work: I got a directory name full of dots where expected, and files stored in their original (lowercase) names.

so fa, so good.
Next, add the location and handling in the mapping-file, using the PHP-INFO one as a starting point.
That didn’t wo the trick, and it required quite some fiddling with config itens and logicals to get at least some result (here, WASD’s real-time logging facilities are proiceless!): Defined “DBA” to be the right location, and use it in the configuration:

set /dba/**.php* script=query=relaxed
set /dba/**.php script=query=relaxed ods=5
exec /dba/**.php ($cgi-bin:[000000]phpwasd.exe)/dba/* script=query=relaxed
pass /dba/* /dba/*

or use the plain definotion instead of the logical:

exec /dba/**.php ($cgi-bin:[000000]phpwasd.exe)/dka0/web/dba/* script=query=relaxed
pass /dba/* /dka0/web/dba/*

But the scripts ends within index.php, where files need to be located:

PHP Warning: require_once(./libraries/common.inc.php) [function.require-once]: failed to open stream: no such file or directory in /dka0/web/dba/DKA0:[web.dba]index.php on line 35

Pasrse-style (should be EXTENDED since it’s an ODS-5 disk) and default directory (should be DKA0:[WEB.DBA]) are correct accoring the WASD WATCH output:

|08:13:20.12 DCL 4856 0001 DCL WRITE SYS$COMMAND 26|SET PROCESS/PARSE=EXTENDED
|08:13:20.12 DCL 4856 0001 DCL WRITE SYS$COMMAND 51|IF F$TRNLNM("HTTPD$LOGIN").NES."" THEN @HTTPD$LOGIN
|08:13:20.12 DCL 4856 0001 DCL WRITE SYS$COMMAND 49|IF F$TRNLNM("WASD_LOGIN").NES."" THEN @WASD_LOGIN
|08:13:20.12 DCL 4856 0001 DCL WRITE SYS$COMMAND 26|SET DEFAULT DKA0:[web.dba]
|08:13:20.12 DCL 4856 0001 DCL WRITE SYS$COMMAND 31|RUN cgi-bin:[000000]phpwasd.exe
|08:13:20.12 DCL 4856 0001 DCL WRITE SYS$COMMAND 9|STOP/ID=0
|08:13:20.12 DCL 4842 0001 DCL WRITE SYS$COMMAND EOF|

so now I’m stuck – there might be something within PHP? Because the same applies when the same file is run using PHP.

A second ‘flaw’ I found: running PHPWASD.EXE sometimes failes for uncertain reasons.
the setting for PHP_INFO specifies “@cgi-bin:phpwasd.exe” in the EXEC statement, and it always works. With PHPMyADMIN, however, it _may_ work (I do have a logfile that shows just that) but for some reason, it may result in a load of warnings:

%DCL-W-IVVERB, unrecognized command verb - check validity and spelling

as if the executable is interpreted as a commandprocedure – consistent with the “@” character. Removing it, or replacing it by “$” causes the same error as before. The main configurations states “$” for an executable, so my guess is that that’s actually right (PHP_INFO works with “$”, I’ve checked that.
So these quetsions are moved to the WASD mailing list – see what comes out of this.

WordPress
Again, I obtained the lastest version (3.0), immediately after I downloaded PHPMyAdmin. First the .tar.gz version because of the (expeted) problems with UNZIP. But knowing the problems I had with installing PHPMYADMIN, I used the ZIP version – and it installed nicely.
Using the same construct as for PHPMYADMIN, and adapting protection of all files, this turned out to be far easier. However, it relies on the MySQL extension, which I didn’t enable (since I expected MySQLi to be more feasable). So I enabled it in PHP.INI, but found out I had to rerun PHP_STARTUP to get it available. After that, I got thhe message I lacked a config file. Duh – I didn’t do anything here! So I created one, referring to Diana for a database. But connection failed – I needed to create one first. Now, index.php redirects to installation.php – and there it all ends – no warning, just an empty page. This rings a bell: there seems to be a redirectrion and this may not be handled by WASD.
Even using the configuration as on Diana, it doens’t do anything.

Another way to get around it is to install MySQL and use a local database. That might be the next thing to do.

29-Jun-2010

WASD + PHP running
The problem mentioned a few days ago was caused by multiple causes – one of them being an error in building the MySQLi extension, Mark Berryman supplied a new kit, so I installed it.
But not before I cleaned everything: the WASD_ROOT:[src.PHP] directory – that would become PHP_ROOT if you used the PHP_STARTUP procedure of WASD (?) – now holds just what’s needed to build the PHP runtime engine. The whole PHP package is now installed under WASD_ROOT:[PHP.AXP] like Mark Berryman describes in his README document that comes with the kit – the main exe’s in [.BIN], the extensions in [.EXTENSIONS], and PHP.INI aside these directories.
Now the sequence of getting it up and running is important, and I found this works:

$ DEF/SYS/EXEC PHP_ROOT DKA0:[WASD_ROOT.PHP.AXP.] /TRANS=(C,T)
$ @WASD_ROOT:[STARTUP]STARTUP
$ @WASD_ROOT:[STARTUP]PHP_STARTUP

Important as well: all PHP files must be set to W:RE. the SECURE script does NOT include this path, so the whole PHP-tree must be set correctly by hand.

Don’t forget PHP.INI – like I did, because you still won’t see the enabled extensions – and PHP doesn’t issue a warning on this! After correcting the protection mask, it works fine.

The PHP excutable now works as expected as well:

$ php cgi_bin:php_info.php
<h1><center>Testing the PHPINFO () function</center></h1><br />
phpinfo()
PHP Version => 5.2.13
...

Before I forget: of course you must enable PHP in the configuration:
in HTTPD$CONFIG.CONF, add INDEX.PHP to the section [Welcome],
.PHP $CGI-BIN:[000000]PHPWASD.EXE to the section [DclScriptRunTime], and to the section named [AddType] you should add these lines:
.PHP text/plain PHP source
.PHTML text/plain PHP source
.PHPS text/plain PHP source

For mapping, I created a separate configation file (PHP.CONF) that contains the lines:
set /**.php* script=query=relaxed
set /**.php script=query=relaxed ods=5
exec /php-bin/* (@cgi-bin:[000000]phpwasd.exe)/cgi-bin/* script=query=relaxed

and included the file in the mapping file wasd_config_map.conf, just before the DECnet lines:
[includeFile] wasd_root:[local]php.conf

Next step is installing the latest versions of PHPMyAdmin en WordPress – using the database on Diana – just for setting up the new environments, the current mapping causes loops and now I can find out how the mapping should be to get it running properly…