Added a new format of “now[+|-]m” for specifying a date and time. This represents the current time plus or minus an offset in minutes.
Increased the maximum output line length from 8192 to 16384 for all programs.
Fixed an issue where netcopy, fsupdate, movehome and the GUI whodidit no longer copied files larger than 4.3 GB due to Novell making an undocumented API change. An attempt to open such a file resulted in an “Access denied” error.
Extended attributes (EAs) are supported on non-NSS NCP volumes on OES SP2 Linux but there are numerous problems with the APIs dealing with these. The problems resulted in netcopy, fsupdate, movehome and the GUI whodidit reporting that the “Extended attribute could not be found” when copying EAs to an NCP volume, and failing to recognise the presence of EAs when copying from an NCP volume. These issues have been worked around by using older APIs which work correctly but do not support UTF-8 encoded paths. Further EA related issues have been worked around in whodidit – see below.
Modified the way various programs detect the name spaces available on non-traditional volumes. Previously, if the volume had the NSS flag set, it was assumed that all name spaces were available. However, NCP volumes on OES SP2 Linux currently have the NSS flag set but do not support Mac and NFS. The consequence of this change is warnings rather than error messages when copying a Mac or NFS file to an OES SP2 NCP volume.
Suppressed the long standing feature in netcopy, fsupdate, movehome and the GUI whodidit, of retaining the DOS name when copying files and directories. This was done as a result of a bug on NCP volumes on OES SP2 where renaming an entry in just the DOS name space results in the DOS name also being set as the long name.
Made numerous changes to work around another bug on NCP volumes on OES SP2 where an invalid DOS name can be assigned to a file or directory when ten or more entries in the same location have the same first eight characters in the name. For example creating ten files named Photograph01.jpg through Photograph10.jpg results in Photograph10.jpg having the DOS name PHOTOG~:.JPG. The colon is an invalid character in a DOS or long name, being reserved for use as a separator between the drive or volume name and the rest of the path. Netcopy, fsupdate, movehome and the GUI whodidit makes extensive use of the DOS name space, partly because some NCP functions require DOS paths, but also because historically using the DOS path has proved more reliable as it avoids issues with lengths over 300 characters, and (ironically) has avoided issues with unusual characters. Novell have acknowledged the problem and a fix will be made, probably in SP3.
Fixed an issue in netcopy, fsupdate, movehome and the GUI whodidit when checking for the existence of a directory in the target path on NetWare, where it was failing to detect if a matching entry was a file instead of a directory. This could result in numerous errors as the programs assumed the target directory already existed and proceeded to attempt to copy file and directories into it. This previously worked correctly when copying to a Windows drive.
Modified netcopy, fsupdate, movehome and the GUI whodidit to convert the names of DOS paths to uppercase. While DOS names normally contain only uppercase characters, NSS has in the past allowed lowercase DOS names, and sometimes files with lowercase names are inadvertently created. Recent versions of NSS give a confusing error when trying to create a lowercase DOS name, so these programs now automatically convert DOS names to uppercase as necessary.
Modified netcopy, fsupdate, movehome and the GUI whodidit to cope with a change in behaviour on NCP volumes on some versions of OES where it is not permitted to set a zero value for the archiverID and an error of “No items found” results when setting file or directory attributes. NetWare has always allowed a zero value for the archiverID to indicate that the entry has not been archived. These programs now check for this error and when found, makes a second attempt at setting the attributes omitting the archiverID.
Fixed an issue in various programs arising from a bug in OES SP2 Linux where setting a combination of attributes including P (purge immediate) for a directory could result in the “execute only” bit being set by the operating system. Salvaging of files is not supported on NCP volumes and any attempt to set the P flag is normally ignored. The issue has been worked around (specifically it occurs when the request to modify attributes includes both bits 0x10000 and 0x10), but programs in JRButils will continue to attempt to set this attribute when requested in case salvage becomes supported in the future.
Fixed an issue where a number of programs could report that the path read from a user’s “Home Directory” attribute did not exist when the path was on a traditional volume and was stored with a leading slash e.g. \users\fred.
Updated the GUI programs using a tree view to locate eDirectory objects, to expand the tree view to the current context. Previously, the tree view was expanded only at the [Root] level.
Modified netcopy, fsupdate, movehome and the GUI whodidit to alleviate an NSS bug when copying compressed files to another server and retaining compression. The server can return 0 bytes of data in response to a valid read request resulting in the programs reporting “ReadFile returned 0 bytes of data from the source file”. The problem does not occur when copying internally within the same server or when compression is not retained. Experimentation with different buffer sizes shows the issue is dependent on the size of the read request and using an unusual size such as 997 bytes works most reliably. The programs now use a 997 byte buffer when retaining compression otherwise a 20480 byte buffer. Decompressing and recompressing the file appears to remove the problem. The issue has been reproduced on NW 6.0 SP3 and NW 6.5 SP6.
Updated all programs to better deal with servers being specified via DNS names or IP numbers. While all programs would successfully connect via these names, the DNS names and IP numbers were not translated back to physical server names. This could lead to comparisons of server names failing, and the programs failing to recognise an existing connection to those servers, possibly resulting in loss of drive mappings if the connection was subsequently closed.
Modified the Part 2 programs which display output in a window, to automatically scroll down as lines are added, so long as the vertical scroll thumb is at the bottom of the slider.
Updated all GroupWise aware programs to allow for GroupWise running on a non-NetWare server. The programs attempt to connect to the domain database via both the domain object name and the path to the domain database, the latter having proved to be the most reliable. When the path to the domain database is retrieved from the domain object’s “NGW: Location” attribute, it was assumed that the path would always be in UNC format. However, this is not the case, and a path in any other format was ignored. This has now been corrected. The problem could result in errors such as “Unable to connect to server ” (without a target server name) from programs such as setpword.