Wed Jan 17 09:06:49 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl:
	checkpassword: use new global master_password (if not defined, permit anything)

	readconfig: new file, reads config file and sets things up.
	new config file format, verb args.

	main: use readconfig.

	* mywiki.perl: password support

	process_get: parse out &pw=, pass it to renderpage, buildeditpage,
	buildeditlinks, buildrefspage

	process_post: parse out &pw, check it, take it out of content list for
	tags

	checkpassword: new function, can decide on password based on database
	name and page name (but now just checks that it is "foo")

	* guts.perl: password support changes

	buildeditpage, buildeditlinks: add pw argument, add preloaded input
	password field

	replaceword: add pw argument, stuff it into lookup= and page=
	renderpage: add pw argument, pass it to replaceword, stuff it in verb=
	buildrefspage: add pw argument, stuff it into lookup=

	* guts.perl:
	get: $thing isn't defined, use $_[0] directly. Text cleanup too.
	buildeditpage: use !exists(page) rather than exists(link) for makelink
	tag.

Tue Jan 16 13:32:33 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl: process_server_get: use html_tail, cleanup old code

	* stashfile.perl: return 1 at eof since we now use require

	* mywiki.perl: use require instead of do

	* guts.perl: use require instead of do
	commitlink: fix typo in

	* guts.perl: get: clean up conditional

	* mywiki.perl: startlistener: cleanup unused locals

	* guts.perl: die properly on failed inclusion of stash

	* guts.perl: replaceword: simplify conditionals
	report_replaceword: collapse extra assignment

	* guts.perl: commitpage: remove spurious reference to $data

	* guts.perl: commitlink: remove spurious local

	* guts.perl: report_replaceword: simplify conditionals

	* guts.perl:
	allpages, makebackup, buildeditpage, buildeditlinks, commitpage,
	commitlink, buildrefspage, dumpreport: use html_tail

	* mywiki.perl: main: $_ =~ is redundant.

	* mywiki.perl:
	http_bad_request: new function, generates bad foo request diag page
	process_post, process_get: use http_bad_request

Tue Jan 16 12:20:49 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl: process_get: simplified one-line conditionals further

	* mywiki.perl:
	process_get: simplified code by splitting path into verb and object,
	and matching the verbs as fixed strings

	* mywiki.perl: minor style tweak in getmimeheaders

	* mywiki.perl: drop putmimeheader for simple mime_header variable

	* guts.perl: print_html_tail: delete function

	* mywiki.perl:
	print $html_tail directly instead of calling the function

	* guts.perl: html_tail variable, not make_proc
	fix print_html_tail.

	* guts.perl:
	rawpagefetch, rawlinkfetch, getpage, getlink, pageexists, linkexists:
	remove, and change last remaining references.

	* rename.perl: change pageexists -> exists
	change linkexists -> exists

	* mywiki.perl: switch pageexists to exists

	* rename.perl, fixrefs.perl: change getrefs to get

	* mywiki.perl: reference to getpage changed to get.

	* guts.perl:
	rawfetch, get, exists: new functions, extra first argument "thing"
	indicating link vs page.

	* guts.perl: mark loadbackup, rebuild_invrefs as external

Mon Jan 15 22:05:42 1996  Mark Eichin  <eichin@cygnus.com>

	* guts.perl: label as "# external" the subroutines that mywiki calls.

	* guts.perl: report_expandword: avoid extra space at beginning of word.

	* guts.perl:
	getrefs: preserve order by copying new words into temporary list
	dumpreport: preserve order by copying from original refs based on
		flags (and clean up code slightly)

	* fixrefs.perl: Initial revision

	* guts.perl: rebuild_invrefs: links don't reference pages

	* rename.perl: Initial revision

Sun Jan 14 03:54:23 1996  Mark Eichin  <eichin@cygnus.com>

	* guts.perl:
	getpage, getlink, pageexists, linkexists: add missing local tag on $out
	allpages: pass database name to replaceword

	* guts.perl: allpages: mention database name in title
	take out link tag as well
	use replaceword instead of hand tweaking the entry

	* stashfile.perl: don't return . or .. as database keys

Sat Jan 13 12:19:49 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl: don't lose <ul>

	* mywiki.perl: special case failed match for unknown get

	* guts.perl:
	report_expandword: break pagenames into words based on studlycaps
	report_replaceword: use report_expandword, and put the modified word
	into the return value
	dumpreport: use report_expandword in page titles

Wed Jan 10 09:09:57 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl:
	don't permit commitlink on existing pages, only on new ones

	* guts.perl:
	buildeditpage: only provide makelink option if the page doesn't
	already exist.

	* mywiki.perl:
	only accept syntactically valid page names from forms, to avoid
	security problem creating them.

	* guts.perl:
	getlink: empty body == name, so we don't change exact matches
	buildeditlinks: new, makes a <dl> list of all non-page links for
	possible editing as hyperlinks
	added editlinks=pagename to renderpage

	* mywiki.perl: add editlinks
	fix a doubled header
	permit http/0.9 style GET

	* guts.perl:
	rendersafe: new function, just handles the &lt; &gt; and &amp;
	quoting.
	buildeditpage: use rendersafe on the existing page inside the
	<textarea>.

	* mywiki.perl:
	make trailing cr's optional, to support nonconforming clients per
	w3.org recommendation.

