NFS Change log

Version 0.03

Fix logons so that they work all the time.


Version 0.04

Implement NFS printing.
Work around special field 2 always being given by FileSwitch on a rename.
Issue Service_NFSs on startup, mount and dismount.
Implement NFS$TruncateLength. This system variable indicates the length to
which filenames will be frequently truncated. This truncation happens often:
whenever a lookup is made only that many characters are compared; stamping
or setting a file's type will cause its name to be truncated; names are
returned from the server truncated to that length.
Bug in SWI NFS_Mount whereby sometimes a mount would be rejected for no good reason.
Don't allow non-owners of files (uid of file and owner are the same) to explicitely set the date and time stamps.
Wildcards fully implemented and bug whereby lcat and lex took no notice of the path fixed.
Reduce heap rot caused by an rmkill.
Support for alternative file extensions added: Inet:files.extensions specify
which extensions to use and how they are applied.
'Permission denied' error text changed to include 'bad name'.
Fix bug whereby converting from unix to riscos dates suffered from over rounding and also round up all dates converted from riscos to unix to the nearest second to improve the performance of Copy newer.

Version 0.05
Create files with date stamps guaranteed to be as specified.
Rename to change case of filename now works.

Version 0.06
Remove Beta release from text
Fix bug whereby untyped files didn't *Load

Version 0.07
Fix initialisation bug whereby the Data Abort vector got corrupted
Fix Bug whereby wildcarded names didn't get their leaf expanded for display purposes
Fix bug whereby the root directories (%, @ and &) got a . prefix in the *. title.
Fix bug whereby *. of $ didn't produce a dir name.
Fix bug whereby *wipe didn't not give an error.
Fix bug whereby OS_GBPB read at the end of non-256-byte multiple sized untyped files hung.
Fix *Mount so that :s aren't accepted in the mount name.
Fix NFS_Mount so that :s aren't accepted in the mount name.
Fix *Dir, *URD *Lib to use the correct defaults for no directory specified ("&", "$" and "$").
Escape handled
Tidy display by *free
Special field not recognised error returned correctly.
Don't try refering to bytes before the end of the name when translating from NFSname to RISCOS name.

Version 1.00 27/6/90
Mount mountname sets csd etc to given mountname
*Bye ends by logging on as nobody.
*access, *info and *fileinfo now complain if no file's were found
*access now complains if a bad access string was given
Only return from read dir entries with r4=-1 if number of objects read was 0
Fix *EX formatting for long file names.
Fix dismount so that when re-entered due to closing a spool file for dismounting a spool mount it leaves the completion of the dismount to the top level dismount.

Version 1.01
Created for release to clean up the version numbers.

Version 1.02 14/9/90
Fix bug whereby read_dir_entries didn't take account of the round up needed
after each entry, thus likely to poo off the end of the user's buffer under
multiple entry circumstances.

24/08/92 JRS  Started from version 1.01 from D.O.

Added changes from JRoach:
         asm.Interface          Added profiler calls
         c.Cache                Added profiler calls and changed res in nfs_read
                                from static to auto.
         c.PutBytesX            Added profiler calls
         c._Func                in read_dir_entries removed rounding from buffer size
                                (described above)
         cmhg.nfscmhg           changed version to 1.02
         doc.Commands           A few corrections made
         doc.Release            added
         doc.swis               Minor addition to the documentation
         h.Consts               Changed ReadArgsBufferLen from 64 to 256
         h.NFS                  Changed errno.h import to unixenv.errno.h
                                ifdef SMALL_PACKETS set NFS_MAXDATA to 1024.
         rpc                    directory removed. Used InetDev:rpc.rpcsvc.output
                                instead.
         amu.Makefile           changed in line with change to rpc directory structure.

Further bugFixes:
         JRS c/h.ChangeInfo     added fill_it argument to change_length_given_file, since
              c._Args           zero pointer for filling can be valid.
                                This fixes bug RI-0400 ("*Save to NFS fails if start address
                                is zero").
             c/h.db (new)       support for debugging to a file
             h.NFS              included db.h and defined DEBUGON
             c.Utils            in askfor_password use carry to detect escape in OS_ReadLine,
                                since _kernel_escape_seen() doesn't seem to work in this case.
                                Fixes bug RI-0399 ("Pressing ESCAPE at password prompt causes
                                an inappropriate error message").
             c/h.access         test file read-write access permissions.
             c._File            test read-access on LOAD.
                                This part-fixes bug (number not allocated yet). ("setting of file
                                access on server is ignored by client").
                                Added extra argument required by create_nfs_file in
                                FSEntry_File_Reason_SaveFile.
             c._Close           test for read-only file before updating attributes on close.
                                This prevents non-writeable files from having the datestamp
                                updated on close after failed write. (RISC OS Error?).
             c/h._Open          extra arg fill_it to create_nfs_file (see ChangeInfo change above)
                                to pass to change_length_given_file.
             c._Open            Check access on open. Removed return in default case which would
                                have left hourglass on.

01/09/92 JRS
        Mainly changes to fix fault "File name mapping is done to directories". nfs_file_descriptor
        has to be passed down to level where extensions are processed so that it can test for file
        or directory.
             c/h.extensions
             c._File
             c/h.ChangeInfo
             c/h.enumdir
             c/h.pathmunge
             c.Func

02/09/92 JRS c/h.Utils          Added function utils_getcreateaccess which reads a per-mount variable
             c._Open            NFS$CreateAccess_foo, or a global variable NFS$CreateAccess to determine
             c._File            the required create access.


14/09/92 JRS c/h.Cache          Changed nfs_read to use standard nfsproc_read_2 routine instead of
                                the clnt_call to use speeded_xdr_readres() which offers no advantage.
                                Removed speeded_xdr_readres() (was in fact identical code to xdr_readres!).
                                Added new routines nfs_readmany() and nfs_writemany() which use the new
                                fast transfer code in module nfsrw.
             c/h.nfsrw          New module added to support fast read/write transfers using new rpc clntudp
                                interface.
         JRS c.Commands         *free changed to use new utils_getfreespace call. Reports quota and
                                gives over-quota warning.
             c.ModuleWrap       changed SWI FreeSpace to use utils_getfreespace.
             c.pathmunge        Added TRACE_LOC switch to turn local tracing on or off.
             c/h.Utils          Changed name of get_free_space to utils_getfreespace. Changed it
                                to return quota info if available.
                                Added call getnfsquota() to get quota info.
             c/h.rquota         New module added for quota rpc support.
             c.GBPB             getbytes and putbytes changed to use nfs_readmany() and nfs_writemany().

14/09/92 JRS new version 1.03 created
             cmhg.nfscmhg       updated to 1.03
16/09/92 JRS c.Cache            Corrected faulty change to use nfsproc_read_2 in nfs_read. Restored clnt_call.
             c.nfsrw            Changed MAXCOROUTINES from 4 to 3 to prevent overruns on 32K ethernet cards.
17/09/92 JRS c._GBPB            extensively modified getbytes and putbytes to use nfs_readmany for data size
                                greater than NFS_MAXDATA.
21/09/92 JRS h.Types            Added quota_clients field to Host struct
             c/h.Clients        Added new call get_quota_client to get a client for a quota rpc
             c.Utils            Used get_quota_client() to get client for quota rpc in utils_getfsspace().
                                This saves getting a new client for each call, so saving disc access for the
                                hosts database each time (it is called often with a free display open).
                                new_host and release_host call initialise_header and junk_clients for
                                quota_clients.
