1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00
Commit Graph

2080 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
0cf15ca9d9 URI: Inline check_uri_file.
And reorder the characters in the string given to strcspn(), to match
their expected order in the URI.  This is also how strcspn() is called
elsewhere in uri.c.
2007-06-17 19:50:05 +03:00
Witold Filipczyk
581ef57bb4 URI file: Fixed. CGI scripts work, URI fragments work too. 2007-06-17 19:46:07 +03:00
Witold Filipczyk
4fe68ce6fd uri, file: Commented out broken code.
CGI scripts using GET method didn't work.
2007-06-17 19:45:55 +03:00
Kalle Olavi Niemitalo
c7b3a8c423 SEE: Always use SEE_no_enumerator instead of NULL.
Although <see/object.h> of SEE 2.0.1131 has a comment saying that
SEE_objectclass.enumerator is optional and may be left NULL, SEE
crashes if one tries to enumerate the properties of an object created
from such a class.  Conveniently, it provides a suitable stub function.

http://www.adaptive-enterprises.com.au/bugs/show_bug.cgi?id=75
2007-06-10 15:10:32 +03:00
Kalle Olavi Niemitalo
c9b2fbbd46 SMJS: Fix error "forms.namedItem is not a function".
Commit 63752c854b303f5f58636a512a137bf3702e051b on 2004-12-27
seems to have broken this.
2007-06-10 13:11:53 +03:00
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
Kalle Olavi Niemitalo
44adb76799 Use add_string_to_string where applicable. 2007-03-18 20:29:08 +02:00
Kalle Olavi Niemitalo
4a23d7fd82 add_string_to_string: Don't fail if @from is empty.
Old versions of add_string_to_string returned the target string
unmodified if from->source pointed to a null character, which usually
meant that the source string was empty.  That was changed in commit
5e18576391f75ad84e04f9c8a30b93d08f0b92ab on 2004-11-03 so that
add_string_to_string instead returned NULL in that situation.  The
change seems to have been inadvertent.

I'm now reverting that change and also making add_string_to_string
check the emptiness of the source string based on the stored length
only, rather than on any null characters.  So the function can now
also be used with non-C strings containing embedded null characters.
Note that the previous version did not completely prevent embedded
null characters either, because it checked only the first character.
2007-03-18 20:13:24 +02:00
Kalle Olavi Niemitalo
2ac31b6144 utf8_to_unicode: Let the end parameter point to const. 2007-03-18 20:13:15 +02:00
Witold Filipczyk
e347122e6d get_attr_value: do not do trim_chars
trim_chars was called only in debug mode and the results of the get_attr_val
for value=" something " in debug mode differ from normal and fastmem mode.

[ From commit c4500039b2 on the witekfl
  branch.  --KON ]
2007-03-18 13:32:25 +02:00
Witold Filipczyk
d2970e57af accesskey: start iterating with next link.
Rotating between links with the same accesskey works.

[ From commit c2d1952a08
  on the witekfl branch.  --KON ]
2007-03-18 12:55:56 +02:00
Witold Filipczyk
682ad62a97 Accesskey didn't work as it should.
[ From commit 5008fb697d
  on the witekfl branch.  --KON ]
2007-03-18 12:55:29 +02:00
Kalle Olavi Niemitalo
b7dddaa685 add_html_to_string: Also restore the '\0' terminator. 2007-03-18 12:36:33 +02:00
Kalle Olavi Niemitalo
28645973e5 add_html_to_string: If out of memory, roll back and return NULL. 2007-03-18 11:13:38 +02:00
Kalle Olavi Niemitalo
36dd1fa267 add_html_to_string: Encode only known unsafe or non-ASCII characters.
In particular, do not encode '%' and '/', which are common in URIs.
2007-03-18 11:10:33 +02:00
Kalle Olavi Niemitalo
3ee04479d4 init_directory_listing: Link to original URLs. Decode for display only.
HTML-escape all strings that are not intended to contain markup.
2007-03-18 11:04:02 +02:00
Kalle Olavi Niemitalo
b48a2d660d More const in URI functions.
Not yet all of them, though.
2007-03-18 09:57:29 +02:00
Kalle Olavi Niemitalo
c6b8fa7151 ftp, add_file_cmd_to_str: Check errors from string functions.
Use goto for error handling.  Free all strings in the same place.
2007-03-18 09:32:47 +02:00
Kalle Olavi Niemitalo
adfde652b9 Reject CR and LF characters in FTP pathnames. 2007-03-18 08:53:56 +02:00
Witold Filipczyk
3f4de99f16 ftp: ftp didn't handle filenames with spaces. 2007-03-18 08:15:54 +02:00
Witold Filipczyk
026e56d539 Used add_shell_quoted_to_string instead of enclosing the text with '"'.
The code works both with copiousoutput and without it.

