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

2941 Commits

Author SHA1 Message Date
Witold Filipczyk
19079733df Bug 991: URI-decode and shell-quote file name for MIME handler
Currently, when ELinks passes the name of a local file to an external
MIME handler program, it encodes the name as a URI.  Programs
typically do not expect this, and they then fail to open the file.
This patch makes ELinks instead quote the file name for the shell.

(The patch was attachment 425 of bug 991, by Witold Filipczyk.
 This commit message was written by Kalle Olavi Niemitalo.)
2008-03-08 21:20:58 +02:00
Witold Filipczyk
a6966e9472 Bug 991: Replace '%s' by % in the mailcap.c
Currently, when ELinks passes the name of a local file to an external
MIME handler program, it encodes the name as a URI.  Programs
typically do not expect this, and they then fail to open the file.
ELinks should instead quote the file name for the shell.
Unfortunately, Debian has lines like this in /etc/mailcap:

audio/mpeg; xmms '%s'; test=test "$DISPLAY" != ""

If ELinks were changed to replace the %s with e.g.
'/home/Kalle/doc/Topfield/How to upgraded the Firmware(English).pdf'
(quotes included), then the quotes would cancel out and the shell
would split the file name into multiple arguments.  That could even
provide a way for malicious persons to make ELinks run arbitrary
shell commands.

The examples in RFC 1524 all have %s without any quotes.
Debian has two bug reports about the quoting behaviour:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=90483
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=221717

This patch therefore tries to detect whether the %s has been quoted
already, and remove the quotes if so.  That way, the next patch will
be able to safely add its own quotes.  This removal of quotes applies
only to mailcap files; MIME handlers defined in elinks.conf should
already be in the format preferred by ELinks.

(The patch was attachment 438 of bug 991, by Witold Filipczyk.
 This commit message was written by Kalle Olavi Niemitalo.)
2008-03-08 21:20:57 +02:00
Jonas Fonseca
7bdeb3188e When releasing po files should also be updated 2008-03-08 20:15:38 +01:00
Kalle Olavi Niemitalo
0efc9772f9 make update-man, with AsciiDoc 8.2.2 and DocBook XSL 1.72.0 2008-03-08 16:19:28 +02:00
Kalle Olavi Niemitalo
5fcf175963 help2doc: rewrite in Perl
This version takes about 1/300 of the time of the shell version
and fixes several errors in the output, most importantly that
option descriptions were being truncated at the first empty line.

Because help2doc is run only from make update-man, and the distributed
tarballs include prebuilt man pages, people building ELinks need not
have Perl installed.
2008-03-08 14:51:25 +02:00
Jonas Fonseca
e04b420897 Minor fixes and improvements to option strings
This syncs some changes (ie. -> e.g. etc.) from elinks-0.12 or beyond.
I noticed them while updating the web pages, and apologize that I will
not spent the time to attribute it to the individual commits.

(cherry picked from commit 2bfc7b3724,
 omitting generated files)
2008-03-06 10:31:20 +02:00
Jonas Fonseca
34a18bd597 Add description and version info to manpages
This adopts customized docbook manpage header from git's
Documentation/asciidoc.conf and does away with a couple of
ugly hacks.

(cherry picked from commit 0ecc8b9d60,
 omitting generated files)
2008-03-06 10:28:09 +02:00
Kalle Olavi Niemitalo
857c27e8b6 elinks.conf.5: quoting corrections
In set and unset commands, the <option> must not be quoted.  In the
sample protocol.user.mailto.unix setting, the internal quotes were
using some manpage syntax, resulting in incorrect HTML output.
2008-03-06 10:23:21 +02:00
Miciah Dashiel Butler Masters
1086a7c561 elinks.conf.5: Correct description of 'unset' directive
The 'unset' directive does not take a value.
(cherry picked from commit dc7731d30d)
2008-03-05 22:34:10 +02:00
Jonas Fonseca
b28ccd6e4f keys2doc: fix handling of dots (.) in description list term
Quote character keybindings to workaround unescaped (resulting to
invisible) dots in elinkskeys(5).
(cherry picked from commit 3de420d72f)
2008-03-05 10:04:47 +02:00
Jonas Fonseca
9863dbfa9c keys2doc: map the KBD_MOD_SHIFT modifier to Shift-prefix
(cherry picked from commit dc497964e9)
2008-03-05 10:01:21 +02:00
Jonas Fonseca
b0251dad32 elinks(1): update and polish; leave out the platform section
The list of platforms are better maintained on the homepage.

(cherry picked from commit 3ea7939b0d,
 regenerated doc/man/man1/elinks.1.in)
2008-03-05 10:00:06 +02:00
Kalle Olavi Niemitalo
df6801202c elinks(1): Rewrite using AsciiDoc 8.2.2 and DocBook XSL 1.72.0
It basically rewrites the nroff formatting of the elinks(1) manpage and
is mainly checked in separately to make it easier to review later
updates.

