1
0
mirror of https://github.com/rkd77/elinks.git synced 2025-01-03 14:57:44 -05:00
Commit Graph

1975 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
619c90588d SMJS: Correct sense of JS_ValueToInt32 return value test.
I made this bug in commit b53525e98e.
2007-05-30 03:11:27 +03:00
Kalle Olavi Niemitalo
5ad9e40c1b Merge with http://elinks.cz/elinks.git#elinks-0.12 2007-05-30 03:06:42 +03:00
Witold Filipczyk
7988a6ce2f onsubmit: Reverted commit fa93d05b7e.
I don't remember why I cleared "returns", but it doesn't work
with www.hypermedia.pl/altkom/ and probably with many more sites.

[ From commit e887efc611 on the witekfl
  branch.  --KON ]
2007-05-30 02:35:25 +03:00
Witold Filipczyk
ac3608bda0 ECMAScript: evaluating onclick, onsubmit etc. done in the right way.
Scripts such as onsubmit are called as a function not as a script.

[ From commit 688ca8cf31 on the witekfl
  branch.  --KON ]
2007-05-30 02:35:18 +03:00
Witold Filipczyk
e741932d58 SEE: Renamed ELinks functions with the "SEE" prefix to distinguish them
from SEE functions.

[ Backported from commit c5b102ba08 on
  the witekfl branch.  --KON ]
2007-05-30 02:35:06 +03:00
Jonas Fonseca
7fe7b42093 Remove unused add handler in the option_type_info struct 2007-05-28 12:42:11 +02:00
Kalle Olavi Niemitalo
26766defe7 SMJS: Assert that form_number of input_class is in range. 2007-05-27 19:18:44 +03:00
Kalle Olavi Niemitalo
33b5884821 SEE: Assert that js_input.form_number is in range. 2007-05-27 19:10:44 +03:00
Kalle Olavi Niemitalo
a38b22b356 SEE: Define the synthetic argv as an array.
This does not change the behaviour but perhaps makes the code clearer.
2007-05-27 18:53:31 +03:00
Kalle Olavi Niemitalo
9743729cb1 SMJS: comment changes 2007-05-27 18:36:31 +03:00
Kalle Olavi Niemitalo
99f648b911 SMJS: Use JS_GetInstancePrivate where applicable.
This is a further precaution against reading a pointer from the wrong
type of object.  All of the JS_GetPrivate calls were already protected
with JS_InstanceOf checks if assertions are enabled, and many of them
also if assertions are not enabled.
2007-05-27 18:32:53 +03:00
Kalle Olavi Niemitalo
b53525e98e SMJS: Check return values of JS_ValueToInt32. 2007-05-27 18:09:37 +03:00
Witold Filipczyk
ecc03ad608 bug 755: Fixed.
Remember the index of struct form_state in vs->form_info
instead of the pointer to it. The pointer may change,
the index is persistent.
The field ecmascript_obj of the struct form_state is unused.
2007-05-27 14:44:46 +03:00
Witold Filipczyk
d43fe19224 SEE: bug 755 doesn't occur. 2007-05-27 14:44:35 +03:00
Witold Filipczyk
b53aa7812a ecmascript: Convert numbers using JS_ValueToInt32. 2007-05-27 14:44:28 +03:00
Witold Filipczyk
984613ade1 bug 755: attempt to fix this bug. 2007-05-27 14:44:20 +03:00
Kalle Olavi Niemitalo
0d76682f70 Merge with http://elinks.cz/elinks.git#elinks-0.12 2007-05-26 21:53:19 +03:00
Kalle Olavi Niemitalo
f6f5eeceb7 Compare screen_driver.name with strcmp, not memcmp.
screen_driver_change_hook was comparing only strlen(name) characters
and ignoring the '\0'.  To reproduce the bug in ELinks 0.11.3 and
ELinks 0.12.GIT:

