1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-11-04 08:17:17 -05:00
Commit Graph

278 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
237d30b936 bug 1084: Allow '+' and '*' in names in option manager
ELinks already allowed '+' and '*' in the names of options when
reading a configuration file.  The option manager however didn't
let the user add such options.  Allow the characters there too.

These characters are needed especially in the mime.type tree,
where '*' is used as a replacement for '.'.  For example:

set mime.type.audio.prs*sid = "sid"
set mime.type.application.atom+xml = "atom"

This commit changes one gettextised string.
(cherry picked from elinks-0.12 commit 064ff3921d)
2012-11-03 23:01:21 +02:00
Kalle Olavi Niemitalo
8b00e1ef70 bug 764: Initialize the right member of union option_value
INIT_OPTION used to initialize union option_value at compile time by
casting the default value to LIST_OF(struct option) *, which is the
type of the first member.  On sparc64 and other big-endian systems
where sizeof(int) < sizeof(struct list_head *), this tended to leave
option->value.number as zero, thus messing up OPT_INT and OPT_BOOL
at least.  OPT_LONG however tended to work right.

This would be easy to fix with C99 designated initializers,
but doc/hacking.txt says ELinks must be kept C89 compatible.
Another solution would be to make register_options() read the
value from option->value.tree (the first member), cast it back
to the right type, and write it to the appropriate member;
but that would still require somewhat dubious conversions
between integers, data pointers, and function pointers.

So here's a rather more invasive solution.  Add struct option_init,
which is somewhat similar to struct option but has non-overlapping
members for different types of values, to ensure nothing is lost
in compile-time conversions.  Move unsigned char *path from struct
option_info to struct option_init, and replace struct option_info
with a union that contains struct option_init and struct option.
Now, this union can be initialized with no portability problems,
and register_options() then moves the values from struct option_init
to their final places in struct option.

In my x86 ELinks build with plenty of options configured in, this
change bloated the text section by 340 bytes but compressed the data
section by 2784 bytes, presumably because union option_info is a
pointer smaller than struct option_info was.
(cherry picked from elinks-0.12 commit e5f6592ee2)

Conflicts:
	src/protocol/fsp/fsp.c: All options had been removed in 0.13.GIT.
	src/protocol/smb/smb2.c: Ditto.
2012-11-03 22:16:32 +02:00
Kalle Olavi Niemitalo
6f4c95cc7f Bug 943: Refuse user JS actions in unfocused tabs
(cherry picked from elinks-0.12 commit 51dc3beee7)

Conflicts:
	NEWS: Both 0.12pre5.GIT and 0.13.GIT had inserted a new section.
	src/terminal/window.c: Both had inserted a new function.
2012-11-03 22:10:27 +02:00
Kalle Olavi Niemitalo
0c10ddac8e NEWS: mention bug 1123 2012-07-26 10:15:06 +03:00
Kalle Olavi Niemitalo
30c485af4c 1024: Add to NEWS 2011-07-28 17:23:52 +03:00
witekfl
fe83703714 Deleted remainders of SEE. 2011-05-14 13:45:08 +02:00
Kalle Olavi Niemitalo
e22eae2e93 HTML: Rewrite parsing of meta refresh
The URL in <meta http-equiv="Refresh" content="42; URL=target.html">
can now freely contain spaces and semicolons.  There cannot be other
parameters between the delay and the URL.  If the URL is not quoted,
then it spans to the end of the attribute, except not to trailing
spaces.  If the URL is quoted, then it ends at the first closing
quotation mark.  All this is consistent with Debian Iceweasel 3.5.16.
2011-05-01 22:59:23 +03:00
Kalle Olavi Niemitalo
715571a5d6 HTML bug 1114: Don't doubly decode entities in attributes
The HTML parser decoded SGML entity references and numeric character
references in the following attributes, and then the renderer did the
same again:

link/@title
link/@hreflang
link/@type
link/@media
img/@alt
area/@alt
input[@type="image"]/@alt
input[@type="image"]/@name
input[@type="button"]/@value

