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

171 Commits

Author SHA1 Message Date
Laurent MONIN
1d3656a317 Pass a pointer to a hash pointer to free_hash() to ensure hash pointer
is NULL on return.
2006-05-31 19:33:36 +02:00
Laurent MONIN
54099f5286 Do not export init_hash(),strhash() and hash_size() anymore, use a
wrapper named init_hash8() instead.
2006-05-31 19:17:01 +02:00
Miciah Dashiel Butler Masters
337958d4e4 Modularise HTTP authentication 2006-05-20 15:01:23 +00:00
Miciah Dashiel Butler Masters
eee3ecdbbc BitTorrent: Remove superfluous check and assignment
unchoke_bittorrent_peer checks and clears peer->remote.choked,
so do not do so in the caller.
2006-05-20 12:13:32 +00:00
Miciah Dashiel Butler Masters
fe07757574 BitTorrent: Remove a superfluous check and assignment
choke_bittorrent_peer checks and sets peer->remote.choked,
so do not do it again in the caller.
2006-05-20 12:13:30 +00:00
Witold Filipczyk
f377e6f4af copiousoutput: only mark /dev/fd/%d as popen data . I reflect if ELinks may
run out of fds
2006-05-09 09:42:00 +02:00
Witold Filipczyk
4dc4ea47f2 copiousoutput: cleanup after copiousoutput handling. Temporary files should
be deleted
2006-05-09 09:36:16 +02:00
Witold Filipczyk
9c3817675f set_nonblocking_fd seems to be superfluous 2006-05-06 08:07:38 +02:00
Witold Filipczyk
c283f8cfd9 Gradual rendering in pager mode. ELinks is almost as good as less.
TODO: cg-log -c | elinks
2006-05-05 21:12:10 +02:00
Witold Filipczyk
e0103c2c68 Drop unnecessary cgi_pipes[2] 2006-05-03 21:46:39 +02:00
Witold Filipczyk
8b77bc6617 enum connection_state instead of int to satisfy tcc 2006-04-05 16:27:16 +02:00
Witold Filipczyk
55bd690b88 Files under /usr/share/doc/ncurses-c++-devel-5.5 (directory with
+ in filename) were unreachable. This is fix for it
2006-04-04 20:21:20 +02:00
Witold Filipczyk
1fc28980d7 Parsing filesize on ftp.task.gda.pl 2006-03-16 22:13:40 +01:00
Pavol Babincak
8b9d06c977 Convert link titles to correct codepage before displaying it on screen.
Don't replace UTF-8 bytes with '*'. Probably there is need to do better
check what will be displayed.