- Run TERM=screen elinks.
- In another terminal, run TERM=scr elinks.  Quit this slave ELinks.
- Open the terminal options dialog and set 16 colors.
- Open the option manager and change the terminal.scr.colors option to
  1 and back to 0.
- Note that ELinks no longer displays colors.

That bug could be fixed just by using len+1 instead of len.  However,
there is also another bug: memcmp may compare the specified number of
bytes, even if some of the earlier ones differ; thus, it could in
principle read past the end of the malloc block and thereby crash
ELinks.  Using strcmp may be a little slower but I do not believe it
could become a bottleneck.
2007-05-26 21:14:50 +03:00
Jonas Fonseca
ba66ff37db Simplify TESTDEPS maintainance by adding common objects in Makefile.lib 2007-05-26 14:04:29 +02:00
Jonas Fonseca
8bfab2242e Fix 'make test' dependency when building test utility programs
Problems was caused by undefined symbols:

	src/util/conv.c:308: undefined reference to `is_cp_utf8'
	src/util/conv.c:320: undefined reference to `cp2u'
2007-05-26 13:46:12 +02:00
Jonas Fonseca
56f692ef08 DOM test: add test/ to SUBDIRS so DOM test is run for 'make test' 2007-05-26 13:10:55 +02:00
Jonas Fonseca
67188584ea DOM test: make die() in sgml-parser static 2007-05-26 13:08:03 +02:00
Jonas Fonseca
ad6addbd92 DOM test: refactor options parsing in sgml-parser
Introduce get_opt() to do the tedious work of getting the right
argument for options expecting them and handles both '--opt=arg'
and '--opt arg'. As a side effect it also removes an unneeded
assignment of the source string for stdin.
2007-05-26 12:40:06 +02:00
Jonas Fonseca
17a76257f8 Use printf to handle test string containing escapes more portable
Works with both bash and dash. This reintroduces the fix to the
test-sgml-parser-basic test, and also fixes test-sgml-parser-incremental
and test-sgml-parser-lines, which Witek has reported as failing.
2007-05-26 10:42:51 +02:00
Jonas Fonseca
113077ce00 Revert "Refactor test-sgml-parser-basic to work with non-bash shells"
This reverts commit 3f93148c9b.
2007-05-26 10:26:38 +02:00
Kalle Olavi Niemitalo
c2ca46cb81 Bug 461: Ensure contrast when filling with spaces.
So that the cursor will be visible in the Linux console.
2007-05-20 19:23:33 +03:00
Kalle Olavi Niemitalo
b0f507aba4 And ignore ID files while we're at it. 2007-05-20 18:45:39 +03:00
Kalle Olavi Niemitalo
e5f97b2174 Place the TAGS file in the source directory. 2007-05-20 18:44:09 +03:00
Kalle Olavi Niemitalo
b904464e76 Document terminal._template_.m11_hack more and add comments. 2007-05-20 16:10:27 +03:00
Kalle Olavi Niemitalo
45d1750d03 Bug 914: Don't let UTF-8 I/O affect internal representations.
Use it for the actual I/O only.  Previously, defining CONFIG_UTF8 and
enabling UTF-8 used to force many strings to the UTF-8 charset
regardless of the terminal charset option.  Now, those strings always
follow the terminal charset.  This fixes bug 914 which was caused
because _() returned strings in the terminal charset and functions
then assumed they were in UTF-8.  This reduction in the effects of
UTF-8 I/O may also simplify future testing.
2007-05-20 15:31:02 +03:00
Kalle Olavi Niemitalo
36287949a0 Bug 914: Add terminal.utf8_cp, not yet read. 2007-05-20 13:50:47 +03:00
Kalle Olavi Niemitalo
61a901969f Bug 914: Add screen_driver_opt.utf8_cp, not yet read. 2007-05-20 13:39:02 +03:00
Kalle Olavi Niemitalo
103ece2127 UTF-8, add_char_data: data can be UCS_NO_CHAR after all. 2007-05-20 10:54:02 +03:00
Kalle Olavi Niemitalo
7b701a5268 Whitespace and comments. 2007-05-19 23:45:38 +03:00
Kalle Olavi Niemitalo
2ef4c9776b UTF-8, set_screen_driver_opt: Never use frame_seqs with UTF-8 I/O. 2007-05-19 23:40:38 +03:00
Kalle Olavi Niemitalo
094096bfdc UTF-8: frame_freebsd isn't in CP437 so use a separate table for UTF-8 I/O. 2007-05-19 23:37:34 +03:00
Kalle Olavi Niemitalo
9f9ed498dd UTF-8: Comment about frame_freebsd[]. 2007-05-19 23:32:36 +03:00
Kalle Olavi Niemitalo
ff5fb6b707 UTF-8: Use frame_vt100_u even #ifdef CONFIG_UTF8.
Should perhaps have been part of the previous commit.
2007-05-19 23:26:10 +03:00
Kalle Olavi Niemitalo
1fbdc0fe37 UTF-8: Make UTF-8 I/O affect frame characters even #ifdef CONFIG_UTF8. 2007-05-19 14:50:22 +03:00
Kalle Olavi Niemitalo
5b3ec40a3b UTF-8, add_char_data: Comment about UCS_NO_CHAR. 2007-05-19 14:49:39 +03:00
Kalle Olavi Niemitalo
84b7bc3db7 UTF-8: Remove screen_driver_opt.utf8, which is no longer used. 2007-05-19 14:49:19 +03:00
Kalle Olavi Niemitalo
fc8f0f1623 UTF-8, use_utf8_io: Test driver->opt.charsets[0] even #ifdef CONFIG_UTF8.
driver->opt.utf8 is no longer read and will soon be removed.
2007-05-19 14:48:59 +03:00
Kalle Olavi Niemitalo
1eaab825c7 UTF-8: Define and set screen_driver_opt.charsets even #ifdef CONFIG_UTF8.
However, the stored values are not yet read in this commit.
2007-05-19 14:48:30 +03:00
Kalle Olavi Niemitalo
ca60a69b57 UTF-8, set_screen_driver_opt: Don't test driver->opt.utf8 after utf8_io.
They have the same value so one test will suffice.
2007-05-19 14:48:10 +03:00
Kalle Olavi Niemitalo
8369e9bd66 UTF-8, set_screen_driver_opt: Shrink #ifdef CONFIG_UTF8 regions. 2007-05-19 14:46:41 +03:00
Kalle Olavi Niemitalo
ac74e2db60 UTF-8, set_screen_driver_opt: Duplicate CONFIG_UTF8 code. 2007-05-19 14:46:19 +03:00
Kalle Olavi Niemitalo
e7eecbfa70 UTF-8: Change type of constants to struct screen_driver_opt.
We don't need a full struct screen_driver here.
2007-05-19 14:31:24 +03:00
Kalle Olavi Niemitalo
ce8096e5ec UTF-8: Leave driver->opt initialization to set_screen_driver_opt.
Don't bother to initialize driver->opt with memcpy in add_screen_driver.
2007-05-19 14:25:34 +03:00
Kalle Olavi Niemitalo
62ef1e8684 UTF-8: Rename update_screen_driver to set_screen_driver_opt. 2007-05-19 14:24:41 +03:00
Kalle Olavi Niemitalo
93974d653e UTF-8, update_screen_driver: Restore all original options. 2007-05-19 14:24:23 +03:00
Kalle Olavi Niemitalo
883920ba68 UTF-8: New struct screen_driver_opt engulfs most of struct screen_driver.
No behaviour changes yet, although padding may differ.
2007-05-19 14:24:00 +03:00
Kalle Olavi Niemitalo
609b4f652e UTF-8, update_screen_driver: First read the "charset" option. 2007-05-19 14:23:16 +03:00
Kalle Olavi Niemitalo
7a1304677a UTF-8, update_screen_driver: A small rearrangement.
This does not change the behaviour but will help later changes.
2007-05-19 14:23:00 +03:00
Kalle Olavi Niemitalo
157124dcdb UTF-8: Whitespace changes. 2007-05-19 14:22:36 +03:00
Kalle Olavi Niemitalo
f8f99cc04e put_link_line: Add a comment related to bug 213. 2007-05-13 12:11:17 +03:00
Jonas Fonseca
3f93148c9b Refactor test-sgml-parser-basic to work with non-bash shells
A problem with \n replacement caused test no. 19 to fail.
Fix it by also allowing expected output to be prepared in a
file by introducing a new backend: test_output_equals_file,
also used test_output_equals.

