1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-30 23:06:38 +02:00
Commit Graph

59 Commits

Author SHA1 Message Date
Sébastien Helleu 90b855e1aa relay: add connection to remote (issue #2066)
Connection to remote:

- handshake: offer support for all supported hash algorithms
- network connect with a socket
- upgrade to websocket and authenticate with remote (password/TOTP)
- check websocket response
- get list of buffers (not used yet)

Note: connection to remote with TLS or a proxy is not yet supported.
2024-04-07 13:18:13 +02:00
Sébastien Helleu 786f889251 relay: add command /remote, add remote configuration in relay.conf (issue #2066) 2024-04-07 13:16:47 +02:00
Sébastien Helleu e791535773 relay: add a fake send function in client
This will be used in unit tests to get the data that is sent to clients.
2024-03-12 20:37:48 +01:00
Sébastien Helleu 0414c139b0 relay: fix decoding of websocket frame when a partial frame is received 2024-02-04 18:52:00 +01:00
Sébastien Helleu 83567fd871 relay: allow password hash authentication in api relay, add option relay.network.time_window (issue #2066) 2024-02-01 21:39:23 +01:00
Sébastien Helleu 6cfb31c306 relay: add support of websocket extension "permessage-deflate" (closes #1549)
This extension is used to compress and decompress websocket frames (using
the DEFLATE algorithm, with zlib).
2024-02-01 21:38:53 +01:00
Sébastien Helleu 8971fc069a relay: add "api" protocol (HTTP REST API) (issue #2066) 2024-02-01 21:38:49 +01:00
Sébastien Helleu eecb2a997e core: update copyright dates 2024-01-01 22:29:58 +01:00
Sébastien Helleu 8eb096b3ef relay: rename "ssl" options and protocol to "tls" (issue #1903) 2023-04-12 17:17:34 +02:00
Sébastien Helleu 33bba784c3 core: update copyright dates 2023-01-01 14:54:35 +01:00
Sébastien Helleu d068fe0de5 core: add option -save in command /upgrade (closes #1630) 2022-08-07 16:48:12 +02:00
Sébastien Helleu 57c9f371bc relay: use enum type for websocket status in client 2022-08-07 09:31:24 +02:00
Sébastien Helleu c44b79dce7 core: update copyright dates 2022-01-17 18:41:06 +01:00
Sébastien Helleu e5f58b77c1 core, buflist, irc, relay: replace freenode by libera in comments 2021-05-25 13:39:55 +02:00
Sébastien Helleu efc7a588d6 core: update copyright dates 2021-01-02 21:34:16 +01:00
Sébastien Helleu 5b4d690ed7 relay: fix slow send of data to clients when SSL is enabled 2020-05-01 18:52:08 +02:00
Sébastien Helleu e130ee7358 core: make GnuTLS a required dependency 2020-04-18 11:34:59 +02:00
Sébastien Helleu 80693dcea9 relay: move variable nonce in relay client structure 2020-04-18 09:30:51 +02:00
Sébastien Helleu 95c908e83c relay: rename configuration options and keywords in handshake command (weechat protocol)
Configuration options renamed:

* relay.network.auth_password -> relay.network.password_hash_algo
* relay.network.hash_iterations -> relay.network.password_hash_iterations

Handshake command options renamed:

* password -> password_hash_algo

Handshake reply keys renamed:

* auth_password -> password_hash_algo
* hash_iterations -> password_hash_iterations
2020-04-17 23:34:27 +02:00
Sébastien Helleu 9fa3609c85 relay: add command "handshake" in weechat relay protocol and nonce to prevent replay attacks (closes #1474)
This introduces a new command called "handshake" in the weechat relay protocol.
It should be sent by the client before the "init" command, to negotiate the way
to authenticate with a password.

3 new options are added:

* relay.network.auth_password
* relay.network.hash_iterations
* relay.network.nonce_size
2020-04-14 21:38:12 +02:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +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
Sébastien Helleu de8d640958 relay: add support of close frame in websocket connection (closes #1281) 2018-11-12 20:43:48 +01:00
Sébastien Helleu e28cb00106 relay: add real IP in client description (closes #1256) 2018-09-30 09:59:45 +02:00
Sébastien Helleu ed4837b2f6 core: update copyright dates 2018-01-05 00:54:18 +01:00
Sébastien Helleu 9bad3f44db core: remove value for first #define in headers, add "PLUGIN" in plugin headers 2017-08-10 20:05:16 +02:00
Sébastien Helleu 1361602ea5 tests: fix compilation of tests on FreeBSD 11
Some includes were missing in .h files, and the tests must be linked
with intl and execinfo on FreeBSD.
2017-01-13 20:57:59 +01:00
Sébastien Helleu 705d86e684 core: update copyright dates 2017-01-01 11:32:04 +01: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 45a1174000 relay: fix the max number of clients connected on a port, allow value 0 for "no limit" (closes #669) 2016-02-08 21:14:48 +01:00
Sébastien Helleu 9263634d2e relay: fix websocket frame decoding, answer a PONG to PING (closes #675) 2016-02-06 14:08:20 +01:00
Sébastien Helleu 3330724574 core: update copyright dates 2016-01-01 11:09:53 +01:00
Sébastien Helleu 71dd64678c core: add comments after some #endif 2015-04-30 21:15:30 +02:00
Sébastien Helleu a020c28ea6 core: update copyright dates 2015-01-01 09:23:23 +01:00
Sébastien Helleu 134a5f53d4 relay: add option relay.network.ssl_priorities (closes #234) 2014-10-26 18:03:47 +01:00
Sébastien Helleu 6295adad6d relay: fix number of bytes sent/received on 32-bit systems 2014-08-02 16:17:30 +02:00
Sebastien Helleu 9b380a935b core: fix use of reserved C identifiers in headers (closes #31) 2014-03-19 10:39:13 +01:00
Sebastien Helleu 2d7778292a relay: add info "relay_client_count" with optional status name as argument
Use in evaluated strings (for example in /eval or triggers):
- "${info:relay_client_count}": total number of relay clients (any status)

With a specific status:
- "${info:relay_client_count,connecting}"
- "${info:relay_client_count,waiting_auth}"
- "${info:relay_client_count,connected}"
- "${info:relay_client_count,auth_failed}"
- "${info:relay_client_count,disconnected}"
2014-03-05 11:49:25 +01:00
Sebastien Helleu 892aa79fb5 core: update copyright dates 2014-01-01 00:14:12 +01:00
Sebastien Helleu c17d3e155c relay: add support of multiple servers on same port for irc protocol (the client must send the server in the "PASS" command) 2013-02-23 08:33:38 +01:00
Sebastien Helleu c2aeb69c46 relay: add experimental websocket server support (RFC 6455) for irc and weechat protocols, new option relay.network.websocket_allowed_origins
It is a partial implementation of RFC 6455: fragmentation and control frames are
not yet supported.
Text and binary frames are supported.
2013-02-10 20:22:13 +01:00
Sebastien Helleu f97598b4aa core: update copyright dates 2013-01-01 13:12:49 +01:00
Sebastien Helleu cf76379aa9 relay: add backlog, options and server capability "server-time" for irc protocol (task #12076)
New options:
- relay.irc.backlog_max_minutes
- relay.irc.backlog_max_number
- relay.irc.backlog_since_last_disconnect
- relay.irc.backlog_tags
- relay.irc.backlog_time_format
2012-12-24 17:31:33 +01:00
Sebastien Helleu 782e01f177 relay: add support of SSL (for irc and weechat protocols), new option relay.network.ssl_cert_key (task #12044) 2012-07-27 17:54:08 +02:00
Sebastien Helleu 99c1065bcf relay: move creation of client from relay-upgrade.c to relay-client.c 2012-07-17 09:56:03 +02:00
Sebastien Helleu d247d773db relay: fix freeze when writing on relay socket (use non-blocking sockets in relay for irc and weechat protocols) (bug #36655) 2012-07-14 22:41:52 +02:00
Sebastien Helleu d87eacccc9 relay: redirect some irc messages from clients to hide output (bug #33516)
Messages redirected by relay plugin: mode, ison, list, names, topic, who,
whois, whowas, time, userhost.
2012-03-18 08:58:19 +01:00
Sebastien Helleu 47e4a03be6 core: update copyright dates 2012-01-08 18:59:50 +01:00
Sebastien Helleu 013f8cc757 relay: add WeeChat protocol (for remote GUI), doc about protocol, new options
The protocol is partial, under development, and NOT ready for usage.

New options added in relay.conf:
- relay.network.allowed_ips: allow only some IPs on relay plugin (by default
  all IPs are allowed)
- relay.network.compression_level: compression level used in WeeChat protocol
  (compression is made using zlib)
2011-12-06 23:06:23 +01:00