some improvements for ncpfs on 2.0.33

Christian Groessler (chris@fast-ag.de)
Wed, 31 Dec 1997 00:07:35 +0100


--Multipart_Wed_Dec_31_00:00:30_1997-1
Content-Type: text/plain; charset=US-ASCII

Hi there,

being annoyed by some properties of the current ncpfs code, especially
that you cannot see whether a file is read-only or the inability to
rename read-only files, I decided to try to fix that.

This produced the following patch (for 2.0.33, some earlier kernels
should work, too) which:
a, displays the setting of a file's R-bit (read-only) as
inverse w protection bit, i.e. R-bit set -> w-bit not set,
R-bit not set -> w-bit set.
b, lets you change the R-bit with chmod
c, read-only files (R-bit set) can be renamed
d, read-only files can be deleted
e, fixes an off-by-1 bug in ncp_open_create_file_or_subdir
function (inside ncpfs).

Since c, and d, are rather dangerous (but more Unix-like :-) ), they
are enabled via a mount option. For this, ncpmount (from ncpfs-2.0.11
tools) was modified to provide that mount flag to the kernel.
If you specify "-s" when ncpmounting a file system, options c, and d,
are enabled.

So, ncpfs users, please try this out and give comments/suggestions.
If there is enough response I'll try to port it over to the 2.1.x line.

BTW, the last time I checked ncpfs on the 2.1.x (x around 63), ncpfs
didn't work for me. Has this changed already?

regards,
chris

--Multipart_Wed_Dec_31_00:00:30_1997-1
Content-Type: application/octet-stream; type=gzip
Content-Disposition: attachment; filename="ncpmount.ro_files.diff.gz"
Content-Transfer-Encoding: x-uue

begin 640 ncpmount.ro_files.diff.gz
M'XL("(LTJ#0"`VYC<&UO=6YT+G)O7V9I;&5S+F1I9F8`G5-=3]LP%'U.?\6E
MTD1"/MJT=*6N8)7XF)"@K2CE:5+E)DYBD3I1[`38]N-WG;:,P+0'+"6.[9QS
MS[GWVG5=$$$>2;?G=3W?=[."QQU9*IYV<'^3E4)Y@;$H!5RQ-?3ZX/?(H$>.
M??!'HV'+MNT&_B/T-A-PP0+HC1"-.-(]WD(G$W#]T<`9@KV=)I,6M,`H\X!*
MMLJIE$]9$<(I^&,\<(VGA*<,3#/+%6[&3.&'28LX<`#?E0/M\P59DH"4)"81
M"<F<B.1;]4`4*4C;LEKVIRAD@P,,V(Z#4[B<7>F-7_@8\HFK(`'-;-76>L.!
M\Q5L/8UJ:X:A?<%A>$CTP@BIHE[(B]4F"QFJD:I06:H)4(H#T^7-C0,GUKC^
M>5TP^CA&!SL2B23VGB1*:2SA]RE,S^>KV]ER>K]:W-_-IM]KP![[*F"^$\`C
M,#%HRL0NJ`5G*(/_9%EDRIP%[MF^"+5Q`YUJ9_UN7;1^]V17-#Q)6)J;.ZWL
MF2O3M]Y$K#"BBR=17G"AD%R%K"@PVW7K0,4*R;%-OL@?HNUH%U>+U</EW>)Z
M-K6V'CZ!A+;GMZTQ=(X@R.,)36D8<N&%C`"2552Q5_A1YX/PD$6T3-4V4Z6D
M,=/VM/W!L*L+.QCVG9.M_5U'M%T!;\=%!B)34&(&J'B!?2Y1Z1L,-,=U!()Q
ME;`"W#G"<1+8F@QB7C'AP$M6ZN5_.:A\9"%$B*6O03V-L/\JE0W$I:!KO!<%
M$W3#1=P)6<J43DP6X28-W4RD+TV&=S$CO%?2@R5ZQ8N00$!+37#0%.HF#5!=
D4U`)EZ#[!Q1[5N\`U3\`S=*+<K-F11.&*RS6'V1`BJ_<!```
`
end

--Multipart_Wed_Dec_31_00:00:30_1997-1
Content-Type: text/plain; charset=US-ASCII

--Multipart_Wed_Dec_31_00:00:30_1997-1
Content-Type: application/octet-stream; type=gzip
Content-Disposition: attachment; filename="ncpfs.2.0.33.ro_files+mount_opt.diff.gz"
Content-Transfer-Encoding: x-uue

begin 640 ncpfs.2.0.33.ro_files+mount_opt.diff.gz
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
8$VO(5C@&K)`'`DB-P_I_`8>_ZCS5*@``
`
end

--Multipart_Wed_Dec_31_00:00:30_1997-1
Content-Type: text/plain; charset=US-ASCII

--Multipart_Wed_Dec_31_00:00:30_1997-1--