Perl maintenance
The Perl scripts have been updated to use compliant code for porting to operating systems other than a Linux box with Apache (with mod_perl.c or perl.exe, and zlib, etc…). The commands of open and print redirect were also modified to include suggested options for various ports the Perl scripts may encounter. Other smaller issues were also corrected. An additional user login security Perl script named kitcadi3_user_id.cgi was added to track user login sessions.
Current version of Perl (fast-cgi) is 5.8.7
The kitcadi3_cgi.conf, build, and Objects cgi files now have the following addition option:
#Change for OS File systems differance
#
$pathseperator = ‘/’;
$relpath = ‘.’ . $pathseperator;
$parentpath = ‘..’ . $pathseperator;
Note: the prefex of ‘my’ may be applied when needed
March 15th, 2008 at 9:04 pm
A bug was written into Objects/get.cgi that caused KPD files to NOT be rendered (since corrected). Suggest clearing the Browser Catche to correct any non-rendering KGC i3 KPD/JSON bug..
A catche update could be made but would simply cause another performance issue for a larger group of clients instead (with some getting both issues).
March 16th, 2008 at 2:31 am
Bug: Logout should change the password in the /login/{authkey}.auth file, this will be corrected.
March 18th, 2008 at 12:00 am
Updated the kitcadi3_pref.cgi to use passwords from kitcadi3_user_id.cgi
Fixed bug in Options/ClipED dialogs to update preferances (Ff closes the dialog). Opera9 can show errors (in regards to linked scripts not being loaded) when time-out errors occur.
Added chmod option to kitcadi3_cgi.conf and kitcadi3_user.cgi for allowing and controlling chmod commands.
April 5th, 2008 at 9:02 pm
Updated the ‘netsol’ web linux install option – this is a work in progress that will be intergrated with other installs for win9x/win32 and anything XAMPP works on.
There are many bugs in the KitCAD i3 installers for win9x/win32 systems – along with a perl scripting drama (see next post).
April 5th, 2008 at 9:08 pm
Began Bug fixing perl scripts for running with a XAMPP server with Perl 5.8.8 on win32. See the xampp i3 build files and finished xampp1.6.6a and wampp2.2 example downloads
The $ENV{HTTP_WATEVA} lines MUST be quoted, ie: $ENV{‘HTTP_WATEVA’} – also note Windows likes $SERVER{‘M$_WATEVA’} better..
The Perl (shebang) command line is to be quoted (ie: #!”C:\xampp\perl\bin\perl.exe” and paths that contain spaces or long path name support) but can also use other non-quoted path/s like #!C:\xampp\perl\bin\perl.exe and 8.3 or classic path names (more possible bugs).
The KitCAD i3 perl scripts contain exit; 0; and 1; exit lines that fail under XAMPP unless in pl mode – these lines MUST be remarked for cgi mode, and MAY be remarked for pl mode.
The KitCAD i3 perl scripts contain use command lines that fail under XAMPP unless in pl mode – these lines MUST be remarked for cgi mode, and MAY be remarked for pl mode.
The KitCAD i3 perl scripts contain varable define lines that fail under XAMPP unless in cgi mode – these lines MUST be altered for pl mode to make the varable a global, eg: my $varable = ”;
The KitCAD i3 perl scripts contain file read/write lines that fail under XAMPP unless in cgi mode – these lines MUST be altered for pl mode to make the file path complete (do not use ./ or ../), eg: “C:\\xampp\\cgi-bin\\”.’kitcadi3_x.conf’;
XAMPP supports the use of Drive Paths, so if the htdocs and cgi-bin are all located on the same disk a path above could shortened to be like “/xampp/cgi-bin”.’kitcadi3_x.conf’;
System Path and other Global varables can also resolve/finalize request for files on various systems. So use of a relative path can resolve to system or storage device path depending on a number of factors (Perhaps not a good thing so to limit the damage always use complete paths names to files where possible, or enable other restrictions).
The KitCAD i3 perl scripts contain file lock/permission change lines that fail under win32FAT/NTFS – these lines MUST be remarked for cgi mode and perl mode.
The perl ‘require’ commands currently seem to fail at this time in both pl mode and cgi mode because of bad path names to the required file/s; so kitcadi3_x.conf files MUST be merged into the parent caller (this kind of merge may not occure if no bugs are found but is required by default to ensure less bugs during the build process).
The .htaccess files for KitCAD i3 have been modified to test mod catche headers using <IfModule mod_headers.c> while the php safemode lines were remarked.
pl mode (best choice)/cgi mode for xampp is: Files ending in .cgi are processed by via apache while Files ending in .pl are processed by the localhost registry mime types, in this case using perl.exe (pl mode changes the file system cwd).
Please Note that none of the above is good or bad; Just the required steps to remove all possible bugs and path issues for a working example on the classic path of C:\ with windows 95->XP which is a major upgrade from the first alpha version of KitCAD i3
🙂
April 13th, 2008 at 8:39 pm
xampp http://localhost/ Windows Servers with web browser clients require the sysinet_hpp.js file/s to be changed from :
var getallchar = getbyline[getbysqloc].length – getendchar –1;
to:
var getallchar = getbyline[getbysqloc].length – getendchar –0;
The old-style Json Script loads (as found in vrml97, x3dv, quote, pdf11) now require any newlines or linefeeds to be removed before sending output to the web browser.
Because of the differance from operating system to operating system the values used to find string length may differ (see sysinet_hpp.js)
A solution could be written into sysinet_hpp.js that tested the [KitCAD2] and [File] strings to see if the OS returned [File] on Linux or [File on Windows (missing the ‘]‘ symbol, crlf is one char).