[ Part 1/2 of commit c25c41bd18 on the
  witekfl branch.  I'm leaving out the part that depends on commit
  469481b272, which is not yet safe to
  apply.  --KON ]
2007-03-12 19:22:41 +02:00
Witold Filipczyk
b3fa9a7019 MIME: When there is no % in the handler string (no %s in the mailcap entry)
the handler reads data from stdin. I think it only works with copiousoutput.

[ Part 1/2 of commit 4a7b9415e1 on the
  witekfl branch, fixes bug 916.  I'm leaving out delayed_goto_uri()
  for now because I don't understand its purpose.  --KON ]
2007-03-12 19:19:57 +02:00
Witold Filipczyk
988313ac9b The real fix for the bug 935.
It works for not utf-8 and the code doesn't affect the utf-8 mode.
2007-03-11 17:00:29 +02:00
Kalle Olavi Niemitalo
a495f6d26a Cast the NULL argument of string_concat to unsigned char *.
string_concat reads the args with va_arg(ap, const unsigned char *),
and the NULL macro may have the wrong type (e.g. int).

Many places pass string literals of type char * to string_concat.
This is in principle also a violation, but I'm ignoring it for now
because if it becomes a problem with some C implementation, then so
will the use of unsigned char * with printf "%s", which is so
widespread in ELinks that I'm not going to try fixing it now.
2007-03-11 13:01:50 +02:00
Kalle Olavi Niemitalo
7645a836fc Cast the NULL argument of straconcat to unsigned char *.
straconcat reads the args with va_arg(ap, const unsigned char *),
and the NULL macro may have the wrong type (e.g. int).

Many places pass string literals of type char * to straconcat.  This
is in principle also a violation, but I'm ignoring it for now because
if it becomes a problem with some C implementation, then so will the
use of unsigned char * with printf "%s", which is so widespread in
ELinks that I'm not going to try fixing it now.
2007-03-11 12:59:11 +02:00
Kalle Olavi Niemitalo
22af2b22e2 Cast variadic arguments of add_to_ml to void *.
getml reads the args with va_arg(ap, void *), and the NULL macro in
particular may have the wrong type.
2007-03-11 12:44:13 +02:00
Kalle Olavi Niemitalo
a05f7203cd Cast variadic arguments of getml to void *.
getml reads the args with va_arg(ap, void *), and the NULL macro in
particular may have the wrong type.
2007-03-11 12:41:17 +02:00
Kalle Olavi Niemitalo
801d520ddd Fix compiler errors without HAVE_VARIADIC_MACROS. 2007-03-11 12:22:02 +02:00
Kalle Olavi Niemitalo
a73d165fd7 string_assert: First arg of elinks_internal is a format string. 2007-03-11 10:41:58 +02:00
Kalle Olavi Niemitalo
e325b748be XBEL: Fix us-ascii charset lookup.
Previously, print_xml_entities did look up the charset, but did not
save the result anywhere and just used 0, leading to further lookups
in subsequent calls.  It worked by accident though, because the
codepage index of us-ascii currently is 0.
2007-03-11 10:36:44 +02:00
Kalle Olavi Niemitalo
0dfb88c802 textarea_edit: Cast size_t fx_maxlength to match "%u". 2007-03-11 00:25:42 +02:00
Kalle Olavi Niemitalo
2bd2686672 menu_leds_info: Revert the previous change.
Revert commit 2380ea9f1b,
"menu_leds_info: Don't call msg_text."  MSGBOX_SCROLLABLE requires
a modifiable copy of the string, and msg_text provides that.  To
reproduce the crash, run ELinks in a small window, select the English
language, and choose Help -> LED indicators.
2007-03-11 00:18:33 +02:00
Kalle Olavi Niemitalo
2380ea9f1b menu_leds_info: Don't call msg_text. 2007-03-11 00:05:25 +02:00
Kalle Olavi Niemitalo
2b7788614f Type-check button arguments of msg_box.
Don't cast function pointers; calling functions via pointers of
incorrect types is not guaranteed to work.  Instead, define the
functions with the desired types, and make them cast the incoming
parameters.  Or define wrapper functions if the return types don't
match.

really_exit_prog wasn't being used outside src/dialogs/menu.c,
and I had to change its parameter type, so it's now static.
2007-03-10 23:50:56 +02:00
Kalle Olavi Niemitalo
1e8a61e09b OS/2: Ensure correct type of NULL pointer for variadic spawnlp. 2007-03-10 23:12:31 +02:00
Kalle Olavi Niemitalo
701e7e3e64 cgi: Avoid assertion failure when the POST data is empty. 2007-03-10 16:56:16 +02:00
Witold Filipczyk
035ce283c7 cgi: Fix the possible memleak and close pipes in case of error. 2007-03-10 13:45:56 +02:00
Witold Filipczyk
eef7924ff1 POST method of CGI did not work. It works now. 2007-03-10 13:45:35 +02:00
Kalle Olavi Niemitalo
4c636d74f1 cgi: Ensure correct type of NULL pointer to variadic execl. 2007-03-10 13:19:31 +02:00
Witold Filipczyk
2828d587b2 cgi: set_nonblocking_fd
[ This is part of commit 71adb0e6cc
  from the witekfl branch.  The SMB part is in commit
  36477ffa45, and the FSP part is
  in commit 93f3dc3bbf.  --KON ]
2007-03-10 13:10:35 +02:00
Kalle Olavi Niemitalo
87431832be Document the syntax of protocol.rewrite.default_template. 2007-03-10 12:15:06 +02:00
Kalle Olavi Niemitalo
c068ca92c0 get_http_error_document: Change "happenned" to "happened". 2007-03-10 11:16:26 +02:00
Kalle Olavi Niemitalo
f2fc402093 Merge with http://elinks.cz/elinks.git 2007-03-06 16:01:21 +02:00
Kalle Olavi Niemitalo
f905379aed smb: Use atol rather than atoi for file sizes.
Corresponds to FSP commit 9f47368894.
2007-03-06 15:59:14 +02:00
Kalle Olavi Niemitalo
3b634ffee6 smb: Don't call qsort with a NULL pointer.
Corresponds to FSP commit 97edc3a2cc.
2007-03-06 15:59:06 +02:00
Kalle Olavi Niemitalo
6ae6c0b438 smb: Remove a cast.
Corresponds to FSP commit 95a377e81b.
2007-03-06 15:59:00 +02:00
Kalle Olavi Niemitalo
846a368fb0 smb: Assert that there is room for a terminating null.
Corresponds to FSP commit 23b4b912ac.
2007-03-06 15:58:50 +02:00
Kalle Olavi Niemitalo
588375444b smb: Comment about not freeing memory in the child process.
Corresponds to FSP commit 368a749123.
2007-03-06 15:58:45 +02:00
Kalle Olavi Niemitalo
146a605938 smb: Call close_socket(socket) rather than close(socket->fd).
Corresponds to FSP commit 3ba31763a9.
2007-03-06 15:58:38 +02:00
Kalle Olavi Niemitalo
c19ad66070 smb: Comment and FIXME about closing file descriptors.
Corresponds to FSP commit 1ad016bdd5.
2007-03-06 15:58:28 +02:00
Kalle Olavi Niemitalo
e08d040c4c smb: Don't cast the qsort comparison function pointer.
Inspired by FSP commit c3a6ca3ef0.
This time, the cast was a no-op though.
2007-03-06 15:58:24 +02:00
Kalle Olavi Niemitalo
9665f1b813 smb: More const.
Inspired by FSP commit c06d6ba5d0.
2007-03-06 15:58:07 +02:00
Kalle Olavi Niemitalo
327de14aa8 smb: Fix libsmbclient 3.0.10 compatibility.
Also, allocate memory for only one copy of each comment string, rather
than two.
2007-03-06 15:57:58 +02:00
Kalle Olavi Niemitalo
f621ed63b4 Revert 11e6aa8d97, "Bug 944, SMB: Fix leaks and libsmbclient 3.0.10 compatibility."
Revert commit 11e6aa8d97.
It is not useful to complicate the code to free the memory,
because the process is soon going to exit, and it has inherited
a lot more memory allocations from its parent.

The libsmbclient 3.0.10 compatibility changes are good though.
I'll re-apply them soon enough.
2007-03-06 15:57:40 +02:00
Kalle Olavi Niemitalo
e517ef22a9 fsp: Try to recover from ABI mismatches caused by _FILE_OFFSET_BITS. 2007-03-06 15:57:18 +02:00
Laurent MONIN
f2916d8646 unblock_itrm(),block_itrm(): drop unused parameter fd. 2007-03-05 22:54:24 +01:00
Laurent MONIN
e4256e0e6a Refresh status bar when key prefix is eaten. It fixes bug 930. 2007-03-05 22:15:50 +01:00
Laurent MONIN
d7400bed08 asprintf() is not used in this file. 2007-03-05 22:04:34 +01:00
Laurent MONIN
86686983c0 save_textarea_file(): do not open file for writing if not needed. Patch
by Alexey Tourbin.
2007-03-05 21:48:42 +01:00
Laurent MONIN
ecce8bfa91 save_textarea_file(): handle return values of fwrite() and fclose(). Patch
by Alexey Tourbin.
2007-03-05 21:47:09 +01:00
Laurent MONIN
1e00f2d10d save_textarea_file(): cleanup handling of error, closing descriptors
and unlinking created file. Patch by Alexey Tourbin.
2007-03-05 21:44:58 +01:00
Laurent MONIN
12ec62810b save_textarea_file(): h -> fd, file -> fp. Idea by Alexey Tourbin. 2007-03-05 21:41:17 +01:00
Laurent MONIN
5acb3a68fb If there is nothing to write do not even open the file for write (test
formdata length). Patch by Alexey Tourbin.
2007-03-05 21:37:24 +01:00
Laurent MONIN
edb8d9001c If there is nothing to write do not even open the file for write. Patch
by Alexey Tourbin.
2007-03-05 21:34:45 +01:00
Laurent MONIN
4b9ddf1481 Take care of fwrite() and fclose() return values. Patch by Alexey Tourbin. 2007-03-05 21:30:16 +01:00
Laurent MONIN
6bdc34cfbc Unlink file on error. Patch by Alexey Tourbin. 2007-03-05 21:24:02 +01:00
Laurent MONIN
0a8b52282c formfd -> fd, formfile -> fp, formfilename -> filename. Idea by Alexey
Tourbin.
2007-03-05 21:17:09 +01:00
Laurent MONIN
31865ef953 Fix gcc warning: value computed is not used. Patch by Alexey Tourbin. 2007-03-05 21:11:19 +01:00
Laurent MONIN
278dec0664 Fix gcc warning: value computed is not used. Patch by Alexey Tourbin. 2007-03-05 21:10:02 +01:00
Kalle Olavi Niemitalo
9f47368894 fsp: Try to support large files.
FSP v2 uses 32-bit file offsets in its UDP packets and cannot get past
4 GiB.  ELinks should however try not to wrap the numbers to negative
at 2 GiB, if it is built with large file support.
2007-03-05 22:09:17 +02:00
Kalle Olavi Niemitalo
1d0a3e9f7c fsp: Call fsp_closedir also if protocol.fsp.sort is true. 2007-03-05 22:01:22 +02:00
Kalle Olavi Niemitalo
0eb0f05b35 fsp: Don't call decode_uri(NULL). It will crash. 2007-03-05 21:59:34 +02:00
Kalle Olavi Niemitalo
97edc3a2cc fsp: Don't call qsort with a NULL pointer. 2007-03-05 21:36:36 +02:00
Kalle Olavi Niemitalo
f1d400ab3e fsp: Use copy_struct rather than memcpy. 2007-03-05 21:27:32 +02:00
Kalle Olavi Niemitalo
bb79836cb7 fsp: HTML-encode file names in the directory listing. 2007-03-05 21:24:25 +02:00
Kalle Olavi Niemitalo
380deb2c1d fsp: Comment about not calling fsp_close_session on error. 2007-03-05 21:21:26 +02:00
Kalle Olavi Niemitalo
95a377e81b fsp: Remove a cast. 2007-03-05 20:51:38 +02:00
Kalle Olavi Niemitalo
23b4b912ac fsp: Assert that there is room for a terminating null. 2007-03-05 20:50:27 +02:00
Kalle Olavi Niemitalo
368a749123 fsp: Comment about not freeing memory in the child process. 2007-03-05 20:48:17 +02:00
Kalle Olavi Niemitalo
3ba31763a9 fsp: Call close_socket(socket) rather than close(socket->fd). 2007-03-05 20:46:15 +02:00
Kalle Olavi Niemitalo
fb184a4cd0 fsp: prompt_username_pw is in the parent process. 2007-03-05 20:21:24 +02:00
Kalle Olavi Niemitalo
1ad016bdd5 fsp: Comment and FIXME about closing file descriptors. 2007-03-05 20:20:04 +02:00
Kalle Olavi Niemitalo
c3a6ca3ef0 fsp: Don't cast the qsort comparison function pointer.
Cast the parameters of the function instead.  The C standard does not
guarantee that a function can be properly called via a pointer of a
different type.
2007-03-05 20:18:59 +02:00
Kalle Olavi Niemitalo
c06d6ba5d0 fsp: More const. 2007-03-05 20:01:14 +02:00
Kalle Olavi Niemitalo
d17005e23f encode_uri_string: Let name point to const. 2007-03-05 19:59:17 +02:00
Kalle Olavi Niemitalo
ab92c38ca2 add_html_to_string: Let src (aka html) point to const. 2007-03-05 19:35:29 +02:00
Kalle Olavi Niemitalo
80a3019a2f fsp: Comment about connection.data_socket. 2007-03-05 19:34:19 +02:00
Kalle Olavi Niemitalo
136ff42bb1 fsp: Comments about interprocess communication. 2007-03-05 19:32:55 +02:00
Witold Filipczyk
e34d646f1a fsp: remember the username and the password given in the uri.
[ This is half of commit c7f6f76951
  from the witekfl branch.  The SMB half is in commit
  a0db520267.  --KON ]
2007-03-03 17:26:19 +02:00
Witold Filipczyk
05b19b05e6 fsp: call find_auth in both cases.
When the username and the password were given in the uri and when
they weren't. I'm not sure if it changes anything.
2007-03-03 17:25:00 +02:00
Witold Filipczyk
636f4e6aa4 fsp: used strings, encode and decode filenames with spaces. 2007-03-03 17:24:26 +02:00
Witold Filipczyk
93f3dc3bbf fsp: set_nonblocking_fd
[ This is part of commit 71adb0e6cc
  from the witekfl branch.  The SMB part is in commit
  36477ffa45.  The CGI part will
  come later.  --KON ]
2007-03-03 17:24:07 +02:00
Witold Filipczyk
6cf69b2948 fsp: abort connection on empty files.
Empty files were causing 'read from socket' errors.

[ This is half of commit eef1c17dce
  from the witekfl branch.  The SMB half is in commit
  916b5cf545.  --KON ]
2007-03-03 17:20:41 +02:00
Witold Filipczyk
8c5ef76e52 fsp: prompt for password when the authentication fails.
It works only for directory listings.
2007-03-03 17:17:33 +02:00
Witold Filipczyk
a020450830 Removed unneded header file accidentally included by the previous commit. 2007-03-03 17:17:21 +02:00
Witold Filipczyk
ff087c3e06 fsp: Pass the filesize by ctype (stderr). 2007-03-03 17:17:13 +02:00
Witold Filipczyk
b517367cc8 dup2 closes given descriptors, so no need for the explicit close. 2007-03-03 17:17:00 +02:00
Witold Filipczyk
bef03e6106 FSP: The preparation for the error handling.
Numeric codes are returned instead of a plain text in the event
of the fsp error.
2007-03-03 17:15:21 +02:00
Miciah Dashiel Butler Masters
1a89589b13 menu_handler: Don't call get_parent_ptr for redraw events
Only call get_parent_ptr for resize events so that the menu isn't moved
to the cursor position for normal redraw events.
2007-03-03 12:44:45 +00:00
Kalle Olavi Niemitalo
3602899e3e palette.inc: Comment fixes. 2007-03-03 09:46:51 +02:00
Miciah Dashiel Butler Masters
e95c5c7d30 Document that document.cache.revalidation_interval is in seconds
At Kalle Olavi Niemitalo's suggestion.
2007-03-02 23:46:18 +00:00