Tue Jan  9 23:26:14 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl: remove misinformed + conversion from getpostfields
	improve debugging code, now support /debug=norm and /debug=raw

	* guts.perl: add linkwords to report generator

	* guts.perl: use hr, not br, to seperate link page

	* mywiki.perl:
	process_post: if makelink set, use commitlink instead of commitpage
	main: need to check for /foo for process_debug_post test

	* guts.perl: new function rawlinkfetch
	new function getlink
	new function linkexists
	(clones of corresponding *page* functions, using link: files instead)

	buildeditpage: add makelink submit button
	replaceword: check linkexists first
	renderpage: reindent

	new function commitlink (much simpler than commitpage.)

	* guts.perl: pull wikiword replacement into a seperate procedure

Mon Jan  8 20:42:36 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl:
	fix m{} to use m%% so that $} doesn't confuse perl4 ($% seems safe in both)

	* mywiki.perl: allow multiple spaces after tag name in conf file

Sun Jan  7 07:36:55 1996  Mark Eichin  <eichin@cygnus.com>

	* guts.perl:
	remove debugging. result was addition of rebuild_invrefs function
	and a single variable reinitialization.

	* guts.perl: added lots of debugging to find and fix invrefs problem

	* mywiki.perl: make putmimeheader a separate routine

	* mywiki.perl: fix POST support for multi-db as well

	* guts.perl: close title properly

	* mywiki.perl:
	use explicit sysvals to save memory over real includes...

	* mywiki.perl: add multi-server support and config file

Sat Jan  6 00:05:52 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl: move backup to server=

	* mywiki.perl: add some missing html_tails

Fri Jan  5 23:58:05 1996  Mark Eichin  <eichin@cygnus.com>

	* guts.perl: add print, make _html_tail

	* mywiki.perl: move print_html_head to guts

	* guts.perl: move print_html_head here
	add make_html_head for string users
	add explicit </body></html> tags

	* mywiki.perl: fix print_html_head to use argument properly
	further cleanups

	* mywiki.perl:
	new function print_html_head to put together head and title

	* mywiki.perl: use m{} since m_^x$_ had quoting problems with $_

	* mywiki.perl: use correct pattern matching syntax.

	* mywiki.perl: use eq for simple strings
	add ^ and $ to regexps

	* mywiki.perl: add else clauses for failures in get and put
	fix strings for server command matches

	* mywiki.perl: fix typos

	* mywiki.perl: fix matching in process_server_get

	* mywiki.perl: save original argv for reboot
	modularize main into
		process_get
		process_post
		process_server_get
		process_debug_post
	move server commands into /server= instead of top level

Thu Jan  4 23:39:08 1996  Mark Eichin  <eichin@cygnus.com>

	* guts.perl: filter & to &amp; as well

	* mywiki.perl: call dumpreport on /report=tag

	* guts.perl: add dumpreport code

	* mywiki.perl: pass port number on reboot too

	* mywiki.perl: clean up top level page, include database name

Mon Jan  1 14:26:30 1996  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl: support port number from the command line

Sat Dec 30 01:40:26 1995  Mark Eichin  <eichin@cygnus.com>

	* guts.perl: call renderitemize directly from renderhtml

	* guts.perl: fix missing trailing </ul> closings in renderitemize

	* guts.perl: factor out renderhtml for simple html stuff

Fri Dec 29 07:46:36 1995  Mark Eichin  <eichin@cygnus.com>

	* mywiki.perl: reuse the correct database on reboot

	* guts.perl: For undefined terms, go directly to edit page

	* mywiki.perl:
	switch back to INADDR_ANY socket, as it seems to work for me on linux
	now...

Wed Dec 27 06:06:36 1995  Mark Eichin  <eichin@cygnus.com>

	* stashfile.perl: Initial revision

	* guts.perl, mywiki.perl:
	Change backslash to dollar sign for positional parameters in
	substitutions (optional perl4, mandatory perl5)

Wed Dec 20 23:10:16 1995  Mark Eichin  <eichin@cygnus.com>

	* guts.perl, mywiki.perl: stash should be in guts

	* mywiki.perl: fix typo

	* mywiki.perl: choose stash implementation via stash.perl

	* guts.perl: use stash implementation

	* stashdbm.perl: Initial revision

	* mywiki.perl, guts.perl:
	render page now takes database name as argument

	* mywiki.perl: switch to database from command line

	* guts.perl: reorder functions a bit

Tue Dec 19 19:15:36 1995  Mark Eichin  <eichin@cygnus.com>

	* guts.perl: add comments with email address

	* mywiki.perl: clean up comments

	* guts.perl:
	avoid generating duplicates in getrefs using local assoc array

	* guts.perl: fix typo in backup script

	* mywiki.perl: better html markup
	explict bind on `hostname` since &INADDR_ANY isn't working on
	linux(???)

	* guts.perl: fix some typos

	* guts.perl: eliminate vestigial wikitest routine

	* guts.perl: switch inverse database over to common database_* routines
	eliminate old local DB, IDB handles

	* guts.perl: implement common database_* routines, and use them for all
	primary database work

Fri Dec 15 06:03:42 1995  Mark Eichin  <eichin@cygnus.com>

	* guts.perl: add renderitemize for <TAB>* conversion to Unordered List

	* guts.perl: clean up quoting in renderpage

Thu Dec 14 23:30:08 1995  Mark Eichin  <eichin@cygnus.com>

	* guts.perl, mywiki.perl: Initial revision

