27-Apr-2007

WordPress update
Just installed WordPress 2.5.1. Currently it’s just the Bootcamp 2008 blog only, but the others will follow – in due time. It’s just a matter of getting enough time to do all updates: In particulare MySQL to 5.1 – it should be more stable than 4.1 and the PHP MysQL4 engine is know to work with it. I’m only worried on the extra workload that it may impose on the system – memory usage is the big concern.
For a few weeks, I get this error on this version’s admin page:

Allowed memory size of 10485760 bytes exhausted (tried to allocate 11 bytes)

where the feed items were previously showing. No big deal, but the 2.5 blogs don’t have this problem. But instead, theer are more MySQL crashes, at least, so it seems.

Another thought: Could I put MySQL on a different machine? Or would that mean to push all the PHP stuff to another machine? It would mean the cluster should be up-and-running. And that’s where the failures are….

Updating the database means recreating the databases into MySQL 5.1, after, or before updating the blogs (which is very easy indeed: Just point to the right WordPress directory: [WP25] in stead of [WP233] for each logical :D. (hey Unix guys, ever seens an update that easy?) and running the admin script, as usual. (I’d do a load into MySQL 5.1 first and if that runs, update WP this way. If either one fails, the original is unspoiled and can be refererd to without a problem).

Windows woes
I kept Aphrodite – Thw Windows box – running fro a few days, doing nothing more than the SETI stuff. The Einstein@Home project won’t give me new work – the system isn’t up long enough???
But that wasn’t a good idea, it seems. It lost track of quite some things. Docking my camera on the USB port caused a hang in one system image (svhost – being one of those obscure functions with a lot of functionality that isn’t shown normally) leaving Explorer non-responsive, at least, consuming one of the two hyperthreads. WindowsXP isn’t clever enough to use the other one (running a very-low priority SETI task).
So I stopped this svhost task – and it was the one accessing the USB connection.
After that, I thought it wise to restart.

Well, it’s Windows, after all: In case of trouble: REBOOT. Oh well.

24-Apr-2008

First page shows
By adding log lines in the OpenReport routine showed the mistake causing the access violation. The routine should be called with the same context – actually the address where the initiated report is stored. Next problem turned out to be a wrong name: “PAGETITLE” was not found in the report. No wonder, I specified the wrong one. In changing the configuration file to contain the right report – behold: The pages shows up!
It’s only that no data is shown, but that seems to be rather normal if the datafile is empty. It’s also possible that getting the index record fails as well.
So next is to add data into these files – using a DCL procedure, to begin with. Perhaps I’ll write a tiny, Q’nD image that is as straight forward as possible. Just a simple input routine, and simple storage. Well, the routines do exist and can be used. In that case, I can (should) use Stephen’s recommendations.

On second thought: that might be the right way to go.

MySQL once more
Any time when an update comes along after some time (MySQL has been running for 2 weeks with just a few updates), the big one yesterday was stored – and MySQL_SERVER thought it time to crash again. I’m getting rather tired of this problem, and will update some time soon – there is not too many room at the moment.

SQLite
Someones is porting SQLite to VMS – something I abandoned a few months ago. Would I have looked deeper into the issue, I might have foun there is an os_vms.c file already available. Old, but very usable. It seems the big locking problem has been solved by the latest CRTL library routines – flck seems to be available on OpenVMS 8.3, and working. Jean-Francois Pieronne – Mr MySQL/Python/MoinMoin – did some re-code for some routines and theer shouldn’t be any problem now. How to integrate this with WordPress is probably not that easy – there will, no doubt, be a PHP extension but I don’t know if it can easily be ported. A Python one exists, and works.
But I can use it in my program. It’s FAST. It’s TINY. Just what I need on my small box.

Django
This is a Python framework for creating, well, articles and newspapers. Blogs, in other words. Google seems to use it as well as the framework for their applications.
Worth to try!

As usually, there is too much to be done in too little time 🙁

23-Apr-2008

Creating a page: reading files
I found some time to get on with the web-page program. I remembered everything compiled, and I kind of recalled that there was something wrong in file specification in the [[HOME]] section, but that was about it.
Again, WATCH is the ultimate tool.
Accessing the data didn’t work, I got non-conformance messages all the time and watching the server work, it immediately can out what was wrong: The currently active version was built /DEBUG. The remedy is easy: rebuild the image withiout debug, and don’t forget to copy the result to CGI_BIN: ! (It took some attempts to remember that…)
Having that setup, where do the logfiles go? Although I had set the proper logical, and deleted the old files, no new logfiels were created. Returning memory fragments lead me to other places and have protection set so the server could indeed WRITE to the proper directory – a requirement to create files. It had worked before but when I installed the new webserver version, protections were reset. This one as well, so NO write access anymore…)

