Help On Mosaic v2.0
If you have accessed this document from the Help On Version menu selection in
NCSA Mosaic, you are using a prerelease of version 2.0.
Changes in version 2.4.
Things Slated for 2.0 Maintenance Release
- Dictionary mode!
- Ugly handling of errors in middle of gopher menus (e.g. gopher://gopher.internet.com:2100/11/collected/new_yorker).
- Problem with plus's in existing FTP filenames (apparently).
- Problem with spaces in telnet usernames (Prentiss's report).
- See if transparent uncompression should be carried over to other converters (probably WSRC).
- Fix URL describing stuff (handle Gopher types; say "unknown" for unrecognized HTTP types).
- Do default filename heuristic for dialog box on binary transfers.
- Relevance feedback in WAIS code.
- Images that haven't been loaded because of an interrupt should be represented as deferred, not missing -- consult with Eric.
- FTP login stuff (popup dialog for password).
- Apply -geometry argument to initial window.
- Make error feedback more specific.
- Fix simple interface when regular interface stabilizes.
- Handle < and > in Gopher menus (testcase gopher://info.rutgers.edu/).
- Possible infinite loop in window positioning code -- yup, see Göran Öberg's note.
- Problem with annotation title containing leading HTML tags.
- Fix reload to handle mosaic-access-override properly.
- Look into having better WAIS server interface page (hardcoded).
- FTP client-side problems with Wollongong (Whelan).
- External viewers that receive data from stdin should have it piped to them directly rather than saved to a local file & cat'd.
- Wrap all the stuff at the top of the document view window in a form, to help weird X servers with weird fonts not look like they're completely screwing things up.
- Performance/cleanliness things:
- Do more detailed performance analysis on interface games during downloading (notify_progress probably getting called too often).
- See if we can axe HTAnchor stuff altogether.
- See if we can axe more of the HTML parsing code.
- Consider converting all HTML start_element stuff in libwww to just straight insertion of HTML -- probably help performance, among other things.
- Local files shouldn't be copied into /usr/tmp for external viewer access.
- Consider gating HTProgress in HTCopy similar to how twirling is gated.
- Widget things:
- If I have multiple windows open with an image in one window that has since lost its colors, and I open a new window containing the same image, the pixmap containing the lost (bad) colors is used. Similarly, if you middle-button open a new window containing an image that is also on the first window, and the program needs to snarf colors, it will snarf colors from the image in both windows rather than considering the image to be in the newly opened window as it should.
- Rubber-band box and arbitrary polygon support for IMG and/or FIG.
- If I have multiple windows open, have a document with an inlined image in one window, and use the other window to view enough inlined images to cause the image in the first window to be purged from the cache, it can happen that during a redisplay (e.g. in response to a resize) of the first window, the image resolve callback isn't getting called and the "missing" bitmap is displayed instead. An explicit refresh or reload does the right thing, though.
- Try to reproduce Martijn's forms weirdness (Oct 27).
- Sliders (range input type).
- Fix formatted selections for things like the
B
tag (underlining goes whacko).
- Jot & audio (and eventually video :-) input elements.
- FIG.
- Scrolled lists should scroll to SELECTED option (or first one) if it's out of view.
- BOX directive (two HRs plus connecting notch).
- Some variant on PRE that doesn't force line breaks before & after is necessary to do intermediate FTP interface (CODE isn't good enough, since spaces are collapsed).
- ALT tag support.
- XUndefineCursor on hw when setting new text -- for some reason, I can't do it from the main program, and the cursor is remaining hand-shaped even after back or forward, when it shouldn't.
Changes from 2.3 to 2.4
- Fixed bug that made widget names appear just to the right of toggle buttons in forms.
Changes from 2.2 to 2.3
- Fixed security bug in telnet URLs.
- Fixed bug with dithered images inverting on some displays.
- Fixed bug with non-direct-WAIS clients core dumping on WAIS URLs.
- Fixed bug with uninitialized gatewayed for proxy gateways.
- Fixed memory overrun in PEM_AUTH code.
- Fixed loss of small messages in PEM_AUTH code.
- Fixed improper defaults for VerticalScrollOnRight.
- Fixed more GIF decoding core dumps.
- Fixed mispelling of XtSpecificationRelease in gui.c
- Fixed 24bit handling bug that caused some displays to switch red and blue.
- Added names to child widgets in forms.
- Added autoconfiguration of MOTIF1_2 based on XmVERSION and XmREVISION.
- Made dialogs rise to the top when selected a second time.
- Added 24bit DirectColor support.
- Added 16bit TrueColor support.
- Changed dithering to Floyd-Steinberg dithering.
- 2 color images go to black & white on monochrome, instead of dithering.
- <FORM> now uses ENCTYPE and ENCENTITY to submit encrypted if PEM_AUTH is defined.
- New menu under
Options
to always request encrypted if PEM_AUTH is defined.
Changes from 2.1 to 2.2
- Fixed bug in unrecognized URLs that have whitespace at the beginning.
- Fixed bug with transparent color GIF89 images.
- Fixed more inlined image parsing code dumps.
- Fixed odd extra flashing in documents accessed after form documents.
- Fixed socket leak in interrupted I/O.
- Fixed bug in whitespace terminated entity '&' escapes.
- Added Frans Van Hoesel's latest postscript changes.
- Added Frans Van Hoesel's extra font support.
- Speedups in GIF decoding, thanks to David Koblas.
- Improved handling of monochrome displays. Detect mono without needing the -mono option, and dither inlined images.
- Added <OPTION VALUE=val> support so you can have the value returned different than the string displayed.
- Added <INPUT TYPE=hidden> to allow invisible constant name/value pairs to be added to submitted forms.
- Made resource
verticalScrollOnRight
user settable.
- Added hooks for PEM and PGP decoding by external application(s).
- Added support for proxy gateways, specifiable on a per access method basis.
Changes from 2.0 to 2.1
- Remote control filename changed from
/tmp/xmosaic.pid
to
/tmp/Mosaic.pid
. This is the final such change, forever.
- Transparent uncompression over HTTP/1.0 is working. Only content encodings "x-compress" and "x-gzip" are currently handled.
- Transparent uncompression for local files is now working.
- Mail sending from within Mosaic is redone. Notably:
mailCommand
resource is now totally obsolete.
sendmailCommand
resource is now expected to point to your system's
sendmail
binary; default is
/usr/lib/sendmail
. Assumption is made that this program accepts command-line arguments specifying addresses to which message should be mailed, and accepts other headers and message text from stdin.
- Mailed messages are now MIME-compliant, including use of proper content-types.
- Additional header
X-URL
is used to indicate the URL of a mailed document to the recipient.
- A
BASE
directive is added to mailed HTML documents to allow inlined images and relative hyperlinks to work on the other end.
- Mosaic 1.2's multiline FTP response fixes (courtesy John Ockerbloom) merged in, and tweaks made.
- Added support for freeWAIS 0.202's URL type in native WAIS code.
- Added support for "204 NoResponse" responses in HTTP/1.0. When such a response is received, Mosaic will not go to a new document or an error message but will completely disregard the results of the connection.
- Status line now displays "xx of yy bytes" when talking to an HTTP/1.0 server that tells it content-length.
- Worked around BadWindow crash under Ultrix with Edit Hotlist window.
- Worked around BadWindow crash under Ultrix with
ISINDEX
forms and text entry areas.
- Glitch with formatting long lines in some cases fixed.
- Fixed rare coredump opportunity in
SELECT
/OPTION
handling.
- Fixed rare uninitialized memory read in widget selection code.
- Fixed another coredump opportunity in inlined image loading.
- Fixed coredump opportunity in client-side authentication code with long (
>48
character) realm names.
- Mosaic no longer tries to pick up final reply from FTP servers, to thwart those servers that don't seem to be responding to the final reply read. Also should make FTP performance a little better. This may be an evil thing to do (since Mosaic may now tear down the socket before the FTP server has finished writing to it); I'm not sure.
- Fixed bug that ignored anchors in redirected URLs.
- Made a few fixes in PostScript printing code: corrected header generation, and fixed width handling (thanks to Gustaf Neumann).
- Tweaked reloading code to avoid strange error message.
- Mosaic now assumes that text documents beginning with string "<BASE" or "<base" are HTML -- this makes it easy to use Mosaic as a metamail viewer for HTML documents mailed from this version of Mosaic.
- Merged in donated fixes for 6-bit and 16-bit displays. These aren't guaranteed to work as we have no way to test them.
- Fixed missing closing
ADDRESS
tag in news articles.
- Fixed condition in WAIS source parser that caused it to lose track of its state if escaped characters were inside quotes (thanks to Larry Masinter).
- Fixed FTP code to allow
ftp://username:password@host/
URLs (thanks to Larry Masinter).
- This version of Mosaic supports the GIF89 transparent color extension.
- Merged in SOCKS modifications from Ying-Da Lee (ylee@syl.dl.nec.com).
Note that SOCKS and the SOCKS code now in Mosaic are NOT supported by NCSA.
- Fixed memory problem with
trackFullURLs
set to
false
(that option still doesn't work in all cases, but at least it does something reasonable now).
- Tweaks for compilation on various platforms.
Changes from 2.0 prerelease 8 to THE REAL 2.0
- Fixed intermittent bug in loading files to disk (would inaccurately complain about insufficient temporary disk space).
- Extension map files can now have tabs as whitespace.
- Fixed more minor glitches in image caching, multiple windows, fun things like that.
- Never retry HTTP/1.0 POST operation as HTTP0 operation (makes no sense to do so).
- Removed really horrible compatibility hack for broken HTTP0 servers introduced in pre7 -- no longer useful, since ANU Bioinformatics has upgraded to HTTP/1.0.
- Tweaked remote control a little (fixed redisplay bugs on some servers).
- Tweaked HTTP/1.0 status messages.
- Tweaked bcopy/bzero macros for System V/Solaris.
- Fixed ugly form option menu bug.
- Assorted portability fixes.
Changes from 2.0 prerelease 7 to 2.0 prerelease 8
- Renamed executable 'Mosaic' and application class name 'Mosaic'. User X resources and system app defaults files should be updated as necessary.
- Implemented
FORM METHOD="POST"
with optional
ENCTYPE="application/x-www-form-urlencoded"
.
- Implemented
TEXTAREA
as described in the current (11/2) HTML+ spec.
- Fixed bugs with image caching (particularly with very small image cache sizes) and multiple open windows.
- Scrolled lists with nothing selected now return nothing.
- Fixed coredump opportunity in GUI part of authentication code (Marc's fault, not Ari's).
- Fixed glitch with spinning icon and deferred image loading.
- Quotes (") in
OPTION
s now work.
- Radio buttons no longer allowed to be "none of many" (document writers should make one of the buttons checked by default -- if you think you want to allow "none of many" behavior, just throw in a "none of the above" radio button).
- Image input elements whose images are deferred no longer have a hyperlink available in the deferred image icon.
- Fixed glitch with exploding Gopher/FTP icons in some cases.
- Force allowShellResize to false on Mosaic shell windows to avoid some stupid window manager bugs.
- "I have noticed that Mosaic 2.0pre6 does not properly scroll horizontally when a preformatted <PRE> declared document is wider than the window." Also gopher://gopher.ora.com/00/ordering/online.ordering. Fixed!
- Fixed coredump opportunity when temporary directory (
TMPDIR
) is unusable.
- Fixed coredump opportunities when interrupting NNTP connects and reads and when including inlined images in news articles (yikes).
- Fixed bad PostScript output of documents with titles with embedded newlines.
- Fixed problems in PostScript code on DEC Alphas (hopefully).
- Fixed another coredump opportunity in GIF reading code.
- Fixed glitch in simplying URLs like 'http://blargh.blah.:8001/'.
- Password entry fields in forms now obey the
MAXLENGTH
attribute.
- Changed default DEC Ultrix and Alpha audio player to "aplay" (c.f. AudioFile).
- Tried to make handling of HTTP network writes more elegant, in case some HTTP0 server really confuses things.
- Additional performance optimizations in HTML widget.
- New colorful spinning globe icon.
- Final interface tweaks, according to the advice of our user interface and visual design expert.
- Fixed compilation glitches on a couple different platforms.
- A few miscellaneous minor cleanups.
Changes from 2.0 prerelease 6 to 2.0 prerelease 7
- Smart inlined image caching. Resource
imageCacheSize
can be set to the maximum image cache size of your choice (in kbytes; default 2048) -- command line option
-ics
also does this.
- All of the images in a given document will be (temporarily) cached while on that page regardless of the value of
imageCacheSize
. (This is a feature :-).
- Cache flushes "least recently viewed".
- Added TYPE="image" to forms support (see
testcase).
- Added interruptible reads. All data loads should now be completely interruptible (from end of DNS lookup to beginning of in-widget document formatting), except for certain stages of a direct WAIS query.
- Added "mosaic-internal-present" magic viewer to cause arbitrary MIME types to be presented to the user using Mosaic's normal plaintext display mechanism. Added many default mappings for things like troff and TeX documents to this magic viewer.
- Made additional fixes to HTTP code for very small inlined images -- testcases
here
and
here.
- Transparent uncompression is back (but not recommended, for cross-platform compatibility).
- X resources
uncompressCommand
and
gunzipCommand
still control uncompression commands.
- You should upgrade to
gzip
version
1.2.4
if you're not already there, as the new default for X resource
gunzipCommand
is "gunzip -n -f", which requires a recent version of
gzip.
- Mosaic will not transparently uncompress anything coming across a HTTP/1.0 connection, under any circumstances, yet.
- Mosaic will not transparently uncompress anything transferred in binary transfer mode, but
will
transparently uncompress files typed such that they get saved directly to disk (e.g.
application/octet-stream
, and any MIME type mapped to magic viewer "mosaic-internal-dump").
- Partially removed smart FTP interface -- will be restored at some point in the future when I have more time to work on it. In the meantime, it caused too many problems with too many servers.
- Added "Reload Images" menu option to explicitly flush images on current page and reload the entire thing.
- Added horrible hack to allow (slow, but working) transactions with way-old HTTP0 servers.
- Made handling of screwed-up HTTP/1.0 MIME header sets more robust.
- Proper password entry dialog for authentication support.
- Added last resolved host info caching to help performance with slow, confused, or misconfigured DNS servers.
- Most temporary files weren't going into specified
TMPDIR
-- fixed.
- Fixed bug in handling of Gopher titles with 8-bit characters (testcase
here)..
- Fixed bugs in issuing Gopher queries -- punctuation in queries, etc. should work now.
- Better handling if temporary disk space runs out (still not a good thing to allow to happen, though).
- Better socket handling (sockets should always be closed by the time an external viewer is started now, so they don't leak until the viewer exits).
- Fixed bug in handling HTTP/1.0 redirection for inlined images and reloading.
- Fixed bug in following symlinks to absolutely specified files on FTP servers.
- Fixed minor and intermittent scrollbar management bug.
- Fixed another coredump opportunity in GIF reading code.
- Fixed another coredump opportunity in FTP icon code (testcase file://ftp.uwp.edu/pub/music/lyrics/b/beatles -- can't read it because the FTP server is highly nonstandard, but at least now it doesn't dump core).
- Fixed coredump opportunity in mailcap-parsing code.
- Fixed handling of some Gopher directories (e.g.
gopher://calypso.oit.unc.edu/11/sunsite.d).
- Fixed coredump when using
HREF
instead of
SRC
with
IMG
.
- Color stuff -- start at
http://nearnet.gnn.com/mkt/mkt.intro.html
with correct colors and middle-button the resource directory, close new window, repeat as necessary, occasionally pressing 'R' (refresh) in the original window -- you'll see the colors in the newly opened window look incorrect (in 1.2 also). Fixed!
- Fixed interruptible I/O weirdness on some System V systems.
- Cleaned up generation of Gopher titles.
- Changed default player for all audio files from showaudio to sfplay for SGIs to avoid various problems.
- Problem in SELECT's coming over Gopher -- %0D's at end of lines don't get clipped out -- testcase
gopher://gopher.saintjoe.edu/0/search/archieplex.html
-- fixed.
- Fixed glitch with PostScript code.
- Made small change to FTP code to cooperate with various FTP servers better (testcase
here).
- Fixed coredump when pressing Reset button in form with password entry field.
- Fixed socket leaking problems in FTP, WAIS, and beyond -- sockets should never again be leaked
by Mosaic; if you can confirm this is happening, please let us know (and provide evidence, testcase sequences, and
netstat
readouts).
- Added recognition of Gopher+ image, sound, and movie types -- still no guarantee they'll be handled properly, as Gopher+ does typing a little differently and we don't provide full support for Gopher+ anyway.
- Fixed problem if temporary local copy of HDF file goes away unexpectedly. Also better handling of temporary local files --
however, beware that if you use Mosaic's HDF viewing support, you should clean up your temporary directory space on a fairly regular basis, as Mosaic does not always know when to clean it up for you (for various reasons -- Mosaic should always clean up local copies of other types of data files though).
- Fixed longstanding security glitch in Gopher support (Marc VH will recognize this).
- News support tweaked.
- More performance enhancements -- go Quantify!
- Added some portability fixes.
- Lots of little cleanups and fixes.
Changes from 2.0 prerelease 5 to 2.0 prerelease 6
- Added CERN authentication code with GUI support (see
CERN docs
and
testcases).
- Added/revised scrolled lists, option menus, multiline text areas support in fill-out forms; see
docs.
- Added local directory icons and enhanced FTP icons (thanks to Charles Henrich).
- New toggle button for selecting delayed image loading on the fly.
- New "Load Images In Current" menu option to load all (delayed) images in current document.
- Improved handling of wide range of HTTP/1.0 response codes (see BSDI testcases).
- Fixed really stupid problem with networking -- numeric addresses were being handled incorrectly.
- Fixed coredump when reloading initial document that had been interrupted first time it was being loaded; also added internal fixes to make doing things with no document loaded at least not crash the program.
- Fixed bug when retrieving
ftp://mailbase.ac.uk/pub/lists-k-o/nir
(it's not accessible but a spurious bug report was getting dumped to stderr).
- Made FTP directory handling more flexible/accurate (testcase
here
-- should see "lists" directory).
- Handle HTTP0/HTTP1 socket-level protocol clash a little better (e.g.
http://sunsite.unc.edu:8988/expo/nobeamup_map.html?49,51
-- might not be a valid testcase anymore).
- Binary transfer bug fixed -- it works right now.
- Transparent uncompression still doesn't work (sorry), but the mutant compressed filename munging code that was alive in pre5 is disabled now, and compressed files are treated as binary.
- Worked around strange Motif bug causing crashes on some platforms with message about accelerators.
- Now properly recognize comments ('#' first character in line) in extension maps.
- Fixed problem with encoding of 8-bit characters in fill-out forms and elsewhere.
- Made MIME type handling case insensitive in HTTP and WAIS code.
- Enhanced URL canonicalization (safe handling of trailing period in fully qualified hostnames, plus lowercasing of all hostnames, plus elimination of bogus "+" in port specification resulting from interaction with some Gopher+ servers).
- Cleaned up some big direct WAIS and other memory leaks.
- Improved handling of Gopher errors.
- Improved handling of binary transfer mode (now "Load To Local Disk") -- local tmp file properly removed when cancel button is hit, and dialog box is now modal to prevent problems.
- Fixed bug in delayed inlined image icon handling with multiple delayed inlined images on the same line.
- Gopher/FTP icons are now part of anchors, so they can be clicked on (even though they're normal color -- trust us on this one).
- Fixed memory corruption problem with remote control
newwin
directive.
- Changed FTP client code to always pass fully qualified machine name in anonymous password whenever possible (actual username is already being passed).
- Cleaned up menubar.
- Lots of little cleanups, performance tweaks, and portability fixes.
Changes from 2.0 prerelease 4 to 2.0 prerelease 5
- Added
INPUT
elements of type
RADIO
for fill-out forms as per HTML+ spec.
- Added
INPUT
elements of type
PASSWORD
for fill-out forms as per HTML+ spec.
- Added
INPUT
elements of type
OPTION
for option menus in fill-out forms (not in HTML+ spec yet).
- Added resource twirlingTransferIcon, default true, can be set to false to turn off twirling NCSA logo on transfers (interruption is still possible).
- Added resource twirlIncrement, default 4096, to indicate how many bytes (minimum) are transferred between icon twirls in interface for normal (FTP, Gopher, HTTP) transfers, if twirlingTransferIcon is on.
- FTP interface now has icons, byte counts (courtesy Charles Henrich).
- Gopher icons are back.
- Gopher type handling is back up to par, including support for tweakGopherTypes.
- Brought default mailcap and extension mapping stuff up to speed; enumerated previously wildcarded types (
image/*
,
audio/*
) for debatably broken CERN server.
- External viewers need not have "%s" as part of their names anymore; if they don't, then the data will be piped through stdin when they are executed.
- Added "Reload Config Files" menubar entry, to cause mailcaps and extension maps to be reloaded on the fly.
- Multiformat WAIS support is now working; testcase
here;
sample query.
- MIME types returned from WAIS servers are now handled correctly.
- Telnet/rlogin/tn3270 works again.
- Upon startup, now writes own pid into
~/.mosaicpid
.
- Clip anchor ("#...") off of current URL, if present, before doing search, for both forms and isindex.
- Widget creation now deferred as long as possible, to eliminate ugliness of index field, etc. showing up too early.
- It should now be impossible to do anything interface-wise during a transfer except click on the interrupt button for the current window.
- Fixed memory problem introduced in pre4 triggered when opening a new window with middle mouse click.
- Fixed HTML widget crash condition that hit HP-UX.
- Fixed problem jumping to anchors in the same document (jump to "#a" in a document, the "#b", then go back and you were still at "#b" instead of "#a"). Also nailed down jumping back and forth between anchors in general. Performance maybe could be better.
- Handle 403 return codes better ("Forbidden").
- Fixed problem with icon not righting itself after reloading inlined images (testcase).
- Fixed problem with invalid content-type returned as part of HTTP/1.0 reply (was causing bad memory corruption; now unrecognized content-types default to HTML).
Testcase -- click on "Help".
- Fixed problem introduced in pre4 with confused history mechanism and internal anchors.
- Fixed minor problem with news formatting.
- Ignore SIGPIPE; error EPIPE is also considered to be a sign of the HTTP1/0 protocol incompatibility problem.
- Fixed problem with -dil and images that aren't accessible at all.
- Merged in useful fixes from 2.11, including ignoring of ":80" for HTTP URLs and ":70" for Gopher URLs in URL parsing for improved history tracking.
- Killed use of const structs in HTML-PSformat.c to make compilation under Ultrix easier.
- Added patches for Esix 4.0.4 and Solaris x86 2.1.
- Reported bug: "Found a bug with the maxlength parm, if you set a size to something other than the specified maxlength, it will allow data of any length to be entered" fixed.
- Cleaned up communication notification mechanisms.
Changes from 2.0 prerelease 3 to 2.0 prerelease 4
- Prerelease startup page is now hardwired to a
warning page
about the hazards of prereleases, to keep users from having the slightest thought that a prerelease is the same thing as a stable release and should be given to small children, normal users, or people without senses of humor.
- Basic interruptible I/O.
- You can interrupt in the middle of a connect or between reads of chunks of data during HTTP, Gopher, direct WAIS, and FTP connections. (Interrupt by clicking on the spinning NCSA logo in the upper right corner of the window.)
- Existing problems: can't interrupt DNS (hostname) lookups, can't interrupt in the middle of reads.
- Added support for
NCSA httpd 1.0
style extension/content-type config files (extension maps).
- Resource
useDefaultExtensionMap
, default true, can be set to false to keep Mosaic from having any default extension mappings.
We strongly recommend that this resource be left true; simply override as necessary. See
information on extensions recognized by 2.0pre4 by default.
- Resource
globalExtensionMap
, default "/usr/local/lib/mosaic/mime.types", can be set to the location of the system-wide
extension map
config file of your choice.
- Resource
personalExtensionMap
, default ".mime.types", can be set to the location of the personal
extension map
config file of your choice -- the value of the environment variable
HOME
is prepended to th