The result was that e.g. title="&amp;#65;" displayed as "A"
even though it was supposed to display as "&#65;".

Fix by making the HTML parser tell the renderer that the entities have
already been decoded.
2011-05-01 22:54:45 +03:00
Kalle Olavi Niemitalo
0f49fe1c38 configure: Find SpiderMonkey with pkg-config only
Don't search for SpiderMonkey in hardcoded directories
(/usr /usr/local /opt/spidermonkey /opt/js), and don't support
--with-spidermonkey=DIR (which I think was documented in elinks-users
only).  Instead, ask pkg-config for mozjs185 or mozilla-js.
Everyone who installed SpiderMonkey in an unusual place must set
PKG_CONFIG_PATH appropriately.

This commit also includes a few minor changes in the SpiderMonkey
section of the configure script:
* Update the SpiderMonkey version number in "checking" messages
  from 1.5 RC3a to 1.8.5, which matches the actual checks.
* Wrap the option documentation with AS_HELP_STRING.
* Use the Autoconf-generated $with_spidermonkey variable directly,
  instead of copying $withval.
* Quote the arguments of macros more consistently.
* Warn if SpiderMonkey was requested but not found.
2011-05-01 21:21:49 +03:00
Kalle Olavi Niemitalo
a4a252af37 configure: Remove --with-xulrunner_includes, --with-xulrunner_libs
These will be replaced with pkg-config.
It seems SpiderMonkey 1.8.5 always comes with a *.pc file.
2011-05-01 21:00:41 +03:00
Kalle Olavi Niemitalo
9e4d7d1883 mailcap bug 1113: Don't leak values of duplicate fields
If a mailcap entry has two test commands or two descriptions,
free the first one before replacing it with the second one.
2011-04-17 21:26:08 +03:00
Kalle Olavi Niemitalo
f735bfbe72 I18N bug 1112: Use strange_chars[] for UTF-8 output too
Make u2cp_() map code points U+0080 to U+009F via strange_chars[] even
if the target codepage is UTF-8.  This helps with buggy web pages that
use &#146; when they mean &#x2019;.  This change does not affect how
ELinks decodes raw bytes 0x80 to 0x9F in HTML.

u2cp_() is used only via the u2cp and u2cp_no_nbsp macros.
Possible side effects of this change at each use of these macros:

* get_translation_table(): Not affected because it does not call u2cp
  if the target codepage is UTF-8.
* get_entity_string(): Numeric character references are affected, as intended.
  Character entity references are not affected because entities[]
  does not define any entities in the U+0080...U+009F range.
