+link rel
[www.jankratochvil.net.git] / project / captive / doc / LinuxNTFS.html.pl
1 #! /usr/bin/perl
2
3 # $Id$
4 # Captive project doc LinuxNTFS page Perl template.
5 # Copyright (C) 2003 Jan Kratochvil <project-www.jankratochvil.net@jankratochvil.net>
6
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; exactly version 2 of June 1991 is required
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19
20
21 package project::captive::doc::LinuxNTFS;
22 require 5.6.0;  # at least 'use warnings;' but we need some 5.6.0+ modules anyway
23 our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
24 our $CVS_ID=q$Id$;
25 use strict;
26 use warnings;
27
28 BEGIN{ open F,"Makefile"; our $top_dir=pop @{[split /\s/,(grep /^top_srcdir/,<F>)[0]]}; eval "use lib '$top_dir'"; close F; }
29 use My::Web;
30 require CGI;
31 BEGIN { Wuse 'project::captive::doc::Macros'; }
32
33
34 project::captive::doc::Macros->init(
35                 "__PACKAGE__"=>__PACKAGE__,
36                 "title"=>'Captive NTFS Developer Documentation: Captive vs. Linux-NTFS',
37                 "rel_prev"=>'Related.html.pl',
38                 );
39
40
41 print <<"HERE";
42
43
44 <h1>Re: @{[ a_href 'http://linux-ntfs.sourceforge.net/info/ntfs.html#7.7',
45                 "7.7 Can't we write a wrapper for Windows' driver?" ]}</h1>
46
47         <p class="re">&gt; It sounds like a great idea, to start with, but there are numerous
48         problems.</p>
49
50         <p><span class="re">&gt; The largest technical problem is joining the Windows
51         system DLL to the Linux VFS. It could be done, but it wouldn't be pretty.</span><br />
52         Yep. :-)</p>
53
54         <p><span class="re">&gt; It would have to run as part of the kernel which would mean
55         that if it went wrong it could crash the machine. With no source, we might not
56         be able to work around the problem.</span><br />
57         @{[ a_href 'Details.html.pl#sandbox','Nope' ]},
58         @{[ a_href 'http://lufs.sourceforge.net/lufs/','Linux Userland File System (LUFS)' ]}
59         moves the filesystem implementation to UNIX userland where the Microsoft
60         Windows filesystem is completely unarmed by Captive jail of chroot(2),
61         setuid(2) and setrlimit(2). There only remains one narrow connection to the rest of
62         system (by CORBA/ORBit). The filesystem's life environment gets kill(2)ed when
63         UNIX is no longer satisfied with it. Safety similiar to
64         @{[ a_href 'http://www.vmware.com/solutions/security.html','VMware sandbox' ]}.</p>
65
66         <p><span class="re">&gt; The next major problem is compati<!--orig. text typo-->bility.
67         Which version of the Windows system file would we use? Picking one would limit
68         its use, making the wrapper versatile for all of them would be a programming
69         nightmare.</span><br />
70         Microsoft Windows NTFS filesystem driver is capable of accessing older formats
71         of the filesystem. This project currently runs Microsoft Windows XP version,
72         porting to Microsoft Windows 2003 Server expected. (Microsoft Windows upgrades
73         NTFS disk filesystem to its own version during complete CD-ROM Microsoft
74         Windows system installation &ndash; such operation is not threat this project use.)</p>
75
76         <p><span class="re">&gt; And it gets worse. The legal implications of
77         distributing Windows systems files would cause problems.</span><br />
78         User must be careful to obey all licensing restrictions according to his
79         local country laws.<br />
80         <span class="re">&gt; Also the proprietary nature of the driver would mean that
81         the other kernel coders would not investigate any problems if someone had used
82         the NTFS wrapper.</span><br />
83         It does not apply to this project due to the implemented
84         @{[ a_href 'Details.html.pl#sandbox','filesystem separation' ]}.</p>
85
86
87 HERE
88
89
90 project::captive::doc::Macros->footer();