Linux Today: Linux News On Internet Time.

More on LinuxToday

Ganymede 0.99 - network directory management system

Apr 21, 1999, 02:06 (0 Talkback[s])

WEBINAR: On-demand webcast

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017 REGISTER >

Ganymede 0.99 is now available for download at


Ganymede is a GPL'ed network directory management system written in
Java, providing support for team management of NIS, DNS, etc.


Yipes, another month has gone by.  This release includes a bunch
of work to improve javadocs for the code, a number of minor (but
nice) new features and improvements in the client, and a bunch
of distribution fixes to take care of problems reported with
Ganymede 0.98.

Also of interest is the fact that the Ganymede web page now
features an archive of both the ganymede-announce and ganymede
mailing lists.  There's currently a discussion of the proper
way of supporting DNS in Ganymede there.

I'm thinking the next release will probably be 0.99.1, as I'm not
ready to call it 1.0 yet.  The next release will go out after we've
actually got the GASH integration stuff done here at the lab so that
we can actually put Ganymede into production here.

Unless someone out there writes in with a significant problem, of

--------------------- Changes from 0.98 to 0.99 -------------------

RELEASE DATE: April 16, 1999

1. [SCHEMA] gasharl schema mods

Various kinds of objects listed in an emailList object are now
shown with extra detail so that admins can see what sort of thing
they are dealing with.

Modified interfaceCustom so that the server will now check ethernet
addresses for valid form.

2. [CLIENT] Newly created object windows can now be undone.

Put the close box back on object creation windows.. now if you
close the window, the client will prompt you as to whether you want
to delete the object.  If you do, the server will drop the newly
created object from the server when the transaction commits.

Unfortunately, the code to handle intercepting the internal frame
close request in and had to be
hacked with the VetoablePropertyChangeListener since Swing 1.1
and 1.1.1-beta1 have JInternalFrame.setDefaultCloseOperation()
totally broken.

If you click the close box on an edited object, you'll also
get a dialog explaining what that does and does not do.

3. [SERVER] Server always allows deleting a newly created object

This provides an exception to change 0.98.5 to allow the client to
always undo an object creation, even if normally they could only
inactivate the object, not delete it.

The server had always had support for DROPPED objects as well
as DELETED objects, the change above just really takes advantage
of this more.

4. [SERVER/CLIENT] Added case-insensitive regexp matching

The server and client now support performing a case-insensitive
regular expression comparison when querying on string and object
reference (invid) fields.

5. [CLIENT] Scalar invid fields are now always sorted

Scalar invid fields would become unsorted when the server instructed
the client to refresh them.  The client will now properly sort
invid lists from the server on field refresh as well as on field

6. [CLIENT] Client code simplified, documented, improved

Embedded object vector panels were seriously broken, and would break
when you tried to delete entries.  The vectorPanel refresh logic
was totally reworked and should behave properly in all situations now.
Loading embedded object vectors will be more efficient now.

The client's tracking of container panels active loading information
from the server has been simplified and better documented.. the client
does less work now to track container panels, and hitting cancel or
commit while loading a panel should still do the right thing.

Lots and lots of javadocs added and corrected in the client code.

Some of the debug output when running the client in debug mode has
been cleaned up.

7. [CLIENT] Fixed error on loading 'inactivate.gif' on HPUX JVM

The client included code to try to create an inactivate icon from a
file called inactivate.gif.  That file did not exist in the jar file
distributed with Ganymede 0.98, and the JVM on HPUX 10.20 threw an
exception on this, even though Sun's JVM's do not.

Reported by Lewis Muhlenkamp (

8. [DISTRIBUTION] Build scripts, make files no longer require '.' in PATH

The Ganymede install and build scripts required '.' in the user's PATH
during install.  This should no longer be the case.

Reported by Lewis Muhlenkamp (

9. [DISTRIBUTION] configure prompts for Swing jar location

Previously, src/make client would fail because the client's build
script didn't know how to find the Swing swingall.jar file if it
wasn't in the user's CLASSPATH.  Now the initial configure bootstrap
script will ask for the location of the Swing jar files so that the
build scripts in the source tree can be properly configured.

Reported by Lewis Muhlenkamp (

10. [CLIENT] Fixed focus handling for IP address component

The JIPField GUI component class had problems with reentrancy that
could cause problems when dialogs were thrown up in response to
focus loss.

11. [CLIENT] Added toolbar to the Query Results window

The File menu on the Query Results window was really unobtrusive, and
didn't really emphasize to users that they could mail out the query
table.  Brian put in a spiffy mini-toolbar to show people what's up.

12. [CLIENT] JComboBoxes in client are more keyboard friendly

Previously, JComboBoxes in the client used the default
KeySelectionManager, which only allowed you to search for items by
their first letter.  You can now type in a full name of an object and
as long as you don't pause for more than a half-second between
keystrokes, the JComboBox will find the object by its full name.

Actually, this doesn't work as well as it sounds, because Swing's
KeySelectionManager stuff doesn't let you use the keystrokes to choose
an entry in a JComboBox before actually selecting it, and selecting
items in the Ganymede client will tend to be a slow operation due to
the round-trip to the server.

13. [SERVER DISTRIBUTION] Added decodeDB command

Added a new executable in the server's bin directory, decodeDB, which
takes the name of a ganymede.db or ganymede.schema file and generates
a print-out of the file's object and field type information.

This was added mainly to make it easier for me to do quick checks on
the ganymede.db and ganymede.schema files packaged with Ganymede

14. [DISTRIBUTION] Fixed linux, bsd, nisonly schema kits

In Ganymede 0.98, the linux, bsd, and nisonly schema kits had an
incompatibility that rendered them inoperable.  This had to do with a
field in the admin persona object type that was not defined in these
kits, but which the server had been modified to depend on.

I've modified the kits so that the field is defined, and modified
the server so that the lack of the field won't prevent an existing
ganymede.db file from being usable.

Reported by Nikola Nedeljkovic,

15. [SERVER] Upgraded to gnu.regexp 1.0.8

Updated the gnu.regexp classes used in the server to version 1.0.8.

Jonathan Abbey                              
Applied Research Laboratories                 The University of Texas at Austin