This corresponds to commit b09b149986
in ELinks 0.11.4rc0.GIT.
2008-03-05 09:48:33 +02:00
Kalle Olavi Niemitalo
4d06362a50 Mark option changed in "File extensions -> Add".
Previously, file extensions added or modified via the menu did not get
saved to elinks.conf when config.saving_style was 3 (the default).
This patch makes the file-extension dialog box call option_changed,
which then sets OPT_TOUCHED, so that the option appears modified in
the option manager and will be saved.

Reported and patch reviewed by Witold Filipczyk.
2008-03-04 23:33:05 +02:00
Jonas Fonseca
0c9c7770b7 Add rebuilding manpages as a release task 2008-03-04 11:12:35 +01:00
Kalle Olavi Niemitalo
2f79826bc0 NEWS: mention bug 1000
(cherry picked from commit 74c22adc69)
2008-03-02 17:45:30 +02:00
Witold Filipczyk
8f46de65d6 bug 1000: Do not discard the query part of URI.
(cherry picked from commit 3a4c053bd5)
2008-03-02 17:45:29 +02:00
Kalle Olavi Niemitalo
b18190d01a Bug 1003: fix bug number in previous commit
(cherry picked from commit 0bb128238e)
2008-03-01 17:27:13 +02:00
Kalle Olavi Niemitalo
8b5de30f72 Bug 1001: fix uninitialized-pointer crash in URI rewriting
(cherry picked from commit 6d2e034007)
2008-03-01 16:09:41 +02:00
Witold Filipczyk
ac48b3e4e6 test: raw deflate
(cherry picked from commit c48dc625e3)
2008-03-01 15:27:04 +02:00
Kalle Olavi Niemitalo
b0c5da3ddf BUILD_ID: Fix dirt check when srcdir != builddir.
I also tried git --work-tree=$(top_srcdir) but did not get it to work.
2008-03-01 14:30:57 +02:00
Kalle Olavi Niemitalo
747b32b735 BUILD_ID: Show the full SHA-1, instead of git describe.
Git describe happily picks whatever annotated tag is closest to the
commit.  I make use of many annotated tags that correspond not to
ELinks releases but rather to patches posted in bugzilla or sent in
email.  So with git describe, the About window can display e.g.
"email/witekfl/2008-02-29-2-g705acfa-dirty", which is not the intended
use of this tag.

In the "next" branch of git.git, git describe apparently supports a
--match option with which it could be made to consider ELinks releases
only.  However, that option is not yet in any released version of Git,
and anyhow ELinks should support older versions too.

Instead of using git describe, just show the full SHA-1, like
cg-commit-id would.  The About dialog box also displays VERSION
from configure.in, so it isn't even particularly useful to show
the name of the latest tag.  (The commit count might help though.)
2008-03-01 14:01:28 +02:00
Jonas Fonseca
705acfa05a Use git tools instead of cogito for getting the build ID
The build ID now includes both last tagged version, commit generation
since last tagged version, as well as the leading characters of the
commit ID and a flag for dirty working tree.
(cherry picked from commit c2a0d3b969)
2008-03-01 13:55:16 +02:00
Kalle Olavi Niemitalo
bb6d319867 lzma: rephrase note about LZMA SDK
Requested by Witek.  The previous wording might give the impression
that the use of LZMA SDK is forbidden.
2008-03-01 13:55:01 +02:00
Witold Filipczyk
d8a062cffc http encoding: Moved the accept_encoding_header to the http.c. 2008-02-29 15:32:10 +01:00
Jonas Fonseca
8bb0f20471 FTP: Test and fix handling of symbolic link name containing spaces
The bug was reported by Paul B. Mahol on elinks-users. The example is
from the FTP site he provided:

	ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-ia64/

Message-ID: <3a142e750802262008l6fd55be5v44207bc4479dd3fc@mail.gmail.com>
(cherry picked from commit c069403b75)
2008-02-28 23:39:04 +02:00
Jonas Fonseca
1ad9d5b2b8 Fix the FTP parser test program to handle multiline responses
... so all the tests with responses stretching multiple lines are
actually tested in their entirety.

(cherry picked from commit aa9a847c00,
 resolving a conflict due to the use of get_test_opt)