Also get_current_link_title is no longer pretty and trivial. (o:
2006-03-13 01:54:34 +01:00
Kalle Olavi Niemitalo
4217f2c555 Merge with http://elinks.cz/elinks.git 2006-02-18 12:21:47 +02:00
Miciah Dashiel Butler Masters
190259ca22 mem_alloc_align: drop the obj type parameter
Instead use the object itself, i.e., replace typeof(obj) with
typeof(**ptr).
2006-02-17 17:32:59 +00:00
Kalle Olavi Niemitalo
a1f26c1f25 Merge with http://elinks.cz/elinks.git 2006-02-12 17:54:22 +02:00
Miciah Dashiel Butler Masters
daad05c055 Don't check is_in_progress_state before calling cancel_download
With commit 637f1e82e6 ('NET: Merge
change_connection into cancel_download'), cancel_download returns
immediately if the connection is not in a result state, so save some
code by not checking is_in_progress_state before calling cancel_download.
2006-02-12 15:41:21 +00:00
Kalle Olavi Niemitalo
416bd01269 Merge with http://elinks.cz/elinks.git 2006-02-12 00:34:53 +02:00
witekfl
15b52b62e4 REFERRER is back 2006-02-11 19:11:50 +01:00
Petr Baudis
c0f98c34ce Revert witekfl's e723ddaee6
This is utterly silly and breaks plenty of stuff - Witek, you CAN'T append
slashes to all hosts just because some silly referer needs it, everywhere
else we NEED the hosts without slashes!
2006-02-11 17:44:54 +01:00
Kalle Olavi Niemitalo
0066214b47 Merge with http://elinks.cz/elinks.git 2006-02-10 09:15:12 +02:00
witekfl
e723ddaee6 Add slash after host. Required by URI_HTTP_REFERRER_HOST 2006-02-09 22:46:44 +01:00
Jonas Fonseca
4b91866c84 GOPHER: Blast end_gopher_connection which now only wraps abort_connection 2006-02-08 21:47:54 +01:00
Jonas Fonseca
854bb90d88 NET: Move cache entry normalization to abort_connection
It simplifies the code and ensures that stuff like conn->from is properly
updated.
2006-02-08 21:40:08 +01:00
Jonas Fonseca
4bfd40ec10 NNTP: Use state instead of conn->state, since it hasn't been updated yet
Fixes: 1735f96a87
2006-02-08 21:04:19 +01:00
Jonas Fonseca
1735f96a87 FTP, NNTP: Normalize the cache entry before setting the connection state
... so it is normalized when the download callbacks are called.
2006-02-08 20:45:15 +01:00
Kalle Olavi Niemitalo
b1f8756c59 Merge with http://elinks.cz/elinks.git 2006-02-05 17:48:43 +02:00
Jonas Fonseca
3324496b57 NET: Replace change_connection with cancel_download and move_download
This simplifies unqueuing of downloads and makes it more obvious that
the 'change' being performed is to migrate or replace an old download
handle with a new one.
2006-02-03 10:44:28 +01:00
Jonas Fonseca
5bf39bd304 FSP: Check and exit the file 'writer' process if writes to stdout fails
This ensures that the 'writer' process will remove itself when the
main ELinks process for some reason decides to shutdown the connection.
Before the 'writer' process would complete it's task taking up unnecessary
system resources.

This is mostly an issue when fetching big files. Therefore only file
fetching is fixed. FIXME added about also checking return codes for write
associated with directory listing.

Reported-by: zas
2006-02-02 16:29:20 +01:00
Jonas Fonseca
4de26051b9 Ignore test files 2006-01-31 22:23:22 +01:00
Miciah Dashiel Butler Masters
db9768963f Merge with git+ssh://pasky.or.cz/srv/git/elinks.git
git+ssh://pasky.or.cz/srv/git/elinks.git
2006-01-30 15:42:03 +00:00
41e8570e64 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-30 12:42:40 +01:00
aed26bf002 Introduced CGI module 2006-01-30 08:56:40 +01:00
Jonas Fonseca
ba2b6e633a DIRLIST:Use directory listing initializer in the Gopher protocol module 2006-01-30 02:41:09 +01:00
Jonas Fonseca
94f4b2fd1d DIRLIST: Cleanup macros used in the FTP directory listing 2006-01-30 01:29:40 +01:00
Jonas Fonseca
d8ef7e1b68 DIRLIST: Use directory listing initializer in the FSP protocol module 2006-01-30 01:25:39 +01:00
Jonas Fonseca
b567f6a5db DIRLIST: Use directory listing initializer in the FTP protocol module 2006-01-30 01:25:30 +01:00
Jonas Fonseca
c96cb0bbae DIRLIST: Use directory listing initializer in the file protocol module 2006-01-30 01:25:18 +01:00
Jonas Fonseca
865af9ac4a DIRLIST: Add helper to at start of (HTML) directory listing 2006-01-30 01:22:31 +01:00
Jonas Fonseca
7d1ff4fbf1 Only add ending slash to directory URLs
Not even to directory names. We don't do that for file: or ftp: protocol.

Fixes: af2cc87054
2006-01-29 18:35:59 +01:00
Laurent MONIN
cf429c4ecc FSP: trim trailing whitespaces. 2006-01-29 18:01:48 +01:00
Laurent MONIN
af2cc87054 FSP: display_entry() cleanup, and mark directories by an ending /
in lists.
2006-01-29 18:01:22 +01:00
Laurent MONIN
0c4bc5a362 FSP: reduce code redundancy, introducing display_entry(). 2006-01-29 17:53:26 +01:00
Laurent MONIN
d07cf588bd FSP: reduce code redundancy. 2006-01-29 17:48:09 +01:00
5511c5b748 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-29 16:51:11 +01:00
Jonas Fonseca
a236608554 Do not set the content type for FSP files
Simplify commit 8d4f44f2f1, in particular
detecting MIME types for files. It is more consistent to do it the way
it was already done by the session/download code.

Instead, write a NUL byte to stderr when getting FSP files and only set
cache->content_type when the header string is non-empty.

Additionally it also moves close(stderr) after the fsp_error() in the
file handling part of do_fsp() so the error message is shown with the
correct type.
2006-01-29 14:27:14 +01:00
46aae704eb Added slash to base href when directory didn't end with '/' 2006-01-29 13:22:05 +01:00
Miciah Dashiel Butler Masters
5bcb1309da Use enum connection_state
Use enum connection_state instead of int in load_uri,
proxy_uri, get_proxy_worker, and get_proxy_uri. See commit
d18809522e. I hope that satisfies TCC.
2006-01-28 20:21:09 +00:00
Laurent MONIN
5114c9d110 Trim trailing whitespaces. 2006-01-28 01:59:22 +01:00
e8030e09fd Set text/plain for errors 2006-01-26 18:35:58 +01:00
8d4f44f2f1 Content-Type handling 2006-01-26 18:20:13 +01:00
f47daa2291 Use slashes after directories. Blocks are not used where there is only
one instruction
2006-01-26 14:34:11 +01:00
Jonas Fonseca
ba3e4a611d Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-21 23:38:15 +01:00
d18809522e Make elinks tcc (tiny C compiler) friendly.
If you want to try tcc use CC=tcc ./configure and make LD=tcc.
I built ELinks with tcc, but ELinks segfaults.
2006-01-21 21:33:23 +01:00
Jonas Fonseca
91e8fdf34b Fix the EPLF FTP parser test to run FreeBSD 2006-01-21 08:28:57 +01:00
Jonas Fonseca
c97b4be9b9 Move SUBDIRS and OBJS defining before their conditional defining 2006-01-18 21:53:13 +01:00
Jonas Fonseca
7f076a8832 Also compile in protocol/common when CGI is enabled 2006-01-18 21:50:43 +01:00
witekfl
095e440270 Used protocol/common.h in CGI 2006-01-18 18:11:29 +01:00
Jonas Fonseca
c7bdf62152 Remove unused fsp_info struct; use sizeof(*table); fix dir entry hiliting 2006-01-17 00:54:06 +01:00
Jonas Fonseca
28fbb9317b Simplify URI string grapping; make dir listing more like FTP; use READ_SIZE 2006-01-17 00:40:27 +01:00
Laurent MONIN
a9907297b4 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-17 00:22:40 +01:00
Jonas Fonseca
54863e537f Minor space cleanups; use pid_t; abort_connection() will close_socket() 2006-01-17 00:06:24 +01:00
Laurent MONIN
491654975d Trim trailing whitespaces. 2006-01-16 23:51:02 +01:00
Laurent MONIN
8fe86eac0b Typo fix. 2006-01-16 23:50:34 +01:00
Jonas Fonseca
bb12fbca37 Add protocol/common files ;) 2006-01-16 23:42:17 +01:00
Jonas Fonseca
0955086a6f Move close_all_non_term_fd() shared by SMB and FSP to protocol/common
Stick a note near the OBJS sorting that it is there also to filter out
duplicates, which are now occuring with SMB and FSP compiled in.
2006-01-16 23:32:27 +01:00
04b253eef9 Make PHP 5 happy. 2006-01-16 11:45:17 +01:00
bb9b4437fa - FSP protocol 2006-01-16 11:40:13 +01:00
Jonas Fonseca
2748d043f9 Autogenerate .vimrc files and put the master in config/vimrc
This changes the init target to be idempotent: most importantly it will now
never overwrite a Makefile if it exists. Additionally 'make init' will
generate the .vimrc files. Yay, no more stupid 'added fairies' commits! ;)
2006-01-15 18:38:58 +01:00
Kalle Olavi Niemitalo
a7e465d785 Merge with http://elinks.cz/elinks.git 2006-01-14 21:38:13 +02:00
Kalle Olavi Niemitalo
89fe822f70 Merge with 6a9ea02f3a
(via http://elinks.cz/elinks.git)
2006-01-14 21:30:12 +02:00
Jonas Fonseca
3e202cd2ef Include osdep/stat.h to get S_* macros 2006-01-12 03:26:58 +01:00
Laurent MONIN
151bcbd3a2 Prefer S_I?USR and S_IRWXU over obsolete S_IREAD, S_IWRITE, S_IEXEC. 2006-01-10 23:40:39 +01:00
Laurent MONIN
88de36b8d2 Use mode_t and mode macros everywhere. 2006-01-10 23:36:06 +01:00
Laurent MONIN
9b88da873a Use mode_t and mode macros everywhere. 2006-01-10 23:35:22 +01:00
Kalle Olavi Niemitalo
9deceafa0b Merge with http://elinks.cz/elinks.git 2006-01-10 21:02:21 +02:00
Jonas Fonseca
b673e64e10 As a stop gap measure avoid using NULL entry->nonce and realms
Reported by xmath. Obviously needs to be looked into.
2006-01-10 15:35:15 +01:00
Jonas Fonseca
9877579c63 This years batch of Gopher fixes
Two crash fixes, and really make the directory 'view' the default.
2006-01-09 15:13:44 +01:00
Kalle Olavi Niemitalo
2cfd0a9bb4 Merge with http://elinks.cz/elinks.git 2006-01-09 02:20:27 +02:00
Laurent MONIN
8fe7eb0357 check_uri_file(): use strcspn(). 2006-01-08 19:06:46 +01:00
Laurent MONIN
8f2d4860bc Trim trailing whitespaces. 2006-01-07 21:02:51 +01:00
Laurent MONIN
eda6529ced check_uri_file(): optimize by not using strlen() more than needed. 2006-01-07 21:00:51 +01:00
Laurent MONIN
9183e0cf04 check_whether_file_exists(): optimize by not using strlen() more than
needed.
2006-01-07 20:59:34 +01:00
Jonas Fonseca
21f9b59130 Use check_whether_file_exists() when encoding a file URI string
The file URI encoding is done in translate_url() immediately after the call
to find_uri_protocol() [which also uses check_whether_file_exists()]. So it
only makes sense to use check_whether_file_exists() also here since this is
a potential ambiguous URL from the user.

This fixes handling of files like 'a?b' given the command line, reported by
rrowan. It broke (for the n-th time ;) in CVS version 1.317->1.318 back in
August. The fix preserves the intend of that patch, namely the intend to
optimize the number of calls to file_exists().
2006-01-07 19:16:51 +01:00
Jonas Fonseca
215d7ec158 Append memdebug to test dependencies in Makefile.lib 2006-01-06 22:11:45 +01:00
Kalle Olavi Niemitalo
93714a3e35 Merge with http://elinks.cz/elinks.git 2006-01-06 02:13:11 +02:00
Laurent MONIN
9dc2a7ffb7 Merge code from create_bittorrent_path() and mkalldirs(). Suggested by
Jonas. Simpler and better.
2006-01-05 10:49:05 +01:00
Laurent MONIN
88730120ba Define EL_PF_INET and EL_PF_INET6 to identify protocol in use instead
of numeric values.
2006-01-04 18:06:53 +01:00
Laurent MONIN
8b7657deaf Use PF_* instead of AF_* as first parameter of socket(2). 2006-01-04 00:32:58 +01:00
Jonas Fonseca
146ca09c43 Improve support for running 'make test' when srcdir != builddir
Additionally, also make TESTDEPS conditionally contain memdebug object
binary only if CONFIG_DEBUG is yes.
2006-01-03 19:04:17 +01:00
Laurent MONIN
0c9d2c5a6f Let ftp-parser displays usage information when called with no arg or
empty string, instead of core dump in debug mode.
2006-01-03 13:33:11 +01:00
Jonas Fonseca
5c091720f7 Sort TESTDEPS 2006-01-03 01:55:26 +01:00
Jonas Fonseca
c1eb5aa24f Also test parsing of EPLF FTP reponses 2006-01-03 01:55:18 +01:00
Jonas Fonseca
feb076a84a Add the ftp-parser test program 2006-01-03 01:32:43 +01:00
Jonas Fonseca
513c06f2d0 Remove last remains of the built-in FTP parser testing 2006-01-03 01:30:46 +01:00
Jonas Fonseca
90a1440c03 Make a test-ftp-parser test script and remove the 'built-in' one 2006-01-03 01:28:44 +01:00
Kalle Olavi Niemitalo
345ba7afcd Merge with http://elinks.cz/elinks.git 2006-01-01 19:05:44 +02:00
Kalle Olavi Niemitalo
4c2831677a Here is a framework that detects cases where a PO file assigns
the same accelerator key to multiple buttons in a dialog box or
to multiple items in a menu.  ELinks already has some support for
this but it requires the translator to run ELinks and manually
scan through all menus and dialogs.  The attached changes make it
possible to quickly detect and list any conflicts, including ones
that can only occur on operating systems or configurations that
the translator is not currently using.

The changes have no immediate effect on the elinks executable or
the MO files.  PO files become larger, however.

The scheme works like this:

- Like before, accelerator keys in translatable strings are
  tagged with the tilde (~) character.

- Whenever a C source file defines an accelerator key, it must
  assign one or more named "contexts" to it.  The translations in
  the PO files inherit these contexts.  If multiple strings use
  the same accelerator (case insensitive) in the same context,
  that's a conflict and can be detected automatically.

- The contexts are defined with "gettext_accelerator_context"
  comments in source files.  These comments delimit regions where
  all translatable strings containing tildes are given the same
  contexts.  There must be one special comment at the top of the
  region; it lists the contexts assigned to that region.  The
  region automatically ends at the end of the function (found
  with regexp /^\}/), but it can also be closed explicitly with
  another special comment.  The comments are formatted like this:

    /* [gettext_accelerator_context(foo, bar, baz)]
         begins a region that uses the contexts "foo", "bar", and "baz".
         The comma is the delimiter; whitespace is optional.

       [gettext_accelerator_context()]
         ends the region.  */

  The scripts don't currently check whether this syntax occurs
  inside or outside comments.

