[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: LYNX-DEV USE_EXTERNALS
Larry W. Virden, x2487
Re: LYNX-DEV USE_EXTERNALS
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.
> 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)])
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.