Tested on Ubuntu Feisty Fawn with both /bin/bash and /bin/sh
where /bin/sh failed before the fix. Reported by Witek.
2007-05-05 11:39:23 +02:00
Jonas Fonseca
110c564af3 Check if the program path contains "src/" before using ../po files
Don't look for gettext message catalogs in ../po/ unless ELinks is being
run as src/elinks, ./src/elinks, or .../src/elinks.

Discovered by Arnaud Giersch, this alternate fix (than what is in debian
package 0.11.1-1.4) closes debian bug #417789 and redhat bug #235411.
Also reported in: CVE-2007-2027.

Restricting it to only work with --enable-debug was also considered,
however, it is an important feature for translaters so this less
paranoid fix was chosen.
2007-05-03 08:55:23 +02:00
Kalle Olavi Niemitalo
341d54151f Debian bug 380347: Prevent a buffer overflow in entity_cache. 2007-05-01 11:23:25 +03:00
Kalle Olavi Niemitalo
c0f488251f Revert 2d6840b9, "Only set the socket protocol family on success."
Revert commit 2d6840b9bd9d3a7a45a5ad92b4e98ff7224d6d97.  It is causing
passive FTP via IPv6 to fail on ftp.funet.fi.  ELinks sends PASV and
the server says "425 You cannot use PASV on IPv6 connections. Use EPSV
instead."
2007-04-30 09:08:20 +03:00
Kalle Olavi Niemitalo
68ff5a8d61 Bug 816, html_textarea: Expand entity references.
Because the renderer no longer does that.
The comment "We don't cope well with entities here" may now be
obsolete but I'm not sure about that so I'm leaving it in.
2007-04-30 02:10:25 +03:00
Kalle Olavi Niemitalo
a58345f4e7 html_textarea: Use memmove rather than memcpy.
This is an overlapping copy and memcpy is not required to support that.
2007-04-30 01:41:32 +03:00
Kalle Olavi Niemitalo
bafe47508d Bug 784: Add html_context->doc_cp and parse attributes with it.
options->cp is still used for this in seven places where html_context
is not easily available.  Those should eventually be corrected too,
but I'm checking this change in already because it's better than what
we had before.
2007-04-30 00:56:39 +03:00
Kalle Olavi Niemitalo
5e83337d49 Bug 784: Keep form_control.default_value in the document charset.
Previously, html_special_form_control converted
form_control.default_value to the terminal charset, and init_form_state
then copied the value to form_state.value.  However, when CONFIG_UTF8
is defined and UTF-8 I/O is enabled, form_state.value is supposed to
be in UTF-8, rather than in the terminal charset.

