/***************************************************************************** ** %W% %G% ** Copyright (c) 1996, OCLC Online Computer Library Center, Inc. ** 6565 Frantz Road, Dublin, Ohio 43017-0702. ** OCLC is a registered trademark of OCLC Online Computer Library Center, Inc. ** All rights reserved under the copyright laws of the United States. ** ******************************************************************************/ /* 2.15 (2003 December 2) - Several Fixes and Update _ New Version of Apache Server _ HTML Changes for OCLC styles. 2.14 (2000 July 10) - Display the URL as well as the PURL in the search results. - Diaplay the URL as well as the PURL in the build output. - When a PURL isn't added becuase of domain permissions, display the domain name that the user doesn't have permissions on. - Fixed a problem in the share funciton of build. The count db files wasn't being reopened with all of the othere dbs and that caused a problem for large batch adds with automatic name assignment. - Don't share the db the first time through share. - Updated GDBM library to 1.8.0. 2.13 (1999 December 15) - Added option to do real-time update of main.table.txt in a batch. - Fixed some Linux problems - Removed locking on domain file during build. 2.12 (1999 October 1) - Y2K: fixed bug in display code for validation results that caused the year 2000 to be displayed as 100 instead of 00. 2.11 (1999 September 7) - Incorporated new Apache (1.3.9). 2.10 (1999 August 13) - Added -validate option to build. - Incorporated new Apache (1.3.6). - Completely removed NCSA support. 2.091 (1998 July 24) - Handle User-agent in robots.txt. 2.09 (1998 July 24) - Handle URL arguments. - Port to RedHat Linux 2.08 (1998 May 25) - Fixed a problem with how timeouts were handled in CheckURLs.pl. - Fixed a problem in build with asking for the next purl for a string when the string is a domain that the user doesn't have permission to write. - Configure paths in scripts/unix/validate/make_list.sh. - Fixed a problem parsing URLs in CheckURLs.pl. 2.07 (1998 May 12) - Changed validate code to close the socket from the server after reading the HTTP response header. The HTTP response body is never read. This makes validation faster and more reliable (some data in the body was causing Perl to crash). - Added an option to tell the build program not to remove old entries from the flat text file used for searching. This makes PURL modification in large databases much faster. - Added a reindex.sh script to regenerate the flat text file for searching. - Use /etc/hosts instead of NIS hosts file for lookup in access_stats.pl. - Strip comments off lines in robots.txt file before doing comparison. 2.06 (1998 April 03) - Display Group Members in modify group information form. - Added as an equivilant tag to so that sgmls could parse it. - Encode the plus '+' character in the selection page so that it isn't decoded to a space when it is read as a CGI parameter. - Find fgrep during configure. - Added Documentation and Contact Information links to the Power User page. 2.05 (1998 February 25) - Added filtering option based on status codes to the list pages in the validation area. - Check -e option in check_top.sh to -x. - Removed some upcasing from validate cron scripts. 2.04 (1998 January 30) - Changed configure to create the validation database file and set permissions to read/write for everyone. - Removed taint checking (-T) option from Perl scripts. 2.03 (1998 January 22) - Added to configure the ability to set the validation database type to use (either file or postgres). Postgres is not supplied as part of the PURL system. See src/postgres/README for more information. - Changed cp_live_files to copy the flat file validation database from the old directory and to call WebRoot/docs/update.sh in the new directory after copying over all the files. - Changed src/Makefile to call Configure as ./Configure. - Share the file after every transaction when batch replacing. - Use sendmail instead of mail. 2.02 (1998 January 13) - Added to configure the ability to set the tmp directory used by sort. - Remove leading and trailing space from URL in build.c. - Use egrep in util.pl to make search by maintainer faster. - Changed Makefile to not pass in CFLAGS for sgmls target. - Fixed link to Handle System on more_info page. - Updated problems.html file. - Only run compress.sh in cp_live_files.sh when there are more than three fields in the source main.table.txt file. - Added OSF1 target to Makefiles. 2.01 (1998 January 9) - Apache version 1.2.5. - Remove the NEXTDOMAIN indicator from the record during build so we don't trigger the next_purl_in_domain routine when rebuilding the database. - Fixed some variable names. 2.00 (1998 January 1) - Added PURL Link Validation software. - Better in-line documentation (i.e. form pages). - In 'Modify User Information': added the ability to specify which user is to be edited (this will allow anyone in the WHEEL group to change any user's information). - Added ability to search for PURLs that a user id or group id can maintain. - Added ability to search for groups that a user id or group id can maintain or is a member of. - Added ability to search for domains that a user id or group id can maintain or write to. - Friendlier error messages. - Consistent titles in pages and links. - Context sensitive submit and clear buttons. - Do not automatically add the user id to the list of maintainers when updating a PURL. - Fixed modify_group to produce an error if you try to modify a non-existent group. - Fixed modify_group to allow WHEEL to modify any group. - More robust authorization routines in passwd.pl. - Changed group owner to group maintainers. - Changed compress.sh so that it doesn't pipe from dump to build (ran into a deadlock problem). - Changed the format of the flat text file that the PURL maintenance system uses to search also made build remove old entries from that file when it does a PURL modification. - Added the ability to request the PURL system to assign a PURL to a specified URL. The user can submit a PURL prefix and the system appends a number to make the PURL unique. 1.08 (1997 October 3) - Fixed problem with realloc() on SunOS 4.1.3. - Call configure for sgmls directly. 1.07 (1997 September 30) - Incorporated Apache 1.2.4 into PURL. - Converted all fixed sized tables to dynamically allocated arrays. - Call configure for sgmls via Makefile instead of directly. - Fixed link to OCLC_LICENSE.html in WebRoot/docs. 1.06 (1997 April 25) - Added text to top-level domain registration page pointing the user to internic for DNS domain registration. 1.05 (1997 March 21) - Fixed bug in ID processing. 1.04 (1997 February 25) - Option of using Apache or NCSA HTTPd as PURL server. - Remove SSI exec call from home page and setup cron script to take its place. 1.03 (1997 February 24) - Incorporated PURL into the latest NCSA HTTPd (1.5.2a). - Added code to minimize problem caused by IE. - Removed graceful shutdown interrupt handler (SIGUSR2). - Fixed InterCat related fcls. 1.02 (1996 August 06) - Added a graceful timeout mechanism for dealing with network traffic during Handle resolution. 1.00 (1996 July 24) - Display error message from handle client code. - Increase timeout on hdl_get_data(). 0.99 (1996 July 05) - Changed cfg_get{word,line} to httpd_cfg_get{word,line} in NCSA code to avoid a name conflict with libhandle.a. 0.98 (1996 June 21) - Handles Library Version 3.0 0.971 (1996 June 21) - Added nslookup to configure. - Fixed paths in various scripts. - Fixed scripts/unix/db/compress.sh to write out a temporary file. 0.97 (1996 June 19) - Added scripts/unix/stats/copy_logs.sh to roll out the log file ever month. - Changed Perl http routines to use getprotobyname() to supply a proto for socket(). - Made handle_purl routine independent of NCSA httpd. - Encode VALUE in print_input() and print_hidden_input(). - Incremental access stats package. - Database stats package. - Cron script for stats. 0.96 (1996 May 15) - The HTTP GET routine catches null responses from the server as an error. - It is now possible to transform a PURL into a Partial Redirect (the PURL must end in a '/'). 0.95 (1996 May 03) - Authorized users can create PURLs and sub-domains in /. This allows site-administrators to fulfill top-level-domain requests via the "Create Subdomain Maintenance Page". - Graceful shutdown interrupt handler (SIGUSR2). - Added shutdown.sh to send SIGUSR2 to httpd. 0.941 (1996 Apr 30) - Fixed erroneous "Go to Search Page" link on Display Purl page after doing a service display command. - Code change to allow PURLs created in top-level domain under very old resolvers to resolve properly. 0.94 (1996 Apr 26) - New License (Software can be used for commercial purposes now) 0.93 (1996 Apr 22) - When a PURL resolves to another PURL the second PURL is returned as a redirect to the client even if it can be served locally. - HTTPd 1.5.1 code 0.92 (1996 Apr 17) - Fixed multiple URLs for a handle and no URL for an enabled handle. - Incorporated handle data types other than URL into display. - Added "This is a handle" message to display pages to distinguish handles from PURLs. - Do not search the PURL DB for failed handles. - Added "Create your first PURL" to home page. 0.91 (1996 Apr 16) - Added code to resolve handles in the /HDL domain. Stubbed out in the distribution (we do not distribute the handle code) but configurable if libhandle.a is available locally. 0.90 (1996 Apr 11) - Semaphore Key is retrieved from purl.ini - Configure creates Semaphore Key - Added aix4 target - Purified build -- fixed bug in add 0.86 (1996 Apr 10) - General redesign of HTML pages. - Use semaphores to signal availability of DB files (this will avoid an indefinite wait condition in the writer). - Build program closes and opens the DB every 10 transactions so that it is not possible to monopolize a site by creating a large batch job. - Clone PURL page - Chain PURL page - Return local file (local_server) - Search User Information - Search Group Information - Search Domain Information - Hierarchical domain display - PURL-L archive page (Search Newton DB and Browse HyperMail archive) - Sightings page - src/Makefile now handles libgdm.a and sgmls - Allow multiple User IDs on a record - Allow group ID as maintainers of PURLs - Added system_check.pl to check for flock() and gethostbyname() - Added copyright notices to all of the Perl routines - Added local_server0 to configure 0.851 (1996 Mar 20) - Fixed unknown ID bug in passwd.pl 0.85 (1996 Mar 19) - Added HDL top-level domain - Added SGML option to display.pl.cgi. - Fixed typo in error.fcl - Fixed checking results of system() call to run find_purl in modify_net.pl.cgi, new.pl.cgi and modify_oclc.pl.cgi. (Caused failure to submit modifications saying they weren't registered on this resolver when they were.) - Added socket*.ph files in WebRoot/docs/maint and "require socket.ph" statement to lib/perl/http.h to help get call to socket in http.pl working right on all operating systems. - Fixed attempt to fseek stdin in build.c/db.c for batch adds and batch mods. - Got source compiled and tested on Solaris (2.5). - Got source compiled and tested on AIX 3.2. - Got source compiled and tested on Linux 1.2.13. 0.84 (1996 Mar 13) - Changed the search form (display.pl.cgi) - Added "Go to Search Page" to results and display - Added regression testing cookie - Check if passwords are unmatched when cookie is provided (register.pl.cgi) - Check that ID is not in use as soon as form is submitted. - Fixed display of user ID instead of group in error message about trying to create an existing group. - Fixed bug allowing creation of a subdomain with bogus entries in writers list. - Put each writer on a separate line on forms that display the writers of a domain. 0.83 (1996 Mar 08) - put "./" in front of calls to stop.sh and start.sh in scripts/unix/db/cp_live_files.sh.in so that they'll work properly for people w/o "." in their path. 0.82 (1996 Mar 08) - Makefile changes 0.81 (1996 Mar 08) - delete cookie data file when cookie is deleted. - Display.pl.cgi will perform a search if a search is specified and the exact PURL failed - Reorganize source code - NT port additions - Linux port additions - Configure issues o Look for gcc o Prompt for C compiler to use o Prompt for Target machine (used in httpd makefile) o Create src/Makefile 0.8 (1996 Mar 01) - cp_local_files.sh (local changes) 0.7 (1996 Feb 29) - Added cookies for better security - Added Download Information Page - Added Listserv Information Page - Included the distribution LICENSE 0.6 (1996 Feb 23) - Display possible entries if group or domain box is left empty on modify domain, create subdomain and modify group pages. - Changed output from build to be more parsable. - Batch replaced PURLs are not required to start with a slash 0.5: (1996 Feb 22) - Normalize PURL accepts 'http://dns/NAME', 'http:/dns/NAME', '/NAME' and 'NAME' and returns (dns, NAME) - PURL chars are restricted to those specified in RFC1738 for URL syntax - Domain chars are restricted to those specified in RFC1738 for URL syntax - Modify User (register.pl.cgi) now displays group and domain membership and ownership - Titles at the tops of generated pages - Partial redirect must end with a slash - Batch added PURLs are not required to start with a slash - Multiple slashes are collapsed down to a single slash - find_purl reads from stdin instead of argv[1] - Partial redirect page is linked in - Configuration issues o chmod a+rx a whole bunch of stuff just in case the installer's umask doesn't give the server admin permission to execute. o Ask for contact email address as well as server admin email address 0.4: (1996 Feb 16) - BER input to build -replace - Replace trans file is also BER - Collapsed batch_modify.pl.cgi and batch_add.pl.cgi to batch.pl.cgi - Fixed find_purl and dump to exit if open_in_files fails - Configuration issues o Check that PERL is version 5 o Look for echo and determine how to echo without new line 0.3: (1996 Feb 09) - Better Password Security - find_purl will only match on exact PURL (not partial) - Domain list is now in purl.ini instead of srm.conf - Domain list moved to domain.ini not purl.ini - Configuration issues o Check for PERL and make link in bin directory o Set execute bit on PERL scripts in maint directory o Set defaults from config.sh 0.2: (1996 Feb 06) - Partial Redirects - Password Hint - Configure Script 0.1: (1996 Jan 01) - First public release. */