Commit 5886901f authored by Axel Beckert's avatar Axel Beckert

Imported Upstream version 2.8.6

parent 6926fd2a
Some of this discussion is obsolete - lynx does not bundle the "intl"
directory, and consequently the "--with-included-gettext" configure option is
not supported.
------------------------------------------------------------------------------
Notes on the Free Translation Project
*************************************
......
This diff is collapsed.
......@@ -13,7 +13,8 @@
You should have received a copy of the GNU General Public License
along with Lynx; see the file COPYING. If not, write to the Free
Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
Any licensing or usage questions should be directed to Michael
Grobe <grobe@ukans.edu>.
......
......@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
......@@ -279,7 +279,7 @@ POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
......@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -305,14 +305,15 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
......
This diff is collapsed.
......@@ -20,7 +20,7 @@
* Links to collections of alternate definitions, developed by the Lynx
* User Community, are maintained in Lynx links:
*
* http://www.trill-home.com/lynx.html
* http://www.subir.com/lynx.html
*
* See ABOUT-NLS and po/readme for details and location of contributed
* translations. When no translation is available, the English default is
......@@ -28,11 +28,9 @@
*/
#define ALERT_FORMAT gettext("Alert!: %s")
#define WELCOME_MSG gettext("Welcome")
#define REALLY_QUIT_Y gettext("Are you sure you want to quit?")
#define REALLY_QUIT_N gettext("Are you sure you want to quit?")
#define REALLY_QUIT gettext("Are you sure you want to quit?")
#ifdef VMS
#define REALLY_EXIT_Y gettext("Really exit from Lynx?")
#define REALLY_EXIT_N gettext("Really exit from Lynx?")
#define REALLY_EXIT gettext("Really exit from Lynx?")
#endif /* VMS */
#define CONNECTION_INTERRUPTED gettext("Connection interrupted.")
#define TRANSFER_INTERRUPTED gettext("Data transfer interrupted.")
......@@ -831,6 +829,7 @@
#define YOUR_SEGMENT gettext("your")
#define RUNTIME_OPT_SEGMENT gettext("for runtime options")
#define COMPILE_OPT_SEGMENT gettext("compile time options")
#define COLOR_STYLE_SEGMENT gettext("color-style configuration")
#define REL_VERSION gettext("latest release")
#define PRE_VERSION gettext("pre-release version")
#define DEV_VERSION gettext("development version")
......
......@@ -4,6 +4,37 @@ Ideally you would never have to read this, but inevitably problems
do arise. As implementation and installation problems become known
they will be outlined in this file.
---------
The install script will attempt to preserve your current settings in the
lynx.cfg file. You should review these (at the end of lynx.cfg) after
install. For instance references to lynx.browser.org for a startfile can
be removed, since that site is no longer maintained.
---------
Some customized installs of OpenSSL are not detected by the configure
script. For example, with Redhat9, we did this to work around:
#!/bin/sh
KRB=/usr/kerberos
export LIBS="-L$KRB/lib -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err"
export CPPFLAGS="-I$KRB/include -I/usr/include/openssl"
export CFLAGS="-O -g $CPPFLAGS"
./configure --with-ssl $*
---------
The configure script check for IPv6 (--enable-ipv6) assumes that your build
machine can listen for IPv6 connections. It cannot determine if you want
to use it only for outgoing connections. If the configure script is
otherwise successful, it will warn about a nonfunctioning getaddrinfo()
function, and does not define these symbols needed to successfully compile
IPv6 support. You can work around this by by editing lynx_cfg.h:
HAVE_GAI_STRERROR
HAVE_GETADDRINFO
---------
Control-Z on Unix can cause aberrant behavior. If you encounter
......@@ -38,7 +69,7 @@ they will be outlined in this file.
---------
On a Sun system, the message:
"Alert!: Unable to connect to remote host"
"Alert!: Unable to connect to remote host"
will be displayed every time an attempt is made to access a host
other than localhost if Lynx has been built without the resolv
library and needed it, or with it and shouldn't have been.
......@@ -66,12 +97,12 @@ they will be outlined in this file.
In order to get bold text to appear differently than inverse video,
the user should put this line in ~/.Xdefaults:
Term*boldStyle: Offset_X
Term*boldStyle: Offset_X
From the `shelltool' man page, it seems that an analogous line
in ~/.defaults
/Tty/Bold_style "Offset_X"
/Tty/Bold_style "Offset_X"
ought to work just as well, but you may not get the desired
behavior until you modify your .Xdefaults file (and run `xrdb
......@@ -124,7 +155,7 @@ they will be outlined in this file.
of HP/UX 10.10. It also breaks tn3270, ncftp, emacs, and xemacs.
Using:
LIBS="-lc -lcurses -ltermcap \
^^^
^^^
(i.e, adding -lc *before* the -lcurses) in the snake3 and snake3-slang
targets of the top level Makefile yields a usable image, but with
inappropriate video attributes on the Lynx displays (reverse video and
......@@ -217,3 +248,11 @@ they will be outlined in this file.
SOCKETSHR 0.9D sources and offers the fixes as:
http://alder.cc.kcl.ac.uk/fileserv/zip/socketshr_src_09d-2.zip
ftp://ftp2.kcl.ac.uk/zip/socketshr_src_09d-2.zip
---------
On VMS, to build an SSL-capable version, lynx and the ssl library
e.g., OpenSSL, must be built using the same network library. If you
build OpenSSL without specifying the network library (the 5th parameter
of the makevms.com script), it will guess, possibly not the one you
intended. We have tested only the UCX configuration -TD (2002/9/15).
Lynx README file
Lynx Version 2.8.4 is the latest release (July 2001).
Lynx Version 2.8.5 is the latest release (February 2004).
See the CHANGES file for a complete record of all changes and bug fixes.
New releases are announced on the lynx-dev mailing list (see below).
......@@ -10,7 +10,7 @@ FOR REAL NOVICES
To use this package, you need a compiler & a bit of experience
at very simple programming. If you just want something which will work
`out-of-the-box', you can get pre-compiled versions of Lynx
by following the links from <URL: http://lynx.browser.org/> ;
by following the links from <URL: http://lynx.isc.org/> ;
for DOS or Windows, goto <URL: http://www.fdisk.com/doslynx/lynxport.htm>.
WHAT IS LYNX?
......@@ -37,7 +37,7 @@ HOW TO GET LYNX
<URL: ftp://lynx.isc.org/release>;
the latest development version is at:
<URL: http://lynx.isc.org/current>.
The Lynx homepage is <URL: http://lynx.browser.org/>.
The Lynx homepage is <URL: http://lynx.isc.org/>.
The on-line help page (enter `h') has links to many useful things.
LICENSE
......
......@@ -57,13 +57,12 @@
#include <HTAlert.h> /* HTConfirm(), HTPrompt() */
#include <HTAAUtil.h> /* AA common to both sides */
#include <HTAssoc.h> /* Assoc list */
#include <HTAccess.h> /* Are we using an HTTP gateway? */
#include <HTAABrow.h> /* Implemented here */
#include <HTUU.h> /* Uuencoding and uudecoding */
#include <LYLeaks.h>
extern BOOL using_proxy; /* Are we using an HTTP gateway? */
/*
** Local datatype definitions
**
......@@ -394,7 +393,7 @@ PRIVATE HTAASetup *HTAASetup_new ARGS4(
{
HTAASetup *setup;
if (!server || !template || !*template)
if (!server || isEmpty(template))
return NULL;
if ((setup = typecalloc(HTAASetup)) == 0)
......@@ -649,7 +648,7 @@ PRIVATE char *compose_auth_string ARGS3(
realm->realmname,
(IsProxy ? "proxy" : "server"),
(theHost ? theHost : "??"),
(thePort ? thePort : ""));
NonNull(thePort));
FREE(proxiedHost);
FREE(thePort);
username = realm->username;
......@@ -676,8 +675,8 @@ PRIVATE char *compose_auth_string ARGS3(
}
}
len = strlen(realm->username ? realm->username : "") +
strlen(realm->password ? realm->password : "") + 3;
len = strlen(NonNull(realm->username)) +
strlen(NonNull(realm->password)) + 3;
if (scheme == HTAA_PUBKEY) {
#ifdef PUBKEY
......@@ -685,7 +684,7 @@ PRIVATE char *compose_auth_string ARGS3(
StrAllocCopy(secret_key, HTAA_generateRandomKey());
#endif /* PUBKEY */
/* Room for secret key, timestamp and inet address */
len += strlen(secret_key ? secret_key : "") + 30;
len += strlen(NonNull(secret_key)) + 30;
} else {
FREE(secret_key);
}
......
......@@ -130,11 +130,5 @@ extern void HTAAForwardAuth_set PARAMS((
CONST char * scheme_name,
CONST char * scheme_specifics));
extern void HTAAForwardAuth_reset NOPARAMS;
/*
*/
#endif /* NOT HTAABROW_H */
/*
End of file HTAABrow.h. */
......@@ -59,7 +59,7 @@ PRIVATE BOOL isNumber ARGS1(CONST char *, s)
{
CONST char *cur = s;
if (!s || !*s) return NO;
if (isEmpty(s)) return NO;
if (*cur == '-')
cur++; /* Allow initial minus sign in a number */
......
......@@ -247,11 +247,4 @@ extern char * HTAA_GidToName PARAMS((int gid));
*/
extern int HTAA_NameToGid PARAMS((char *name));
/*
*/
#endif /* not HTAAPROT_H */
/*
End of file HTAAProt.h. */
......@@ -50,10 +50,6 @@
#include <HTTCP.h>
#include <HTTP.h>
#ifdef USE_SSL
PRIVATE SSL * Handle = NULL; /* The SSL Handle */
#endif /* USE_SSL */
#include <LYStrings.h>
#include <LYLeaks.h>
......@@ -560,8 +556,8 @@ PUBLIC char *HTAA_getUnfoldedLine NOARGS
if (start_pointer >= end_pointer) {/*Read the next block and continue*/
#ifdef USE_SSL
if (Handle)
count = SSL_read(Handle, buffer, BUFFER_SIZE);
if (SSL_handle)
count = SSL_read(SSL_handle, buffer, BUFFER_SIZE);
else
count = NETREAD(in_soc, buffer, BUFFER_SIZE);
#else
......
This diff is collapsed.
......@@ -105,21 +105,17 @@ extern BOOL override_proxy PARAMS((
Load a document from relative name
ON ENTRY,
relative_name The relative address of the file to be accessed.
here The anchor of the object being searched
ON EXIT,
returns YES Success in opening file
NO Failure
*/
extern BOOL HTLoadRelative PARAMS((
CONST char * relative_name,
HTParentAnchor * here));
CONST char * relative_name,
HTParentAnchor * here));
/*
......@@ -127,23 +123,11 @@ extern BOOL HTLoadRelative PARAMS((
Load a document from absolute name
ON ENTRY,
addr The absolute address of the document to be accessed.
filter_it if YES, treat document as HTML
*/
/*
ON EXIT,
*/
/*
returns YES Success in opening document
NO Failure
*/
......@@ -155,22 +139,18 @@ extern BOOL HTLoadAbsolute PARAMS((CONST DocAddress * addr));
Load a document from absolute name to a stream
ON ENTRY,
addr The absolute address of the document to be accessed.
filter_it if YES, treat document as HTML
ON EXIT,
returns YES Success in opening document
NO Failure
Note: This is equivalent to HTLoadDocument
*/
extern BOOL HTLoadToStream PARAMS((CONST char * addr, BOOL filter_it,
HTStream * sink));
HTStream * sink));
/*
......@@ -178,27 +158,13 @@ extern BOOL HTLoadToStream PARAMS((CONST char * addr, BOOL filter_it,
Load if necessary, and select an anchor
ON ENTRY,
destination The child or parenet anchor to be loaded.
*/
/*
ON EXIT,
*/
/*
returns YES Success
returns NO Failure
*/
extern BOOL HTLoadAnchor PARAMS((HTAnchor * destination));
......@@ -207,16 +173,12 @@ extern BOOL HTLoadAnchor PARAMS((HTAnchor * destination));
Make a stream for Saving object back
ON ENTRY,
anchor is valid anchor which has previously beeing loaded
ON EXIT,
returns 0 if error else a stream to save the object to.
*/
extern HTStream * HTSaveStream PARAMS((HTParentAnchor * anchor));
......@@ -228,9 +190,7 @@ Search
current address and attempts to open the new address.
ON ENTRY,
*keywords space-separated keyword list or similar search list
here The anchor of the object being searched
*/
......@@ -245,15 +205,13 @@ Search Given Indexname
the current address and attempts to open the new address.
ON ENTRY,
*keywords space-separated keyword list or similar search list
*indexname is name of object search is to be done on.
*/
extern BOOL HTSearchAbsolute PARAMS((
CONST char * keywords,
char * indexname));
CONST char * keywords,
char * indexname));
/*
......@@ -263,15 +221,15 @@ Register an access method
*/
typedef struct _HTProtocol {
char * name;
char * name;
int (*load)PARAMS((
CONST char * full_address,
HTParentAnchor * anchor,
HTFormat format_out,
HTStream* sink));
int (*load)PARAMS((
CONST char * full_address,
HTParentAnchor * anchor,
HTFormat format_out,
HTStream* sink));
HTStream* (*saveStream)PARAMS((HTParentAnchor * anchor));
HTStream* (*saveStream)PARAMS((HTParentAnchor * anchor));
} HTProtocol;
......@@ -310,7 +268,6 @@ extern void LYUCPushAssumed PARAMS((
HTParentAnchor * anchor));
extern int LYUCPopAssumed NOPARAMS;
#endif /* HTACCESS_H */
/*
extern BOOL using_proxy; /* Are we using an NNTP proxy? */
end of HTAccess */
#endif /* HTACCESS_H */
This diff is collapsed.
This diff is collapsed.
......@@ -28,6 +28,3 @@ PUBLIC char *HTAssocList_lookup PARAMS((HTAssocList * alist,
CONST char * name));
#endif /* not HTASSOC_H */
/*
End of file HTAssoc.h. */
......@@ -50,7 +50,7 @@ PUBLIC HTAtom * HTAtom_for ARGS1(CONST char *, string)
* 05-29-94 Lynx 2-3-1 Garrett Arch Blythe
*/
if (!initialised) {
int i;
int i;
for (i = 0; i < HASH_SIZE; i++)
hash_table[i] = (HTAtom *) 0;
initialised = YES;
......@@ -67,7 +67,7 @@ PUBLIC HTAtom * HTAtom_for ARGS1(CONST char *, string)
*/
for (a = hash_table[hash]; a; a = a->next) {
if (0 == strcasecomp(a->name, string)) {
/* CTRACE((tfp, "HTAtom: Old atom %p for `%s'\n", a, string)); */
/* CTRACE((tfp, "HTAtom: Old atom %p for `%s'\n", a, string)); */
return a; /* Found: return it */
}
}
......@@ -76,10 +76,10 @@ PUBLIC HTAtom * HTAtom_for ARGS1(CONST char *, string)
*/
a = (HTAtom *)malloc(sizeof(*a));
if (a == NULL)
outofmem(__FILE__, "HTAtom_for");
outofmem(__FILE__, "HTAtom_for");
a->name = (char *)malloc(strlen(string)+1);
if (a->name == NULL)
outofmem(__FILE__, "HTAtom_for");
outofmem(__FILE__, "HTAtom_for");
strcpy(a->name, string);
a->next = hash_table[hash]; /* Put onto the head of list */
hash_table[hash] = a;
......@@ -112,7 +112,7 @@ PRIVATE void free_atoms NOARGS
*/
while (hash_table[i_counter] != NULL) {
/*
* Free off atoms and any members.
* Free off atoms and any members.
*/
HTAp_freeme = hash_table[i_counter];
hash_table[i_counter] = HTAp_freeme->next;
......
......@@ -36,6 +36,3 @@ PUBLIC HTList * HTAtom_templateMatches PARAMS((CONST char * templ));
#define HTAtom_name(a) ((a)->name)
#endif /* HTATOM_H */
/*
*/
This diff is collapsed.
......@@ -15,7 +15,7 @@
#ifndef HTUTILS_H
#include <HTUtils.h>
#endif
/*
Data structures
......@@ -74,6 +74,16 @@ Add an object to a binary tree
extern void HTBTree_add PARAMS((HTBTree* tree, void * object));
/*
Search an object in a binary tree
returns Pointer to equivalent object in a tree or NULL if none.
*/
extern void * HTBTree_search PARAMS((HTBTree* tree, void * object));
/*
Find user object for element
......@@ -91,7 +101,7 @@ Find next element in depth-first order
ele if NULL, start with leftmost element. if != 0 give next object to
the right.
returns Pointer to element ot NULL if none left.
returns Pointer to element or NULL if none left.
*/
extern HTBTElement * HTBTree_next PARAMS((HTBTree* tree, HTBTElement * ele));
......
......@@ -61,7 +61,7 @@ PUBLIC HTChunk * HTChunkCreate2 ARGS2 (int,grow, size_t, needed)
ch->allocated = needed-1 - ((needed-1) % ch->growby)
+ ch->growby; /* Round up */
CTRACE((tfp, "HTChunkCreate2: requested %d, allocate %d\n",
needed, ch->allocated));
(int) needed, ch->allocated));
ch->data = typecallocn(char, ch->allocated);
if (!ch->data)
outofmem(__FILE__, "HTChunkCreate2 data");
......@@ -91,6 +91,28 @@ PUBLIC void HTChunkFree ARGS1 (HTChunk *,ch)
}
/* Realloc the chunk
** -----------------
*/
PUBLIC BOOL HTChunkRealloc ARGS2 (HTChunk *,ch, int,growby)
{
char *data;
ch->allocated = ch->allocated + growby;
data = ch->data ? (char *)realloc(ch->data, ch->allocated)
: typecallocn(char, ch->allocated);
if (data) {
ch->data = data;
} else if (ch->failok) {
HTChunkClear(ch); /* allocation failed, clear all data - kw */
return FALSE; /* caller should check ch->allocated - kw */
} else {
outofmem(__FILE__, "HTChunkRealloc");
}
return TRUE;
}
/* Append a character
** ------------------
*/
......@@ -99,18 +121,8 @@ PUBLIC void HTChunkFree ARGS1 (HTChunk *,ch)
PUBLIC void HTChunkPutc ARGS2 (HTChunk *,ch, char,c)
{
if (ch->size >= ch->allocated) {
char *data;
ch->allocated = ch->allocated + ch->growby;
data = ch->data ? (char *)realloc(ch->data, ch->allocated)
: typecallocn(char, ch->allocated);
if (data) {
ch->data = data;
} else if (ch->failok) {
HTChunkClear(ch); /* allocation failed, clear all data - kw */
return; /* caller should check ch->allocated - kw */
} else {
outofmem(__FILE__, "HTChunkPutc");
}
if (!HTChunkRealloc(ch, ch->growby))