This mismatch could not be conveniently fixed in
html_special_form_control because that does not know which terminal is
being used and whether UTF-8 I/O is enabled there.  Also, constructing
a conversion table from the document charset to form_state.value could
have ruined renderer_context.convert_table, because src/intl/charsets.c
does not support multiple concurrent conversion tables.

So instead, we now keep form_control.default_value in the document
charset, and convert it in the viewer each time it is needed.  Because
the result of the conversion is kept in form_state.value between
incremental renderings, this shouldn't even slow things down too much.

I am not implementing the proper charset conversions for the DOM
defaultValue property yet, because the current code doesn't have
them for other string properties either, and bug 805 is already open
for that.
2007-04-29 22:01:13 +03:00
Kalle Olavi Niemitalo
0df5b7fdf5 Apply form history to fs->value, not fc->default_value.
I am going make fc->default_value use the charset of the document, and
recoding the string from the form history to that might lose characters.

This change also affects what ECMAScript sees in the defaultValue property.
<http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#ID-26091157>
says it should represent the HTML "value" attribute, so changing it
based on form history is not appropriate.
2007-04-29 21:39:28 +03:00
Kalle Olavi Niemitalo
487a047264 Document the meaning of document_options.cp.
Miciah provided part of the text.
2007-04-29 21:28:40 +03:00
Laurent Monin
084d402c51 Bug 816, html_special_form_control: Don't parse character entity references. 2007-04-29 21:25:42 +03:00
Kalle Olavi Niemitalo
69c185c34e Document the charset of form_state.value for FC_TEXTAREA. 2007-04-29 21:21:25 +03:00
Kalle Olavi Niemitalo
ce05aa1f37 Bug 947, set_hline: Also recognize NBSP_CHAR #ifndef CONFIG_UTF8. 2007-04-26 23:46:03 +03:00
Kalle Olavi Niemitalo
da3c8c5ce2 Bugs 879, 928, 947: Specially map U+00A0 and U+00AD in translation tables. 2007-04-26 21:39:46 +03:00
Kalle Olavi Niemitalo
0b7a56f89a Bug 947, set_hline: Respect wrap_nbsp also if !part->document.
This does not yet fix bug 947 for the case where the document is UTF-8
and the terminal is ISO-8859-1.  That will require changing charsets.c
too, it seems.
2007-04-26 07:48:11 +03:00
Kalle Olavi Niemitalo
fa9567653d set_hline: Outdent some code. 2007-04-26 07:38:37 +03:00
Kalle Olavi Niemitalo
0c3a871a4b Bug 879, set_hline: Discard U+00AD SOFT HYPHEN characters if UTF-8.
If not UTF-8, then charsets.c has already discarded them.
2007-04-26 07:12:28 +03:00
Kalle Olavi Niemitalo
70dc594d93 Bug 879: New constant UCS_SOFT_HYPHEN; use where applicable. 2007-04-22 22:38:40 +03:00
Kalle Olavi Niemitalo
9d6c0b13e8 Bug 879, u2cp_: Use UCS_NO_BREAK_SPACE instead of 0xa0. 2007-04-22 22:37:12 +03:00
Kalle Olavi Niemitalo
2f25d3e57c Bug 712, ssl_set_no_tls: Disable TLS protocols for GnuTLS too.
And log this in NEWS, although that may have to be reverted later if
it turns out this change just hides a real bug elsewhere in ELinks.
2007-04-21 13:58:20 +03:00
Simon Josefsson
82edb1f892 Use gnutls_set_default_priority.
Thereby enabling TLS 1.2 on GnuTLS versions that support it.
2007-04-21 13:30:34 +03:00
Kalle Olavi Niemitalo
699663614a l_pipe_read: Don't leak the old block if mem_realloc fails. 2007-04-19 00:15:30 +03:00
Kalle Olavi Niemitalo
c645ed7485 Bug 945: Don't crash if the error message is not a string. 2007-04-15 02:20:41 +03:00
Kalle Olavi Niemitalo
049cc9c6b3 Bug 941: Survive an unexpected number of 227 or 229 FTP responses.
And document the functions a little.