- The names of contexts consist of C identifiers delimited with
  periods.  I typically used the name of a function that sets
  up a dialog, or the name of an array where the items of a
  menu are listed.  There is a special feature for static
  functions: if the name begins with a period, then the period
  will be replaced with the name of the source file and a colon.

- If a menu is programmatically generated from multiple parts,
  of which some are never used together, so that it is safe to
  use the same accelerators in them, then it is necessary to
  define multiple contexts for the same menu.  link_menu() in
  src/viewer/text/link.c is the most complex example of this.

- During make update-po:

  - A Perl script (po/gather-accelerator-contexts.pl) reads
    po/elinks.pot, scans the source files listed in it for
    "gettext_accelerator_context" comments, and rewrites
    po/elinks.pot with "accelerator_context" comments that
    indicate the contexts of each msgid: the union of all
    contexts of all of its uses in the source files.  It also
    removes any "gettext_accelerator_context" comments that
    xgettext --add-comments has copied to elinks.pot.

  - If po/gather-accelerator-contexts.pl does not find any
    contexts for some use of an msgid that seems to contain an
    accelerator (because it contains a tilde), it warns.  If the
    tilde refers to e.g. "~/.elinks" and does not actually mark
    an accelerator, the warning can be silenced by specifying the
    special context "IGNORE", which the script otherwise ignores.

  - msgmerge copies the "accelerator_context" comments from
    po/elinks.pot to po/*.po.  Translators do not edit those
    comments.

- During make check-po:

  - Another Perl script (po/check-accelerator-contexts.pl) reads
    po/*.po and keeps track of which accelerators have been bound
    in each context.  It warns about any conflicts it finds.
    This script does not access the C source files; thus it does
    not matter if the line numbers in "#:" lines are out of date.

This implementation is not perfect and I am not proposing to
add it to the main source tree at this time.  Specifically:

- It introduces compile-time dependencies on Perl and Locale::PO.
  There should be a configure-time or compile-time check so that
  the new features are skipped if the prerequisites are missing.

- When the scripts include msgstr strings in warnings, they
  should transcode them from the charset of the PO file to the
  one specified by the user's locale.

- It is not adequately documented (well, except perhaps here).

- po/check-accelerator-contexts.pl reports the same conflict
  multiple times if it occurs in multiple contexts.

- The warning messages should include line numbers, so that users
  of Emacs could conveniently edit the conflicting part of the PO
  file.  This is not feasible with the current version of
  Locale::PO.

- Locale::PO does not understand #~ lines and spews warnings
  about them.  There is an ugly hack to hide these warnings.

- Jonas Fonseca suggested the script could propose accelerators
  that are still available.  This has not been implemented.

There are three files attached:

- po/gather-accelerator-contexts.pl: Augments elinks.pot with
  context information.

- po/check-accelerator-contexts.pl: Checks conflicts.

- accelerator-contexts.diff: Makes po/Makefile run the scripts,
  and adds special comments to source files.
2006-01-01 18:55:18 +02:00
Miciah Dashiel Butler Masters
59ffb72b8f Drop .or from elinks.or.cz. 2005-12-29 04:35:02 +00:00