1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-04 08:43:13 +02:00
Commit Graph

102 Commits

Author SHA1 Message Date
Sébastien Helleu c44b79dce7 core: update copyright dates 2022-01-17 18:41:06 +01:00
Sébastien Helleu 619f09f2d6 xfer: fix auto-accept of server/nick when the server name contains UTF-8 chars (issue #1739) 2022-01-15 10:04:43 +01:00
Sébastien Helleu 0f9640a5f3 core: split WeeChat home in 4 directories, use XDG directories by default (issue #1285)
The 4 directories (which can be the same):

- config: configuration files, certificates
- data: log/upgrade files, local plugins, scripts, xfer files
- cache: script repository, scripts downloaded (temporary location)
- runtime: FIFO pipe, relay UNIX sockets
2021-05-11 21:06:34 +02:00
Sébastien Helleu efc7a588d6 core: update copyright dates 2021-01-02 21:34:16 +01:00
Sébastien Helleu 9ac4639c8c xfer: send signal "xfer_ended" after the received file has been renamed (closes #1438) 2020-01-04 11:19:47 +01:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu 3c0bdc18f3 xfer: add option xfer.file.download_temporary_suffix with default value ".part" (closes #1237) 2019-10-05 18:11:39 +02:00
Sébastien Helleu 6c23f632b1 xfer: fix memory leak when a xfer is freed and when the plugin is unloaded 2019-10-05 17:49:07 +02:00
Sébastien Helleu 1d6714e428 core: auto disable upgrade process (command line option "--upgrade") if the file weechat.upgrade is not found 2019-06-24 21:35:37 +02:00
Sébastien Helleu 9178156354 api: add argument "strip_items" in function string_split 2019-06-15 20:47:14 +02:00
Sébastien Helleu 3d95217745 api: return allocated string in hook_info callback and function info_get 2019-04-13 08:42:45 +02:00
Sébastien Helleu 2b70d71aa1 core: replace argument "keep_eol" by "flags" in function string_split (closes #1322) 2019-03-10 18:29:16 +01:00
Sébastien Helleu 2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu 4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Dominique Martinet dd627f3a53 xfer: add xfer.network.send_ack option
This option disables sending acks during transfer, leaving only the final ack,
as would naturally happen if sending ack ever returns EWOULDBLOCK.
2018-03-28 09:35:35 +02:00
Sébastien Helleu 7ee88fb46c core: fix some styles 2018-01-07 09:11:45 +01:00
Sébastien Helleu ed4837b2f6 core: update copyright dates 2018-01-05 00:54:18 +01:00
Sébastien Helleu aeeec38d6f core: fix cast of time_t (to "long long" instead of "long") (closes #1051) 2017-08-12 18:36:45 +02:00
Sébastien Helleu 6532c9a538 fset: fix priority of plugin (load it after all other plugins)
This fixes a refresh problem of options after /upgrade in fset buffer.
2017-07-08 14:46:33 +02:00
Sébastien Helleu 705d86e684 core: update copyright dates 2017-01-01 11:32:04 +01:00
Sébastien Helleu 335ab22a55 xfer: add check on filename2 allocation
Now string_expand_home() can return NULL if the HOME environment
variable it not set, so this commit adds an extra check on the variable
"filename2" before using it.
2016-10-30 07:07:29 +01:00
Sébastien Helleu 2f0d39f98d xfer: fix crash on DCC send if option xfer.file.auto_accept_nicks is set (closes #781) 2016-08-20 19:52:47 +02:00
Sébastien Helleu 4c25604dec xfer: fix NULL pointer derefence in case of memory error in xfer_set_{local|remote}_address() 2016-08-13 15:36:46 +02:00
Sébastien Helleu 751769b49d core: irc, xfer: do not check return code of res_init()
If the call to res_init() fails, the connection may be OK anyway
or in worst case it will fail (with an appropriate error) if the name
can not be resolved.
2016-08-07 16:17:42 +02:00
Sébastien Helleu f695a79d9b core, irc, xfer: add missing includes for function res_init() 2016-08-07 16:15:59 +02:00
Raghavendra Prabhu 761c5e2d11 core/plugins: Use res_init before getaddrinfo.
With weechat, if the network changes in anyway that causes resolv.conf
to be updated, that is not picked up, resulting in

    irc: connecting to server XXXX.com/1026 (SSL)...
    irc: address "XXX.com" not found
    irc: error: Name or service not known
    irc: reconnecting to server in 30 seconds

This happens, especially when one connects to an irc server behind a
VPN.

This can also happen when there is no network connectivity weechat was started
but later network is connected to.

The fix is simple, it relies on calling  res_init (3) before getaddrinfo in
network_connect_child and other places.

res_init reloads the resolv.conf and getaddrinfo does not fail with
address resolution error.
2016-08-07 13:20:54 +01:00
Sébastien Helleu 7342a47de0 core, irc, xfer: display more information in memory allocation errors (issue #573) 2016-05-27 20:13:35 +02:00
Sébastien Helleu cf6aca1619 core: add pointer in some callbacks (closes #406)
This pointer is the first argument received by callbacks, and the
existing argument "data" is now automatically freed by WeeChat when the
object containing the callback is removed.

With this new pointer, the linked list of callbacks in scripts has been
removed. This will improve speed of scripts (using a lot of hooks),
reduce memory used by scripts and reduce time to unload scripts.

Following functions are affected in the C API:

* exec_on_files
* config_new
* config_new_section
* config_new_option
* hook_command
* hook_command_run
* hook_timer
* hook_fd
* hook_process
* hook_process_hashtable
* hook_connect
* hook_print
* hook_signal
* hook_hsignal
* hook_config
* hook_completion
* hook_modifier
* hook_info
* hook_info_hashtable
* hook_infolist
* hook_hdata
* hook_focus
* unhook_all_plugin
* buffer_new
* bar_item_new
* upgrade_new
* upgrade_read
2016-03-21 18:11:21 +01:00
Sébastien Helleu 3330724574 core: update copyright dates 2016-01-01 11:09:53 +01:00
Sébastien Helleu fdd9c03e5a xfer: evaluate content of options xfer.file.download_path and xfer.file.upload_path (issue #388) 2015-06-27 08:11:28 +02:00
Sébastien Helleu 71dd64678c core: add comments after some #endif 2015-04-30 21:15:30 +02:00
Sébastien Helleu cf5501f69c core: add priority in plugins to initialize them in order
Current order is: charset, logger, exec, trigger, aspell, alias, fifo, xfer,
irc, relay, guile/lua/perl/python/ruby/tcl, script.
2015-01-15 07:40:38 +01:00
Sébastien Helleu a020c28ea6 core: update copyright dates 2015-01-01 09:23:23 +01:00
Sébastien Helleu 037bf70817 Merge branch 'xfer_chat' of git://github.com/talisein/weechat-1 into talisein-xfer_chat 2014-11-09 17:10:30 +01:00
Sébastien Helleu 33a6469359 xfer: fix comments 2014-11-09 16:31:09 +01:00
Sébastien Helleu aa7c936cfc xfer: return 0/1 instead of WEECHAT_RC_OK/ERROR in function xfer_resolve_addr 2014-11-09 16:21:24 +01:00
Andrew Potter 5284646df1 xfer: bind to wildcard address when sending
When #5 was fixed, we started to always bind to the local address
connected to the irc server because the xfer.network.own_ip address
may not be able to be bound to when NATed. But this means when the
own_ip address is a different family (IPv4 vs IPv6) from the irc
server connection, we were listening for connections on the wrong
interface.

This patch lets us figure out which family is being used,
(xfer.network.own_ip's family, or the irc connection's family
otherwise) and bind() into the correct family via that family's
wildcard address.
2014-08-20 09:12:08 -07:00
Andrew Potter e5cd0eb247 xfer: Use hook_connect() for receiving chats
fixes #160
2014-08-19 22:09:37 -07:00
Sébastien Helleu a54566df2e xfer: fix problem with option xfer.file.auto_accept_nicks when the server name contains dots 2014-05-06 21:50:08 +02:00
Andrew Potter 92d454eb8d xfer: Don't use sockaddr_storage for address_length
Hopefully this addresses #25.
2014-03-13 20:32:59 -07:00
Andrew Potter 9f140ca805 xfer: Fix xfer.network.own_ip behavior
Fixes #5. xfer shouldn't try to bind() to the own_ip
address. Instead, always bind to the same local address that is
connected to the irc server, and just change the out_addr if own_ip is
used.

Also fixes a memory leak in error path.
2014-03-11 21:21:18 -07:00
Sebastien Helleu 3ef27075f9 xfer: remove dead assignment in function xfer_add_cb 2014-02-22 14:54:21 +01:00
Sebastien Helleu 437767c0ca api: add integer return code for functions hook_{signal|hsignal}_send 2014-02-10 17:42:53 +01:00
Andrew Potter 144dc60d0a xfer: add support of IPv6 for DCC chat/file (patch #7992) 2014-01-09 12:48:54 +01:00
Andrew Potter d216786846 xfer: use same infolist for hook and signals (patch #7974) 2014-01-06 16:00:21 +01:00
Sebastien Helleu 646a072511 xfer: add option xfer.file.auto_check_crc32 (patch #7963)
Thanks to Andrew Potter for the patch.
2014-01-06 11:21:12 +01:00
Sebastien Helleu e058d75ce3 xfer: add "network" prefix for (dis)connection messages in xfer chat buffer 2014-01-02 15:21:42 +01:00
Sebastien Helleu 892aa79fb5 core: update copyright dates 2014-01-01 00:14:12 +01:00
Sebastien Helleu 539516fe7c xfer: load plugin even if options can not be read in xfer.conf (with warnings) 2013-11-09 10:26:51 +01:00
Andrew Potter fe512fdd33 xfer: add option xfer.file.auto_accept_nicks (patch #7962) 2013-03-25 09:05:36 +01:00