lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LYNX-DEV USE_EXTERNALS


From: Larry W. Virden, x2487
Subject: Re: LYNX-DEV USE_EXTERNALS
Date: Mon, 8 Dec 1997 07:32:43 -0500

Jan Hlavacek <address@hidden>
> 
> On Sun, Dec 07, 1997 at 05:17:38PM -0500, Larry W. Virden, x2487 wrote:
> > 
> > I was wondering if anyone planned on adding a bit more support to the
> > USE_EXTERNALS capability of Lynx.  Right now it is only compiled in
> > if the user hand edits an include file to indicate it - and the
> 
> You can allways set the $CFLAGS environment variable before runnig configure,
> but it doesn't seem to be mentioned anywhere.

At the very least, if this is what folk are going to be told, how about
a list of variables and the functionality in section of INSTALLATION.

> > symbol isn't mentioned in userdefs.h, where one normally does that
> > type of thing.  There doesn't appear to be any mention of the
> > variable or the interface in any of the html or man pages.  The only
> 
> I second this.  I learned about existence of externals only when editing
> lynx.cfg,  and even there there is no mention of the fact that it works only
> when lynx is compiled with -DUSE_EXTERNALS.  I had to search changes file to
> find out.  I don't know how many sysadmins are going to do that when
> installing lynx on their systems.

Actually, even after doing all of that I still can't get things to compile.
I am getting this:


cc -DHAVE_CONFIG_H -I/projects/gnu/sparc-sun-solaris2.4/include -I/projects/gnu/
sparc-sun-solaris2.4/include/ncurses -Icurses.h  -I.  -I..  -I..  -I../WWW/Libra
ry/Implementation   -g -c ./LYKeymap.c
"./LYKeymap.c", line 68: undefined symbol: LYK_EXTERN
"./LYKeymap.c", line 68: non-constant initializer: op "NAME"
cc: acomp failed for ./LYKeymap.c
*** Error code 2
make: Fatal error: Command failed for target `LYKeymap.o'


> I suggest:
> 
> 1) adding a line or two in lynx.cfg about it,  something similar as for
>    LONG_LIST or EXP_CHARTRANS.

--- lynx.cfg-dist       Sat Dec  6 06:59:59 1997
+++ lynx.cfg-dist-ext   Mon Dec  8 07:26:54 1997
@@ -1650,9 +1650,10 @@
 
-# External application support. This feature allows lynx to pass a given
-# URL to an external program.  It was written for three reasons.
+# External application support is made available when Lynx has been
+# compiled with USE_EXTERNALS in the Makefile, allowing a given URL to
+# be passed to an external program.  It was written for three reasons.
 #
-# 1) To overcome the deficiency        of Lynx_386 not supporting ftp and news.
+# 1) To overcome the deficiency of Lynx_386 not supporting ftp and news.
 #    External programs can be used instead by passing the URL.
 #
-# 2) To allow for background   transfers in multitasking systems.
+# 2) To allow for background transfers in multitasking systems.
 #    I use wget for http and ftp transfers via the external command.
@@ -1671,6 +1672,7 @@
 #
-# <url> Any given URL.  This can be normal ones like ftp or http or it
-# can be one made up like mymail.
+# where <url> can be any given URL.  This can be normal ones like ftp or http
+# or it can be one made up like mymail.
 #
-# <command> The command to run with %s being the URL that will be passed.
+# The <command> is replaced by the command to run, with %s being the place
+# where the URL will be passed.
 # In Linux I use "wget -q %s &" (no quotes) to spawn a copy of wget for
@@ -1679,5 +1681,6 @@
 #
-# <norestriction> This complements the -restrictions=externals feature to allow
-# for certain externals to be enabled while restricting others.  TRUE means
-# a command will still function while lynx is restricted.  WB
+# The <norestriction> field complements the -restrictions=externals feature,
+# allowing certain externals to be enabled while restricting others.
+# TRUE means a command will still function while lynx is restricted.
+# WB
 #

> 2) add USE_EXTERNALS either into userdefs.h or docs/README.defines.  In the
>    later case,  add a line to INSTALLATION about reading the
>    docs/README.defines before running configure.

I believe that another change that should occur is to replace the use of
#ifdef through the code with #if ( USE_EXTERNALS == TRUE ); making the
symbol a BOOLEAN type would be more in common with the other security
related ones.  Until that happens, here is the patch for number 2.

--- userdefs.h-dist     Sat Dec  6 06:59:58 1997
+++ userdefs.h-dist-ext Mon Dec  8 07:29:51 1997
@@ -1425,2 +1425,6 @@
 
+#ifndef        USE_EXTERNALS           /* Permit user to pass a URL to an */
+#undef USE_EXTERNALS           /* external command.  This may open */
+#endif /* USE_EXTERNALS */     /* security holes. */
+
 #endif /* USERDEFS_H */


> 3) possibly creating a configure option,  something like --enable-externals.
>    Add something like this in configure.in:
> 
>    AC_MSG_CHECKING(if EXTERNALs should be used)
>    AC_ARG_ENABLE(externals, [  --enable-externals enable use of EXTERNAL
>    command in lynx.cfg], [AC_DEFINE(USE_EXTERNALS)])
>    AC_MSG_RESULT($enableval)
> 
-- 
Larry W. Virden                 INET: address@hidden
<URL:http://www.teraform.com/%7Elvirden/> <*> O- "We are all Kosh."
Unless explicitly stated to the contrary, nothing in this posting should 
be construed as representing my employer's opinions.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]