Release Notes for JRButils for Micro Focus v24

Changes to Individual Programs

Chkhome

  • Added the ability to display the quota on each directory, and a volume quota for each user on their home directory volume.

Copy_obj

  • Fixed an issue with copying trustee assignments via /t where it could go into an endless loop.

Getname

  • Updated the GUI versions to optionally display all attributes of each object.
  • Fixed an issue in the GUI versions where the object class combo box was not updating to show the correct object class upon exit from the object edit box.
  • Made various minor changes to the location of options including placing the object formatting options on a separate tab.

Getquota

  • Corrected an oversight where volume names were not accepted in UNC format e.g. \\mars\vol2.

Getrest

  • Added the ability to filter on a date range. A second date may be specified by separating the two dates with a comma e.g. today,today+10. A range may be used only with operators ‘eq’ and ‘ne’.
  • Corrected an issue for fields holding date and time values, when the associated attribute held a zero value. Instead of displaying “none”, a value of 1-Jan-1970 plus the GMT offset was displayed. Normally a date/time attribute is deleted rather than having a zero value set.
  • Fixed an issue in the GUI versions when changing the account or password expiration date via right clicking in the list view, they did not always correctly update the account expired or password expired columns if displayed.

Groups

  • Added a sorting tab allowing primary and secondary sorting on any combination of output fields.
  • Moved the position of the “Search subcontainers” checkbox on the Main tab to improve the presentation.
  • Replaced the “Create group” checkbox under “Add members” with a “Create” button present at all times on the Main tab. This opens a new dialog box making it easier to create multiple groups, and provides the ability to set both the full name and description fields.
  • Fixed an issue where sometimes on the second or subsequent evaluation of an expression (e.g. groupa and groupb), it could report an error with the reverse polish stack.
  • Fixed an issue with the use of boolean operator ‘not’ in an expression where the group name column could be empty instead of displaying the expression.
  • Modified to evaluate an expression containing ‘and’ and ‘not’, but not ‘or’ using only the memberships of the named groups which is very much faster.
  • Fixed an issue where group names selected via the tree view were not enclosed in double quotes when the name contained ‘&’ resulting in an error when listing members.

Gwgroups

  • Fixed an issue where the parts 2 and 5 versions did not prompt for a username and password for GroupWise 2014 when needed.
  • Modified to assume GroupWise 2014 if the GroupWise 2014 client is installed when a value is not given for /h. It will then prompt for the address of the GroupWise Admin service, and if necessary for a username and password. Note that the 2014 client cannot be used to work with GroupWise 2012 and earlier.
  • Modified the GUI version to display the name of the GroupWise system.
  • Modified the GUI version to suppress the display of the eDirectory tree and current context when working with GroupWise 2014.
  • Moved the eDirectory name formatting options to a separate tab.
  • Fixed an issue where if the GUI version failed to connect to GroupWise at startup, but did so subsequently, browsing to select objects may not work.
  • Fixed a minor issue in the GUI versions where the wrong default output fields were displayed for GroupWise 2014 when clicking “Find” with no fields selected.
  • Modified so that when setting a mailbox quota under 2014, it locks “User limits” for a non-zero value and unlocks it for a zero value.
  • Fixed an issue where it tried adding members with names equal to the file name when using an input file of groups with /a but not /n.
  • Fixed an issue when using an input file of groups and /n to add members in the file, an empty line resulted in the message “: No object was found in the file (no change made)”.

Gwusers

  • Modified the fully GUI versions to allow user selection via the virtual tree view browser rather than selecting a post office from a combo box, then entering a name.
  • Modified the fully GUI versions to hide the eDirectory options when working with GroupWise 2014.
  • Made various minor changes to the Main tab in the fully GUI versions.
  • Fixed an issue where the parts 2 and 5 versions did not prompt for a username and password for GroupWise 2014 when needed.
  • Modified to assume GroupWise 2014 if the GroupWise 2014 client is installed when a value is not given for /h. It will then prompt for the address of the GroupWise Admin service, and if necessary for a username and password. Note that the 2014 client cannot be used to work with GroupWise 2012 and earlier.
  • Fixed a cosmetic issue where the GUI versions reported they were quitting when unable to initialise GroupWise on startup, when in fact they started normally.
  • Fixed a minor issue in the GUI versions where the wrong default output fields were displayed for GroupWise 2014 when clicking “Find” with no fields selected.
  • Added the ability for command line versions to set the following fields under 2012 and earlier by specifying a value in the form gv=Michelle.

    Given name
    Internet domain name
    Internet domain name exclusive
    Surname
    Telephone number

  • Modified so that when setting a mailbox quota under 2014, it locks “User limits” for a non-zero value and unlocks it for a zero value.
  • Fixed a minor issue where no output was produced instead of just a totals line when combining /v, /j and /#.
  • Fixed an issue where gwusers would not set the Internet Free/Busy URL.