After an hour, I was at the point I could start finding out whether it works. Of course, id didn’t.

One of the things to be done before actually reading the data files, some converion needs to be done with date: A standard VMS-formatted datetime, like “23-apr-2008 21:25:22.012”, is not usable for a descending key – you’ll need this date converted to a sting like “20080423212522012”. Of course, I have a (FORTRAN) library routine, but there were some problems in there that needed to be solved. Finding out why that conversion failed took some time. The first was a miscalculation, which was simply solved, The other turned out to be testing for errors on an internal WRITE (integer*4 datum into a character*11 string ) returned a IOSTAT of 1 – non-zero so error – so the error branch was taken – but the converted data was indeed correct. The short cut is simply forget about status and use it reguardless the outcome. For now, that is. A final solution must be found later, but “1” seems to be valid in this case, though not zero. (ERRSNS gave some RMS error codes and none seems feasable – there is no RMS involved)

Once that was settled, opening the files failed: %RMS-F-DEV, error in device name or inappropriate device type for operation. The reason is quite obvious: using the right logicals is crucial. The program runs in the server’s scripting account and therefore the logicals should be defined in either /GROUP (for that user) or /SYSTEM. The latter is the easy one 😉
Still, the files were not opened, although the right name was specified. The debug log didn’t show why, and examioning the code revealed the one simple reason: the routine to initiate data access used fixed specifications in stead of the data stored in memory. It means an adjustment to the interface, passing the names of index and data files. These additional argumnets, used in OPEN statements, meant the files are accessable and can now be read. No errors found here, but it remains to be seen if data is actually passed.
I was anticipating that the read data could be seen once the data was stored in the report and outputted – these routines are used with the image cureently creating the homepage, but here I ran into another problem: an Access violation. There will be something wrong in the interface. The curent program is a FORTRAN one, and the new program is Pascal, and there may be an error in the PASCAL definition of the routine.

Now time is up – so solving that will have to wait. Just a short time, I hope

16-Apr-2008

Webserver message
Yestarday’s Operaror.log contains a weird message I never saw before:

%%%%%%%%%%%  OPCOM  15-APR-2008 19:50:14.68  %%%%%%%%%%%
Message from user HTTP$SERVER on DIANA
Process HTTPd:80 reports
%HTTPD-W-NOTICED, REQUEST:3977, REQUEST_UNKNOWN_FIELDS_MAX exceeded

so I checked the server log, and it looks like an attempt to store information into the MySQL database:

%HTTPD-W-NOTICED, 15-APR-2008 19:50:14, REQUEST:3977, REQUEST_UNKNOWN_FIELDS_MAX exceeded
-NOTICED-I-SERVICE, http://www.grootersnet.nl:80
-NOTICED-I-CLIENT, 64.157.224.124
-NOTICED-I-URI, GET (1 bytes) /
-NOTICED-I-RXTX, err:0/0 raw:4676/0 net:4676/0
%HTTPD-I-HEADER, 15-APR-2008 19:50:14, 64.157.224.124, 4676 bytes
 \GET / HTTP/1.0
Host: www.grootersnet.nl
Accept: text/plain, text/html, image/jpeg, image/gif, application/octet-stream, application/x-javascript, text/javascript, text/xml
User-Agent: Mozilla/4.0 (compatible; AvantGo 6.0; FreeBSD)
Accept-Language: en-us, en;q=0.8, *;q=0.7
X-AvantGo-DeviceProcessor: 0x0016
Referer: http://ma.tt/2008/04/securityfocus-sql-injection-bogus/
X-AvantGo-Version: 6.5.216
X-AvantGo-ColorDepth: MTY=
X-AvantGo-ClientLanguage: en_US
X-AvantGo-Browser: AvantGo
X-AvantGo-ClientCharset: ISO 8859-1