2008-02-28 23:38:55 +02:00
Jonas Fonseca
577c241438 parse_time: set tm_sec to zero before conditional second parsing
This fixes test 9 (Basic VMS responses) that uses time specs with
seconds left out (e.g. 17:44) for me.
(cherry picked from commit 397bef882b)
2008-02-28 23:38:42 +02:00
Jonas Fonseca
06b34ef5ac Introduce otherman:[] macro for non-ELinks manpage references
.. avoids an unsafe AsciiDoc operation.
(cherry picked from commit 9be36ed129)
2008-02-28 23:38:35 +02:00
Kalle Olavi Niemitalo
46eeac0aeb s/elinks\.or\.cz/elinks.cz/ in contrib/debian/
Inspired by commit 5999d1ef06
in ELinks 0.11.3.GIT.
2008-02-28 11:55:24 +02:00
Jonas Fonseca
bc04050126 Fix typo
(cherry picked from commit c808063946)
2008-02-28 11:52:45 +02:00
Kalle Olavi Niemitalo
d2c5aeb2c7 grafthistory: keep the downloaded pack, speed up git gc
To segregate the historical commits (can't remember why),
I originally placed their pack in an alternate object store,
but later I found that a *.keep file does the job as well.
This gives a considerable speedup in git gc.  It takes some
more disk space but OTOH you might then run gc more often
and have fewer loose objects.

real      user      sys      (tested in this order)
1m15.900s 0m59.732s 0m4.336s gc after clone&graft without *.keep
0m23.162s 0m17.549s 0m1.588s gc after clone&graft with *.keep
0m06.932s 0m04.440s 0m0.588s gc after clone&graft&gc with *.keep
0m32.214s 0m24.138s 0m2.284s gc after clone&graft&gc without *.keep

Total size of .git/objects/pack/ was 90592 KiB without *.keep
and 97397 KiB with *.keep.  So *.keep reduced gc time by 70-80%
but increased disk space usage by 7.5%.
2008-02-28 10:55:47 +02:00
Kalle Olavi Niemitalo
3aecdfc095 Content-Encoding: deflate means neither zlib nor gzip header.
deflate.c used to call inflateInit2(stream, MAX_WBITS + 32).
This makes zlib first check for a gzip header, and if it doesn't
find one, assume a zlib header.  However, if the server said
"Content-Encoding: deflate", then neither header is there, and
zlib does not detect this automatically.  So ELinks has to
distinguish between the gzip and deflate encodings, and tell
zlib which one was meant.

This bug resulted in blank pages at blogs.msdn.com accessed
through proxy.suomi.net.
2008-02-27 00:52:24 +02:00
Kalle Olavi Niemitalo
6139c2ffb5 grafthistory: comment about downloading the pack index 2008-02-24 22:24:33 +02:00
Kalle Olavi Niemitalo
bc42af691b grafthistory: exit if a command fails 2008-02-24 22:23:39 +02:00
Kalle Olavi Niemitalo
31255d4a4d grafthistory: git-* commands are deprecated
The fully dashed form git-update-server-info is deprecated
in Git 1.5.4 and will cease to work in Git 1.6.0 (unless
PATH is modified).  Use git update-server-info instead.
2008-02-24 22:13:00 +02:00
Kalle Olavi Niemitalo
79b69e0bf9 encoding: documentation 2008-02-24 20:45:33 +02:00
Kalle Olavi Niemitalo
a03698d695 lzma: Set *new_len even if data was truncated.
Commit 474f1f4268 did the same
to bzip2 and deflate.
2008-02-24 20:45:33 +02:00
Witold Filipczyk
26607d2263 decompress_data: Do not leak memory in mem_realloc. 2008-02-24 20:45:33 +02:00
Witold Filipczyk
902522fbdf content encoding: New function accept_encoding_header. 2008-02-24 20:45:32 +02:00
Witold Filipczyk
8492e6b1af lzma: used the lzma library from tukaani.org. 2008-02-24 20:45:32 +02:00
Witold Filipczyk
ae5446e9bd pl.po: fixes. 2008-02-21 14:54:19 +01:00
Kalle Olavi Niemitalo
a9da2d5802 NEWS: mention bug 534 2008-02-17 21:54:19 +02:00
Kalle Olavi Niemitalo
ac03086754 configure.in: Explain why to check for gzclearerr. 2008-02-17 21:54:19 +02:00
Kalle Olavi Niemitalo
a7232792dd encoding: Don't leak a pipe fd if open_encoded() fails. 2008-02-17 21:54:19 +02:00
Kalle Olavi Niemitalo
474f1f4268 encoding: Set *new_len even if data was truncated.
Previously, bzip2_decode_buffer and deflate_decode_buffer left
*new_len unchanged if the compressed input data ended unexpectedly.
This behaviour was also inherited by decode_encoded_buffer,
whose only caller render_encoded_document preinitializes the variable
and so did not crash.

With this change, the functions now store in *new_len the number of
bytes that were successfully decoded, even if more bytes were expected.
An error should perhaps be reported to the user, but I don't think the
previous version did that either, as it returned a non-NULL pointer.
2008-02-17 21:54:19 +02:00
Witold Filipczyk
0b363eb245 content encoding: handle the case when the len is 0 in the chunked encoding.
We do not want to start decompression when the len is 0
with the chunked encoding.
2008-02-17 21:54:18 +02:00
Witold Filipczyk
cfb2ef63d6 encoding: Fixed a chunked decompression and added the deflate. 2008-02-17 21:54:18 +02:00
Witold Filipczyk
8e0938d2fc Encoding tests rewritten. They do not create files in /tmp. 2008-02-17 21:54:18 +02:00
Witold Filipczyk
99c144381a chunked encoding tests: All these tests fail. 2008-02-17 21:54:17 +02:00