Archive for August, 2012
The preview Windows Azure management portal is updated since yesterday. A number of wishes of users is wrapped in this update.
WASD update additions
The update left two links in error, both concerning performance logging: HyperSpixx, showing stored performance data, and Mondesi, for real-time control. The first one requires an agent that stores data in files, and these are presented uing a CGI-based execuatble. That program can no longer determine the nodename for which data is to be displayed, and when I restarted the agent, it failed without notice…
The second program is started from the browser, and requests data from the system using the system API to collect performance data, and displayes it in the browser window. The link does display the window but slightly distorted, but no centent….
Today, I installed the latest versions of these programs.
Mondesi – now version 2.1 – was installed without a problem, and it now shows the correct data.
HyperSpi – the WASD version – has been buiklt and installed, the agent started; it does start and created a file. But displaying the data still fails: No node supplied….
The version by Jean-François Piéronne however causes problems in building. It comes as a complete package that must now be compiled and linked – where originally, the object files were supplied and LINK was sufficient. so you now need a C-compiler, and, for the libraries used, you must use MMS (or Hunter Goatley’s MMK), if you want to use the BUILD.COM procedure.
I found the DESCRIP.MMS files used in buidling the library are incomplete – so I had to update the files before I could create the agent and web-application. The agent has been installed and works – but the web-application still gives an error ‘No node supplied’ – and the documentation that is supplied doesn’t show a reason….Or how to define the node. But here, there has been no change….
So still some work to do…
The terminal amulation over port 80 – using WebSockets – works, once a [world] entry was added to WASD_CONFIG_AUTH.CONF:
if (websocket:) * r+w,https:
before the authentication for the site. And this addition prevents direct access to the terminal connection., since the site itself is still acessed over SSL, and requires login just for that. In the admin page however, you won’t see the user that started the application. But that could well be handled by the logger.
It took some preparation because quite a lot of basic config of the server (not the sites) has changed and so the process needed some time: Another naming convention and location of logicals, and a change in configuration-schema made this update less straight forward than normally is the case. Including full startup (and shutdown) of the web server – and surrounding software: like the PHP engine and mail support.
Not forgetting the daily, weekly and monthly processing – it all needed to be overhauled.
Wanneer je naar het Start scherm van Windows 8 krijgt heeft deze een paar mooie unieke features die niet standaard met het GridView control meekomen.
Wanneer je tijdens het deployen de error “DEP0700″ krijgt draait de applicatie twee keer. Dit kan zijn doordat je lokaal probeerd te deployen en via de emulator de app draait. Even de emulator afsluiten en je kan weer deployen.
I have done a bit more investigation on the PHP issue.
First, I created a procedure in which I can set the PHP environment as /JOB logicals so I can do the tests without interferendce with the access over the Internet.
Next, I checked the WordPress versions I haev installed. Apart from 2.6.3, I have installed 2.6.5, 2.8.2 and 3.4.1. I tested each of them after setting the PHP version to use (either 5.2.6 of 5.3.14), directly on the root directory of that WP version – so VERY basic.
Even using 5.2.6 I had problems – where this wasn’t the case a few days ago: On each of the blogs, PHP complained a file could not be located:
$ set def WP : ! the root directory of that WP version
$ php index.php
Work at hand
Apart from the PHP issues, there are a few other things under construction: A new homepage, and a suite to process network-related logfiles.
For the new homepage I plan to use Mark Daniel’s VmsWasdContentManagementSystem – a native VMS executable that can handle this type of posts – even blogging is an option (perhaps, any blog on this site may be redesigned using this package). I had the beta installed, so I removed it to prevent problems that coud arise; downloaded the latest version, (both the sources and the AXP objects), built and installed it. It does require some configuration, and mapping in WASD, and to get famliar with it (and because of the recommendation) I set up the example as in the documentation. But either I don’t understand or mis-interpret the docs, or these are inconclusive (incomplete of plein wrong – I cannot tell), I ended up with a message:
ERROR 403 - reported by VWcms
Site directory not configured!
To be investigated….
It’s an idea for quite some time: Scan all incoming network access, find out who’s attempting to hack, or abuse the systems, and shut the door for these people.
I started today with a program to scan the SYSLOGD logfiles on Diana: the firewall on the dge of the domain logs all access in this file, and when it is over 25.000 blocks in size, it’s cycled, and all cyccled files are stored in a zip file during the monthly maintenance process. Other files to process are the PMAS and FTP logfiles, and the access logs of the webserver.
So I need a program to convert these files into data that can be stored and analyzed, and that is also capable of updating the firewall with the top-100 addresses; the Vigor is capable of storing 192 single addresses, address ranges or networks that can be denied access – at the gate.
I started with a DCL-procedure that splits the SYSLOGD output – either active or archived – into incoming and outgoing traffic; each of which is next split into protocol-specific files; so at that moment, I have all lines of logging for every protocol, either incoming or outgoing – in exactly the same, fixed format. Therfore, it’s very easy to extract the required data from these files: date and time of access, the source and destination address and port – and the protocol.
Since there is quite a number of archives to process, I also created a procedure to scan a directory for these files – put there by hand of by unzipping an archive – and have each file processed that way. I’ve taken a decision to mark each final output file by the date it is created, and once created (if not existing) it will be extended with each SYSLOGD file that is processed.
This works fine now – next is the extraction of the same data from the PMAS logfiles, but IIRC, that has been done already, I just have to look fro them; otherwise, it is not a lot of work to do the same for these files. The same applies to the web-server access logfiles: Create a procedure that can handle one, and I’m done (just add a wrapper that passes the filename of the file to be processed.).
And, of course, a program to store this data into a database, a program to analyze the data, and one to update the firewall accoringly.
A few days ago, I found out – by accident – that the PMAS license expires tomorrow. I sent a request for a new license to the address I know exsists for that type of message – but it bounced. Next, I sent it to the address of Hunter Goatley – who’s in charge of the hobbyist licenses – and that bounced as well. So I sent it to the support desk of Process Software, but since I have a free license, they couldn’t help me; in stead they passed another address – which bounced also, so I was advised to contact Hunter directly – which didn’t bounce for the next hour. So it is likely to arrive; hopefully Hunter is not on holiday, and the license arrives is time – or I’ll be buried under all the messages that PMAS is now blocking ro rejecting…Fingers crossed….
PHP upgrade (continued)
Mark found something – because Variable-format files are indeed a problem. This type wasn’t taken into account in his rigorous testing…
Now he has found what was going wrong and has released a new PHPSHR file – AND he’s now able to reproduce the error. For now, all files that are included (’require’ or ‘include’ in the code) MUST be stream_lf. So on request, I converted the only file that is in variable format, to stream_lf. PHP 5.2.6 has no problem – but when I tried with PHP 5.3, PHPWASD.EXE stopped without error – and returned a 500 error.
Running the blog with PHP.EXE didn’t change a thing….
In het startscherm kan je gaan typen om te gaan zoeken in een applicatie. Dit gedrag is ook heel eenvoudig in je applicatie te realiseren, maar er zit een maar aan. De meest voor de handliggende oplossing op keydown van het core window het searchpane openen:
PHP upgrade – continued
Got a reply from Mark – I sent him some WATCH output on the errors I encountered last Friday – and he noticed PHP code in the log – where it shouldn’t.
Admitted: I completely overlooked this part of the output….But these lines explained both the database-access problems with WP 2.6.3, and the shown PHP-code using WP 3.4.: the log shows no space, or better: line termination, between the PHP starttag and the first characters of the next line:
where you would expect
like the files read.
I encountered the first of these when I ran the blog using WP 2.6.3, with PHP 5.3. I thought the absence of the mysql and mysqli extensions were to blame, but that seems not to be the case, but the fact this file wasn’t interpreted. Apart from the other messages (that now seem to be suppressed in the PHP.INI file) this was unexpected, but it explaines the database access issue: the file is not included and interpreted but simply outputted – since there is no starttag stating this is PHP-code: the system simply concatenated the tag (which does exist in the file) and the next line – causing “
<?phpdefine“. This is the databse-access file, kept outrside the normal path, but included in wp-config.php. And, in the WP 2.6.3 environment, it is the only file in Variable format.
As for the second example, this is a plain WP 3.4 file – the one I have converted to Variable format on request of Mark. Again: the lines are simply concatenated – WITHOUT addein Linefeed or NULL character, causing it to be interpreted as plain text to be outputted, in stead of being PHP code to be interpreted. Therefore, the database access file is never reached, so you would never see the first message showing up.