[ From commit 71ff470f2e in ELinks
  0.11.2.GIT.  --KON ]
2007-04-12 01:02:00 +03:00
Kalle Olavi Niemitalo
22413166b0 charset_list: Map the "System" codepage to the underlying one.
If LC_CTYPE=fi_FI.ISO-8859-15, and terminal.*.charset = System,
then the charset menu will select ISO 8859-15 by default.
2007-04-09 12:33:18 +03:00
Kalle Olavi Niemitalo
5d22006f93 do_move_bookmark: Update comment to match reality.
[ From commit 22d051925e in ELinks
  0.11.2.GIT.  --KON ]
2007-04-01 15:02:47 +03:00
Kalle Olavi Niemitalo
9955ca8e5a do_smb: URI-encode the username and password.
I tested that this does the right thing for the username "Kalle %50"
(encodes it to "Kalle%20%2550", and libsmbclient then decodes back).
2007-03-25 12:13:46 +03:00
Kalle Olavi Niemitalo
d30eb255ce do_smb: Don't decode_uri.
libsmbclient will decode the URI on its own, so if ELinks does that too,
file names like "2%200" will be incorrectly handled.
2007-03-24 21:19:41 +02:00
Kalle Olavi Niemitalo
f2f66104d5 TAGS: Doh, don't forget to scan the *.[ch] files. 2007-03-23 09:47:28 +02:00
Kalle Olavi Niemitalo
5b4ba36283 TAGS: Scan *.inc too. Recognize the ACTION_ macro. 2007-03-23 09:44:16 +02:00
Kalle Olavi Niemitalo
443db69980 Don't mark undisplayed names of modules for translation.
Exclude unneeded header files.  This partially reverts commit
90980a944e, with permission.
2007-03-23 00:51:56 +02:00
Kalle Olavi Niemitalo
48fd725c40 report_scripting_error: Look up module names with gettext. 2007-03-22 07:55:59 +02:00
Kalle Olavi Niemitalo
2558688456 Merge with http://elinks.cz/elinks.git 2007-03-22 07:48:49 +02:00
Laurent MONIN
90980a944e Mark all module names for translation and include needed header files. 2007-03-21 11:01:06 +01:00
Kalle Olavi Niemitalo
62bdfcf732 ftp: Decode strftime results from the system codepage. 2007-03-20 21:34:39 +02:00
Kalle Olavi Niemitalo
632069d14d add_cp_html_to_string: New function.
To be used when strings from gettext or strftime must be inserted
into an HTML document with a potentially different charset.
2007-03-20 21:32:14 +02:00
Kalle Olavi Niemitalo
ef1d6c563d ftp: Collect HTML formatting parameters into a structure. 2007-03-20 21:30:20 +02:00
Kalle Olavi Niemitalo
c8eccc486b ftp: Allocate a larger buffer for the timestamp string. 2007-03-20 21:28:30 +02:00
Kalle Olavi Niemitalo
9d45ff5be1 ftp: Don't pad the timestamp column with spaces. 2007-03-20 21:26:46 +02:00
Kalle Olavi Niemitalo
3c6c79a637 show_http_error_document: Generate a charset parameter. 2007-03-20 20:53:03 +02:00
Kalle Olavi Niemitalo
9a8fa9d7db file: Directory listings are in the system charset.
Give them a corresponding Content-Type header.  This must go in
cached->head because cached->content_type is supposed to be just
type/subtype.  It will also be deduced from cached->head, so don't set
it separately.
2007-03-20 20:50:41 +02:00
Kalle Olavi Niemitalo
baee24bb3c struct directory_entry: Document the charset and mem_free. 2007-03-20 20:49:32 +02:00
Kalle Olavi Niemitalo
8b8ff255bd add_date_to_string: Let last two parameters point to const. 2007-03-20 20:42:45 +02:00
Kalle Olavi Niemitalo
8c66e34323 intl: Fork get_cp_config_name off get_cp_mime_name.
This may help with bug 914 but I'm not testing that yet.
2007-03-20 20:41:05 +02:00
Kalle Olavi Niemitalo
aa79ecfe72 add_html_to_string: Do not encode bytes 0x80...0xFF.
Reported by Witold Filipczyk.
2007-03-19 08:32:43 +02:00