This is just the start of the file – This is the whole message.

Alas, the online log – the part that is visibla at the moment – starts well after 21:00 so further investigation must wait.

I haven’t seen a mail message so I’ll assume it either failed (it looks like it), or the log message itself should be the warning (not nice). Or it has indeed been abn attempt to gain access without permission. In that case, I’ll have enough ammunition to take action 😉

UPDATE
There is nothing to be found in any of the access logs either, but one line:

$ set def ht_root:[log]
$ sea *.log 64.157.224.124

******************************
HT_ROOT:[LOG]WWW_80_20080414_ACCESS.LOG;1

64.157.224.124 - - [15/Apr/2008:19:50:14 +0100] "GET / HTTP/1.0" 200 7729

and the URL is the same as shown in the server log, – same time as well.
I checked the referring URL; this is a WordPress developer’s blog entry on the subject. Probably it was one of the links on that page that introduced the request. It won’t do any harm on the home page anyway – it’s not a WordPress blog (nor PHP at all….). It might be someone read my comment and tried – but in that case there should be different referrer.
Anyway, perhaps it’s better to upgrade them all to 2.5…

14-Apr-2008

Clean Up
Because the anti-spam frontend is so effective, there is hardly any junk accepted and Outlook’s filters can be minimized. I deleted the Jink sender list on Aphrodite – it contained almost 7000 entries!
There is something weird, thoug, and perhaps it’s gone now: There have been messages marked as “junk” where the sender was NOT in this list, and as far as I could detrmine, there is no field in the message header that would cause it te be marked as such.

Keep it to the Mantra: It’s Windows (well, Office, in this case) and therefore, it is to be expected.

Thgough my ISP and the company do have spam blockers, these seem not half as effective as PMAS. But these few messages can easily be handled.

De-Samba
I don’t know yet what went wrong but the share I created can no longer be accessed. Back to the drawing board and reso the SAMBA configuration from the beginning. It doesn’t help if the knowlegde of Windows is limited and the CIFS documentation limited. Back to the olde Digital days, where the company supplied good software (assuming Samba IS good software) but fails to deliver documentaion in sufficient detail??? Well, we’ll get there some day. But for now CIFS has been disabled.
One thing I could figure out was that the disk wasn’t mounted. No wonder I couldn’t access it. But CIFS silent;ly tried, and tried, and tried – given the operatorlog:

%%%%%%%%%%%  OPCOM  13-APR-2008 01:02:21.88  %%%%%%%%%%%
Message from user INTERnet on DIANA
INTERnet ACP SMBD Accept Request from Host: 192.168.0.205 Port: 2708

%%%%%%%%%%%  OPCOM  13-APR-2008 01:02:25.34  %%%%%%%%%%%
Message from user INTERnet on DIANA
INTERnet ACP SMBD Accept Request from Host: 192.168.0.205 Port: 2710

%%%%%%%%%%%  OPCOM  13-APR-2008 01:34:27.17  %%%%%%%%%%%
Message from user INTERnet on DIANA
INTERnet ACP SMBD Accept Request from Host: 192.168.0.205 Port: 2714

%%%%%%%%%%%  OPCOM  13-APR-2008 01:34:30.61  %%%%%%%%%%%
Message from user INTERnet on DIANA
INTERnet ACP SMBD Accept Request from Host: 192.168.0.205 Port: 2716

and this goes on all day. The share is shown in the network places list, although the disk is not mounted. Ok, CIFS will note the share, but when trying to access it, it’s just telling you’re not allowed to access teh location. Not that theer is something wrong with the hardware.
Perhaps, Unix isn’t capable of detecting the path is not accessable at all, in stead of a privilege problem – but VMS is an, IMHO, it should mention it. This is something I would consider “a bad port”.
Now it’s way more quiet on the system.


The WordPress 2.2.3 admin frontpage normally would show a list of RSS feeds – and since a few days, only that part of the form will not display because the PHP engine is at it’s allowed memory limit of 10M on allocation of 11 bytes. This is a part I can do without anyway, it’s not missed. I like the idea the application limits it’s own memory usage, but a requirement for 10M – for a fairly basic page – and still need 11 bytes more?? Well, Unix thought: Get all memory you need….No wonder you’ll need to set a limit. But VMS already has it: PGFLQUO…
Oh well…