Gwusgrps

  • Added /t to expand the list of groups to include those belonged to via nested memberships under GroupWise 2014 onwards.
  • Added the ability to display group memberships for groups under GroupWise 2014.
  • Updated to display the number of group memberships in the totals line.

Homedirs

  • Fixed an issue introduced in V23 where in “set” mode, it failed to set directory or volume quotas depending on the units selected.

Jblookup

  • Fixed an issue in the fully GUI versions where specifying the starting container via /c on the command line was ignored.
  • Modified the fully GUI versions so that the search results are now displayed on a separate form.
  • Modified the fully GUI versions to support the following options previously only available in the command line versions:
    • Select a search operator (greater than or equal to, etc).
    • Specify a file of labels allowing attribute names to be replaced with alternative strings.
    • Select the format in which object names are displayed.
    • Suppress field names.
    • Display totals only.
    • Select whether the display for consecutive objects is separated by a line of dashes, a blank line or there is no separation.
    • Sort the search results by object name or the value of the search attribute.
  • Added an option to the fully GUI version to clear previous output before starting each new search.
  • Added to all versions, the ability to search the attributes of groups. Use /o in the command line versions to select the object class.

Jrbimprt

  • Added the ability to add pictures to GroupWise 2014 via one of two methods. A “GroupWise picture” field name may be used with the value provided in the data file being the path and file name. Alternatively, a “GroupWise picture path” control statement may be used. For each user, jrbimprt will search the named path for a file matching the GroupWise user name e.g. bronwyn.jpg. It uses a wildcard search for the extension and so will locate a file using any picture format e.g. jpg, gif, png, etc.
  • Added the ability to specify a file containing an encrypted password as a value for /z. Use the JRButils jrbencrypt program described above to create the file.
  • Added /b to the Linux versions to allow conversion of characters in the control and data files from a non-UTF-8 code page to UTF-8 e.g. /b=cp1252.
  • Modified the Linux versions to check for and ignore the UTF-8 byte order marker (BOM) if present in the control and data files.
  • Modified the Linux versions to provide an explanatory message for error -500 which can occur when creating an object or setting attribute values and an invalid character appears in the control or data file.
  • Fixed an issue where creating a group failed when using “Create groups=y” and a group name given in the data file did not include a container.
  • Modified so that when running jrbimprt from a workstation with no prior authentication to a tree, and /u is used, it will attempt to establish a connection and authenticate as the designated user.
  • Modified /u so that a tree or server name can precede the username e.g. mars/admin.abc. Jrbimprt will then attempt to authenticate to the specified server or tree. If only a username is given when no prior authentication exists at program startup, jrbimprt retrieves the name of the last server logged into from the workstation registry.
  • Added the ability to include substitution identifiers in a value for “Home Directory” in the “Fixed values” section. This allows the path to be constructed from values for one or more attributes.
  • Modified the code for generating random passwords containing alphanumeric plus special characters so that the password is guaranteed to contain three of the four character types (numeric, uppercase, lowercase, special) but may contain all four. Previously all four were guaranteed for a password of four characters or longer.
  • Modified to report when a GroupWise 2014 attribute is not set due to the user being associated with a directory object.
  • Made a change to try to work around the issue when creating new users where the password set request is sometimes sent to the server holding the master replica possibly resulting in a replication error, rather than to the server on which the user was created.

Jrbpass

  • Modified to display an eDirectory user name in red if the account is disabled, expired or locked. A tooltip states that the account is disabled, expired at a given date and time, or was locked at a given date and time.
  • Fixed an issue where it would report “Unable to focus a disabled or invisible window” after a search when /n=o was used to suppress the old password edit box.
  • Modified to not check that the passwords match when the focus changes directly from the “Verify password” edit box to the exit button.

Listobj

  • Fixed an issue where an application error (or a segmentation fault on Linux) occurred after reporting “No connection to a file server”.

Mattach

  • Added the ability to read the password from an AES encrypted file created by the new JRButils jrbencrypt program. This may be useful when authenticating to a tree via a script.

Move_dir

  • Corrected an issue where the inherited ACEs in the DACL of a moved Windows file or directory were not updated.

Quotas

  • Fixed an issue where an error would result when the value entered in a quota edit box included units e.g. 250mb.
  • Corrected an oversight where volume names were not accepted in UNC format e.g. \\mars\vol2.
  • Made a correction to avoid a potential application error when modifying a directory quota via right click.
  • Fixed an issue when clicking on the browse button where it could bring up a directory dialog instead of the object browser when volume quotas were selected and the directories radio button under directory quotas was also checked.
  • Added the ability to display and set directory quotas to a maximum depth when processing an entire directory structure.
  • Fixed an issue where it displayed an incorrect total usage when setting quotas on OES 2015 and a quota was set where there was not one previously.
  • Modified to display the directory options controlling how the directory is processed, when displaying quotas for home directories. This allows processing first level subdirectories or the entire structure rather than just the home directory itself as previously.

