SOLO protocol module for the libwww

JC Touvet (
Tue, 14 Jun 1994 14:11:57 +0200


we're pleased to announce the availability of our SOLO protocol module for
the libwww: HTSolo.c

People who didn't attend my (suffering ;-) presentation at WWW'94 will find
more information about this work in the related paper:

This module resolves the following URLs:

solo:ESCAPED_SOLO_QUERY Using a default SOLO centroid
ex. solo:%3Chuitema,inria,fr%3E?email

solo://server/ESCAPED_SOLO_QUERY Using a given server
ex. solo://*

x500:ESCAPED_SOLO_QUERY Using a SOLO front end to X.500
ex. x500:%3Chowes,*michigan*,us%3E?*

When no query is specified, a FORM is returned.


urn:USER_FRIENDLY_NAME Using a SOLO URC centroid
ex. urn:solo-www%20paper,inria,fr

Optional environment variables:

SOLO_DEFAULT name[:port] of nearest SOLO centroid
WWW_x500_GATEWAY URL of nearest SOLO front-end to X.500
WWW_urn_GATEWAY URL of nearest SOLO URC centroid

Default settings are currently:

HTSolo.c was successfully integrated into:

NCSA's Mosaic for X, version 2.4 (libwww/2.12 modified)
Lou Montulli's Lynx, version 2.3 (libwww/2.14)

on a sun4, and we hope that people will try it with other browsers and
servers in proxy mode...

The distribution directory is:


Mosaic-solo.Z Mosaic binary for sun4 (-lresolv) [1.3 Mb]
lynx-solo.Z Lynx binary for sun4 (-lresolv) [0.5 Mb]
test.html Some examples
README This announce
Mosaic-solo.tar.Z Source+diffs for Mosaic & libwww/2.12 modified
lynx-solo.tar.Z Source+diffs for lynx & libwww/2.14


Binaries are just provided for testing purpose, and direct WAIS access
is not included in them. The SOLO_TRACE flag is up in Mosaic-solo, so
you'll get debugging info while testing the new module.

Compiling with other browsers/servers:

It mainly depends on the version of libwww you're using. Basically,
you'll have to modify library's Makefile to add HTSolo.c, and
HTAccess.c to add new protocols. With lynx, I had also to modify
LYUtils.c module to allow those URLs.
Some function calls have changed since libwww/2.12 (HTEscape and
HTStreamStack), thus the OLD_LIBWWW compilation flag could be needed.
As a starting point, I recommend you extract
lynx2-3/WWW/Library/Implementation from lynx-solo.tar, then look at
CommonMakefile.diff, HTAccess.c.diff, and of course HTSolo.c.

Any feedback will be welcome...


<A HREF="x500:%3CJean-Christophe%20Touvet,inria,fr%3E!*>JC Touvet</A>