Finally merged the branch 'apache20'(+'apache2') back to the main trunk.
[www.jankratochvil.net.git] / project / captive / Index.html.pl
diff --git a/project/captive/Index.html.pl b/project/captive/Index.html.pl
deleted file mode 100755 (executable)
index ce69391..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-#! /usr/bin/perl
-# 
-# $Id$
-# Main page of 'My::Project::captive'
-# Copyright (C) 2003 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
-# 
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; exactly version 2 of June 1991 is required
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-package project::captive::Index;
-require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway
-our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
-our $CVS_ID=q$Id$;
-use strict;
-use warnings;
-
-BEGIN{ open F,"Makefile"; our $top_dir=pop @{[split /\s/,(grep /^top_srcdir/,<F>)[0]]}; eval "use lib '$top_dir'"; close F; }
-use My::Web;
-Wuse 'My::Project';
-Wuse 'project::captive::ListItem';
-
-
-my $lang="";
-# do { $lang="de" if $_ && /^de/i; } for ($ENV{"HTTP_ACCEPT_LANGUAGE"});
-
-
-my $W=My::Project->init_project(
-               "__PACKAGE__"=>__PACKAGE__,
-               "ListItem"=>\@project::captive::ListItem::ListItem,
-               "no_project_data"=>1,
-               "head_css"=>"
-.reqpkg { font-style: italic; }
-.stuff  { font-style: italic; font-size: larger; margin-left: 20%; margin-right: 10%; }
-.re     { font-style: italic; }
-table.mailman > * /* FIXME: What is it? */ > tr > th,
-table.mailman > * /* FIXME: What is it? */ > tr > td { padding: 1ex; text-align: center; }
-table.download td { padding: 8px; }
-table.navigate td { padding-bottom: 1ex; padding-left: 15px; padding-right: 15px; }
-",
-               "project_text_after_title"=>""
-                               .($lang ne "de" ? "" : "<h1>Captive:"
-                                               ." Das erste kostenlose Programm um auf ein NTFS Dateisystem unter GNU/Linux zu lesen und zu schreiben</h1>")
-                               .'<table border="0" width="100%"><tr><td align="center">'
-                                       .'<table border="0" class="navigate"><tr>'
-                                               .'<td>&bull;&nbsp;'.a_href('#download','Download').'</td>'
-                                               .'<td>&bull;&nbsp;'.a_href('#news','NEWS').'</td>'
-                                               .'<td>&bull;&nbsp;'.a_href('#testimonials','Testimonials').'</td>'
-                                               .'<td>&bull;&nbsp;'.a_href('#press','Internet Press').'</td>'
-                                               .'<td>&bull;&nbsp;'.a_href('#notes','Installation Notes').'</td>'
-                                               .'<td>&bull;&nbsp;'.a_href('#lists','Mailing Lists').'</td>'
-                                               .'<td>&bull;&nbsp;'.a_href('#seealso','See Also').'</td>'
-                                       .'</tr></table>'
-                               .'</td></tr></table>',
-               ($lang eq "" ? () : ("force_charset"=>"utf-8")),
-               );
-
-
-print <<"HERE" if !$WebConfig::WebConfig{"no_job"};
-@{[ vskip "3ex" ]}
-
-<table border="0" width="100%"><tr><td align="center">
-       <table border="0" style="margin: 3ex; padding: 2ex; background: #bb8888;">
-               <tr><td style="font-size: larger;">
-                       Looking for a challenging job: @{[ a_href $W->{"resume_url"},"My resume" ]}
-               </td></tr>
-       </table>
-</table>
-HERE
-
-my %version=(
-               map(($_=>["1.1.5","0"]),qw(captive captive-lufs captive-install)),
-               "lufs"=>["0.9.7","1captive8"],
-               );
-
-print <<"HERE";
-<a name="download"><h2>Download</h2></a>
-
-<h3>Choose the one preferred installation format:</h3>
-
-<table border="0" align="center" width="100%"><tr><td align="center">
-<table border="1" frame="border" rules="rows" align="center" style="text-align: center;" class="download">
-       <tr>
-               <td>
-HERE
-       if ($lang eq "") {
-               print "RPM i386 binary<br />tested for distributions:";
-               }
-       if ($lang eq "de") {
-               print "RPM i386 Binärcode<br />getestet für den Betrieb unter:";
-               }
-print <<"HERE";
-                                       <table border="0"><tr><td align="left"><ul>
-                                               <li>Red&nbsp;Hat&nbsp;9&nbsp;Shrike</li>
-                                               <li>Red&nbsp;Hat&nbsp;8&nbsp;Psyche</li>
-                                               <li>SuSE&nbsp;9.0</li>
-                                               <li>SuSE&nbsp;9.1</li>
-                                               <li>Mandrake&nbsp;9.1&nbsp;Bamboo</li>
-                                       </ul></td></tr></table>
-               </td>
-               <td>@{[ a_href 'dist/captive-static-'.$version{"captive"}[0].'-'.$version{"captive"}[1].'.i386.rpm',
-                               undef(),"size"=>1,"basename"=>1 ]}</td>
-       </tr>
-       <tr>
-               <td>
-HERE
-       if ($lang eq "") {
-               print ".tar.gz i386 binary<br />(for non-RPM distributions)";
-               }
-       if ($lang eq "de") {
-               print ".tar.gz i386 Binärcode<br />(für Linux Versionen ohne RPM z.B. Knoppix)";
-               }
-print <<"HERE";
-                               </td>
-               <td>@{[ a_href 'dist/captive-static-'.$version{"captive"}[0].'.tar.gz',undef(),"size"=>1,"basename"=>1 ]}</td>
-       </tr>
-       <tr>
-               <td>Source archives</td>
-               <td>@{[ a_href 'CVS.html.pl#source','download link' ]}</td>
-       </tr>
-</table>
-</td></tr></table>
-
-<h4>Development Status</h4>
-
-<p>Project is no longer developed. The key functionality is reached
-by the latest released version. All its resources are available
-@{[ a_href 'CVS.html.pl#source','here' ]} for download.</p>
-
-<h4>Known Issue</h4>
-
-<p>Captive was written to interface with the Linux kernel via
-@{[ a_href 'http://lufs.sourceforge.net/lufs/','LUFS' ]}.
-Unfortunately, this project is no longer being maintained by its author.
-Mounting of NTFS devices usually works, but is no longer supported by the
-author of Captive. Always unmount the device by umount(8) command before shutting
-down your GNU/Linux system.</p>
-
-<p>A port of Captive to the newer
-@{[ a_href 'http://fuse.sourceforge.net/','FUSE' ]}
-interface has not yet been implemented.
-There is an experimental LUFS-FUSE bridge called
-@{[ a_href 'http://sourceforge.net/project/showfiles.php?group_id=121684','lufis' ]}
-that can be used in the meanwhile.
-Also, the captive-cmdline(1) interface will get around any kernel compatibility
-problems.</p>
-
-@{[ vskip "3ex" ]}
-
-<a name="news"><h2>NEWS</h2></a>
-
-<dl>
-       <dt>captive-1.1.5 (2004-01-18) [@{[ a_href $W->{"project_viewcvs"}.'/*checkout*/captive/NEWS?rev=HEAD','archive' ]}]</dt>
-       <dd>
-               <ul>
-                       <li>Fixed ignorance of the file truncate operation via LUFS (Matthias R.)</li>
-                       <li>Support for reading of HIDDEN SYSTEM NTFS files via LUFS</li>
-                       <li>Fixed refusal to mount some NT4.0 NTFSes (Nerijus Baliunas, Scott Chevalley)</li>
-                       <li>Support <code>/dev/ataraid</code> devices (Ivan Tonov)</li>
-               </ul>
-       </dd>
-       <dt>lufs-0.9.7captive8 (2003-12-06) [@{[ a_href $W->{"project_viewcvs"}.'/*checkout*/lufs/NEWS.captive?rev=1.1.2.11','archive' ]}]</dt>
-</dl>
-
-@{[ vskip "3ex" ]}
-
-<a name="testimonials"><h2>Captive NTFS Testimonials</h2></a>
-
-<ul>
-       <li>Hospital of Castelo Branco - Bruno Santos
-               <p>we are preparing the machines to install another system that will allow
-               the digitalization of medical images - PACS (picture archive and
-               communication system).</p>
-
-               <p>since the computers that are need are about 100 and we need to install
-               windows in all of them (even we have an almost automated instalation - but
-               requires some administrator interaction). So, we want to install
-               windows2000 without pressing a key.</p>
-
-               <p>@{[ a_href 'TestimonialBrunoSantos.html.pl','<span style="font-style: italic;">[ more ]</span>' ]}</p>
-       </li>
-       <li>@{[ a_href 'http://www.amunra.co.uk/','Dave &quot;AmunRa&quot; Rigby' ]}
-               <p>Ok, I'm impressed (@{[ a_href 'http://www.amunra.co.uk/archives/000028.php','Captive Review' ]})</p>
-               <p>Linux software generally has a reputation for having some great, novell
-               ideas, but often lacking in the general 'spit and polish' - difficult to
-               install, unreliable, and so on. However the latest program I have tried out
-               - Captive, is a breath of fresh air - simple to install and set up, and It
-               Just WorksTM. And not only that, it's probably one of the most useful and
-               technically impressive projects I've seen in a long time ...</p>
-               <p><span style="font-style: italic;">[ snip ]</span></p>
-       </li>
-       <li>Derek J Witt
-               <p>I commend you for this project. I am currently using this on my XP NTFS
-               partitions and I am impressed that I can actually move, edit, and remove files
-               and directories with no apparent ill effects. This is very nice indeed.</p>
-               <p>I initially was skeptical because it uses wine and parts of ReactOS
-                (I have messed with this OS a few times), but you have proved me wrong. I have
-               noticed no lag on my system.  I do notice the initial mounting process does
-               take slightly longer than the Linux-NTFS project. But, once I'm past that, it's
-               quite transparent.</p>
-               <p><span style="font-style: italic;">[ technical question cut ]</span></p>
-       </li>
-       <li>James Van't Slot
-               <p>Just wanted to drop you a note and say &quot;Excellent work!&quot;</p>
-               <p>I just installed captive and it worked as advertized right out of the
-               rpm.  Thanks, I've been holding off recompiling my kernel until NTFS is
-               supported out of the box for Redhat.  Now I don't have to bother.</p>
-               <p>Thanks again and keep up the great work.</p>
-       </li>
-</ul>
-
-<a name="press"><h2>@{[ a_href 'Press.html.pl','Internet Press' ]}</h2></a>
-
-@{[ vskip "3ex" ]}
-
-
-<a name="notes"><h1>
-HERE
-       if ($lang eq "") {
-               print "Installation Notes";
-               }
-       if ($lang eq "de") {
-               print "Installationsanleitung";
-               }
-print <<"HERE";
-</h1></a>
-HERE
-       if ($lang eq "") {
-               print <<"EOF";
-<p>You should first run <b>captive-install-acquire</b> command to check your
-available Microsoft Windows drivers versions. Now you can execute:</p>
-EOF
-               }
-       if ($lang eq "de") {
-               print <<"EOF";
-<p>Sie sollten als erstes den Befehl <b>captive-install-acquire</b>
-ausführen um ihre Windows Treiber Version zu überprüfen. Nun können sie folgenden Befehl ausführen:</p>
-EOF
-               }
-print <<"HERE";
-
-<blockquote>
-       <p class="quote" style="white-space: pre;"
-># captive-cmdline \\
-               --load-module=/var/lib/captive/ntoskrnl.exe \\
-               --filesystem=/var/lib/captive/ntfs.sys \\
-               --sandbox-server=/usr/sbin/captive-sandbox-server \\
-               --bug-pathname=/tmp/captive-bug-%FT%T.captivebug.xml.gz \\
-               --disk --rw /dev/hda1
-# Now you can use ftp(1)-like command-line interface for the NTFS disk access.</p
-       >
-       <p>(Backslash end-of-line characters '\\' to be omitted for line continuation.)</p>
-</blockquote>
-
-
-HERE
-       if ($lang eq "") {
-               print <<"EOF";
-<h2>Overview</h2>
-
-<p>Any errors from '<b>captive-lufs</b>' are written to '<b>/var/log/messages</b>'.</p>
-<p>Needed drivers (at least ntoskrnl.exe+ntfs.sys) must be in '<b>/var/lib/captive</b>'.</p>
-<p>'<b>captive</b>' package creates '<b>captive</b>' user and '<b>captive</b>' group on your system.</p>
-EOF
-               }
-       if ($lang eq "de") {
-               print <<"EOF";
-<h2>Übersicht</h2>
-
-<p>Jegliche Fehler des '<b>captive-lufs</b>' werden im Ordner '<b>/var/log/messages</b>' aufgelistet.</p>
-<p>Die Dateien ntoskrnl.exe und ntfs.sys müssen in den '<b>/var/lib/captive</b>'-Ordner kopiert werden.
-(Empfehlendswert über ein Wechseldatenträger [CD-ROM, Diskette].)</p>
-<p>Das '<b>captive</b>' Packet erstellt einen '<b>captive</b>' Benutzer und eine '<b>captive</b>' Gruppe auf Ihrem System.</p>
-<p align="right" style="font-size: smaller;">Übersetzung von Botond Beres.</p>
-EOF
-               }
-print <<"HERE";
-
-
-<h2>LUFS Kernel Driver Module</h2>
-
-<p>@{[ a_href 'http://lufs.sourceforge.net/lufs/','LUFS' ]} (Linux Userland File
-System) needs Linux kernel module driver (<i>lufs.o</i>) compatible with your
-running Linux kernel. The binary driver is supplied already precompiled for many
-Linux kernel versions in the binary packages above (<b>.i386.rpm</b> and
-<b>_i386.deb</b> archives).</p>
-
-<p>If you cannot <b>mount</b>(8) your NTFS filesystem you should run <span
-class="quote">/usr/share/lufs/prepmod</span> to see the reasons. It is always
-recommended to upgrade to the latest stable kernel supplied by your GNU/Linux
-distribution vendor. You may need to install package
-<b>kernel-source</b> (Red Hat) or <b>kernel-headers</b> (Debian) matching your
-Linux kernel version (<b>rpm&nbsp;-q&nbsp;kernel</b>) and re-run <span
-class="quote">/usr/share/lufs/prepmod</span>.</p>
-
-<p><b>WARNING:</b> This 'captive' package may modify your Linux kernel
-sources matching your currently running kernel version. These minor
-modifications may include a dependencies rebuild, compiling build tools, fixes of
-several include files, etc. All the modifications are done at the mount(8) time
-by the automatically executed <span class="quote">/usr/share/lufs/prepmod</span> script.
-This behavior was not present in the original
-@{[ a_href 'http://lufs.sourceforge.net/lufs/','LUFS' ]} distribution
-by @{[ a_href 'http://www.malinux.net/main/','Florin Malita' ]}.</p>
-
-
-HERE
-
-
-print rightimg <<"HERE",'reactos','ReactOS',"a_href"=>'http://www.reactos.com/';
-       <h2>The First Open Source MS-Windows Kernel API for Free OS</h2>
-
-       <p>Compatibility with the existing binary Microsoft Windows file system drivers has been
-       reached. Microsoft Windows kernel system components required by these drivers
-       were analyzed and successfully emulated in the GNU/Linux operating system.
-       The project brings the Microsoft Windows kernel emulation framework to support even
-       other types of Microsoft Windows drivers in the future.
-       The <span class="productname">@{[ a_href 'http://www.reactos.com/','ReactOS' ]}</span>
-       code base proved to be a big asset for this functionality.</p>
-HERE
-
-
-my @lists=qw(captive-announce-list captive-list captive-devel-list);
-
-print <<"HERE";
-
-<a name="lists"><h2>Mailing Lists</h2></a>
-
-<form action="@{[ top_dir("/Mailman.pl") ]}" method="post">
-       <table border="1" class="mailman" style="border-collapse: collapse; border-style: solid; border-width: 1px;">
-               <tr>@{[ map('<th>'.$_.'@jankratochvil.net</th>',@lists) ]}</tr>
-               <tr><td>New version announcements<br />
-                       (low traffic, recommended)</td>
-                               <td>User support,<br />bug reports</td>
-                               <td>Development</td>
-                               </tr>
-               <tr>@{[ map({ "<td>".a_href(&{$W->{"mailman_url_sub"}}()."listinfo/$_",'Mailman Infopage')."</td>"; } @lists) ]}</tr>
-               <tr>@{[ map({ "<td>".a_href(&{$W->{"pipermail_url_sub"}}()."$_",'Archive')."</td>"; } @lists) ]}</tr>
-               <tr>@{[
-                       map(('<td><input type="checkbox" name="list" value="'.$_.'"'
-                                       .($_ ne "captive-announce-list" ? '' : ' checked="checked"')
-                                       .' /> Subscribe?</td>'),@lists)
-                       ]}</tr>
-               <tr><td colspan="3">
-                       <table border="0" style="text-align: left;">
-                               <tr><td>Email address:            </td><td><input type="text"     name="email"   size="30" /></td></tr>
-                               <tr><td>Your new Mailman password:</td><td><input type="password" name="pw"      size="15" /></td></tr>
-                               <tr><td>Reenter your password:    </td><td><input type="password" name="pw-conf" size="15" /></td></tr>
-                       </table>
-                       <p><input type="submit" name="email-button" value="Subscribe me" /></p>
-               </td></tr>
-       </table>
-<input type="hidden" name="back" value="/project/captive/#lists" />
-</form>
-
-
-@{[ vskip "3ex" ]}
-
-<a name="seealso"><h1>See Also</h1></a>
-<ul>
-       <li>@{[ a_href 'Preview.html.pl','Technology Preview' ]}</li>
-       <li>@{[ a_href 'CVS.html.pl','Download Sources, CVS Repository' ]}</li>
-       <li>@{[ a_href 'doc/','Developer Documentation' ]}; highlights:<ul>
-               <li>@{[ a_href 'doc/About.html.pl#versions','Microsoft Windows Versions Compatibility' ]}</li>
-               <li>@{[ a_href 'doc/Architecture.html.pl#law','Laws and Licensing Conditions' ]}</li>
-               <li>@{[ a_href 'doc/Details.html.pl#sandbox','Sandboxing of W32 Filesystem' ]}</li>
-               <li>@{[ a_href 'doc/TODO.html.pl#todo_fsck','TODO: Fsck of NTFS' ]}</li>
-               <li>@{[ a_href 'doc/TODO.html.pl#todo_surprise','TODO: NTFS Support for Partition Surprise' ]}</li>
-               <li>@{[ a_href 'doc/Related.html.pl#LinuxNTFScompet','Related Projects - Linux NTFS' ]}</li>
-               <li>@{[ a_href 'doc/Related.html.pl#vmware','Related Projects - VMware Workstation' ]}</li>
-               <li>@{[ a_href 'doc/LinuxNTFS.html.pl',"Re: 7.7 Can't we write a wrapper for Windows' driver?" ]}</li>
-               </ul></li>
-       <li>@{[ a_href $W->{"project_viewcvs"}.'/*checkout*/captive/TODO?rev=HEAD','Known Bugs' ]}</li>
-       <li>Man Pages<ul>
-               @{[
-                       do {
-                               my @mans=(
-                                               'captive'=>[7,'Microsoft Windows NT kernel emulation for NTFS disk access'],
-                                               'mount.captive'=>[8,'mount(8) interface for NTFS disk access'],
-                                               'lufs-captivefs'=>[7,'Linux Userland File System module for NTFS as filesystem'],
-                                               'captive-cmdline'=>[1,'Command-line client for captive(7) NTFS disk access'],
-###                                            'captive-sandbox-server'=>[1,'Security+safety wrapper for NTFS disk access'],
-                                               'captive-install-acquire'=>[1,'Find MS Windows XP driver files for NTFS'],
-###                                            'captive-install-fstab'=>[1,'Manage captive-ntfs /etc/fstab entries'],
-                                               );
-                               my @r;
-                               while (@mans) {
-                                       my $file=shift @mans;
-                                       my($section,$name)=@{shift @mans};
-                                       push @r,"<li>".a_href("man/$file.pod.html",$file)."($section) - $name</li>\n";
-                                       }
-                               @r;
-                               }
-                       ]}
-               </ul></li>
-       <li>@{[ a_href 'Resources.html.pl','Related Pages' ]}</li>
-       <li>@{[ a_href 'Thanks.html.pl','Thanks' ]}</li>
-</ul>
-HERE
-
-
-My::Web->footer();