Setacl

  • Fixed an issue where /s was not working for more than 20 objects.
  • Fixed an issue where an application error could occur when using /s with /o=container or /o=leaf.
  • Added the ability to reverse the sort order.
  • Added the ability to sort the ACLs for each object by trustee, protected attribute or rights.
  • Modified to sort on the object name as formatted for display rather than the form in which it is stored internally. This changes the sort order only for /o=container where the different types (C=, CN=, O= and OU=) could lead to the results appearing to have been sorted incorrectly.
  • Fixed a cosmetic issue where it could report something like “28 Objects, 18 selected” in the totals line when no filtering was used, but not all objects had an ACL.

Setname

  • Fixed an issue when deleting an attribute using the path syntax (e.g. “Home Directory”) where it would report that an object of class volume was required when no value was given.

Setpword

  • Added the ability to process GroupWise 2014 user and group names rather than having to specify eDirectory object names. Names may or may not include the post office and domain. Wildcards may be used in user names given in the form name.po.domain.
  • Updated the GUI versions to support browsing for GroupWise 2014 users and groups.
  • Updated the 64 bit versions to not require the presence of the client for OES Enterprise Server. This allows the setting of GroupWise 2014 passwords from any computer running 64 bit Windows. Note that setting NDS and universal passwords requires the presence of the client.
  • Added the ability to verify Windows domain passwords via /m=z and /v.
  • Fixed an issue where the GroupWise password checkbox could be disabled for GroupWise 2014.
  • Fixed an issue where the GUI versions ignored /v (verify passwords) when used on the command line.
  • Fixed an issue when using /g=s to produce random passwords containing alphanumeric plus special characters, it was not inserting lowercase characters.
  • Modified the code for generating passwords containing alphanumeric plus special characters (/g=s) so that the password is guaranteed to contain three of the four character types (numeric, uppercase, lowercase, special) but may contain all four. Previously all four were guaranteed for a password of four characters or longer.

Setquota

  • Fixed an issue where specifying a quota in the form u+20mb was not setting the correct quota on OES 2015 using the 64 bit APIs.
  • Modified so that a quota in the form u+20mb can be used when there is no existing quota. In this case, the usage has to be calculated by summing the space used by the files in the directory structure.
  • Corrected an oversight where volume names were not accepted in UNC format e.g. \\mars\vol2.

Setrest

  • Fixed an issue with setting account expired equals no, where it was failing to remove the attribute, and instead setting the value associated with account expired equals yes.
  • Modified to report when the new attribute value equals the value already set, and generally tidied the reporting of results.

Settrust

  • Updated to no longer accept ‘d’ (delete) as a synonym for ‘e’ (erase) in file system rights following a support issue where the presence of ‘d’ was not resulting in an error. ‘d’ was originally used instead of ‘e’ in early NetWare versions.

Trstlist

  • Added a header line giving field names. This is suppressed via /j, but may be reinstated without other headings and totals when using /w via /w=j.
  • Modified /w to allow selection of columns for columnar output by using /w=z. Previously, /w always resulted in delimited output.
  • Modified /w to allow specification of field widths for columnar output.
  • Fixed an issue where the full name was not being displayed when using /z=t for two-line output with /d.
  • Fixed an issue when displaying inherited rights filters and using /b=t,x where the the text given as a value for ‘x’, overwrote the rights and “/m” in the output line.
  • Fixed some inconsistencies in displaying totals in all versions.
  • Fixed an issue in the GUI versions where checking “List only objects or paths without trustees” resulted in no output for directories.
  • Added an option to the 64 bit Linux version to retrieve trustees direct from extended attributes on the current server. eDirectory and/or NSS AD trustees may be displayed. This does require an NSS setting change, and translation of AD SIDs to names requires root level access.

Vol_info

  • Fixed an issue where an application error could occur when the program was unable to access the _admin volume e.g. due to insufficient rights.

Whodidit

  • Added the ability via /u to easily skip files and directories with specific attributes set e.g. hidden. This does not offer filtering on the full set of attributes but is intended for easy avoidance of certain system directories and files when processing a volume root.
  • Corrected a long-standing omission by adding ‘+’ as a value for /o allowing values to output without the actual path and file.
  • Modified to recognise the server name without container information when filtering on entries owned by the server and the server object is not in the current container.
  • Fixed an anomaly when sorting on physical size, and displaying logical sizes, where the logical sizes for a given physical size were not sorted into order. Whodidit now does a secondary sort on logical size whenever sorting on physical size.
  • Changed the default output fields in the command line versions from the logical size and attributes to the modification date and logical size. In the GUI versions the modification date has replaced the owner.