* kbd_field(), term_send_ucs(), field_op(): Affected.  It is no longer
  possible to enter code points U+0080...U+009F from the terminal.
  This should not be a problem in practice because those would be
  control characters anyway and should therefore be filtered by the
  slave process (which doesn't yet recognize them; bug 777).
2011-04-17 21:24:26 +03:00
Miciah Dashiel Butler Masters
b1422adf20 Move screen update code into set_kbd_repeat_count
Make set_kbd_repeat_count update the status bar and link highlighting
iff the repeat count is changed to a different value.

Delete code to do the same updates from do_action and try_prefix_key.

Besides simplifying the code, this change also fixes some issues with
the status bar and link highlighting not being properly updated in some
situations.
2010-09-16 01:40:10 +00:00
Miciah Dashiel Butler Masters
ffcfe4a86b Document previous two patches in AUTHORS and NEWS 2010-09-14 21:26:35 +00:00
Nils Dagsson Moskopp
2f0d954add Rudimentary support for HTML5 media elements
Make use of the HTML5 media elements, <video> and <audio> by adding
links to the media.
2010-08-07 20:44:44 +00:00
Witold Filipczyk
19bf7cada2 NEWS entry about iconv. 2010-07-24 13:46:15 +02:00
Witold Filipczyk
4ec7aeafe0 configure options --with-xulrunner_includes= and --with-xulrunner_libs=
The first option specifies the directory of xulrunner includes, eg.
--with-xulrunner_includes=/usr/include/xulrunner
The second: compiler options to find library, eg.
--with-xulrunner_libs="-Wl,-R/usr/lib/xulrunner -L/usr/lib/xulrunner -lmozjs"
2010-07-21 21:08:00 +02:00
Witold Filipczyk
331a4dc62b Link against lua51, not lua50. 2010-07-21 19:07:49 +02:00
Kalle Olavi Niemitalo
15b0db5e53 bug 15, NEWS: Mention bug number for domain-specific options
ELinks 0.13.GIT partially supports domain-specific options.
Enhancement request 15 seems to be about them, so mention it in NEWS.
The left-to-right path matching described in enhancement 15 hasn't
been implemented, though; ELinks chooses the option based on the
hostname only.
2009-08-23 04:00:55 +03:00
Witold Filipczyk
5bfeb061db Bug 1082: mem_free_set in abort_preloading
[ From bug 1082 attachment 545.  Added a comment and a NEWS reference.  --KON ]
2009-07-26 20:49:47 +03:00
Kalle Olavi Niemitalo
b6a3f28c49 dump: Use box-drawing characters if available 2009-07-11 16:53:59 +03:00
Kalle Olavi Niemitalo
7bb51e7139 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:
	NEWS
	configure.in
	doc/man/man1/elinks.1.in (regenerated)
	doc/man/man5/elinks.conf.5 (regenerated)
	doc/man/man5/elinkskeys.5 (regenerated)
	po/af.po (kept 0.13.GIT)
	po/be.po (kept 0.13.GIT)
	po/bg.po (kept 0.13.GIT)
	po/ca.po (kept 0.13.GIT)
	po/cs.po (kept 0.13.GIT)
	po/da.po (kept 0.13.GIT)
	po/de.po (kept 0.13.GIT)
	po/el.po (kept 0.13.GIT)
	po/es.po (kept 0.13.GIT)
	po/et.po (kept 0.13.GIT)
	po/fi.po (kept 0.13.GIT)
	po/fr.po (kept 0.13.GIT)
	po/gl.po (kept 0.13.GIT)
	po/hr.po (kept 0.13.GIT)
	po/hu.po (kept 0.13.GIT)
	po/id.po (kept 0.13.GIT)
	po/is.po (kept 0.13.GIT)
	po/it.po (kept 0.13.GIT)
	po/lt.po (kept 0.13.GIT)
	po/nb.po (kept 0.13.GIT)
	po/nl.po (kept 0.13.GIT)
	po/pl.po (kept 0.13.GIT)
	po/pt.po (kept 0.13.GIT)
	po/pt_BR.po (kept 0.13.GIT)
	po/ro.po (kept 0.13.GIT)
	po/ru.po (kept 0.13.GIT)
	po/sk.po (kept 0.13.GIT)
	po/sr.po (kept 0.13.GIT)
	po/sv.po (kept 0.13.GIT)
	po/tr.po (kept 0.13.GIT)
	po/uk.po (kept 0.13.GIT)
	src/ecmascript/ecmascript.c
2009-07-11 16:47:33 +03:00
Kalle Olavi Niemitalo
063a4aea32 ELinks 0.12pre5 release date 2009-07-08 13:31:00 +03:00
Kalle Olavi Niemitalo
7297021842 NEWS: ELinks 0.12pre5 2009-07-07 15:23:16 +03:00
Kalle Olavi Niemitalo
6bcf79669e NEWS: Mention the fr.po update
As advised in doc/release.txt: "Changes by new contributors are always
important!"
2009-07-07 15:23:16 +03:00
Kalle Olavi Niemitalo
7314a77731 NEWS: Bug 1080 does not apply to elinks-0.11. 2009-07-07 14:30:29 +03:00
Kalle Olavi Niemitalo
ce5afcad7b NEWS and AUTHORS for the previous change 2009-06-29 23:39:40 +03:00
Kalle Olavi Niemitalo
10c07f9933 Debian bug 534835: Check some SpiderMonkey return values
Perhaps because of bug 981, if one opened hundreds of pages with
elinks --remote openURL(...), then ELinks 0.11.4 could crash with a
SIGSEGV in JS_InitClass called from spidermonkey_get_interpreter.
SpiderMonkey ran out of memory and began returning NULL and JS_FALSE
but ELinks didn't notice them and pressed on.  Add some checks to
avoid the crash, although the underlying out-of-memory error remains.
2009-06-27 19:48:56 +03:00
Miciah Dashiel Butler Masters
874202ef7a Don't fail assertion on 0-second meta-refresh
In start_document_refresh, use register_bottom_half instead of
install_timer if the timeout is 0 because install_timer asserts that it is
given a delay greater than 0.

Add a test case, test/refresh-0timeout.html.  Note that
document.browse.minimum_refresh_time must be set to 0 to reproduce the
assertion failure.
2009-06-18 18:13:25 +00:00
Miciah Dashiel Butler Masters
2b1aedf6d1 Cache manager: Add 'Search contents' button
Add a 'Search contents' button to the cache manager that searches
through the cache items' data rather than their metadata.

Add match_cache_entry_contents.

Add push_cache_hierbox_search_button and
push_cache_hierbox_search_contents_button, which call
push_hierbox_search_button after setting box->ops to either
cache_entry_listbox_ops or cache_entry_listbox_ops_match_contents,
respectively, which define the appropriate match callback for the
hierbox search code.

Add strlcasestr, used in the new match_cache_entry_contents routine.
2009-06-18 18:09:19 +00:00
Miciah Dashiel Butler Masters
0ad5b642b4 Cache manager: Add "Invalidate" button
Add an "Invalidate" button to the cache manager, which is useful when
a cache entry is locked and cannot be deleted but one does not want
ELinks to use that cache entry.
2009-06-18 17:59:37 +00:00
Kalle Olavi Niemitalo
822e9d6921 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:
	NEWS
	po/fr.po: kept version from elinks-0.13
	src/viewer/dump/dump.c
2009-06-12 23:18:46 +03:00
Kalle Olavi Niemitalo
4f29067169 bug 1081: Fix regfree crashes by changing order of libraries 2009-06-12 23:14:45 +03:00
Kalle Olavi Niemitalo
20dfdb284f bug 1080: Mention in NEWS 2009-06-09 01:21:08 +03:00
Kalle Olavi Niemitalo
da4bd42e43 bug 1017: Disable protocol.http.compression by default
To work around buggy servers until bug 1017 has actually been fixed,
i.e., ELinks reports decompression errors to the user.
2009-06-07 12:49:41 +03:00
Kalle Olavi Niemitalo
7ae20dc0c2 NEWS: Don't refer to 0.11.6.GIT from 0.12pre4
ELinks 0.12pre4 has already been released and will not be modified.
Eventually, new changes will be made in ELinks 0.11.6.GIT and then
listed in this file.  At that time, it would be wrong to claim that
0.12pre4 also includes the changes.
2009-06-07 11:47:53 +03:00
Kalle Olavi Niemitalo
683cfe4c86 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:
	NEWS: merged
	configure.in: VERSION changed in elinks-0.12; kept 0.13.GIT
	doc/man/man1/elinks.1.in: regenerated
	doc/man/man5/elinks.conf.5: regenerated
	doc/man/man5/elinkskeys.5: regenerated
	po/fr.po: kept 0.13.GIT
	po/pl.po: kept 0.13.GIT
2009-05-31 16:18:23 +03:00
Kalle Olavi Niemitalo
cde4a2f7b3 NEWS: ELinks 0.12pre4 released on 2009-05-31 2009-05-31 12:32:13 +03:00
Kalle Olavi Niemitalo
e82466f90f NEWS: ELinks 0.12pre4 2009-05-31 11:23:46 +03:00
Kalle Olavi Niemitalo
faa274b31a NEWS: Bug 1071 was not in 0.11.5
Also, 0.11.5 supports parsing RSS, although not rendering it.
2009-05-31 11:18:03 +03:00
Kalle Olavi Niemitalo
f779054f05 NEWS: bug 765 has been fixed 2009-05-30 15:27:18 +03:00
Kalle Olavi Niemitalo
681e377027 Debian bug 528661: Check for gnutls_priority_set_direct
Avoid compilation error with GNUTLS 1.2.9:

/home/Kalle/src/elinks-0.12/src/network/ssl/ssl.c:258: error: implicit declaration of function ‘gnutls_priority_set_direct’

If the function is not available, use gnutls_set_default_priority instead.
Perhaps it'll work with bugzilla.novell.com, perhaps not.
2009-05-30 14:34:01 +03:00
Witold Filipczyk
864fa0b56a Debian bug 528661: Disable some TLS extensions on GNUTLS.
- gnutls_handshake_set_private_extensions: Do not enable private cipher
  suites that might not be supported by anything other than GNUTLS.
  The GNUTLS 2.8.0 documentation notes that enabling these extensions
  can cause interoperability problems.
- gnutls_set_default_priority: Explicitly disable OpenPGP certificates.
- gnutls_certificate_type_set_priority: Do not enable OpenPGP certificates.
  The GNUTLS 2.8.0 documentation notes that OpenPGP certificate support
  requires libgnutls-extra.  Because libgnutls-extra 2.2.0 and later are
  under GPLv3-or-later and thus not GPLv2 compatible, ELinks doesn't use
  libgnutls-extra, so OpenPGP certificates didn't work anyway.
- gnutls_server_name_set: Do not tell the server the hostname from the URL.
  This was supposed to let the server choose the appropriate certificate
  for each name-based virtual host, but ELinks actually always sent just
  "localhost", so it didn't work anyway.  This will have to be revisited
  when ELinks is changed to actually verify the subject name from the
  server's certificate (ELinks bug 1024).

These changes should help ELinks negotiate SSL with bugzilla.novell.com.

[NEWS and commit message by me.  --KON]
2009-05-30 11:21:17 +03:00
Kalle Olavi Niemitalo
5def50bed9 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:
	configure.in
	doc/installation.txt
2009-05-23 12:40:52 +03:00
Kalle Olavi Niemitalo
a7fe06be06 Debian bug 529821: Mention loss of --with-gnutls=DIR in NEWS 2009-05-23 10:48:16 +03:00
Kalle Olavi Niemitalo
f8bbf1a227 Debian bug 529821: Use pkg-config, not libgnutls-config
The configure script used to run libgnutls-config in order to find the
compiler and linker options needed for using GNUTLS, but GNUTLS 2.7
apparently doesn't ship that script any more.  Use pkg-config instead.
GNUTLS 1.2.0 is the oldest version supported by ELinks, and that already
installs the gnutls.pc file required by pkg-config.

This commit also removes support for configure --with-gnutls=DIR.
The configure script used to look for libgnutls-config in DIR.
DIR thus had to be a directory where executable programs were installed,
and it's unlikely that gnutls.pc would be found there.  So, any callers
that used this feature would have to be changed anyway, and they can as
well be changed to set the PKG_CONFIG_PATH environment variable instead.
2009-05-22 22:53:06 +03:00
Kalle Olavi Niemitalo
82e67f8ebc Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:
	src/intl/charsets.h
	src/viewer/text/search.c
2009-05-21 19:50:16 +03:00
Kalle Olavi Niemitalo
ec4bca9cb3 NEWS: mention configure --without-tre 2009-05-21 19:48:35 +03:00
Kalle Olavi Niemitalo
180ddcddb0 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:
	src/session/session.c: Kept the elinks-0.13 version.
		Bug 1077 did not occur in elinks-0.13 because
		setup_session here calls render_document_frames
		directly and that sets ses->doc_view->vs.
2009-05-10 11:49:41 +03:00
Kalle Olavi Niemitalo
adeac4720a bug 1077: NEWS entry 2009-05-10 09:00:44 +03:00