diff options
Diffstat (limited to 'xpa/doc/changelog.html')
-rw-r--r-- | xpa/doc/changelog.html | 806 |
1 files changed, 806 insertions, 0 deletions
diff --git a/xpa/doc/changelog.html b/xpa/doc/changelog.html new file mode 100644 index 0000000..c7b146a --- /dev/null +++ b/xpa/doc/changelog.html @@ -0,0 +1,806 @@ +<HTML> +<HEAD> +<TITLE>XPA ChangeLog</TITLE> +</HEAD> +<BODY> +<H2>XPA ChangeLog</H2> + +<P> +This ChangeLog covers the XPA 2 implementation. It will be updated +as we continue to develop and improve XPA. The up-to-date version can be +found <A HREF="http://hea-www.harvard.edu/RD/xpa/changelog.html">here</A>. + +<H2> Public Release 2.1.16 (TBD)</H2> +<ul> +<li> Ensure that mingw utilizes Windows error codes instead of *nix codes +</ul> + +<H2> Public Release 2.1.15 (July 23, 2013)</H2> +<ul> +<p> +<li> Added support for large data transfers +<P> +<li> XPAGet and XPASet now pass size_t instead of int for lengths +<p> +<li> Send and receive callbacks now pass size_t instead of int for lengths +<p> +<li> Port to mingw (Windows) +</ul> + + +<H2> Public Release 2.1.14 (June 7, 2012)</H2> +<ul> +<P> +<li> Fixed several memory leaks in the Tcl wrappers (tcl.c). +<P> +<li> Use Tcl stubs library for linking shared Tcl, if available. +</ul> + +<H2> Public Release 2.1.13 (April 14, 2011)</H2> +<ul> +<P> +<li> An atexit handler is no longer installed automatically (it crashes +Tcl 8.5.8 applications). Call XPAAtExit(void) to install the handler. +<p> +<li> Removed permission checking from Find() on cygwin systems. This was broken +by Windows 7. +<p> +<li> Removed addition of -no-cpp-precomp flag from gcc 4.2 and beyond (Mac). +</ul> + +<H2> Public Release 2.1.12 (January 26, 2010)</H2> +<ul> +<p> +<li> Added XPA_HOST environment variable to allow users to specify +the hostname (and hence, ip) component of the INET method id. This is +useful, for example, if you want to register an access point using a +VPN-generated IP instead of the canonical IP. +<p> +<li> Fix typo in Tcl binding to xpainfo causing a crash after 2 invocations. +</ul> + +<H2> Public Release 2.1.11 (December 7, 2009)</H2> +<ul> +<p> +<li> Generalized XPANSKeepAlive() to send messages to xpans, proxy xpans, or +both. The default is to send just to proxies (e.g. chandra-ed). +<p> +<li> Changed XPANSKeepAlive() to send an in-band new-line char to +xpans, changed xpans to handle an in-band new-line as a keep-alive +message. Necessitated by Cisco routers that clear the URG flag in +a TCP packet, breaking OOB data transfer for the whole Internet, as +well as the OOB-based keep-alive implemented in xpans. +<p> +<li> In xpans, print warning when the keep-alive option switch is used. +<p> +<li> Port to mingw (thanks to B.Schoenhammer) +<p> +<li> Change OOB character sent by xpans keepalive to a space, trying to working around cisco routers that force OOB data into the inbound stream. +<p> +<li> fix gcc fprintf warning in xpans.c +</ul> + +<H2> Public Release 2.1.10 (September 1, 2009)</H2> +<ul> +<p> +<li> Update mklib and configure.ac to support 64-bit builds on Macs. +<p> +<li> Fixed bug in XPAAccess() in which the returned names could have an extra +(bogus) character when the target is an explicit ip:port or local socket file. +<p> +<li> Add setjmp/longjmp support to xalloc. +<p> +<li> Add XPASaveJmp(void *env) as a high-level interface to xalloc_savejmp(); +</ul> + +<H2> Internal Release 2.1.9</H2> +<ul> +<p> +<li> Fixed a bug that prevented an access point starting with a number +from being recognized peoperly. NB: a pure number still signifies a +port on the current machine. Also num:num signifies ip:port, where ip +can be a pure hex value or the canonical form vvv.xxx.yyy.zzz. +<p> +<li> Modified internal Launch() routine to use posix_spawn(), if necessary. +This is required for OS X 10.5 (leopard), which frowns upon use of fork() +and exec(). Also modified zprocess routines to use Launch(). +<p> +<li> Added XPASetFree(xpa, void (*myfree)(void *)) routine to allow callbacks +to specify a free routine other than malloc free (e.g. Perl garbage collection). +<p> +<li> XPACmdAdd() now checks to ensure that it was passed an XPA struct created +by XPACmdNew(). +<p> +<li> Change launch.h to xlaunch.h to avoid conflict with OS X. +</ul> + +<H2> Public Release 2.1.8 (1 November 2007)</H2> +<ul> +<p> +<li> A public release to complete current XPA development work. +</ul> + +<H2> Patch Release 2.1.7b[1,2] (Feb 22, 2006; March 8, 2007)</H2> +<ul> + +<p> +<li> Added a convenience null to the end of the buffers returned by XPAGet. + +<p> +<li> Added code to avoid calling atexit routine if a fork'ed child +calls exit() instead of _exit(). + +<p> +<li> Added XPA_CLIENT_DOXPA environment variable to turn off client +processing of xpa server requests. + +<p> +<li> Added --version to xpaset, xpaget, xpainfo, xpaaccess, xpans to +display XPA version and exit. + +<p> +<li> Added support for integrating XPA into a Gtk loop. + +<p> +<li> xpaaccess now returns its answer in the error code as well as to stdout +(without the -n switch, it returns 1 for a match, with the -n switch, +the number of matches is returned). + +<p> +<li> Fixed bug which prevented xpans from being started up automatically +by an xpa server if its pathname contained a space character. + +<p> +<li> Fixed bug in MINGW port of xpans in which an XPA server that +terminated via an interrupt was not being properly removed from the +list of registered access points. + +<p> +<li> Added XPA_LOGNAME to override LOGNAME when registering username + +<p> +<li> Upgraded swish-e indexing code to 2.4.5. + +</ul> + +<H2> Patch Release 2.1.6 (4 May 2005)</H2> +<ul> + +<p> +<li> Added -P switch to xpans to enable experimental proxy support +(default is disabled). An argument of 1 processes proxy requests in +the same thread as xpans requests, while an argument of 2 processes +proxy requests in a separate thread. (The latter is recommended to +avoid xpans timeouts, since xpa callback processing can take a long +time.) + +<p> +<li> Added ability to build shared libraries (done automatically with +configure --enable-shared) with compilers other than gcc. + +<p> +<li> Made yet another attempt to build shared libraries under OS X. + +<p> +<li> Fixed a server bug in Tcl support under Windows (introduced early +in 2.1.6) which caused an occasional SEGV. + +<p> +<li> Fixed race condition in cases where 2 or more servers makes client calls +to one another. + +<p> +<li> Fixed bug in the XPA handler routine in which an access point was +turned off if an error occurred in that routine (as opposed to the +user-defined callback routine). + +<p> +<li> Fixed race condition when "ack=false" flag (or -n) is used with XPASet() +(or xpaset). + +<p> +<li> Added defensive code to XPA handler to ensure that the passed XPA record +is valid. + +<p> +<li> Tcl/XPA servers such as ds9 were not turning off select() on the +xpa channels inside an xpa callback, as required. This is now fixed. + +<p> +<li> Added timestamps to most server and client error messages if the +XPA_TIMESTAMP_ERRORS variable is set. This is useful when XPA errors are +being logged in an error log (e.g. Web/CGI use). + +<p> +<li> Generated PostScript and PDF versions of the help pages. + +<p> +<li> Moved OPTIONS section before (often-lengthy) DESCRIPTION section in +man pages. + +<p> +<li> All memory allocation now performs error checking on the result. + +<p> +<li> Removed some compiler warnings that surfaced when using gcc -O2. + +<p> +<li> Updated configure.ac to better support Tcl in Panther with Apple +Frameworks. + +</ul> + +<H2> Patch Release 2.1.5 (12 January 2004)</H2> +<ul> + +<p> +<li> Fixed bug in XPAPoll(). Erroneously, no requests were being +processed when maxreq==0. Now, all pending events are processed, as +per the documentation. + +<p> +<li> Added ack=false to XPAInfo() (and corresponding -n to xpainfo) +so that client does not wait for a response from the server. This is +essential in cases where XPA servers wish to send info messages to +one another without causing a race condition. + +<p> +<li> Generated man pages from the html pages. These are installed +automatically at build time. + +<p> +<li> The xpans program with Unix sockets now uses a lock file to signal +that it is running, in order to avoid a potential (but rare) race +condition at startup. + +<p> +<li> Code that calls Unix-type bind() now manipulate umask() to ensure that +all users have write permissions to the socket file (OS X apparently uses +these permissions while previous platforms ignore them). + +<p> +<li> Configure now checks for socklen_t type (OS X does not define it). + +<p> +<li> Added an atexit function to run XPAFree. The aim here is to delete Unix +socket files on exiting. + +<p> +<li> Under Windows, the Tcl event-handling code now blocks for 1/1000 of a +second instead of not blocking at all (which inadvertently used 100% of cpu). + +<p> +<li> Upgraded Tcl/Tk support to 8.4. + +<p> +<li> Made another round of checks was made through all instances of +strcat, strcpy, etc. to look for potential buffer overflows. Changed +all instances of sprintf() to snprintf(). + +<p> +<li> Class and name designators are now limited to 1024 characters, for +no particular reason. + +<p> +<li> The obsolete $SAORD_BIN variable was being added to the path when +searching for xpans. This is no longer the case. + +<p> +<li> Fixed non-ANSI compiler errors in both xpa.c and xpans.c. + +<p> +<li> Fixed minor problems to support compilation with g++. + +<p> +<li> Ported to Intel icc and gcc 3.3 compilers. + +<p> +<li> Upgraded autoconf to 2.57. Included in this upgrade is a change that +makes gcc the default compiler (use "configure CC=cc" to change this). +Also, by default, the Tcl shared object is no longer automatically built +if the Tcl libraries are used. Use the --enable-tclshlib switch in +configure to enable this feature. + +<p> +<li> Changed license from public domain to GNU GPL. + +</ul> + +<H2> Patch Release 2.1.4 (24 March 2003)</H2> +<ul> + +<p> +<li> Made inet method unique, even when hosts are behind a firewall using +the same ports (on different local machines). + +<p> +<li> The initial connection from an xpa server to a local xpans now is +controlled by a timeout (default 5 sec, controlled by XPA_CONNECT_TIMEOUT +variable). This should prevent a hang on connect() if the network +is not set up correctly. + +<p> +<li> Fixed rare race condition when an XPA server callback performed its own +XPAGet or XPASet call to another XPA server. + +<p> +<li> Use POSIX O_NONBLOCK for non-blocking I/O in fcntl call if it +exists, instead of O_NDELAY. + +</ul> + +<H2> Patch Release 2.1.3 (26 September 2002)</H2> +<ul> + +<p> +<li> Added -k [sec] switch to xpans to support sending one-byte keepalive +messages from xpans to registered xpa servers. + +<p> +<li> Added XPANSKeepAlive routine (and Tcl equivalent) to allow +xpa servers to send a one-byte keepalive message to xpans. + +</ul> + +<H2> Patch Release 2.1.2 (18 July 2002)</H2> +<ul> + +<p> +<li> The "-help" reserved command now also displays the XPA version, if +no explicit sub-commands are specified. + +<p> +<li> Change internal state of xpans proxy to save ip:port value of a +server behind a NAT firewall. This is required to give some hope of +distinguishing multiple instances of ds9 running behind NAT. + +</ul> + +<H2> Patch Release 2.1.1 (20 June 2002)</H2> +<ul> + +<p> +<li> Added a version check between xpans and an access point, +performed when it gets registered by an XPA server. If the server +has a version greater than the xpans version, a warning is issued by +both programs. + +<p> +<li> Added a boolean XPA_NSREGISTER environment variable to allow an +XPA server to skip xpans registration. The default is to register with +the name server. If set to "false", the access point still is set up +but it is not registered with an xpans. It can be registered later on +(using -remote or -proxy, for example). + +<p> +<li> Fixed bug in which xpans was still listening on any interface when +XPA_METHOD was localhost (instead of just listening on localhost). + +</ul> + +<H2> Public Release 2.1.0 (22 April 2002)</H2> + +<P> +New features include: + +<ul> +<p> +<li> Support for proxy access to XPA servers (e.g. ds9) situated +behind a firewall (useful for NVO-type applications). + +<p> +<li> Improved support for allowing remote machines access rights to the +XPA access points (useful for NVO-type applications). + +<p> +<li> Ability for XPAAccess() routine and xpaaccess program to contact XPA + directly. + +<p> +<li> Support for a clipboard access point that allows clients to store ASCII +state information in an XPA-enabled server. + +<p> +<li> Improved support for Windows platform, as well as new support for Mac OSX. +</ul> + +<H2> Pre-Release 2.1.0e (2 April 2002)</H2> +<UL> + +<P> +<LI> Removed the environment variable generated by each XPA access +point (of the form XPA_name=method). The putenv() call was causing ds9 +to crash under both Linux and LinuxPPC during a socket operation. We +suspect a bug in putenv but cannot prove it and this feature is not +essential, so ... + +</UL> + +<H2> Pre-Release 2.1.0e (1 April 2002)</H2> +<UL> + +<P> +<LI> Fixed an uninitialized variable in xpamb which prevented it from +working at all on some systems. + +<P> +<LI> Changed xpamb switch from "-add" to "-data" (to store named data). + +<P> +<LI> Changed how xpamb works with xpaget so that xpamb can return data +from XPA access points as well as from stored data. (Previous versions +only returned stored data.) Now, you can retrieve stored data +explicitly using the -info and/or -data switches. For example: +<PRE> + xpaget xpamb -info foo +</PRE> +will return info about the previously stored data named foo. If +neither switch is present, then the name is assumed to be an XPA access +point. +</UL> + +<H2> Pre-Release 2.1.0e (25 March 2002)</H2> +<UL> + +<P> +<LI> Changed symbol for default port from "*" to "$port" to avoid +a syntactical conflict between class:* and machine:* when processing an +XPA access point class:name specification. Thus, the default inet +method now is '$host:$port' instead of '$host:*'. + +</UL> + +<H2> Pre-Release 2.1.0e (19 March 2002)</H2> +<UL> + +<P> +<LI> Removed timeout check when reading data (in clients using xpaget +and servers filling the data buffer). We have more and more cases +where we need to wait a long time to retrieve data (e.g., slow +networks or receiving data being compressed on the fly). + +<P> +<LI> Moved call to sigaction(SIGCHLD,...) out of XPAOpen(), so that it +is only executed when needed by XPAGet()/XPASet() routines called from +within xpans/proxy. But then changed logic to use a double fork() instead +of sigaction() to prevent zombies (Stevens Adv. Programming p 202). + +<P> +<LI> Each XPA access point now generates an environment variable of the +form XPA_name=method so that children can communicate with the parent access +point more easily. + +<P> +<LI> Added version option to Tcl xparec: +<PRE> + if [catch { xparec "" version } version] { + puts "pre-2.1.0e" + } else { + puts [split $version .] + } +</PRE> +to help differentiate between XPA versions within Tcl code. + +</UL> + +<H2> Pre-Release 2.1.0e (14 February 2002)</H2> +<UL> +<P> +<LI> Fixed client handling of out-of-sync messages. +</UL> + +<H2> Pre-Release 2.1.0e (11 February 2002)</H2> +<UL> + +<P> +<LI> Fixed client.c/xopen() so that it does not open an extra socket. + +<P> +<LI> Fixed xpainfo/xopen() to prevent client from hanging waiting for ack. + +<P> +<LI> Modified stest to generate xpaaccess points xpa, xpa1, c_xpa, and +i_xpa (or more generally, <name>, <name>1, c_<name>, i<name>) to allow +more flexible testing of templates. Also added -a for testing XPAAccess(). + +</UL> + +<H2> Beta Release 2.1.0b10 (31 January 2002)</H2> +<UL> + +<P> +<LI> Added support for Mac OSX/Darwin to configure file. + +</UL> + +<H2> Beta Release 2.1.0b9 (26 January 2002)</H2> +<UL> + +<P> +<LI> Fixed bug in client library that caused XPAAccess() call to hang. + +</UL> + +<H2> Beta Release 2.1.0b8 (4 January 2002)</H2> +<UL> + +<P> +<LI> Made modifications to Makefile.in to make releases easier. + +<P> +<LI> Added instructions to Makefile.in so that xpa.h will always have +correct #defines for XPA_VERSION, XPA_MAJOR_VERSION, XPA_MINOR_VERSION, +and XPA_PATCH_LEVEL. + +</UL> + +<H2> Beta Release 2.1.0b7 (21 December 2001)</H2> +<UL> + +<P> +<LI> Added -proxy switch to -remote sub-command to allow remote access +through a firewall, using xpans as a proxy server. The support for proxy +processing required a change to the client/server protocol. This means +that new xpa servers will not work with old xpa clients (although new +xpa clients will work with old xpa servers). For details about proxy +firewall support, see http://hea-www.harvard.edu/RD/xpa/inet.html. + +<P> +<LI> Fixed Tcl support for XPA under Windows/Cygwin by re-writing +the code used to add XPA to the Tcl event loop. This fix makes ds9 +support for XPA much more stable under Windows. + +<P> +<LI> Added the shutdown() call to XPA under Cygwin/Windows before +closing send() sockets. It appears that a Cygwin recv() socket call +does not always sense when the other end closes the socket using +close(). This measure must be considered a hack, since the actual +problem was never resolved. + +<P> +<LI> Added code to protect accept() and select() calls from interrupts. + +<P> +<LI> Extended syntax of the environment variable XPA_NSINET to: +<PRE> + setenv XPA_NSINET host:port[,port[,port]] +</PRE> +to allow specification of the XPA access point port for xpans, +as well as the proxy data port. + +<P> +<LI> Modified xpans log file so that it contains the xpaset commands +required to reconnect with xpa servers. + +<P> +<LI> xpans now deletes its Unix socket files. + +</UL> + +<H2> Beta Release 2.1.0b6 (29 October 2001)</H2> +<UL> + +<P> +<LI> Implemented a reserve public access point named -clipboard so +that clients can store ASCII state information on any number of named +clipboards. Clipboards of the same name created by clients on +different machines are kept separate. The syntax for creating a +clipboard is: +<PRE> + [data] | xpaset [server] -clipboard add|append [clipboard_name] + xpaset -p [server] -clipboard delete [clipboard_name] + xpaget [server] -clipboard [clipboard_name] +</PRE> +Use "add" to create a new clipboard or replace the contents of an existing +one. Use "append" to append to an existing clipboard. + +</UL> + +<H2> Beta Release 2.1.0b5 (22 October 2001)</H2> +<UL> + +<P> +<LI> Use FD_SETSIZE instead of getdtablesize() to determine how many files +to check during select(); + +<P> +<LI> Under Cygwin, the launch() routine now uses the Cygwin spawnvp() +instead of fork()/exec() where possible (i.e., if no stdfiles are +being redirected). This is recommended by Cygwin's (skimpy) on-line +documentation and seems to fix the problems ds9 had when starting xpans +automatically. + +<P> +<LI> Added error check to select() call in xpans. + +</UL> + +<H2> Beta Release 2.1.0b4 (24 September 2001)</H2> +<UL> + +<P> +<LI> The launch() now can return an error code if the execv() system +call fails (something system() does not do). + +<P> +<LI> INET socket calls between xpa clients and servers now will use +localhost if they are on the same machine. This protects against +Linux systems where the hostname is hardwired (wrongly) in a DHCP +environment. + +</UL> + +<H2> Beta Release 2.1.0b3 (6 September 2001)</H2> +<UL> + +<P> +<LI> Modified xpans so that, in the case of a firewall, it tries to +correct the specified ip:port by matching against the ip found in +the socket packet at accept() time. + +<P> +<LI> Replaced system() call used to start xpans automatically with +a special launch() call, which performs execvp() directly without going +through sh. (launch() works under DOS and has fewer security problems.) + +<P> +<LI> Fixed bug in xpans in which its xpa port was always being set to 14286. + +</UL> + +<H2> Beta Release 2.1.0b2 (17 August 2001)</H2> +<UL> + +<P> +<LI>Added support for -remote command, which registers the access +point in the XPA name server of the specified remote server, and gives +the remote server access rights to the access point. This is used, for +example, to give data servers xpa access to ds9 so that data can be +sent to ds9 as a result of a CGI-based Web query. + +<P> +<LI>Reserved commands (except "-help" and "-version") now can only be +executed on the machine on which the xpa service is running (not +through -remote servers). + +<P> +<LI>Fixed bug in xpans in which a bad telnet command could hang the program. + +<P> +<LI>Added -s [security file] to xpans to allow logging of all external +connections. + +</UL> + +<H2> Beta Release 2.1.0b1 (6 August 2001)</H2> +<UL> +<P> +<LI> The xpaaccess client program and XPAAccess() client subroutine +were modified so that an access-type query can directly contact the +xpa servers matching the requested xpa template, instead of just +querying the name server for registered access points. This avoid the +race condition in which an access point is registered but is not yet +available, perhaps because the server has not yet entered its event +loop. Note that the calling sequence of the XPAAccess() routine was +changed to return all matching access points and their availability +status (instead of just returning the number of registered access +points). Because of this, we are calling this a minor release instead +of a patch. + +<P> +<LI> Added support for XPA_PORT and XPA_PORTFILE environment variables +to allow specification of the port to be used by the command channel +(and data channel, if an optional second port is specified) for a given +access point. + +<P> +<LI> Added -m switch to xpaget, xpaset, xpainfo, xpaaccess to allow +override of the XPA_METHOD environment variable. + +<P> +<LI> Changed the default name of the ACL file from xpa.acl to acls.xpa. + +<P> +<LI> Fixed bug in which it was not possible to send a "set ACL" +command to an XPA server which did not have a receive callback (i.e., +did not allow xpaset). The xpans program is one such server. It now is +possible to set the ACL on xpans. + +<P> +<LI> We have discovered that Tcl support for datachan and cmdchan is +broken under Windows due to an unexplained incompatibility between +Cygwin sockets and Win32 sockets. We therefore have removed datachan +and cmdchan from the Windows/Tcl support until further notice. + +<P> +<LI> Extended the behavior of the XPA_DEFACL environment variable so that +it can support more than one acl, using a list of semi-colon delimited +controls such as: setenv XPA_DEFACL '*:* $host +; *:foo1 otherhost +'. + +<P> +<LI> Fixed bug in which the class:name specifier "*:*" was erroneously +trying to access the xpans name server, instead of accessing all +access points. + +<P> +<LI> Support TMPDIR and TMP environment variables as well as XPA_TMPDIR. + +</UL> + +<H2> Patch Release 2.0.5 (10 November 2000)</H2> +<UL> +<P> +<LI> Added support for Tcl on Windows where there is no select()-based +event loop (i.e., where there is no Tcl_CreateFileHandler call in Tcl) +<P> +<LI> Minor fixes in Makefile for installing on Windows +<P> +<LI> Minor compiler fixes from gcc -Wall. +</UL> + +<H2> Patch Release 2.0.4 (20 September 2000) </H2> +<UL> +<P> +<LI> Removed extraneous include of varargs.h from find.c. +<P> +<LI> Ported to SGI C compiler, which caught lots of unused variables, etc. +<P> +<LI> Ported to Cygwin/Windows, which required that we change socket read() +and write() calls to recv() and send() respectively. Also had to ensure that +we only did socket I/O on sockets (no fileio). +</UL> + +<H2> Patch Release 2.0.3 (15 June 2000) </H2> +<UL> +<P> +<LI> Fixed the client XPASet() and XPASetFd() calls to handle the specified +max number of connections (they were ignoring this argument, leading to +memory overwrites). +<P> +<LI> Fixed Makefile.in so that CFLAGS and LDFLAGS are not hard-wired values. +<P> +<LI> Fixed word.h to load malloc.h and stdlib.h only if they exist. +<P> +<LI> Documentation fixes to programs.html (in xpaaccess) and client.html +(XPANSLookup). +<P> +<LI> Added explicit typecast to strlen() argument to MAX #define in +XPAClientStart (strlen() is unsigned in Linux, which can break MAX). +<P> +<LI> Removed bogus Imakefile from directory. +<P> +<LI> Changed directory name to include patch level (i.e., xpa-2.0.3). +</UL> + +<H2> Patch Release 2.0.2 (9 September 1999)</H2> +<UL> +<P> +<LI> Fixed server mode (-s) in the xpaset program by properly cleaning up +the input buffers (sending commands and data in server mode was broken). +</UL> + +<H2> Patch Release 2.0.1 (6 August 1999)</H2> +<UL> +<P> +<LI> Fixed the Tcl binding code (tcl.c) for 64-bit machines (Dec Alpha) +(erroneously used %x instead of %p when converting pointers to ASCII). +<P> +<LI> Got rid of a few compiler warnings on 64-bit machines (a few are +unavoidable since we must cast int to void * and back when passing around +client data). +</UL> + +<H2> Public Release 2.0 (27 May 1999)</H2> +<UL> +<P> +<LI> "a new day with no mistakes ... yet" +</UL> + +<HR> +<P> +<A HREF="./help.html">Index to the XPA Help Pages</A> + +<HR> +<H5>Last updated: 22 April 2002</H5> +</BODY> +</HTML> |