userdefs.h 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862
  1. /*
  2. * $LynxId: userdefs.h,v 1.289 2014/02/08 01:00:47 tom Exp $
  3. *
  4. * Lynx - Hypertext navigation system
  5. *
  6. * (c) Copyright 1992, 1993, 1994 University of Kansas
  7. * 1995, 1996: GNU General Public License
  8. *
  9. * Copyright 1996-2013,2014 Thomas E. Dickey and Lynx Developers Group
  10. * Note: GNU General Public License is not a copyright.
  11. */
  12. /*******************************************************************
  13. * There are four sections to this document:
  14. * Section 1. Things you MUST verify. Unix platforms use a configure
  15. * script to provide sensible default values. If your site
  16. * has special requirements, that may not be sufficient.
  17. * For non-Unix platforms (e.g., VMS), there is no
  18. * configure script, so the defaults here are more
  19. * critical.
  20. * Section 1a) VMS specific things
  21. * Section 1b) non-VMS specific things
  22. * Section 1c) ALL Platforms
  23. *
  24. * Section 2. Things you should probably check!
  25. *
  26. * Section 3. Things you should only change after you have a good
  27. * understanding of the program!
  28. *
  29. * Section 4. Things you MUST check only if you plan to use Lynx in
  30. * an anonymous account (allow public access to Lynx)!
  31. *
  32. */
  33. #ifndef USERDEFS_H
  34. #define USERDEFS_H
  35. /*******************************************************************
  36. * Insure definition of NOT_ASCII, etc. precedes use below.
  37. */
  38. #ifndef HTUTILS_H
  39. #include <HTUtils.h>
  40. #endif
  41. #ifdef HAVE_CONFIG_H
  42. #include <lynx_cfg.h>
  43. #endif
  44. /*******************************************************************
  45. * Things you must change
  46. * Section 1.
  47. */
  48. /*******************************************************************
  49. * Things you must change - VMS specific
  50. * Section 1a).
  51. */
  52. #ifdef VMS
  53. /**************************
  54. * TEMP_SPACE is where Lynx temporary cache files will be placed.
  55. * Temporary files are removed automatically as long as nothing
  56. * goes terribly wrong :) If you include "$USER" in the definition
  57. * (e.g., "device:[dir.$USER]"), Lynx will replace the "$USER" with
  58. * the username of the account which invoked the Lynx image. Such
  59. * directories should already exist, and have protections/ACLs set
  60. * so that only the appropriate user(s) will have read/write access.
  61. * On VMS, "sys$scratch:" defaults to "sys$login:" if it has not been
  62. * defined externally, or you can use "sys$login:" explicitly here.
  63. * If the path has SHELL syntax and includes a tilde (e.g, "~/lynxtmp"),
  64. * Lynx will replace the tilde with the full path for the user's home
  65. * and convert the result to VMS syntax.
  66. * The definition here can be overridden at run time by defining a
  67. * "LYNX_TEMP_SPACE" VMS logical.
  68. */
  69. #define TEMP_SPACE "sys$scratch:"
  70. /**************************
  71. * LYNX_CFG_FILE is the location and name of the default lynx
  72. * global configuration file. It is sought and processed at
  73. * startup of Lynx, followed by a seek and processing of a
  74. * personal RC file (.lynxrc in the user's HOME directory,
  75. * created if the user saves values in the 'o'ptions menu).
  76. * You also can define the location and name of the global
  77. * configuration file via a VMS logical, "LYNX_CFG", which
  78. * will override the "LYNX_CFG_FILE" definition here. SYS$LOGIN:
  79. * can be used as the device in either or both definitions if
  80. * you want lynx.cfg treated as a personal configuration file.
  81. * You also can use Unix syntax with a '~' for a subdirectory
  82. * of the login directory, (e.g., ~/lynx/lynx.cfg).
  83. * The -cfg command line switch will override these definitions.
  84. * You can pass the compilation default via build.com or descrip.mms.
  85. *
  86. * Note that some implementations of telnet allow passing of
  87. * environment variables, which might be used by unscrupulous
  88. * people to modify the environment in anonymous accounts. When
  89. * making Lynx and Web access publicly available via anonymous
  90. * accounts intended to run Lynx captively, be sure the wrapper
  91. * uses the -cfg switch and specifies the startfile, rather than
  92. * relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables.
  93. *
  94. * Note that any SUFFIX or VIEWER mappings in the configuration
  95. * file will be overridden by any suffix or viewer mappings
  96. * that are established as defaults in src/HTInit.c. You can
  97. * override the src/HTInit.c defaults via the mime.types and
  98. * mailcap files (see the examples in the samples directory).
  99. */
  100. #ifndef LYNX_CFG_FILE
  101. #define LYNX_CFG_FILE "Lynx_Dir:lynx.cfg"
  102. #endif /* LYNX_CFG_FILE */
  103. #ifndef LYNX_CFG_PATH
  104. #define LYNX_CFG_PATH "Lynx_Dir"
  105. #endif /* LYNX_CFG_PATH */
  106. /**************************
  107. * The EXTENSION_MAP file allows you to map file suffixes to
  108. * mime types.
  109. * The file locations defined here can be overridden in lynx.cfg.
  110. * Mappings in these global and personal files override any SUFFIX
  111. * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  112. */
  113. #define GLOBAL_EXTENSION_MAP "Lynx_Dir:mime.types"
  114. #define PERSONAL_EXTENSION_MAP "mime.types"
  115. /**************************
  116. * The MAILCAP file allows you to map file MIME types to
  117. * external viewers.
  118. * The file locations defined here can be overridden in lynx.cfg.
  119. * Mappings in these global and personal files override any VIEWER
  120. * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  121. */
  122. #define GLOBAL_MAILCAP "Lynx_Dir:mailcap"
  123. #define PERSONAL_MAILCAP ".mailcap"
  124. /**************************
  125. * XLOADIMAGE_COMMAND will be used as a default in src/HTInit.c
  126. * for viewing image content types when the DECW$DISPLAY logical
  127. * is set. Make it the foreign command for your system's X image
  128. * viewer (commonly, "xv"). It can be anything that will handle GIF,
  129. * TIFF and other popular image formats. Freeware ports of xv for
  130. * VMS are available in the ftp://ftp.wku.edu/vms/unsupported and
  131. * http://www.openvms.digital.com/cd/XV310A/ subdirectories. You
  132. * must also have a "%s" for the filename. The default defined
  133. * here can be overridden in lynx.cfg, or via the global or personal
  134. * mailcap files.
  135. * Make this NULL if you don't have such a viewer or don't want to
  136. * use any default viewers for image types.
  137. */
  138. #define XLOADIMAGE_COMMAND "xv %s"
  139. /**************************
  140. * SYSTEM_MAIL must be defined here to your mail sending command,
  141. * and SYSTEM_MAIL_FLAGS to appropriate qualifiers. They can be
  142. * changed in lynx.cfg.
  143. *
  144. * The mail command will be spawned as a subprocess of lynx
  145. * and used to send the email, with headers specified in a
  146. * temporary file for PMDF. If you define SYSTEM_MAIL to the
  147. * "generic" MAIL utility for VMS, headers cannot be specified
  148. * via a header file (and thus may not be included), and the
  149. * subject line will be specified by use of the /subject="SUBJECT"
  150. * qualifier.
  151. *
  152. * If your mailer uses another syntax, some hacking of the
  153. * mailform(), mailmsg() and reply_by_mail() functions in
  154. * LYMail.c, and printfile() function in LYPrint.c, may be
  155. * required.
  156. */
  157. #define SYSTEM_MAIL "PMDF SEND"
  158. #define SYSTEM_MAIL_FLAGS "/headers"
  159. /* #define SYSTEM_MAIL "MAIL" */
  160. /* #define SYSTEM_MAIL_FLAGS "" */
  161. /*************************
  162. * Below is the argument for an sprintf command that will add
  163. * "IN%""ADDRESS""" to the Internet mail address given by the user.
  164. * It is structured for PMDF's IN%"INTERNET_ADDRESS" scheme. The %s
  165. * is replaced with the address given by the user. If you are using
  166. * a different Internet mail transport, change the IN appropriately
  167. * (e.g., to SMTP, MX, or WINS), here or in lynx.cfg.
  168. */
  169. #define MAIL_ADRS "\"IN%%\"\"%s\"\"\""
  170. /*********************************
  171. * On VMS, CSwing (an XTree emulation for VTxxx terminals) is intended for
  172. * use as the Directory/File Manager (sources, objects, or executables are
  173. * available from ftp://narnia.memst.edu/). CSWING_PATH should be defined
  174. * here or in lynx.cfg to your foreign command for CSwing, with any
  175. * regulatory switches you want included. If not defined, or defined as
  176. * a zero-length string ("") or "none" (case-insensitive), the support
  177. * will be disabled. It will also be disabled if the -nobrowse or
  178. * -selective switches are used, or if the file_url restriction is set.
  179. *
  180. * When enabled, the DIRED_MENU command (normally 'f' or 'F') will invoke
  181. * CSwing, normally with the current default directory as an argument to
  182. * position the user on that node of the directory tree. However, if the
  183. * current document is a local directory listing, or a local file and not
  184. * one of the temporary menu or list files, the associated directory will
  185. * be passed as an argument, to position the user on that node of the tree.
  186. */
  187. /* #define CSWING_PATH "swing" */
  188. /*********************************
  189. * If USE_FIXED_RECORDS is set to TRUE here and/or in lynx.cfg, Lynx will
  190. * convert 'd'ownloaded binary files to FIXED 512 record format before saving
  191. * them to disk or acting on a DOWNLOADER option. If set to FALSE, the
  192. * headers of such files will indicate that they are Stream_LF with Implied
  193. * Carriage Control, which is incorrect, and can cause downloading software
  194. * to get confused and unhappy. If you do set it FALSE, you can use the
  195. * FIXED512.COM command file, which is included in this distribution, to do
  196. * the conversion externally.
  197. */
  198. #define USE_FIXED_RECORDS TRUE /* convert binaries to FIXED 512 */
  199. /********************************
  200. * If NO_ANONYMOUS_EMAIL is defined, Lynx will not offer to insert X-From
  201. * and X_Personal_Name lines in the body of email messages. On VMS, the
  202. * actual From and Personal Name (if defined for the account) headers always
  203. * are those of the account running the Lynx image. If the account is not
  204. * the one to which the recipient should reply, you can indicate the alternate
  205. * address and personal name via the X-From and X_Personal_Name entries, but
  206. * the recipient must explicitly send the reply to the X_From address, rather
  207. * than using the VMS REPLY command (which will use the actual From address).
  208. *
  209. * This symbol constant might be defined on Unix for security reasons that
  210. * don't apply on VMS. There is no security reason for defining this on VMS,
  211. * but if you have no anonymous accounts (i.e., the From always will point to
  212. * the actual user's email address, you can define it to avoid the bother of
  213. * X-From and X_Personal_Name offers.
  214. */
  215. /*#define NO_ANONYMOUS_EMAIL TRUE */
  216. /**************************
  217. * LYNX_LSS_FILE is the location and name of the default lynx
  218. * character style sheet file. It is sought and processed at
  219. * startup of Lynx only if experimental character style code has
  220. * been compiled in, otherwise it will be ignored. Note that use
  221. * of the character style option is _experimental_ AND _unsupported_.
  222. * There is no documentation other than a sample lynx.lss file in
  223. * the samples subdirectory. This code probably won't even work on
  224. * VMS. You can define the location and name of this file via an
  225. * environment variable, "lynx_lss", which will override the definition
  226. * here. You can use '~' to refer to the user's home directory. The
  227. * -lss command line switch will override these definitions.
  228. */
  229. #ifndef LYNX_LSS_FILE
  230. #define LYNX_LSS_FILE "Lynx_Dir:lynx.lss"
  231. #endif /* LYNX_LSS_FILE */
  232. /*
  233. * FTP_FORMAT uses the same codes as LIST_FORMAT, but applies to files shown
  234. * in an ftp listing.
  235. */
  236. #define FTP_FORMAT "%d %-16.16t %a %K"
  237. /*******************************************************************
  238. * Things you must change - non-VMS specific
  239. * Section 1b).
  240. */
  241. #else /* non-VMS: UNIX etc. */
  242. /**************************
  243. * NOTE: This variable is set by the configure script; editing changes will
  244. * be ignored.
  245. *
  246. * LYNX_CFG_FILE is the location and name of the default lynx
  247. * global configuration file. It is sought and processed at
  248. * startup of Lynx, followed by a seek and processing of a
  249. * personal RC file (.lynxrc in the user's HOME directory,
  250. * created if the user saves values in the 'o'ptions menu).
  251. * You also can define the location and name of the global
  252. * configuration file via an environment variable, "LYNX_CFG",
  253. * which will override the "LYNX_CFG_FILE" definition here.
  254. * You can use '~' in either or both definitions if you want
  255. * lynx.cfg treated as a personal configuration file. The
  256. * -cfg command line switch will override these definitions.
  257. * You can pass the compilation default via the Makefile.
  258. *
  259. * If you are building Lynx using the configure script, you should specify
  260. * the default location of the configuration file via that script, since it
  261. * also generates the makefile and install-cfg rules.
  262. *
  263. * Note that many implementations of telnetd allow passing of
  264. * environment variables, which might be used by unscrupulous
  265. * people to modify the environment in anonymous accounts. When
  266. * making Lynx and Web access publicly available via anonymous
  267. * accounts intended to run Lynx captively, be sure the wrapper
  268. * uses the -cfg switch and specifies the startfile, rather than
  269. * relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables.
  270. *
  271. * Note that any SUFFIX or VIEWER mappings in the configuration
  272. * file will be overridden by any suffix or viewer mappings
  273. * that are established as defaults in src/HTInit.c. You can
  274. * override the src/HTInit.c defaults via the mime.types and
  275. * mailcap files (see the examples in the samples directory).
  276. */
  277. #ifndef HAVE_CONFIG_H
  278. #ifndef LYNX_CFG_FILE
  279. #ifdef DOSPATH
  280. #define LYNX_CFG_PATH "."
  281. #define LYNX_CFG_FILE "./lynx.cfg"
  282. #else
  283. #define LYNX_CFG_PATH "/usr/local/lib"
  284. #define LYNX_CFG_FILE "/usr/local/lib/lynx.cfg"
  285. #endif /* DOSPATH */
  286. #endif /* LYNX_CFG_FILE */
  287. #endif /* HAVE_CONFIG_H */
  288. #ifndef MIME_LIBDIR
  289. #define MIME_LIBDIR "/etc/"
  290. #endif
  291. /**************************
  292. * The EXTENSION_MAP file allows you to map file suffixes to
  293. * mime types.
  294. * The file locations defined here can be overridden in lynx.cfg.
  295. * Mappings in these global and personal files override any SUFFIX
  296. * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  297. */
  298. #define GLOBAL_EXTENSION_MAP MIME_LIBDIR "mime.types"
  299. #define PERSONAL_EXTENSION_MAP "~/.mime.types"
  300. /**************************
  301. * The MAILCAP file allows you to map file MIME types to
  302. * external viewers.
  303. * The file locations defined here can be overridden in lynx.cfg.
  304. * Mappings in these global and personal files override any VIEWER
  305. * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  306. */
  307. #define GLOBAL_MAILCAP MIME_LIBDIR "mailcap"
  308. #define PERSONAL_MAILCAP "~/.mailcap"
  309. /**************************
  310. * XLOADIMAGE_COMMAND will be used as a default in src/HTInit.c for
  311. * viewing image content types when the DISPLAY environment variable
  312. * is set. Make it the full path and name of the xli (also known as
  313. * xloadimage or xview) command, or other image viewer. It can be
  314. * anything that will handle GIF, TIFF and other popular image formats
  315. * (xli does). The freeware distribution of xli is available in the
  316. * ftp://ftp.x.org/contrib/ subdirectory. The shareware, xv, also is
  317. * suitable. You must also have a "%s" for the filename; "&" for
  318. * background is optional. The default defined here can be overridden
  319. * in lynx.cfg, or via the global or personal mailcap files.
  320. * Make this NULL if you don't have such a viewer or don't want to
  321. * use any default viewers for image types. Note that open is used as
  322. * the default for NeXT, instead of the XLOADIMAGE_COMMAND definition.
  323. */
  324. #define XLOADIMAGE_COMMAND "xli %s &"
  325. /**************************
  326. * For UNIX systems, SYSTEM_MAIL and SYSTEM_MAIL_FLAGS are set by the
  327. * configure-script.
  328. */
  329. /**************************
  330. * A place to put temporary files, it is almost always in "/tmp/"
  331. * for UNIX systems. If you include "$USER" in the definition
  332. * (e.g., "/tmp/$USER"), Lynx will replace the "$USER" with the
  333. * username of the account which invoked the Lynx image. Such
  334. * directories should already exist, and have protections/ACLs set
  335. * so that only the appropriate user(s) will have read/write access.
  336. * If the path includes a tilde (e.g, "~" or "~/lynxtmp"), Lynx will
  337. * replace the tilde with the full path for the user's home.
  338. * The definition here can be overridden at run time by setting a
  339. * "LYNX_TEMP_SPACE" environment variable, or (if that is not set)
  340. * the "TMPDIR" (unix), or "TEMP" or "TMP" (Windows,DOS,OS/2)
  341. * variable.
  342. */
  343. #define TEMP_SPACE "/tmp/"
  344. /********************************
  345. * Comment this line out to disable code that implements command logging
  346. * and scripting.
  347. */
  348. #define USE_CMD_LOGGING 1
  349. /********************************
  350. * Comment this line out to disable code that randomizes the names given to
  351. * temporary files.
  352. */
  353. #define USE_RAND_TEMPNAME 1
  354. /********************************
  355. * Comment this line out to let the user enter his/her email address
  356. * when sending a message. There should be no need to do this unless
  357. * your mailer agent does not put in the From: field for you. (If your
  358. * mailer agent does not automatically put in the From: field, you should
  359. * upgrade, because anonymous mail makes it far too easy for a user to
  360. * spoof someone else's email address.)
  361. */
  362. /*#define NO_ANONYMOUS_EMAIL TRUE */
  363. /********************************
  364. * LIST_FORMAT defines the display for local files when LONG_LIST
  365. * is defined in the Makefile. The default set here can be changed
  366. * in lynx.cfg.
  367. *
  368. * The percent items in the list are interpreted as follows:
  369. *
  370. * %p Unix-style permission bits
  371. * %l link count
  372. * %o owner of file
  373. * %g group of file
  374. * %d date of last modification
  375. * %a anchor pointing to file or directory
  376. * %A as above but don't show symbolic links
  377. * %t type of file (description derived from MIME type)
  378. * %T MIME type as known by Lynx (from mime.types or default)
  379. * %k size of file in Kilobytes
  380. * %K as above but omit size for directories
  381. * %s size of file in bytes
  382. *
  383. * Anything between the percent and the letter is passed on to sprintf.
  384. * A double percent yields a literal percent on output. Other characters
  385. * are passed through literally.
  386. *
  387. * If you want only the filename: " %a"
  388. *
  389. * If you want a brief output: " %4K %-12.12d %a"
  390. *
  391. * For the Unix "ls -l" format: " %p %4l %-8.8o %-8.8g %7s %-12.12d %a"
  392. */
  393. #ifdef DOSPATH
  394. #define LIST_FORMAT " %4K %-12.12d %a"
  395. #else
  396. #define LIST_FORMAT " %p %4l %-8.8o %-8.8g %7s %-12.12d %a"
  397. #endif
  398. /*
  399. * FTP_FORMAT uses the same codes as LIST_FORMAT, but applies to files shown
  400. * in an ftp listing.
  401. */
  402. #define FTP_FORMAT "%d %-16.16t %a %K"
  403. /*
  404. * If NO_FORCED_CORE_DUMP is set to TRUE, Lynx will not force
  405. * core dumps via abort() calls on fatal errors or assert()
  406. * calls to check potentially fatal errors. The default defined
  407. * here can be changed in lynx.cfg, and the compilation or
  408. * configuration default can be toggled via the -core command
  409. * line switch.
  410. */
  411. #define NO_FORCED_CORE_DUMP FALSE
  412. /**************************
  413. * LYNX_LSS_FILE is the location and name of the default lynx
  414. * character style sheet file. It is sought and processed at
  415. * startup of Lynx only if experimental character style code
  416. * has been compiled in, otherwise it will be ignored. Note
  417. * that use of the character style option is _experimental_ AND
  418. * _unsupported_. There is no documentation other than a sample
  419. * lynx.lss file in the samples subdirectory. You also can
  420. * define the location and name of this file via environment
  421. * variables "LYNX_LSS" or "lynx_lss" which will override the
  422. * "LYNX_LSS_FILE" definition here. You can use '~' in either or
  423. * both definitions to refer to the user's home directory. The
  424. * -lss command line switch will override these definitions.
  425. */
  426. #ifndef LYNX_LSS_FILE
  427. #ifdef DOSPATH
  428. #define LYNX_LSS_FILE "lynx.lss"
  429. #else
  430. #define LYNX_LSS_FILE "/usr/local/lib/lynx.lss"
  431. #endif
  432. #endif /* LYNX_LSS_FILE */
  433. #endif /* VMS OR UNIX */
  434. /*************************************************************
  435. * Section 1c) Every platform must change or verify these
  436. *
  437. */
  438. /*****************************
  439. * STARTFILE is the default starting URL if none is specified
  440. * on the command line or via a WWW_HOME environment variable;
  441. * Lynx will refuse to start without a starting URL of some kind.
  442. * STARTFILE can be remote, e.g., http://www.w3.org/default.html ,
  443. * or local, e.g., file://localhost/PATH_TO/FILENAME ,
  444. * where PATH_TO is replaced with the complete path to FILENAME
  445. * using Unix shell syntax and including the device on VMS.
  446. *
  447. * Normally we expect you will connect to a remote site, e.g., the Lynx starting
  448. * site:
  449. */
  450. #define STARTFILE "http://lynx.isc.org/"
  451. /*
  452. * As an alternative, you may want to use a local URL. A good choice for this
  453. * is the user's home directory:
  454. *#define STARTFILE "file://localhost/~/"
  455. *
  456. * Your choice of STARTFILE should reflect your site's needs, and be a URL that
  457. * you can connect to reliably. Otherwise users will become confused and think
  458. * that they cannot run Lynx.
  459. */
  460. /*****************************
  461. * HELPFILE must be defined as a URL and must have a
  462. * complete path if local:
  463. * file://localhost/PATH_TO/lynx_help/lynx_help_main.html
  464. * Replace PATH_TO with the path to the lynx_help subdirectory
  465. * for this distribution (use SHELL syntax including the device
  466. * on VMS systems).
  467. * The default HELPFILE is:
  468. * http://lynx.isc.org/release/breakout/lynx_help/lynx_help_main.html
  469. * This should be changed here or in lynx.cfg to the local path.
  470. * The definition here can be overridden at run time by defining a
  471. * "LYNX_HELPFILE" environment variable.
  472. */
  473. #define HELPFILE "http://lynx.isc.org/release/breakout/lynx_help/lynx_help_main.html"
  474. /* #define HELPFILE "file://localhost/PATH_TO/lynx_help/lynx_help_main.html" */
  475. /*****************************
  476. * DEFAULT_INDEX_FILE is the default file retrieved when the
  477. * user presses the 'I' key when viewing any document.
  478. * An index to your CWIS can be placed here or a document containing
  479. * pointers to lots of interesting places on the web.
  480. */
  481. #define DEFAULT_INDEX_FILE "http://scout.wisc.edu/"
  482. /*****************************
  483. * If USE_TRACE_LOG is set FALSE, then when TRACE mode is invoked the
  484. * syserr messages will not be directed to a log file named Lynx.trace
  485. * in the account's HOME directory. The default defined here can be
  486. * toggled via the -tlog command line switch. Also, it is set FALSE
  487. * automatically when Lynx is executed in an anonymous or validation
  488. * account (if indicated via the -anonymous or -validate command line
  489. * switches, or via the check for the ANONYMOUS_USER, defined below).
  490. * When FALSE, the TRACE_LOG command (normally ';') cannot be used to
  491. * examine the Lynx Trace Log during the current session. If left
  492. * TRUE, but you wish to use command line piping of stderr to a file
  493. * you specify, include the -tlog toggle on the command line. Note
  494. * that once TRACE mode is turned on during a session and stderr is
  495. * directed to the log, all stderr messages will continue going to
  496. * the log, even if TRACE mode is turned off via the TOGGLE_TRACE
  497. * (Control-T) command.
  498. */
  499. #define USE_TRACE_LOG TRUE
  500. /*******************************
  501. * If GOTOBUFFER is set to TRUE here or in lynx.cfg the last entered
  502. * goto URL, if any, will be offered as a default for reuse or editing
  503. * when the 'g'oto command is entered. All previously used goto URLs
  504. * can be accessed for reuse or editing via a circular buffer invoked
  505. * with the Up-Arrow or Down-Arrow keys after entering the 'g'oto
  506. * command, whether or not a default is offered.
  507. */
  508. #define GOTOBUFFER FALSE
  509. /*****************************
  510. * If FTP_PASSIVE is set to TRUE here or in lynx.cfg, ftp transfers will
  511. * be done in passive mode.
  512. * Note: if passive transfers fail, lynx falls back to active mode, and
  513. * vice versa if active transfers fail at first.
  514. */
  515. #define FTP_PASSIVE TRUE
  516. /*****************************
  517. * JUMPFILE is the default local file checked for shortcut URLs when
  518. * the user presses the 'J' (JUMP) key. The user will be prompted for
  519. * a shortcut entry (analogously to 'g'oto), and can enter one
  520. * or use '?' for a list of the shortcuts with associated links to
  521. * their actual URLs. See the sample jumps files in the samples
  522. * subdirectory. Make sure your jumps file includes a '?' shortcut
  523. * for a file://localhost URL to itself:
  524. *
  525. * <dt>?<dd><a href="file://localhost/path/jumps.html">This Shortcut List</a>
  526. *
  527. * If not defined here or in lynx.cfg, the JUMP command will invoke
  528. * the NO_JUMPFILE status line message (see LYMessages_en.h). The prompt
  529. * associated with the default jumps file is defined as JUMP_PROMPT in
  530. * LYMessages_en.h and can be modified in lynx.cfg. Additional, alternate
  531. * jumps files can be defined and mapped to keystrokes, and alternate
  532. * prompts can be set for them, in lynx.cfg, but at least one default
  533. * jumps file and associated prompt should be established before adding
  534. * others.
  535. *
  536. * On VMS, use Unix SHELL syntax (including a lead slash) to define it.
  537. *
  538. * Do not include "file://localhost" in the definition.
  539. */
  540. /* #define JUMPFILE "/Lynx_Dir/jumps.html" */
  541. /*******************************
  542. * If JUMPBUFFER is set to TRUE here or in lynx.cfg the last entered
  543. * jump shortcut, if any, will be offered as a default for reuse or
  544. * editing when the JUMP command is entered. All previously used
  545. * shortcuts can be accessed for reuse or editing via a circular buffer
  546. * invoked with the Up-Arrow or Down-Arrow keys after entering the JUMP
  547. * command, whether or not a default is offered. If you have multiple
  548. * jumps files and corresponding key mappings, each will have its own
  549. * circular buffer.
  550. */
  551. #define JUMPBUFFER FALSE
  552. /********************************
  553. * If PERMIT_GOTO_FROM_JUMP is defined, then a : or / in a jump target
  554. * will be treated as a full or partial URL (to be resolved versus the
  555. * startfile), and will be handled analogously to a 'g'oto command.
  556. * Such "random URLs" will be entered in the circular buffer for goto
  557. * URLs, not the buffer for jump targets (shortcuts). If the target
  558. * is the single character ':', it will be treated equivalently to an
  559. * Up-Arrow or Down-Arrow following a 'g'oto command, for accessing the
  560. * circular buffer of goto URLs.
  561. */
  562. /* #define PERMIT_GOTO_FROM_JUMP */
  563. /*****************************
  564. * If LYNX_HOST_NAME is defined here and/or in lynx.cfg, it will be
  565. * treated as an alias for the local host name in checks for URLs on
  566. * the local host (e.g., when the -localhost switch is set), and this
  567. * host name, "localhost", and HTHostName (the fully qualified domain
  568. * name of the system on which Lynx is running) will all be passed as
  569. * local. A different definition in lynx.cfg will override this one.
  570. */
  571. /* #define LYNX_HOST_NAME "www.cc.ukans.edu" */
  572. /*********************
  573. * LOCAL_DOMAIN is used for a tail match with the ut_host element of
  574. * the utmp or utmpx structure on systems with utmp capabilities, to
  575. * determine if a user is local to your campus or organization when
  576. * handling -restrictions=inside_foo or outside_foo settings for ftp,
  577. * news, telnet/tn3270 and rlogin URLs. An "inside" user is assumed
  578. * if your system does not have utmp capabilities. CHANGE THIS here
  579. * or in lynx.cfg.
  580. */
  581. #define LOCAL_DOMAIN "ukans.edu"
  582. /********************************
  583. * The DEFAULT_CACHE_SIZE specifies the number of WWW documents to be
  584. * cached in memory at one time.
  585. *
  586. * This so-called cache size (actually, number) may be modified in lynx.cfg
  587. * and or with the command line argument -cache=NUMBER The minimum allowed
  588. * value is 2, for the current document and at least one to fetch, and there
  589. * is no absolute maximum number of cached documents. On Unix, and VMS not
  590. * compiled with VAXC, whenever the number is exceeded the least recently
  591. * displayed document will be removed from memory.
  592. *
  593. * On VMS compiled with VAXC, the DEFAULT_VIRTUAL_MEMORY_SIZE specifies the
  594. * amount (bytes) of virtual memory that can be allocated and not yet be freed
  595. * before previous documents are removed from memory. If the values for both
  596. * the DEFAULT_CACHE_SIZE and DEFAULT_VIRTUAL_MEMORY_SIZE are exceeded, then
  597. * least recently displayed documents will be freed until one or the other
  598. * value is no longer exceeded. The value can be modified in lynx.cfg.
  599. *
  600. * The Unix and VMS but not VAXC implementations use the C library malloc's
  601. * and calloc's for memory allocation, and procedures for taking the actual
  602. * amount of cache into account still need to be developed. They use only
  603. * the DEFAULT_CACHE_SIZE value, and that specifies the absolute maximum
  604. * number of documents to cache (rather than the maximum number only if
  605. * DEFAULT_VIRTUAL_MEMORY_SIZE has been exceeded, as with VAXC/VAX).
  606. */
  607. #define DEFAULT_CACHE_SIZE 10
  608. #if defined(VMS) && defined(VAXC) && !defined(__DECC)
  609. #define DEFAULT_VIRTUAL_MEMORY_SIZE 512000
  610. #endif /* VMS && VAXC && !__DECC */
  611. /********************************
  612. * If ALWAYS_RESUBMIT_POSTS is set TRUE, Lynx always will resubmit forms
  613. * with method POST, dumping any cache from a previous submission of the
  614. * form, including when the document returned by that form is sought with
  615. * the PREV_DOC command or via the history list. Lynx always resubmits
  616. * forms with method POST when a submit button or a submitting text input
  617. * is activated, but normally retrieves the previously returned document
  618. * if it had links which you activated, and then go back with the PREV_DOC
  619. * command or via the history list.
  620. *
  621. * The default defined here can be changed in lynx.cfg, and can be toggled
  622. * via the -resubmit_posts command line switch.
  623. */
  624. #define ALWAYS_RESUBMIT_POSTS FALSE
  625. /********************************
  626. * CHARACTER_SET defines the default character set, i.e., that assumed
  627. * to be installed on the user's terminal. It determines which characters
  628. * or strings will be used to represent 8-bit character entities within
  629. * HTML. New character sets may be defined as explained in the README
  630. * files of the src/chrtrans directory in the Lynx source code distribution.
  631. * For Asian (CJK) character sets, it also determines how Kanji code will
  632. * be handled. The default defined here can be changed in lynx.cfg, and
  633. * via the 'o'ptions menu. The 'o'ptions menu setting will be stored in
  634. * the user's RC file whenever those settings are saved, and thereafter
  635. * will be used as the default. Also see lynx.cfg for information about
  636. * the -raw switch and LYK_RAW_TOGGLE command.
  637. *
  638. * Since Lynx now supports a wide range of platforms it may be useful
  639. * to note that cpXXX codepages used by IBM PC compatible computers,
  640. * and windows-xxxx used by native MS-Windows apps.
  641. *
  642. * Recognized character sets include:
  643. *
  644. * string for 'O'ptions Menu MIME name
  645. * =========================== =========
  646. * 7 bit approximations (US-ASCII) us-ascii
  647. * Western (ISO-8859-1) iso-8859-1
  648. * Western (cp850) cp850
  649. * Western (windows-1252) windows-1252
  650. * IBM PC US codepage (cp437) cp437
  651. * DEC Multinational dec-mcs
  652. * Macintosh (8 bit) macintosh
  653. * NeXT character set next
  654. * HP Roman8 hp-roman8
  655. * Chinese euc-cn
  656. * Japanese (EUC-JP) euc-jp
  657. * Japanese (Shift_JIS) shift_jis
  658. * Korean euc-kr
  659. * Taipei (Big5) big5
  660. * Vietnamese (VISCII) viscii
  661. * Eastern European (ISO-8859-2) iso-8859-2
  662. * Eastern European (cp852) cp852
  663. * Eastern European (windows-1250) windows-1250
  664. * Latin 3 (ISO-8859-3) iso-8859-3
  665. * Latin 4 (ISO-8859-4) iso-8859-4
  666. * Baltic Rim (cp775) cp775
  667. * Baltic Rim (windows-1257) windows-1257
  668. * Cyrillic (ISO-8859-5) iso-8859-5
  669. * Cyrillic (cp866) cp866
  670. * Cyrillic (windows-1251) windows-1251
  671. * Cyrillic (KOI8-R) koi8-r
  672. * Arabic (ISO-8859-6) iso-8859-6
  673. * Arabic (cp864) cp864
  674. * Arabic (windows-1256) windows-1256
  675. * Greek (ISO-8859-7) iso-8859-7
  676. * Greek (cp737) cp737
  677. * Greek2 (cp869) cp869
  678. * Greek (windows-1253) windows-1253
  679. * Hebrew (ISO-8859-8) iso-8859-8
  680. * Hebrew (cp862) cp862
  681. * Hebrew (windows-1255) windows-1255
  682. * Turkish (ISO-8859-9) iso-8859-9
  683. * ISO-8859-10 iso-8859-10
  684. * Ukrainian Cyrillic (cp866u) cp866u
  685. * Ukrainian Cyrillic (KOI8-U) koi8-u
  686. * UNICODE (UTF-8) utf-8
  687. * RFC 1345 w/o Intro mnemonic+ascii+0
  688. * RFC 1345 Mnemonic mnemonic
  689. * Transparent x-transparent
  690. */
  691. #define CHARACTER_SET "iso-8859-1"
  692. /*****************************
  693. * PREFERRED_LANGUAGE is the language in MIME notation (e.g., "en",
  694. * "fr") which will be indicated by Lynx in its Accept-Language headers
  695. * as the preferred language. If available, the document will be
  696. * transmitted in that language. This definition can be overridden via
  697. * lynx.cfg. Users also can change it via the 'o'ptions menu and save
  698. * that preference in their RC file. This may be a comma-separated list
  699. * of languages in decreasing preference.
  700. */
  701. #define PREFERRED_LANGUAGE "en"
  702. /*****************************
  703. * PREFERRED_CHARSET specifies the character set in MIME notation (e.g.,
  704. * "ISO-8859-2", "ISO-8859-5") which Lynx will indicate you prefer in
  705. * requests to http servers using an Accept-Charsets header.
  706. * This definition can be overridden via lynx.cfg. Users also can change it
  707. * via the 'o'ptions menu and save that preference in their RC file.
  708. * The value should NOT include "ISO-8859-1" or "US-ASCII", since those
  709. * values are always assumed by default.
  710. * If a file in that character set is available, the server will send it.
  711. * If no Accept-Charset header is present, the default is that any
  712. * character set is acceptable. If an Accept-Charset header is present,
  713. * and if the server cannot send a response which is acceptable
  714. * according to the Accept-Charset header, then the server SHOULD send
  715. * an error response with the 406 (not acceptable) status code, though
  716. * the sending of an unacceptable response is also allowed. (RFC2068)
  717. */
  718. #define PREFERRED_CHARSET ""
  719. /*****************************
  720. * If MULTI_BOOKMARK_SUPPORT is set to MBM_STANDARD or MBM_ADVANCED, and
  721. * BLOCK_MULTI_BOOKMARKS (see below) is FALSE, and sub-bookmarks exist, all
  722. * bookmark operations will first prompt the user to select an active
  723. * sub-bookmark file or the default bookmark file. MBM_OFF is the default so
  724. * that one (the default) bookmark file will be available initially. The
  725. * default set here can be overridden in lynx.cfg. The user can turn on
  726. * multiple bookmark support via the 'o'ptions menu, and can save that choice as
  727. * the startup default via the .lynxrc file. When on, the setting can be
  728. * STANDARD or ADVANCED. If support is set to the latter, and the user mode
  729. * also is ADVANCED, the VIEW_BOOKMARK command will invoke a status line prompt
  730. * at which the user can enter the letter token (A - Z) of the desired bookmark,
  731. * or '=' to get a menu of available bookmark files. The menu always is
  732. * presented in NOVICE or INTERMEDIATE mode, or if the support is set to
  733. * STANDARD. No prompting or menu display occurs if only one (the startup
  734. * default) bookmark file has been defined (define additional ones via the
  735. * 'o'ptions menu). The startup default, however set, can be overridden on the
  736. * command line via the -restrictions=multibook or the -anonymous or -validate
  737. * switches.
  738. */
  739. #ifndef MULTI_BOOKMARK_SUPPORT
  740. #define MULTI_BOOKMARK_SUPPORT MBM_OFF
  741. #endif /* MULTI_BOOKMARK_SUPPORT */
  742. /*****************************
  743. * If BLOCK_MULTI_BOOKMARKS is set TRUE, multiple bookmark support will
  744. * be forced off, and cannot be toggled on via the 'o'ptions menu. This
  745. * compilation setting can be overridden via lynx.cfg.
  746. */
  747. #ifndef BLOCK_MULTI_BOOKMARKS
  748. #define BLOCK_MULTI_BOOKMARKS FALSE
  749. #endif /* BLOCK_MULTI_BOOKMARKS */
  750. /********************************
  751. * URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES are strings which will be
  752. * prepended (together with a scheme://) and appended to the first element
  753. * of command line or 'g'oto arguments which are not complete URLs and
  754. * cannot be opened as a local file (file://localhost/string). Both
  755. * can be comma-separated lists. Each prefix must end with a dot, each
  756. * suffix must begin with a dot, and either may contain other dots (e.g.,
  757. * .co.jp). The default lists are defined here, and can be changed
  758. * in lynx.cfg. Each prefix will be used with each suffix, in order,
  759. * until a valid Internet host is created, based on a successful DNS
  760. * lookup (e.g., foo will be tested as www.foo.com and then www.foo.edu
  761. * etc.). The first element can include a :port and/or /path which will
  762. * be restored with the expanded host (e.g., wfbr:8002/dir/lynx will
  763. * become http://www.wfbr.edu:8002/dir/lynx). The prefixes will not be
  764. * used if the first element ends in a dot (or has a dot before the
  765. * :port or /path), and similarly the suffixes will not be used if the
  766. * the first element begins with a dot (e.g., .nyu.edu will become
  767. * http://www.nyu.edu without testing www.nyu.com). Lynx will try to
  768. * guess the scheme based on the first field of the expanded host name,
  769. * and use "http://" as the default (e.g., gopher.wfbr.edu or gopher.wfbr.
  770. * will be made gopher://gopher.wfbr.edu).
  771. */
  772. #define URL_DOMAIN_PREFIXES "www."
  773. #define URL_DOMAIN_SUFFIXES ".com,.edu,.net,.org"
  774. /********************************
  775. * If LIST_NEWS_NUMBERS is set TRUE, Lynx will use an ordered list
  776. * and include the numbers of articles in news listings, instead of
  777. * using an unordered list.
  778. *
  779. * The default defined here can be changed in lynx.cfg.
  780. */
  781. #define LIST_NEWS_NUMBERS FALSE
  782. /********************************
  783. * If LIST_NEWS_DATES is set TRUE, Lynx will include the dates of
  784. * articles in news listings. The dates always are included in the
  785. * articles, themselves.
  786. *
  787. * The default defined here can be changed in lynx.cfg.
  788. */
  789. #define LIST_NEWS_DATES FALSE
  790. /*************************
  791. * Set NEWS_POSTING to FALSE if you do not want to support posting to
  792. * news groups via Lynx. If left TRUE, Lynx will use its news gateway to
  793. * post new messages or followups to news groups, using the URL schemes
  794. * described in the "Supported URL" section of the online 'h'elp. The
  795. * posts will be attempted via the nntp server specified in the URL, or
  796. * if none was specified, via the NNTPSERVER configuration or environment
  797. * variable. Links with these URLs for posting or sending followups are
  798. * created by the news gateway when reading group listings or articles
  799. * from nntp servers if the server indicates that it permits posting.
  800. * The setting here can be changed in lynx.cfg.
  801. */
  802. #define NEWS_POSTING TRUE
  803. /*************************
  804. * Define LYNX_SIG_FILE to the name of a file containing a signature which
  805. * can be appended to email messages and news postings or followups. The
  806. * user will be prompted whether to append it. It is sought in the home
  807. * directory. If it is in a subdirectory, begin it with a dot-slash
  808. * (e.g., ./lynx/.lynxsig). The definition here can be changed in lynx.cfg.
  809. */
  810. #define LYNX_SIG_FILE ".lynxsig"
  811. /********************************
  812. * BIBP_GLOBAL_SERVER is the default global server for bibp: links, used
  813. * when a local bibhost or document-specified citehost is unavailable.
  814. */
  815. #define BIBP_GLOBAL_SERVER "http://usin.org/"
  816. /********************************
  817. * If USE_SELECT_POPUPS is set FALSE, Lynx will present a vertical list
  818. * of radio buttons for the OPTIONs in SELECT blocks which lack the
  819. * MULTIPLE attribute, instead of using a popup menu. Note that if
  820. * the MULTIPLE attribute is present in the SELECT start tag, Lynx
  821. * always will create a vertical list of checkboxes for the OPTIONs.
  822. *
  823. * The default defined here can be changed in lynx.cfg. It can be
  824. * set and saved via the 'o'ptions menu to override the compilation
  825. * and configuration defaults, and the default always can be toggled
  826. * via the -popup command line switch.
  827. */
  828. #define USE_SELECT_POPUPS TRUE
  829. /********************************
  830. * If COLLAPSE_BR_TAGS is set FALSE, Lynx will not collapse serial
  831. * BR tags. If set TRUE, two or more concurrent BRs will be collapsed
  832. * into a single blank line. Note that the valid way to insert extra
  833. * blank lines in HTML is via a PRE block with only newlines in the
  834. * block.
  835. *
  836. * The default defined here can be changed in lynx.cfg.
  837. */
  838. #define COLLAPSE_BR_TAGS TRUE
  839. /********************************
  840. * If SET_COOKIES is set FALSE, Lynx will ignore Set-Cookie headers
  841. * in http server replies.
  842. *
  843. * The default defined here can be changed in lynx.cfg, and can be toggled
  844. * via the -cookies command line switch.
  845. */
  846. #define SET_COOKIES TRUE
  847. /********************************
  848. * If SEND_USERAGENT is set FALSE, Lynx will not send a user-agent string.
  849. * You can override this in the 'O'ptions menu.
  850. */
  851. #define SEND_USERAGENT TRUE
  852. /*******************************
  853. * If ACCEPT_ALL_COOKIES is set TRUE, and SET_COOKIES is TRUE, Lynx will
  854. * accept all cookies.
  855. *
  856. * The default defined here can be changed in lynx.cfg, and .lynxrc, or
  857. * toggled via the -accept_all_cookies command line switch.
  858. */
  859. #define ACCEPT_ALL_COOKIES FALSE
  860. /****************************************************************
  861. * Section 2. Things that you probably want to change or review
  862. *
  863. */
  864. /*****************************
  865. * The following three definitions set the number of seconds for
  866. * pauses following status line messages that would otherwise be
  867. * replaced immediately, and are more important than the unpaused
  868. * progress messages. Those set by INFOSECS are also basically
  869. * progress messages (e.g., that a prompted input has been canceled)
  870. * and should have the shortest pause. Those set by MESSAGESECS are
  871. * informational (e.g., that a function is disabled) and should have
  872. * a pause of intermediate duration. Those set by ALERTSECS typically
  873. * report a serious problem and should be paused long enough to read
  874. * whenever they appear (typically unexpectedly). The default values
  875. * defined here can be modified via lynx.cfg, should longer pauses be
  876. * desired for braille-based access to Lynx.
  877. */
  878. #define INFOSECS 1
  879. #define MESSAGESECS 2
  880. #define ALERTSECS 3
  881. #define DEBUGSECS 0
  882. #define REPLAYSECS 0
  883. /******************************
  884. * SHOW_COLOR controls whether the program displays in color by default.
  885. */
  886. #ifdef COLOR_CURSES
  887. #define SHOW_COLOR TRUE
  888. #else
  889. #define SHOW_COLOR FALSE
  890. #endif
  891. /******************************
  892. * SHOW_CURSOR controls whether or not the cursor is hidden or appears
  893. * over the current link, or current option in select popup windows.
  894. * Showing the cursor is handy if you are a sighted user with a poor
  895. * terminal that can't do bold and reverse video at the same time or
  896. * at all. It also can be useful to blind users, as an alternative
  897. * or supplement to setting LINKS_AND_FIELDS_ARE_NUMBERED or
  898. * LINKS_ARE_NUMBERED.
  899. *
  900. * The default defined here can be changed in lynx.cfg. It can be
  901. * set and saved via the 'o'ptions menu to override the compilation
  902. * and configuration defaults, and the default always can be toggled
  903. * via the -show_cursor command line switch.
  904. */
  905. #define SHOW_CURSOR FALSE
  906. /******************************
  907. * UNDERLINE_LINKS controls whether links are underlined by default, or shown
  908. * in bold. Normally this default is set from the configure script.
  909. */
  910. #ifndef HAVE_CONFIG_H
  911. #define UNDERLINE_LINKS FALSE
  912. #endif
  913. /******************************
  914. * VERBOSE_IMAGES controls whether or not Lynx replaces the [LINK], [INLINE]
  915. * and [IMAGE] comments (for images without ALT) with filenames of these
  916. * images. This is extremely useful because now we can determine immediately
  917. * what images are just decorations (button.gif, line.gif) and what images are
  918. * important.
  919. *
  920. * The default defined here can be changed in lynx.cfg.
  921. */
  922. #define VERBOSE_IMAGES TRUE
  923. /******************************
  924. * BOXVERT and BOXHORI control the layout of popup menus. Set to 0 if your
  925. * curses supports line-drawing characters, set to '*' or any other character
  926. * to not use line-drawing (e.g., '|' for vertical and '-' for horizontal).
  927. */
  928. #ifndef HAVE_CONFIG_H
  929. #ifdef DOSPATH
  930. #define BOXVERT 0
  931. #define BOXHORI 0
  932. #else
  933. #define BOXVERT '|'
  934. /* #define BOXVERT 0 */
  935. #define BOXHORI '-'
  936. /* #define BOXHORI 0 */
  937. #endif /* DOSPATH */
  938. #endif /* !HAVE_CONFIG_H */
  939. /******************************
  940. * LY_UMLAUT controls the 7-bit expansion of characters with dieresis or
  941. * umlaut. If defined, a digraph is displayed, e.g., auml --> ae
  942. * Otherwise, a single character is displayed, e.g., auml --> a
  943. * Note that this is currently not supported with the chartrans code,
  944. * or rather it doesn't have an effect if translations for a display
  945. * character set are taken from one of the *.tbl files in src/chrtrans.
  946. * One would have to modify the corresponding *.tbl file to change the
  947. # 7-bit replacements for these characters.
  948. */
  949. #define LY_UMLAUT
  950. /*******************************
  951. * Execution links/scripts configuration.
  952. *
  953. * Execution links and scripts allow you to run
  954. * local programs by activating links within Lynx.
  955. *
  956. * An execution link is of the form:
  957. *
  958. * lynxexec:<COMMAND>
  959. * or:
  960. * lynxexec://<COMMAND>
  961. * or:
  962. * lynxprog:<COMMAND>
  963. * or:
  964. * lynxprog://<COMMAND>
  965. *
  966. * where <COMMAND> is a command that Lynx will run when the link is
  967. * activated. The double-slash should be included if the command begins
  968. * with an '@', as for executing VMS command files. Otherwise, the double-
  969. * slash can be omitted.
  970. * Use lynxexec for commands or scripts that generate a screen output which
  971. * should be held via a prompt to press <return> before returning to Lynx
  972. * for display of the current document.
  973. * Use lynxprog for programs such as mail which do not require a pause before
  974. * Lynx restores the display of the current document.
  975. *
  976. * Execution scripts take the form of a standard
  977. * URL. Extension mapping or MIME typing is used
  978. * to decide if the file is a script and should be
  979. * executed. The current extensions are:
  980. * .csh, .ksh, and .sh on UNIX systems and .com on
  981. * VMS systems. Any time a file of this type is
  982. * accessed Lynx will look at the user's options
  983. * settings to decide if the script can be executed.
  984. * Current options include: Only exec files that
  985. * reside on the local machine and are referenced
  986. * with a "file://localhost" URL, All execution
  987. * off, and all execution on.
  988. *
  989. * The following definitions will add execution
  990. * capabilities to Lynx. You may define none, one
  991. * or both.
  992. *
  993. * I strongly recommend that you define neither one
  994. * of these since execution links/scripts can represent
  995. * very serious security risk to your system and its
  996. * users. If you do define these I suggest that
  997. * you only allow users to execute files/scripts
  998. * that reside on your local machine.
  999. *
  1000. * YOU HAVE BEEN WARNED!
  1001. *
  1002. * Note: if you are enabling execution scripts you should
  1003. * also see src/HTInit.c to verify/change the execution
  1004. * script extensions and/or commands.
  1005. */
  1006. /* #define EXEC_LINKS */
  1007. /* #define EXEC_SCRIPTS */
  1008. #if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
  1009. /**********
  1010. * if ENABLE_OPTS_CHANGE_EXEC is defined, the user will be able to change
  1011. * the execution status within the Options Menu.
  1012. */
  1013. /* #define ENABLE_OPTS_CHANGE_EXEC */
  1014. /**********
  1015. * if NEVER_ALLOW_REMOTE_EXEC is defined,
  1016. * local execution of scripts or lynxexec & lynxprog URLs will be implemented
  1017. * only from HTML files that were accessed via a "file://localhost/" URL
  1018. * and the Options Menu for "Local executions links" will allow toggling
  1019. * only between "ALWAYS OFF" and "FOR LOCAL FILES ONLY".
  1020. */
  1021. /* #define NEVER_ALLOW_REMOTE_EXEC */
  1022. /*****************************
  1023. * These are for executable shell scripts and links.
  1024. * Set to FALSE unless you really know what you're
  1025. * doing.
  1026. *
  1027. * This only applies if you are compiling with EXEC_LINKS or
  1028. * EXEC_SCRIPTS defined.
  1029. *
  1030. * The first two settings:
  1031. * LOCAL_EXECUTION_LINKS_ALWAYS_ON
  1032. * LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE
  1033. * specify the DEFAULT settings of the users execution link
  1034. * options (they can also be overridden in lynx.cfg), but
  1035. * the user may still change those options.
  1036. * If you do not wish the user to be able to change the
  1037. * execution link settings you may wish to use the command line option:
  1038. * -restrictions=exec_frozen
  1039. *
  1040. * LOCAL_EXECUTION_LINKS_ALWAYS_ON will be FALSE
  1041. * if NEVER_ALLOW_REMOTE_EXEC has been defined.
  1042. *
  1043. * if LOCAL_EXECUTION_LINKS_ALWAYS_OFF_FOR_ANONYMOUS is true,
  1044. * all execution links will be disabled when the -anonymous
  1045. * command-line option is used. Anonymous users are not allowed
  1046. * to change the execution options from within the Lynx Options Menu,
  1047. * so you might be able to use this option to enable execution links
  1048. * and set LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE to TRUE
  1049. * to give anonymous execution-link capability without compromising
  1050. * your system (see comments about TRUSTED_EXEC rules in lynx.cfg ).
  1051. */
  1052. #define LOCAL_EXECUTION_LINKS_ALWAYS_ON FALSE
  1053. #define LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE FALSE
  1054. #define LOCAL_EXECUTION_LINKS_ALWAYS_OFF_FOR_ANONYMOUS FALSE
  1055. #endif /* defined(EXEC_LINKS) || defined(EXEC_SCRIPTS) */
  1056. /**********
  1057. * *** This is for those -- e.g. DOS users -- who do not have configure;
  1058. * *** others should use the configure switch --enable-lynxcgi-links .
  1059. *
  1060. * UNIX:
  1061. * =====
  1062. * CGI script support. Defining LYNXCGI_LINKS allows you to use the
  1063. *
  1064. * lynxcgi:path
  1065. *
  1066. * URL which allows lynx to access a cgi script directly without the need for
  1067. * a http daemon. Redirection is not supported but just about everything
  1068. * else is. If the path is not an executable file then the URL is
  1069. * rewritten as file://localhost and passed to the file loader. This means
  1070. * that if your http:html files are currently set up to use relative
  1071. * addressing, you should be able to fire up your main page with lynxcgi:path
  1072. * and everything should work as if you were talking to the http daemon.
  1073. *
  1074. * Note that TRUSTED_LYNXCGI directives must be defined in your lynx.cfg file
  1075. * if you wish to place restrictions on source documents and/or paths for
  1076. * lynxcgi links.
  1077. *
  1078. * The cgi scripts are called with a fork()/execve() sequence so you don't
  1079. * have to worry about people trying to abuse the code. :-)
  1080. *
  1081. * George Lindholm (George.Lindholm@ubc.ca)
  1082. *
  1083. * VMS:
  1084. * ====
  1085. * The lynxcgi scheme, if enabled, yields an informational message regardless
  1086. * of the path, and use of the freeware OSU DECthreads server as a local
  1087. * script server is recommended instead of lynxcgi URLs. Uncomment the
  1088. * following line to define LYNXCGI_LINKS, and when running Lynx, enter
  1089. * lynxcgi:advice as a G)oto URL for more information and links to the
  1090. * OSU server distribution.
  1091. */
  1092. #ifndef HAVE_CONFIG_H
  1093. /* #define LYNXCGI_LINKS */
  1094. #endif
  1095. /*********************************
  1096. * MAIL_SYSTEM_ERROR_LOGGING will send a message to the owner of
  1097. * the information if there is one, every time
  1098. * that a document cannot be accessed!
  1099. * This is just the default, it can be changed in lynx.cfg, and error
  1100. * logging can be turned off with the -nolog command line option.
  1101. *
  1102. * NOTE: This can generate A LOT of mail, be warned.
  1103. */
  1104. #define MAIL_SYSTEM_ERROR_LOGGING FALSE /*mail a message for every error? */
  1105. /*********************************
  1106. * If a document cannot be accessed, and MAIL_SYSTEM_ERROR_LOGGING
  1107. * is on and would send a message to the owner of the information,
  1108. * but no owner is known, then the message will be sent to ALERTMAIL
  1109. * instead - if it is defined as a non-empty email address.
  1110. *
  1111. * NOTE: This can generate A REAL LOT of mail, be warned!!!
  1112. */
  1113. /* #define ALERTMAIL "webmaster@localhost" */ /*error recipient if no owner */
  1114. /*********************************
  1115. * If CHECKMAIL is set to TRUE, the user will be informed (via a status line
  1116. * message) about the existence of any unread mail at startup of Lynx, and
  1117. * will get status line messages if subsequent new mail arrives. If a jumps
  1118. * file with a lynxprog URL for invoking mail is available, or your html
  1119. * pages include an mail launch file URL, the user thereby can access mail
  1120. * and read the messages.
  1121. * This is just the default, it can be changed in lynx.cfg. The checks and
  1122. * status line reports will not be performed if Lynx has been invoked with
  1123. * the -restrictions=mail switch.
  1124. *
  1125. * VMS USERS !!!
  1126. * New mail is normally broadcast as it arrives, via "unsolicited screen
  1127. * broadcasts", which can be "wiped" from the Lynx display via the Ctrl-W
  1128. * command. You may prefer to disable the broadcasts and use CHECKMAIL
  1129. * instead (e.g., in a public account which will be used by people who
  1130. * are ignorant about VMS).
  1131. */
  1132. #define CHECKMAIL FALSE /* report unread and new mail messages */
  1133. /*********************************
  1134. * Vi or Emacs movement keys. These are defaults,
  1135. * which can be changed in lynx.cfg , the Options Menu or .lynxrc .
  1136. */
  1137. #define VI_KEYS_ALWAYS_ON FALSE /* familiar h j k l */
  1138. #define EMACS_KEYS_ALWAYS_ON FALSE /* familiar ^N ^P ^F ^B */
  1139. /*********************************
  1140. * DEFAULT_KEYPAD_MODE may be set to NUMBERS_AS_ARROWS
  1141. * or LINKS_ARE_NUMBERED
  1142. * or LINKS_AND_FIELDS_ARE_NUMBERED
  1143. * to specify whether numbers (e.g. [10]) appear before all links,
  1144. * allowing immediate access by entering the number on the keyboard,
  1145. * or numbers on the numeric key-pad work like arrows;
  1146. * the 3rd option causes form fields also to be preceded by numbers.
  1147. * The first two options (but not the last) can be changed in lynx.cfg
  1148. * and all three can be changed via the Options Menu.
  1149. */
  1150. #define DEFAULT_KEYPAD_MODE NUMBERS_AS_ARROWS
  1151. /********************************
  1152. * The default search.
  1153. * This is a default that can be overridden in lynx.cfg or by the user!
  1154. */
  1155. #define CASE_SENSITIVE_ALWAYS_ON FALSE /* case sensitive user search */
  1156. /********************************
  1157. * If NO_DOT_FILES is set TRUE here or in lynx.cfg, the user will not be
  1158. * allowed to specify files beginning with a dot in reply to output filename
  1159. * prompts, and files beginning with a dot (e.g., file://localhost/foo/.lynxrc)
  1160. * will not be included in the directory browser's listings. The setting here
  1161. * will be overridden by the setting in lynx.cfg. If FALSE, you can force it
  1162. * to be treated as TRUE via -restrictions=dotfiles (or -anonymous, which sets
  1163. * this and most other restrictions).
  1164. *
  1165. * If it is FALSE at startup of Lynx, the user can regulate it via the
  1166. * 'o'ptions menu, and may save the preference in the RC file.
  1167. */
  1168. #define NO_DOT_FILES TRUE /* disallow access to dot files */
  1169. /********************************
  1170. * If MAKE_LINKS_FOR_ALL_IMAGES is TRUE, all images will be given links
  1171. * which can be ACTIVATEd. For inlines, the ALT or pseudo-ALT ("[INLINE]")
  1172. * strings will be links for the resolved SRC rather than just text. For
  1173. * ISMAP or other graphic links, the ALT or pseudo-ALT ("[ISMAP]" or "[LINK]")
  1174. * strings will have '-' and a link labeled "[IMAGE]" for the resolved SRC
  1175. * appended. See also VERBOSE_IMAGES flag.
  1176. *
  1177. * The default defined here can be changed in lynx.cfg, and the user can
  1178. * use LYK_IMAGE_TOGGLE to toggle the feature on or off at run time.
  1179. *
  1180. * The default also can be toggled via an "-image_links" command line switch.
  1181. */
  1182. #define MAKE_LINKS_FOR_ALL_IMAGES FALSE /* inlines cast to links */
  1183. /********************************
  1184. * If MAKE_PSEUDO_ALTS_FOR_INLINES is FALSE, inline images which do not
  1185. * specify an ALT string will not have "[INLINE]" inserted as a pseudo-ALT,
  1186. * i.e., they'll be treated as having ALT="". If MAKE_LINKS_FOR_ALL_IMAGES
  1187. * is defined or toggled to TRUE, however, the pseudo-ALTs will be created
  1188. * for inlines, so that they can be used as links to the SRCs.
  1189. * See also VERBOSE_IMAGES flag.
  1190. *
  1191. * The default defined here can be changed in lynx.cfg, and the user can
  1192. * use LYK_INLINE_TOGGLE to toggle the feature on or off at run time.
  1193. *
  1194. * The default also can be toggled via a "-pseudo_inlines" command line
  1195. * switch.
  1196. */
  1197. #define MAKE_PSEUDO_ALTS_FOR_INLINES TRUE /* Use "[INLINE]" pseudo-ALTs */
  1198. /********************************
  1199. * If SUBSTITUTE_UNDERSCORES is TRUE, the _underline_ format will be used
  1200. * for emphasis tags in dumps.
  1201. *
  1202. * The default defined here can be changed in lynx.cfg, and the user can
  1203. * toggle the default via a "-underscore" command line switch.
  1204. */
  1205. #define SUBSTITUTE_UNDERSCORES FALSE /* Use _underline_ format in dumps */
  1206. /********************************
  1207. * If QUIT_DEFAULT_YES is defined as TRUE then when the QUIT command
  1208. * is entered, any response other than n or N will confirm. Define it
  1209. * as FALSE if you prefer the more conservative action of requiring an
  1210. * explicit Y or y to confirm. The default defined here can be changed
  1211. * in lynx.cfg.
  1212. */
  1213. #define QUIT_DEFAULT_YES TRUE
  1214. /********************************
  1215. * If TEXT_SUBMIT_CONFIRM_WANTED is defined (to anything), the user will be
  1216. * prompted for confirmation before Lynx submits a form with only one input
  1217. * field (of type text) to the server, after the user has pressed <return>
  1218. * or <enter> on the field. Since the is no other way such as a "submit"
  1219. * button to submit, normally the form gets submitted automatically in this
  1220. * case, but some users may find this surprising and expect <return> to just
  1221. * move to the next link as for other text entry fields.
  1222. */
  1223. /* #define TEXT_SUBMIT_CONFIRM_WANTED */
  1224. /********************************
  1225. * If TEXTFIELDS_MAY_NEED_ACTIVATION is defined (to anything),
  1226. * the option TEXTFIELDS_NEED_ACTIVATION in lynx.cfg or the command
  1227. * line option -tna can be used to require explicit activation
  1228. * before text input fields can be changed with the built-in line
  1229. * editor.
  1230. */
  1231. #define TEXTFIELDS_MAY_NEED_ACTIVATION
  1232. /********************************
  1233. * The following three definitions control some aspects of extended
  1234. * textarea handling. TEXTAREA_EXPAND_SIZE is the number of new empty
  1235. * lines that get appended at the end of a textarea by a GROWTEXTAREA
  1236. * key. If TEXTAREA_AUTOGROW is defined (to anything), <return> or
  1237. * <enter> in the last line of a textarea automatically extends the
  1238. * area by adding a new line. If TEXTAREA_AUTOEXTEDIT is defined (to
  1239. * anything), a key mapped to DWIMEDIT will invoke the external editor
  1240. * like EDITTEXTAREA when used in a text input field. Comment those
  1241. * last two definitions out to disable the corresponding behavior.
  1242. * See under KEYMAP in lynx.cfg for mapping keys to GROWTEXTAREA or
  1243. * DWIMEDIT actions.
  1244. */
  1245. #define TEXTAREA_EXPAND_SIZE 5
  1246. #define TEXTAREA_AUTOGROW
  1247. #define TEXTAREA_AUTOEXTEDIT
  1248. /********************************
  1249. * If BUILTIN_SUFFIX_MAPS is defined (to anything), default mappings
  1250. * for file extensions (aka suffixes) will be compiled in (see
  1251. * src/HTInit.c). By removing the definition, the default mappings
  1252. * are suppressed except for a few very basic ones for text/html.
  1253. * See GLOBAL_EXTENSION_MAP, PERSONAL_EXTENSION_MAP above and SUFFIX,
  1254. * SUFFIX_ORDER in lynx.cfg for other ways to map file extensions.
  1255. */
  1256. #define BUILTIN_SUFFIX_MAPS
  1257. /********************************
  1258. * These definitions specify files created or used in conjunction
  1259. * with traversals. See CRAWL.ANNOUNCE for more information.
  1260. */
  1261. #define TRAVERSE_FILE "traverse.dat"
  1262. #define TRAVERSE_FOUND_FILE "traverse2.dat"
  1263. #define TRAVERSE_REJECT_FILE "reject.dat"
  1264. #define TRAVERSE_ERRORS "traverse.errors"
  1265. /****************************************************************
  1266. * The LYMessages_en.h header defines default, English strings
  1267. * used in status line prompts, messages, and warnings during
  1268. * program execution. See the comments in LYMessages_en.h for
  1269. * information on translating or customizing them for your site.
  1270. */
  1271. #ifndef LYMESSAGES_EN_H
  1272. #include <LYMessages_en.h>
  1273. #endif /* !LYMESSAGES_EN_H */
  1274. /****************************************************************
  1275. * DEFAULT_VISITED_LINKS may be set to one or more of
  1276. * VISITED_LINKS_AS_FIRST_V
  1277. * VISITED_LINKS_AS_TREE
  1278. * VISITED_LINKS_AS_LATEST
  1279. * VISITED_LINKS_REVERSE
  1280. * to change the organization of the Visited Links page.
  1281. *
  1282. * (Not all combinations are meaningful; see src/LYrcFile.c for a list
  1283. * in the visited_links_tbl table).
  1284. */
  1285. #define DEFAULT_VISITED_LINKS (VISITED_LINKS_AS_LATEST | VISITED_LINKS_REVERSE)
  1286. /****************************************************************
  1287. * If USE_CACHEJAR is set to TRUE the user will be able to view,
  1288. * access and delete cached documents in current lynx session.
  1289. */
  1290. #ifndef USE_CACHEJAR
  1291. /* #define USE_CACHEJAR TRUE */
  1292. #endif
  1293. /****************************************************************
  1294. * If USE_SESSIONS is set to TRUE the user will be able to save,
  1295. * resume and in general manipulate with lynx sessions.
  1296. */
  1297. #ifndef USE_SESSIONS
  1298. /* #define USE_SESSIONS TRUE */
  1299. #endif
  1300. #define MAX_SESSIONS 10000
  1301. /*
  1302. * If USE_SESSIONS is TRUE you may tune it fine how it will work:
  1303. */
  1304. #define GOTOURL_IN_SESSION /* Allow to save goto url */
  1305. #define GOTOURL_OUT_SESSION /* Allow to restore goto url */
  1306. #define HISTORY_IN_SESSION /* Allow to save history */
  1307. #define HISTORY_OUT_SESSION /* Allow to restore history */
  1308. #define SEARCH_IN_SESSION /* Allow to save search string */
  1309. #define SEARCH_OUT_SESSION /* Allow to restore search string */
  1310. #define VLINK_IN_SESSION /* Allow to save visited link */
  1311. #define VLINK_OUT_SESSION /* Allow to restore visited link */
  1312. /****************************************************************
  1313. * The STATUSBUFSIZE defines how many entries will be stored in
  1314. * cyclic buffer of statusline messages. This is specially useful
  1315. * for users who use lynx on a terminal with more than 40 lines.
  1316. */
  1317. /* #define STATUSBUFSIZE 90 */
  1318. /****************************************************************
  1319. * If USE_PROGRESSBAR is TRUE the user will be able to set
  1320. * download progress as odometer(thermometer) display, ie:
  1321. *
  1322. * 80% IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
  1323. *
  1324. */
  1325. /* #define USE_PROGRESSBAR TRUE */
  1326. /****************************************************************
  1327. * Section 3. Things that you should not change until you
  1328. * have a good knowledge of the program
  1329. */
  1330. #define LYNX_NAME "Lynx"
  1331. /* The strange-looking comments on the next line tell PRCS to replace
  1332. * the version definition with the Project Version on checkout. Just
  1333. * ignore it. - kw */
  1334. /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
  1335. #define LYNX_VERSION "2.8.8pre.5"
  1336. #define LYNX_WWW_HOME "http://lynx.isc.org/"
  1337. #define LYNX_WWW_DIST "http://lynx.isc.org/current/"
  1338. /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */
  1339. #define LYNX_DATE "Fri, 14 Feb 2014 05:00:16 -0800"
  1340. #define LYNX_DATE_OFF 5 /* truncate the automatically-generated date */
  1341. #define LYNX_DATE_LEN 11 /* truncate the automatically-generated date */
  1342. #ifdef UNICODE
  1343. #define W32_STRING(s) L##s
  1344. #else
  1345. #define W32_STRING(s) s
  1346. #endif
  1347. #define LYNX_SUBKEY W32_STRING("Software\\Lynx")
  1348. #define LINESIZE 1024 /* max length of line to read from file */
  1349. #define MAXLINKS 1024 /* max links on one screen */
  1350. #ifndef SEARCH_GOAL_LINE
  1351. #define SEARCH_GOAL_LINE 4 /* try to position search target there */
  1352. #endif
  1353. #define MAXCHARSETS 60 /* max character sets supported */
  1354. #define TRST_MAXROWSPAN 200 /* max rowspan accepted by TRST code */
  1355. #define TRST_MAXCOLSPAN 200 /* max colspan and COL/COLGROUP span accepted */
  1356. #define MAX_TABLE_ROWS 200 /* max rows for tables */
  1357. #define MAX_TABLE_COLS 200 /* max cols for tables */
  1358. #define SAVE_TIME_NOT_SPACE /* minimize number of some malloc calls */
  1359. /* Win32 may support more, but old win16 helper apps may not. */
  1360. #if defined(__DJGPP__) || defined(_WINDOWS)
  1361. #define FNAMES_8_3
  1362. #endif
  1363. #ifdef FNAMES_8_3
  1364. #define HTML_SUFFIX ".htm"
  1365. #else
  1366. #define HTML_SUFFIX ".html"
  1367. #endif
  1368. #ifndef FNAME_LYNXRC
  1369. #ifdef FNAMES_8_3
  1370. #define FNAME_LYNXRC "lynx.rc"
  1371. #else
  1372. #define FNAME_LYNXRC ".lynxrc"
  1373. #endif /* FNAMES_8_3 */
  1374. #endif
  1375. #ifndef FNAME_LYNX_COOKIES
  1376. #ifdef FNAMES_8_3
  1377. #define FNAME_LYNX_COOKIES "cookies"
  1378. #else
  1379. #define FNAME_LYNX_COOKIES ".lynx_cookies"
  1380. #endif /* FNAMES_8_3 */
  1381. #endif
  1382. #ifndef FNAME_LYNX_TRACE
  1383. #ifdef FNAMES_8_3
  1384. #define FNAME_LYNX_TRACE "LY-TRACE.LOG"
  1385. #else
  1386. #define FNAME_LYNX_TRACE "Lynx.trace"
  1387. #endif /* FNAMES_8_3 */
  1388. #endif
  1389. #ifndef BLAT_MAIL
  1390. #define BLAT_MAIL "blat"
  1391. #endif
  1392. #ifndef ALTBLAT_MAIL
  1393. #define ALTBLAT_MAIL "blatj"
  1394. #endif
  1395. #define BIN_SUFFIX ".bin"
  1396. #define TEXT_SUFFIX ".txt"
  1397. #ifdef VMS
  1398. /*
  1399. ** Use the VMS port of gzip for uncompressing both .Z and .gz files.
  1400. */
  1401. #define UNCOMPRESS_PATH "gzip -d"
  1402. #define COPY_PATH "copy/nolog/noconf"
  1403. #define GZIP_PATH "gzip"
  1404. #define BZIP2_PATH "bzip2"
  1405. #define TELNET_PATH "telnet"
  1406. #define TN3270_PATH "tn3270"
  1407. #define RLOGIN_PATH "rlogin"
  1408. #else
  1409. #ifdef DOSPATH
  1410. /*
  1411. * Define this to setup feature that uses directory of lynx.exe to locate
  1412. * associated configuration files.
  1413. #define USE_PROGRAM_DIR 1
  1414. */
  1415. #ifdef _WINDOWS
  1416. #ifndef USE_BLAT_MAILER
  1417. #define USE_BLAT_MAILER 1
  1418. #endif
  1419. #else
  1420. /* have to define something... */
  1421. #undef SYSTEM_MAIL
  1422. #define SYSTEM_MAIL "sendmail"
  1423. #define SYSTEM_MAIL_FLAGS "-t -oi"
  1424. #endif /* _WINDOWS */
  1425. /*
  1426. ** The following executables may be used at run time. Unless you change
  1427. ** the definitions to include the full directories, they will be sought
  1428. ** from your PATH at run-time; they should be available as "cp.exe",
  1429. ** "mv.exe" and so on. To get those programs look for GNU-port stuff
  1430. ** elsewhere.
  1431. ** Currently, if compiled with -DUSE_ZLIB and without -DDIRED_SUPPORT
  1432. ** (default), the following from the list below are required:
  1433. ** MV_PATH (mv.exe) - for bookmark handling (DEL_BOOKMARK command)
  1434. ** UNCOMPRESS_PATH - for automatic decompression of files in Unix
  1435. ** compress format
  1436. ** TELNET_PATH, TN3270_PATH, RLOGIN_PATH - for access to "telnet:",
  1437. ** "tn3270:", and "rlogin:" URLs.
  1438. ** If they are not defined right, the corresponding operations may fail
  1439. ** in unexpected and obscure ways!
  1440. **
  1441. ** WINDOWS/DOS
  1442. ** ===========
  1443. */
  1444. #ifndef HAVE_CONFIG_H
  1445. #define COMPRESS_PATH "compress"
  1446. #define UNCOMPRESS_PATH "uncompress"
  1447. #define UUDECODE_PATH "uudecode"
  1448. #define ZCAT_PATH "zcat"
  1449. #define GZIP_PATH "gzip"
  1450. #define BZIP2_PATH "bzip2"
  1451. #define MV_PATH "mv"
  1452. #define INSTALL_PATH "install"
  1453. #define TAR_PATH "tar"
  1454. #define ZIP_PATH "zip"
  1455. #define UNZIP_PATH "unzip"
  1456. #define RM_PATH "rm"
  1457. #define TELNET_PATH "telnet"
  1458. #define TN3270_PATH "tn3270"
  1459. #define RLOGIN_PATH "rlogin"
  1460. /* see src/LYLocal.c for these */
  1461. #define TAR_UP_OPTIONS "-cf"
  1462. #define TAR_DOWN_OPTIONS "-xf"
  1463. #define TAR_PIPE_OPTIONS "-"
  1464. #define TAR_FILE_OPTIONS ""
  1465. /*
  1466. * These are not used:
  1467. * #define COPY_PATH "cp"
  1468. * #define CHMOD_PATH "chmod"
  1469. * #define MKDIR_PATH "mkdir"
  1470. * #define TOUCH_PATH "touch"
  1471. */
  1472. #endif /* HAVE_CONFIG_H */
  1473. #else /* Unix */
  1474. /* Standard locations are defined via the configure script. When
  1475. * helper applications are in your home directory or other nonstandard
  1476. * locations, you probably will have to preset the path to them with
  1477. * environment variables (see INSTALLATION, Section II-1d).
  1478. */
  1479. #endif /* DOSPATH */
  1480. #endif /* VMS */
  1481. /*****************************
  1482. * I have not ported multibyte support for EBCDIC. In fact, some multibyte
  1483. * code in LYLowerCase() crashes on EBCDIC strings. -- gil
  1484. */
  1485. #if ! defined(NOT_ASCII)
  1486. /*****************************
  1487. * SUPPORT_MULTIBYTE_EDIT provides better support of CJK characters to
  1488. * Lynx's Line Editor. JIS X0201 Kana is partially supported. The
  1489. * reason why I didn't support it fully is I think supporting it is not
  1490. * required so much and I don't have an environment to test it. - TH
  1491. */
  1492. #define SUPPORT_MULTIBYTE_EDIT
  1493. #endif /* ! defined(NOT_ASCII) */
  1494. /*****************************
  1495. * SUPPORT_CHDIR provides CD command (bound to 'C' by default). It allows
  1496. * changing directory to arbitrary location (if OS allows them). If dired is
  1497. * enabled, user will be able to visit any directory and view any file allowed
  1498. * according to file permissions or ACLs.
  1499. */
  1500. #define SUPPORT_CHDIR
  1501. /*****************************
  1502. * MARK_HIDDEN_LINKS controls whether hidden links are shown with the title
  1503. * set by the HIDDEN_LINK_MARKER string in lynx.cfg
  1504. */
  1505. #define MARK_HIDDEN_LINKS
  1506. /*****************************
  1507. * USE_TH_JP_AUTO_DETECT and KANJI_CODE_OVERRIDE are the macros
  1508. * for Japanese. - TH
  1509. */
  1510. /*****************************
  1511. * USE_TH_JP_AUTO_DETECT enables a new Japanese charset detection routine.
  1512. * With the old detection strategy, Lynx always thought a document was
  1513. * written in mixture of three kanji codes (JIS, EUC and SJIS). The new
  1514. * strategy is for Lynx to first assume the document is written in one code
  1515. * or JIS + one other kanji code (JIS, EUC, SJIS, EUC+JIS and SJIS+JIS).
  1516. * The first assumption is usually correct, but if the assumption is wrong,
  1517. * Lynx falls back to the old assumption of the three kanji codes mixed.
  1518. */
  1519. #define USE_TH_JP_AUTO_DETECT
  1520. /*****************************
  1521. * Uncomment the following line to enable the kanji code override routine.
  1522. * The code can be changed by pressing ^L. More precisely, this allows
  1523. * the user to override the assumption about the kanji code for the document
  1524. * which Lynx has made on the basis of a META tag and HTTP response.
  1525. */
  1526. /*#define KANJI_CODE_OVERRIDE */
  1527. /**************************
  1528. * SSL_CERT_FILE contains valid SSL CA certificates. Set this to a string
  1529. * to provide a runtime default value.
  1530. */
  1531. #define SSL_CERT_FILE NULL
  1532. /****************************************************************
  1533. * Section 4. Things you MUST check only if you plan to use Lynx
  1534. * in an anonymous account (allow public access to Lynx).
  1535. * This section may be skipped by those people building
  1536. * Lynx for private use only.
  1537. *
  1538. */
  1539. /*****************************
  1540. * Enter the name of your anonymous account if you have one
  1541. * as ANONYMOUS_USER. UNIX systems will use a cuserid
  1542. * or get_login call to determine if the current user is
  1543. * the ANONYMOUS_USER. VMS systems will use getenv("USER").
  1544. *
  1545. * You may use the "-anonymous" option for multiple accounts,
  1546. * or for precautionary reasons in the anonymous account, as well.
  1547. *
  1548. * Specify privileges for the anonymous account below.
  1549. *
  1550. * It is very important to have this correctly defined or include
  1551. * the "-anonymous" command line option for invocation of Lynx
  1552. * in an anonymous account! If you do not you will be putting
  1553. * yourself at GREAT security risk!
  1554. */
  1555. #define ANONYMOUS_USER ""
  1556. /*******************************
  1557. * In the following four pairs of defines,
  1558. * INSIDE_DOMAIN means users connecting from inside your local domain,
  1559. * OUTSIDE_DOMAIN means users connecting from outside your local domain.
  1560. *
  1561. * set to FALSE if you don't want users of your anonymous
  1562. * account to be able to telnet back out
  1563. */
  1564. #define CAN_ANONYMOUS_INSIDE_DOMAIN_TELNET TRUE
  1565. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_TELNET FALSE
  1566. /*******************************
  1567. * set to FALSE if you don't want users of your anonymous
  1568. * account to be able to use ftp
  1569. */
  1570. #define CAN_ANONYMOUS_INSIDE_DOMAIN_FTP TRUE
  1571. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_FTP FALSE
  1572. /*******************************
  1573. * set to FALSE if you don't want users of your anonymous
  1574. * account to be able to use rlogin
  1575. */
  1576. #define CAN_ANONYMOUS_INSIDE_DOMAIN_RLOGIN TRUE
  1577. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_RLOGIN FALSE
  1578. /*******************************
  1579. * set to FALSE if you don't want users of your anonymous
  1580. * account to be able to read news OR post news articles.
  1581. * These flags apply to "news", "nntp", "newspost", and "newsreply"
  1582. * URLs, but not to "snews", "snewspost", or "snewsreply"
  1583. * in case they are supported.
  1584. */
  1585. #define CAN_ANONYMOUS_INSIDE_DOMAIN_READ_NEWS TRUE
  1586. #define CAN_ANONYMOUS_OUTSIDE_DOMAIN_READ_NEWS FALSE
  1587. /*******************************
  1588. * set to FALSE if you don't want users of your anonymous
  1589. * account to be able to goto random URLs. (The 'g' command)
  1590. */
  1591. #define CAN_ANONYMOUS_GOTO TRUE
  1592. /*******************************
  1593. * set to FALSE if you don't want users of your anonymous
  1594. * account to be able to goto particular URLs.
  1595. */
  1596. #define CAN_ANONYMOUS_GOTO_BIBP TRUE /* BIBP maps to HTTP */
  1597. #define CAN_ANONYMOUS_GOTO_CSO FALSE
  1598. #define CAN_ANONYMOUS_GOTO_FILE FALSE
  1599. #define CAN_ANONYMOUS_GOTO_FINGER TRUE
  1600. #define CAN_ANONYMOUS_GOTO_FTP FALSE
  1601. #define CAN_ANONYMOUS_GOTO_GOPHER FALSE
  1602. #define CAN_ANONYMOUS_GOTO_HTTP TRUE
  1603. #define CAN_ANONYMOUS_GOTO_HTTPS FALSE
  1604. #define CAN_ANONYMOUS_GOTO_LYNXCGI FALSE
  1605. #define CAN_ANONYMOUS_GOTO_LYNXEXEC FALSE
  1606. #define CAN_ANONYMOUS_GOTO_LYNXPROG FALSE
  1607. #define CAN_ANONYMOUS_GOTO_MAILTO TRUE
  1608. #define CAN_ANONYMOUS_GOTO_NEWS FALSE
  1609. #define CAN_ANONYMOUS_GOTO_NNTP FALSE
  1610. #define CAN_ANONYMOUS_GOTO_RLOGIN FALSE
  1611. #define CAN_ANONYMOUS_GOTO_SNEWS FALSE
  1612. #define CAN_ANONYMOUS_GOTO_TELNET FALSE
  1613. #define CAN_ANONYMOUS_GOTO_TN3270 FALSE
  1614. #define CAN_ANONYMOUS_GOTO_WAIS TRUE
  1615. /*******************************
  1616. * set to FALSE if you don't want users of your anonymous
  1617. * account to be able to specify a port in 'g'oto commands
  1618. * for telnet URLs.
  1619. */
  1620. #define CAN_ANONYMOUS_GOTO_TELNET_PORT FALSE
  1621. /*******************************
  1622. * set to FALSE if you don't want users of your anonymous
  1623. * account to be able to jump to URLs (The 'J' command)
  1624. * via the shortcut entries in your JUMPFILE.
  1625. */
  1626. #define CAN_ANONYMOUS_JUMP FALSE
  1627. /*******************************
  1628. * set to FALSE if you don't want users of your anonymous
  1629. * account to be able to mail
  1630. */
  1631. #define CAN_ANONYMOUS_MAIL TRUE
  1632. /*******************************
  1633. * set to FALSE if you don't want users of your anonymous
  1634. * account to be able to print
  1635. */
  1636. #define CAN_ANONYMOUS_PRINT FALSE
  1637. /*******************************
  1638. * set to FALSE if users with anonymous restrictions should
  1639. * not be able to view configuration file (lynx.cfg) info
  1640. * via special LYNXCFG: links. (This does not control access
  1641. * to lynx.cfg as a normal file, e.g., through a "file:" URL,
  1642. * if other restrictions allow that.)
  1643. */
  1644. #define CAN_ANONYMOUS_VIEW_LYNXCFG_INFO FALSE
  1645. /*******************************
  1646. * set to FALSE if users with anonymous restrictions should
  1647. * not be able to view extended configuration file (lynx.cfg)
  1648. * info @@@ or perform special config info functions (reloading
  1649. * at run-time) via special LYNXCFG: links @@@. This only applies
  1650. * if the lynxcfg_info" restriction controlled by the previous
  1651. * item is not in effect and if Lynx has been compiled without
  1652. * NO_CONFIG_INFO defined (--disable-config-info wasn't used
  1653. * if Lynx was built with the autoconf configure script).
  1654. * The extended info may include details on configuration file
  1655. * names and location and links for reading the files, as well
  1656. * as information on nesting of included configuration files.
  1657. */
  1658. #define CAN_ANONYMOUS_VIEW_LYNXCFG_EXTENDED_INFO FALSE
  1659. /*******************************
  1660. * set to FALSE if users with anonymous restrictions should
  1661. * not be able to view information on compile time configuration
  1662. * via special LYNXCOMPILEOPTS: links. This only applies
  1663. * if the autoconf configure script was used to build Lynx
  1664. * AND --disable-config-info wasn't used, otherwise this
  1665. * special URL scheme isn't recognized anyway.
  1666. */
  1667. #define CAN_ANONYMOUS_VIEW_COMPILEOPTS_INFO FALSE
  1668. /*******************************
  1669. * set to FALSE if you don't want users of your anonymous
  1670. * account to be able to 'g'oto special URLs for showing
  1671. * configuration info (LYNXCFG: and LYNXCOMPILEOPTS:) if
  1672. * they are otherwise allowed.
  1673. */
  1674. #define CAN_ANONYMOUS_GOTO_CONFIGINFO FALSE
  1675. /*****************************
  1676. * Be sure you have read about and set defines above in Sections
  1677. * 1, 2 and 3 that could affect Lynx in an anonymous account,
  1678. * especially LOCAL_EXECUTION_LINKS_ALWAYS_OFF_FOR_ANONYMOUS.
  1679. *
  1680. * This ends the section specific to anonymous accounts.
  1681. */
  1682. /*****************************
  1683. * These can be uncommmented to get more detail when debugging changes to
  1684. * the color-style and layout logic.
  1685. */
  1686. /*#define DEBUG_APPCH 1*/
  1687. /*#define DEBUG_STYLE 1*/
  1688. #ifdef DEBUG_STYLE
  1689. #define CTRACE_STYLE(p) CTRACE2(TRACE_STYLE, p)
  1690. #else
  1691. #define CTRACE_STYLE(p) /* nothing */
  1692. #endif
  1693. /* #define DEBUG_SPLITLINE */
  1694. #ifdef DEBUG_SPLITLINE
  1695. #define CTRACE_SPLITLINE(p) CTRACE(p)
  1696. #else
  1697. #define CTRACE_SPLITLINE(p) /*nothing */
  1698. #endif
  1699. #endif /* USERDEFS_H */