home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / info-service / gopher / Unix / gopher1.12 / doc / server.changes < prev    next >
Encoding:
Text File  |  1993-01-17  |  16.4 KB  |  496 lines

  1. $Id: server.changes,v 1.3 1993/01/18 03:01:36 lindner Rel $
  2.  
  3. Changes from 1.11 to 1.12
  4. -------------------------
  5. * No changes.
  6.  
  7. Changes from 1.1 to 1.11
  8. ------------------------
  9.  
  10. * FTP gateway transactions are now logged.  Also, the password sent
  11.   by the gateway to the remote ftp site now contains the hostname of
  12.   the remote gopher client.
  13.  
  14. * Fixed problem with files that contain a period on a line all by
  15.   itself.
  16.  
  17. * Using the -u flag and not using -c actually works now.
  18.  
  19. * mindexd is gone, long live gopherd :-) Place your mindexd
  20.   configuration files inside your gopher-data directory with the
  21.   extension ".mindex".
  22.  
  23. * Moved all kernel specific code into kernutils.c
  24.  
  25. * .cap files are ignored by the WAIS searching engine.
  26.  
  27. * Fixed endless loop bug with shell-script index queries.  Added more
  28.   special character filtering to GrepIndexQuery()
  29.  
  30.  
  31. Changes from 1.03 to 1.1
  32. ------------------------
  33.  
  34. * Fixed error processing results when using ANSI varargs.
  35.   <asc@uci.edu>
  36.  
  37.  * WAIS search results will now get the name from a "Sidefile" (i.e.
  38.   .cap entry)  if it exists.  Note that the indexes and the files
  39.   must reside on the same host if this is to work.
  40.   <Mike_Macgirvin@MED.Stanford.EDU>
  41.  
  42. * The security file has been replaced with a gopherd.conf file.
  43.   For info on configuration see the example gopherd.conf file, or
  44.   the soon to be written gopherd.conf man page.  Use the -o option to
  45.   gopherd to specify an option file
  46.  
  47. * Object type mapping from filename extensions is now implemented
  48.   in the gopherd.conf file as well.
  49.  
  50. * exec:args:/scriptname may now contain an empty argument list, so
  51.   this is now valid:
  52.  
  53.         Path=exec::finger @moocow
  54.  
  55. * Changed the way the WAIS code is linked in.  You'll have to make a
  56.   symbolic link for the WAIS bin directory now. (Read the updated
  57.   INSTALL documentation.
  58.  
  59. * Fixed problem with mail spool files with addresses longer than 64
  60.   characters.  (Greg Smith smith@bucknell.edu)
  61.  
  62. * WSRC objects found through the WAIS gateway are interpreted as gopher
  63.   search items instead of text files.
  64.  
  65. * Logging when using chroot() will no longer give GMT times.  It will give
  66.   the local time instead. (Rob.Montjoy@uc.edu)
  67.  
  68. * Reverted to old cache method that doesn't fail when you change the
  69.   name of a parent directory.
  70.  
  71. * Turned off linger option on sockets.  The server shouldn't leave
  72.   sockets in the CLOSING state anymore (well we can hope :-)
  73.   (edmoy@violet.berkeley.edu)
  74.  
  75.   Also added SOREUSEADDR option on the socket.
  76.  
  77. * Logfile now gets created with mode 644 permissions.
  78.   (mark@sarek.plk.af.mil)
  79.  
  80. * Fixed core dump problems with core dumps inside of waisgopher.c.
  81.   The problem was with an incorrect AbortOutput() call that had the
  82.   wrong parameters [buchali@sun8.ruf.uni-freiburg.de (Christine
  83.   Buchali)] 
  84.  
  85. * Fixed all known problems with numbering.  Numbering directories is
  86.   different now. Instead of putting an item in the nth place, it sorts
  87.   the directory as follows:
  88.   -    All numbered entries are first, sorted by number.  If two items
  89.        have the smme number, then sorting is done alphabetically
  90.   -    All remaining entries are then added at the end, sorted in
  91.        alphabetical order.
  92.  
  93. * Fixed problem with Wais gateway and munged characters.  The wais
  94.   gateway now obeys the protocol and transmits CR-LF pairs at the end of
  95.   lines like it's supposed to.
  96.  
  97. * Fixed problem with tmp files from ftp gateway..  Also, rewrote the
  98.   ftp-gateway to talk ftp-protocol directly instead of relying on the
  99.   ftp executable.
  100.  
  101. * Directory listings are now generated with NLST -LF instead of -F, this
  102.   should fix some problems with symbolicly linked directories. 
  103.   (valke@cca.vu.nl (Peter Valkenburg))
  104.  
  105. * Audio files should transer across the ftp gateway properly now.
  106.   (valke@cca.vu.nl (Peter Valkenburg))
  107.  
  108.  
  109. Changes from v1.02 to v1.03
  110. ---------------------------
  111.  
  112. Added lost+found and lib to the list of directories mapped out.
  113. Eventually this will be replaced by a gopherd.conf file.
  114.  
  115. gopherls will now list out the correct host, instead of NULL.
  116.  
  117. Binary files now work for the ftp-gateway in the server.
  118. (mahilata@vogon.mathi.uni-heidelberg.de) Added Image and sound support
  119. to the gateway as well.
  120.  
  121. You no longer have to play with the Path= portion in a .cap entry if
  122. you want something to be treated as a binary (9) or Search (7).
  123. The server does it right.
  124.  
  125. Server recognizes gifs as Type I irregardless of extension.
  126.  
  127. WAIS searches can now return binary type data.  For now it's just
  128. returned as Type 9.  However Type I and s can be hacked in pretty
  129. easily.
  130.  
  131.  
  132. Changes from v1.01 to v1.02
  133. ---------------------------
  134.  
  135. Tweaked error.c so that it will work with ANSI varargs.  (Pekka
  136. Kyt|laakso)
  137.  
  138. Fixed problem with gopherls.  Output was being sent to stdin, ugh!
  139.  
  140. Fixed problem in server when returning error messages.  Should get rid
  141. of a few more core files :-) (Doug Shales)
  142.  
  143. Fixed problem with the Path=exec server type. Added a missing break..
  144. (Doug Schales)
  145.  
  146. Fixed compilation problems of waisgopher.c underneath Ultrix.
  147.  
  148. Changed Waisindex.c so that long pathnames of the type:
  149.  
  150.     ACT III  /home/mudhoney/gopher-data/Gutenberg/shake/Henry III
  151.  
  152. are emitted as:
  153.  
  154.    ACT III /Gutenberg/shake/Henry III
  155.  
  156.  
  157. Removed statements that could never be reached.
  158.  
  159. special.c doesn't recognize compressed files correctly. This fix
  160. should work on all machines regardless of their bit size.  (David
  161. Datta) datta@cs.uwp.edu
  162.  
  163. Fixed problem with extra output from stdout/stderr. This is most 
  164. frequently seen as server messages appearing on NeXT clients. 
  165. (Steven Jones) noyd@cac.washington.edu
  166.  
  167. Fixed problem with client truncating directories with types it doesn't
  168. understand. (Dennis Boone) 
  169.  
  170. Removed extra period at the end of http transactions.
  171.  
  172. Fixed bug in parsing WWW ids.
  173.  
  174. Fixed bug in sending cached html pages.
  175.  
  176.  
  177. Changes from v1.0 to v1.01
  178. --------------------------
  179.  
  180. Fixed problem with load limiting code.  It didn't work as advertised.
  181. <mtm>
  182.  
  183. Added test to filter out unreadable directories. <mtm>
  184.  
  185. The exec: type path now can have arguments with a colon in them. <mtm>
  186.  
  187. Allow whitespace in command names in ShellIndexQuery.  Also fixed
  188. error in calling GDfromNet() and added a missing pclose() <mtm>
  189.  
  190. Fixed Makefile so that installation works correctly.
  191.  
  192. Fixed ftp.c so that it now puts out the proper paths. <gilbertd>,<Lange>
  193.  
  194.  
  195. Changes from v0.9 to v1.0
  196. -------------------------
  197.  
  198. Gopherd now moonlights as gindexd as well.  Usage is slightly
  199. different though.  Instead of a -d flag, just add the database name to
  200. the index_directory.
  201.  
  202. .cache files are ignored by the search engine routines.
  203.  
  204. Added utility "gopherls".  It's really just a link to gopherd.  But it
  205. easily allows you to see what all the .Links, .caps, etc. will look
  206. like, without constantly running a client.
  207.  
  208. Added the wais gateway functionality directly into the server.
  209. To add a wais database put a link like this:
  210.  
  211.   Name=Whatever
  212.   Path=waissrc:/the/path/here
  213.   Type=7
  214.   Host=+
  215.   Port=+
  216.  
  217. The server will automagically turn files ending in .src into
  218. wais databases...  Mondo cool.
  219.  
  220. Made the server more agressive wrt caching. It will check the
  221. modification times on the files in the directory and the .cap
  222. directory before remaking the .cache file.  Mods from Earl Fogel.
  223.  
  224. Now linking in the swanky gopher library.  Now we can really have
  225. shared code!
  226.  
  227. Added HTML support.  A gopher server can be now queried with a WWW
  228. (World wide Web) client.  The server also understands html files and
  229. can serve them up to WWW clients.  Note that this is different from
  230. the built in support that WWW has for gopher servers, in that you can
  231. add descriptive text to a directory listing by putting a .about.html
  232. file in the directory.
  233.  
  234. Added an ftp gateway to the server.  Make a link with a path like
  235. ftp:hostname@pathname.  This may not work on all systems...
  236.  
  237. When retrieving ranges of files the server outputs from which file
  238. it's getting the data from..
  239.  
  240. Fixed bug with the variable inline in index.c
  241.  
  242. Changed behavior of logfiling...  When running non-inetd, the server
  243. would hold the logfile open.  Deleting the logfile wouldn't free the
  244. space.  The server now reopens the logfile for every request..
  245.  
  246. Added better hostdata support.  The server will now look for
  247. <dbname>.hostdata before just the plain vanilla "hostdata".  Thus it
  248. is now possible to have multiple indices in the same directory. (mic)
  249.  
  250.  
  251. Changes from v0.8 to v0.9
  252. -------------------------
  253.  
  254. Added code from Mike MacGavrin that restricts access based on load
  255. average.  Right now it works on SunOS 4.1.1.  It may work on others
  256. too.  To use this option look in the conf.h file and define
  257. LOADRESTRICT.
  258.  
  259. Added server directory caching!!  I took the digest idea of John
  260. Sellens and incorporated it into the server.  When a directory is
  261. transmitted a .cache file is created.  This file contains the raw
  262. gopher directory information.  You can set the cache timeout value in
  263. conf.h (Currently it's set to three minutes)
  264.  
  265. Added dynamic data structure allocation.  No more limits to the size
  266. of directories or lengths of strings!
  267.  
  268. Bolstered the builtin mailfile processing with code taken from nn.
  269. Mail articles are now strictly sorted by legal from lines instead of
  270. just checking the first five characters.
  271.  
  272. Changed index searches so that they use the built in headlines that
  273. the indexes provide.  Much prettier looking and less code grokking for
  274. me :-)
  275.  
  276. Changed the getcommand readline() error call to not dump core.  This
  277. happens fairly regularly with the 0.7 client.  (0.8 doesn't cause this
  278. problem)
  279.  
  280. Changed Makefile so that install depends on $(TARGET), not all.
  281. (Pointed out by Edward Symanzik)
  282.  
  283. Changed daemon.c so that HPs use setsid() to disassociate from the
  284. controlling tty. (fix from Jim Garlick)
  285.  
  286. Added -lm to the LIBS in the Makefile.  Some systems don't have ceil()
  287. and floor() in libc.  Pointed out by Jim McCoy
  288.  
  289. Updated conf.h with instructions on defining NOSTRSTR for machines
  290. that don't have strstr().  Suggested by Benjamin Littman.
  291.  
  292. Removed duplicate period that was being transmitted at the end of each
  293. directory...
  294.  
  295. Added patch from Edward Symanzik that fixes GDaddGS for once and all.
  296. Some strange sorting behavior was still being seen.
  297.  
  298. Fixed problems with subject lines in mailfiles being set incorrectly.
  299. (Fix from Mike Macgirvin)
  300.  
  301. Fixed problems logging Ranges.  Filename wasn't being appended correctly. 
  302.  
  303. Fixed problem with munged logfiles with many simultaneous gopher
  304. connections.  The server uses fcntl to do its locking.  Patch
  305. submitted by Edward Symanzik.
  306.  
  307. The Waterloo'isms for setting the UID to a "safe" person are only in
  308. place for the spawned server. The code to setuid comes after the inet
  309. server runs, and in fact, a "-u" or "-U" option is ignored for inet
  310. operation. Sure it's an inet config option, but the man page says that
  311. "-u" sets it, and it doesn't in this case. This might lead people to a
  312. false sense of security... (Fix from Mike Macgirvin)
  313.  
  314. Fixed problems with compressed files under the -c option.  Now works
  315. correct. Fix from Billy Barron.
  316.  
  317. Fixed logging of built in search requests.  The query wasn't logged
  318. before.
  319.  
  320. Added small feature from John Sellens that allows you to use a plus
  321. (+) in the Host= and Port= lines of a link file.  When the server
  322. comes across these it substitutes the current hostname and port of the
  323. current server.
  324.  
  325.  
  326. Changes from v0.7 to v0.8
  327. -------------------------
  328.  
  329. Added patches from John Sellens to make it possible to run gopherd in
  330. a non-chroot() fashion.  Look in the modified gopherd man page for
  331. more information.
  332.  
  333. Fixed problems with -I option and improper port numbers.  Fix from
  334. many people.
  335.  
  336. Fixed problems with Titles and sidefiles.  Should work properly now.
  337.  
  338. Fixed problems with domain names not being properly appended when DNS
  339. routines don't seem to return the proper hostname.  (Fix from John
  340. Ladwig).
  341.  
  342. Fixed small problem with mailfile processing from Mike Macgirvin
  343. <mtm@SUMEX-AIM.Stanford.EDU>
  344.  
  345. Fixed another problem with mailfile processing, the last letter had
  346. the same startbyte and endbyte.  Fix from Ed Symanzik.
  347. <zik@convex.cl.msu.edu>
  348.  
  349. Added new protocol change/extension for multiple indexes on a single
  350. daemon.  Gopherd can now serve up full text indexes!  The Makefile is
  351. quite a bit different now.  Look in the man page for info on setting
  352. up indexes.
  353.  
  354. Added support for type 9 binary files.
  355.  
  356. Added support for type 4 macintosh hqx files.
  357.  
  358. Everything is now logged, previously ranges and mailfiles weren't logged.
  359.  
  360.  
  361. Changes from v0.6 to v0.7
  362. -------------------------
  363.  
  364. Fixed bug that causes server to core dump when reading in directories
  365. with more than 256 entries.
  366.  
  367. Fixed bug which caused core dumps on non-sparc machines.  (Man are
  368. those Sparcs forgiving!)
  369.  
  370. Added fixes from Craig Rice <cdr@stolaf.edu>
  371.  
  372.    Shell scripts with spaces in them would not work.
  373.  
  374.    Fixed strange problem with user defined numbering appearing in
  375.    the wrong place.
  376.  
  377.  
  378. Added fixes from John Sellens <jmsellen@watmath.waterloo.edu>
  379.  
  380.    Fixed problem with error handling, and improper argument passing in
  381.    Getfiletypes();  
  382.  
  383.    Fixed problem with error handling when dealing with older paths.
  384.    The server now handles abnormal conditions better.
  385.  
  386. Added fix from Mic 
  387.  
  388.    It's no longer necessary to specify the port number when running
  389.    from inetd.  The server will figure it out automatically.
  390.  
  391.    Also, when running from inetd the message "Starting Gopher Daemon"
  392.    is no longer logged
  393.  
  394.  
  395. Changes from v0.5 to v0.6
  396. -------------------------
  397.  
  398. There's now a man page!  Yeah!
  399.  
  400. The server can now be started from inetd.  Use the -I switch.
  401.  
  402. Alphabetizing/Ordering of items within a directory now works.  I took
  403. the ideas of Craig Rice and modified the heck out of them.
  404.  
  405. Added enhancements from Craig Rice to allow shell scripts to be
  406. placed inside of a gopher-data directory.  
  407.  
  408. The server now recognizes mail spool files.  It makes them into
  409. directories that the user can browse.
  410.  
  411. Added code cleanups from William Roberts <liam@dcs.qmw.ac.uk>.
  412.    Eliminated multiple gethostbyname() calls.
  413.    Item Names can be put in the .cap/ files.
  414.  
  415. Added changes from Mic Kaczmarczik <mic@emx.utexas.edu>
  416.    Allow the Data Directory and Domain Name to be changed in the Makefile.
  417.    Automagically define __STRICT_BSD__ on NeXTs
  418.    Automagically define BROKENDIRS on the Next and Umax
  419.    Include <ctype.h>  for systems that need it.
  420.  
  421.  
  422. Changes from v0.4 to v0.5
  423. -------------------------
  424.  
  425. The server can automatically determine the types of certain files.  It
  426. now recognizes sounds and uuencoded files.  (It actually looks at the
  427. file, not the extension.)
  428.  
  429. Improved logging.  All transactions are now logged with the name of
  430. the file/directory that was retrieved.  Logging now gets done *after* the 
  431. transaction takes place.  This will speed things up a little bit.
  432.  
  433. Portability fixes.  Now compiles cleanly on HPUX 7.0 (and others too
  434. perhaps...)
  435.  
  436. Added directory mask for /etc.  (Forgot about that one!)
  437.  
  438. Gopherd can now serve ranges of files.  This is especially useful if
  439. you have big mail spools and are using the wais indexer.  The format
  440. for a range in the selector string is "R<startbyte>-<endbyte>-<Filename>". 
  441. Look in the shell-scripts directory for utilities to make link trees
  442. out of these big files.
  443.  
  444. Made sure that the server always returns a line with a dot.  (to
  445. successfully terminate the connection).
  446.  
  447. Added change from Craig Rice (cdr@stolaf.edu) that fixes the problem
  448. with compressed files.  (The zcat was opened for writing...  oops!)
  449.  
  450. Gopherd now checks to see if it's being run by root before it starts
  451. (suggested by Russell Fulton <russell@ccu1.ak.nz>)
  452.  
  453. Fixed type problem with getopt().  (c should have been an int not a
  454. char) Thanks go to BugStomper Russell Fulton <rj_fulton@aukuni.ac.nz>.
  455.  
  456.  
  457. Changes from v0.32 to v0.4
  458. --------------------------
  459.  
  460. Changed argument processing over to getopt() Phew, what a relief.  Of
  461. course this means that arguments must have single letters now, so -sec
  462. becomes -s, -log becomes -l and -DEBUG becomes -D.
  463.  
  464.  
  465. Changes from v0.31 to v0.32
  466. ---------------------------
  467. Added a chdir("/") so that relative paths (i.e. paths that don't have a "/"
  468. in front of them) work.
  469.  
  470.  
  471. Changes from v0.3 to v0.31
  472. --------------------------
  473.  
  474. Fixed bug where -sec was always required.
  475.  
  476.  
  477. Changes from v0.2 to v0.3
  478. -------------------------
  479.  
  480. Added logging for the server along with a new command line switch -l <logfile>.
  481.  
  482. Added option to filter connections based on hostname/internet
  483. addresses.   The new command line switch is -sec <secfile>.
  484.  
  485. Changes from v0.1 (The original unversioned release) to v0.2
  486. -------------------------------------------------------------------
  487.  
  488. Added support for sound types.
  489.  
  490. Changed the types of paths generated so we can save a directory lookup
  491. in a couple of places
  492.  
  493. Added the .cap/ method of changing object types and making links.
  494.  
  495. Changed Makefile around a bit
  496.