Release Notes for JRButils for Micro Focus v27

Deleted file APIs new in OES2018

  • New APIs were introduced in OES 2018 for listing, purging and recovering deleted files. Salvlist, jrbpurge and various other programs capable of purging deleted files have been updated to use these. The technical reason for the new APIs is that they support 64 bit ZID numbers in NSS. However, all three new functions are more efficient in that they process multiple files in a single NCP request. But the new function for listing deleted files has the disadvantage of returning only a 32 bit file size. This limitation has been reported to Micro Focus and appears to be due to an oversight. Salvlist and jrbpurge can be forced to use the old API where deleted files larger than 4.3GB in size exist.


  • Worked around an InstallShield issue where some shortcuts to the parts 3 and 6 GUI programs could be created, even when that component was not selected for installation.

Changes to Multiple Programs

  • Updated the DLLs required by GroupWise aware programs to interact with the GroupWise Admin Service. A mid-year change to GroupWise 18.2 requires a minimum TLS version of 1.2. The DLLs required by 64 bit programs are now:
    The DLLs required by 32 bit programs are now:
    The older DLLs will still work correctly with GroupWise 2014, and GroupWise 18 releases prior to mid 2020. 64 bit programs have been updated to first attempt to use libcurl-x64.dll, and if not present then libcurl.dll. Previously both 32 and 64 bit versions of libcurl.dll had the same name. Further, several previously required DLLs e.g. zlib1.dll are now statically linked into libcurl-x64.dll and libcurl.dll.
  • Added /y=z as a new output format for eDirectory object names. This produces a typeless name in reversed format with components separated by forward slashes e.g. /abc/staff/ny/anne. It is intended for use in those programs whose output is used by JRButils for AD where this is an accepted name format. Using /y=z avoids issues with different container types across the two platforms e.g. AD does not have an “Organization” container, and the use of class “Container” instead of “Organizational unit” is common. Escaping is added for characters in Active Directory which require it e.g. the comma and plus.
  • Fixed an issue in Part 4 programs where passwords were not read correctly if entered interactively. The issue was introduced in a Visual Studio compiler upgrade which introduced a bug in the function used to read the password characters without displaying them. This affected the GroupWise aware programs when the Admin Console password was not given on the command line.
  • Fixed a recently introduced issue in Linux versions where the use of /l to log output to a file could result in a segmentation fault.
  • Worked around a long-standing limitation where the physical size of files is returned as a 32 bit value by nearly all NCP requests. Hence for files larger than 4.3GB in size, the value returned is 0xFFFFFFFF. This is also currently true for all sparse files with a logical size greater than 4.3GB even when only one block has been written. A correct result is now obtained under OES11 SP2 onwards by retrieving the file’s block bitmap. Programs affected by these issues include whodidit and all of those dealing with directory quotas and usage where the usage is calculated when no quota exists.
  • Fixed some minor inconsistencies across programs when calculating the space used in a directory when no quota is present. This is suprisingly fraught due to different issues with returning a file’s physical size across various versions of OES Linux.