1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-17 08:34:46 +02:00

Compare commits

..

29 Commits

Author SHA1 Message Date
Sébastien Helleu b614a5c5db Version 3.8 2023-01-08 10:07:07 +01:00
Sébastien Helleu 35129a1cae core: add note about case insensitive comparison improved in release notes 2023-01-08 10:01:11 +01:00
Sébastien Helleu 2f6b462c3c core: update entries related to CI in ChangeLog 2023-01-07 23:17:56 +01:00
Sébastien Helleu 9202213274 ci: remove use of repository ppa:ondrej/php
Now the CI uses the standard PHP version (8.1) from Ubuntu 22.04.
2023-01-07 23:17:29 +01:00
Sébastien Helleu 822a94c184 php: add proper detection of PHP 8.2 in all cases 2023-01-07 22:05:37 +01:00
Sébastien Helleu e0f096abe6 debian: add symbolic link weechat_raspbian_buster.patch pointing to Debian Buster patch 2023-01-06 13:12:59 +01:00
Sébastien Helleu bff143dcf4 core: add CMake test called "notests" when tests are not compiled
Now the command `make test` executes properly and returns 0 when test are not
compiled.
2023-01-06 07:53:39 +01:00
Sébastien Helleu e660233325 Revert "core: add a fake target "test" so that make test successes when tests are not compiled"
This reverts commit 129860fd52.
2023-01-06 07:11:35 +01:00
Sébastien Helleu 129860fd52 core: add a fake target "test" so that make test successes when tests are not compiled 2023-01-05 21:26:55 +01:00
Sébastien Helleu 3c65bc6831 core: rename script build-test.sh to build_test.sh 2023-01-05 08:05:04 +01:00
Sébastien Helleu db81c07e1f core: rename script build-debian.sh to build_debian.sh 2023-01-05 08:03:12 +01:00
Sébastien Helleu 30ad9ca62d core: rename script git-version.sh to set_git_version.sh 2023-01-05 08:01:48 +01:00
Sébastien Helleu c7f5cd462f core: add message after checking Curl symbols: "all good" or number of errors 2023-01-05 07:48:08 +01:00
Sébastien Helleu bcba2d4d7c core: add example with Curl repository cloned locally 2023-01-05 07:43:01 +01:00
Sébastien Helleu e3a69e92e5 core: install flake8 in CI 2023-01-04 22:49:36 +01:00
Sébastien Helleu f43efe5a65 core: add script check_scripts.sh
This script is now used in CI to check all shell scripts (*.sh) and Python
scripts (*.py) that are in git repository.

Tools used:

- shell scripts: shellcheck
- Python scripts: flake8 + pylint + bandit
2023-01-04 22:45:00 +01:00
Sébastien Helleu 8da3884afc core: add script check_curl_symbols.py
This script is used to check Curl symbols defined in WeeChat vs exposed Curl
symbols.

Usage:

curl https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
2023-01-04 22:44:14 +01:00
Sébastien Helleu 3778ef0636 core: fix Curl version in comments 2023-01-04 22:23:33 +01:00
Sébastien Helleu c52d630f82 core: remove useless "exit 0"
This fixes the following shellcheck error:

SC2317 (info): Command appears to be unreachable. Check usage (or ignore if
invoked indirectly).
2023-01-04 22:23:33 +01:00
Sébastien Helleu 356028ee87 core: double quote $JOBS
This fixes the following shellcheck error:

SC2086 (info): Double quote to prevent globbing and word splitting.
2023-01-04 22:23:33 +01:00
Sébastien Helleu 9dd85507d0 core: don't use eval to run commands in scripts
This fixes the following shellcheck error:

SC2294 (warning): eval negates the benefit of arrays. Drop eval to preserve
whitespace/symbols (or eval as string).
2023-01-04 22:20:51 +01:00
Sébastien Helleu c6df2e7b8e tests: fix long lines in scripting API tests 2023-01-04 21:13:25 +01:00
Sébastien Helleu e6857871f0 tests: ignore module level import not at top of file (flake8 E402) 2023-01-04 21:12:53 +01:00
Sébastien Helleu d1f2d54a1e tests: mark methods is_bool and is_number as static 2023-01-04 21:11:41 +01:00
Sébastien Helleu 0ce0fa9f1f api: add Curl options for versions 7.64.0 to 7.87.0 2023-01-03 23:21:44 +01:00
Sébastien Helleu 7526776f4e plugins: change priority of scripting plugins
Use a step of 10 between each scripting plugin priority.
2023-01-03 20:20:21 +01:00
Sébastien Helleu 958f39cb95 core: fix crash or infinite loop in /allbuf command
A crash could occur if the command closes buffers.
An infinite loop could occur if the command creates new buffers.
2023-01-03 17:02:38 +01:00
Sébastien Helleu 189eb5dc40 core: add variable list_size to prevent computing arraylist size in each iteration 2023-01-03 17:01:52 +01:00
Sébastien Helleu 9ee0955d6b irc: properly rename private buffer on notice messages 2023-01-03 01:06:51 +01:00
45 changed files with 995 additions and 316 deletions
+1 -1
View File
@@ -5,4 +5,4 @@ debian-devel export-ignore
debian-stable export-ignore
weechat.spec export-ignore
.mailmap export-ignore
tools/build-debian.sh export-ignore
tools/build_debian.sh export-ignore
+10 -16
View File
@@ -5,7 +5,7 @@ on:
- pull_request
env:
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor ruby-pygments.rb
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-3.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php-dev libphp-embed libargon2-dev libsodium-dev flake8 pylint python3-bandit asciidoctor ruby-pygments.rb shellcheck
jobs:
@@ -33,33 +33,29 @@ jobs:
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
sudo -H pip3 install --ignore-installed msgcheck
- name: Check gettext files
run: msgcheck po/*.po
- name: Check Python scripts
run: |
pylint --additional-builtins=_ doc/docgen.py
pylint doc/python_stub.py
pylint tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
bandit doc/docgen.py doc/python_stub.py
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
- name: Check shell and Python scripts
run: ./tools/check_scripts.sh
- name: Check Python stub file
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
- name: Check Curl symbols
run: curl --silent --show-error --fail --retry 10 https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions | ./tools/check_curl_symbols.py
- name: Build and run tests
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
BUILDTOOL: ${{ matrix.config.tool }}
BUILDARGS: ${{ matrix.config.args }}
run: ./tools/build-test.sh
run: ./tools/build_test.sh
- name: Run WeeChat
env:
@@ -143,16 +139,14 @@ jobs:
- name: Install dependencies
run: |
sudo apt-add-repository --yes ppa:ondrej/php
sudo apt-get update -qq
sudo apt-get --yes purge php8.1-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
- name: Test Debian patches
run: ./tools/build-debian.sh test-patches
run: ./tools/build_debian.sh test-patches
- name: Build Debian packages
run: ./tools/build-debian.sh devel ubuntu/jammy
run: ./tools/build_debian.sh devel ubuntu/jammy
- name: Install Debian packages
run: sudo dpkg -i ../weechat-devel*.deb
+4 -1
View File
@@ -241,13 +241,16 @@ if(ENABLE_TESTS)
else()
message(SEND_ERROR "CppUTest not found")
endif()
else()
enable_testing()
add_test(NAME notests COMMAND true)
endif()
configure_file(config.h.cmake config.h @ONLY)
# set the git version in "config-git.h"
add_custom_target(version_git ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/git-version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/set_git_version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
+18 -12
View File
@@ -16,7 +16,7 @@ https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
[[v3.8]]
== Version 3.8 (under dev)
== Version 3.8 (2023-01-08)
New features::
@@ -31,6 +31,7 @@ New features::
* core: add signals "buffer_user_input_xxx" and "buffer_user_closing_xxx" for buffers created with `/buffer add` (issue #1848)
* core: add identifier in buffer lines (issue #901)
* core: add option `unicode` in command `/debug`
* api: add Curl options for versions 7.64.0 to 7.87.0
* api: add functions string_strcmp and string_strncmp
* api: rename char comparison functions "utf8_char*" to "string_char*"
* api: return arithmetic difference between chars in functions string_charcmp, string_charcasecmp, string_charcasecmp_range, string_strcasecmp, string_strcasecmp_range, string_strncasecmp, string_strncasecmp_range, string_strcmp_ignore_chars
@@ -50,18 +51,23 @@ Bug fixes::
* api: send NULL values to config section callbacks in scripting API (issue #1843)
* api: fix function string_cut when there are non printable chars in suffix
* api: do not expect any return value in callbacks "callback_change" and "callback_delete" of function config_new_option (scripting API)
* irc: properly rename private buffer on nick changes or private message when new nick is the same with different case
* irc: properly rename private buffer on nick changes or privmsg/notice message when new nick is the same with different case
* irc: do not join channels in server autojoin option after reconnection to the server (issue #560, bug #21529)
* irc: escape backslashes in raw buffer (issue #1838)
* trigger: fix variables sent to focus callback (issue #1858)
Tests::
* ci: remove use of repository ppa:ondrej/php, use standard PHP version (8.1) from Ubuntu 22.04
* core: add script check_scripts.sh
* core: add script check_curl_symbols.py
* gui: add tests on input functions
* scripts: add tests on config functions
Build::
* core: add CMake test called "notests" when tests are not compiled
* core: rename scripts: build-debian.sh to build_debian.sh, build-test.sh to build_test.sh, git-version.sh to set_git_version.sh
* debian: change dependency guile-2.2-dev to guile-3.0-dev
* python: remove support of Python 2.x
* ruby: add detection of Ruby 3.2
@@ -132,8 +138,8 @@ Bug fixes::
Tests::
* core: switch from Ubuntu 20.04 to 22.04 in CI
* core: remove macOS 10.15, add macOS 12 in CI
* ci: switch from Ubuntu 20.04 to 22.04
* ci: remove macOS 10.15, add macOS 12
* core: add tests on filter functions
* scripts: add tests on hdata functions
* scripts: fix run of Guile test script
@@ -203,8 +209,8 @@ Bug fixes::
Tests::
* ci: add build of Debian packages
* core: add tests on GUI chat functions
* core: add build of Debian packages in CI
Build::
@@ -253,8 +259,8 @@ Documentation::
Tests::
* core: add build with CMake and Ninja in CI
* core: add build on macOS 11 in CI
* ci: add build with CMake and Ninja
* ci: add build on macOS 11
Build::
@@ -307,8 +313,8 @@ Documentation::
Tests::
* core: switch to PHP 8.0 in CI
* core: add build on macOS in CI
* ci: switch to PHP 8.0
* ci: add build on macOS
Build::
@@ -370,7 +376,7 @@ Bug fixes::
Tests::
* core: switch from Ubuntu 18.04 to 20.04 in CI
* ci: switch from Ubuntu 18.04 to 20.04
* trigger: add tests on main trigger functions
Build::
@@ -531,8 +537,8 @@ Documentation::
Tests::
* core: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
* core: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
* ci: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
* ci: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
* core: run tests on plugins only if the plugins are enabled and compiled
* irc: add tests on IRC color and channel functions
+3 -3
View File
@@ -23,7 +23,7 @@
# (if needed, and only for a devel/rc version).
BUILT_SOURCES = build-config-git.h
build-config-git.h:
-$(abs_top_srcdir)/tools/git-version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
-$(abs_top_srcdir)/tools/set_git_version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
if TESTS
tests_dir = tests
@@ -60,8 +60,8 @@ EXTRA_DIST = AUTHORS.adoc \
cmake/cmake_uninstall.cmake.in \
po/CMakeLists.txt \
po/srcfiles.cmake \
tools/build-test.sh \
tools/git-version.sh \
tools/build_test.sh \
tools/set_git_version.sh \
tools/makedist.sh \
version.sh \
weechat.desktop \
+6 -1
View File
@@ -18,7 +18,7 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
[[v3.8]]
== Version 3.8 (under dev)
== Version 3.8 (2023-01-08)
[[v3.8_command_input_options]]
=== Move of options out of command /input
@@ -76,6 +76,11 @@ compared UTF-8 char in string2 from the last compared UTF-8 char in string1:
* string_strncasecmp_range
* string_strcmp_ignore_chars
In addition, the case conversion has been extended, now in addition to range
A-Z, all chars that have a lower case version are handled. +
That means for example the case insensitive comparison of "é" and "É" is 0
(chars are considered equal).
Example with WeeChat 3.8:
[source,c]
+11 -11
View File
@@ -41,29 +41,29 @@ err ()
run ()
{
printf "Running \"%s\"..." "$@"
if eval "$@" >"$AUTOGEN_LOG" 2>&1 ; then
echo " OK"
printf "Running \"%s\"... " "$*"
if "$@" >"$AUTOGEN_LOG" 2>&1 ; then
echo "OK"
else
echo " FAILED"
echo "FAILED"
err
fi
}
# remove autotools stuff
run "rm -f config.h.in"
run "rm -f aclocal.m4 configure config.log config.status"
run "rm -rf autom4te*.cache"
run rm -f config.h.in
run rm -f aclocal.m4 configure config.log config.status
run rm -rf "autom4te*.cache"
# remove libtool stuff
run "rm -f libtool"
run rm -f libtool
# remove gettext stuff
run "rm -f ABOUT-NLS"
run "rm -rf intl"
run rm -f ABOUT-NLS
run rm -rf intl
# execute autoreconf cmds
run "autoreconf -vi"
run autoreconf -vi
# ending
rm -f "$AUTOGEN_LOG"
+2 -1
View File
@@ -29,6 +29,7 @@ endif()
if(NOT PHP_FOUND)
find_program(PHP_CONFIG_EXECUTABLE NAMES
php-config8.2 php-config82
php-config8.1 php-config81
php-config8.0 php-config80
php-config8
@@ -47,7 +48,7 @@ if(NOT PHP_FOUND)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^[78]")
find_library(PHP_LIB
NAMES php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
NAMES php8.2 php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
+1 -1
View File
@@ -828,7 +828,7 @@ if test "x$enable_php" = "xyes" ; then
PHP_CFLAGS=""
PHP_LFLAGS=""
PHP_VERSIONS="8.1 81 8.0 80 8 7.4 74 7.3 73 7.2 72 7.1 71 7.0 70 7 $php_suffix"
PHP_VERSIONS="8.2 82 8.1 81 8.0 80 8 7.4 74 7.3 73 7.2 72 7.1 71 7.0 70 7 $php_suffix"
if test -n "$php_inc"; then
CFLAGS="$CFLAGS -I$php_inc"
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+46 -20
View File
@@ -48,10 +48,6 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+46 -20
View File
@@ -48,10 +48,6 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+46 -20
View File
@@ -48,10 +48,6 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+46 -20
View File
@@ -48,10 +48,6 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+46 -20
View File
@@ -48,10 +48,6 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+46 -20
View File
@@ -48,10 +48,6 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
@@ -16,13 +16,13 @@
. xfer (7000)
. irc (6000)
. relay (5000)
. guile (4007)
. javascript (4006)
. lua (4005)
. perl (4004)
. php (4003)
. python (4002)
. ruby (4001)
. guile (4070)
. javascript (4060)
. lua (4050)
. perl (4040)
. php (4030)
. python (4020)
. ruby (4010)
. tcl (4000)
. script (3000)
. fset (2000)
+46 -20
View File
@@ -48,10 +48,6 @@
| address_scope | long |
| protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| redir_protocols | mask | http, https, ftp, ftps, scp, sftp, telnet, ldap, ldaps, dict, file, tftp, all, imap, imaps, pop3, pop3s, smtp, smtps, rtsp, rtmp, rtmpt, rtmpe, rtmpte, rtmps, rtmpts, gopher, smb, smbs
| noproxy | string |
| socks5_gssapi_nec | long |
@@ -82,15 +78,19 @@
| doh_url | string |
| protocols_str | string |
| redir_protocols_str | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer, aws_sigv4
| netrc_file | string |
@@ -108,6 +108,8 @@
| tlsauth_password | string |
| sasl_authzid | string |
| sasl_ir | long |
| xoauth2_bearer | string |
@@ -120,8 +122,6 @@
| followlocation | long |
| put | long |
| post | long |
| postfields | string |
@@ -144,7 +144,7 @@
| cookiejar | string |
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge
| http_version | long | none, 1_0, 1_1, 2_0, 2, 2tls, 2_prior_knowledge, 3
| cookiesession | long |
@@ -182,12 +182,20 @@
| request_target | string |
| http09_allowed | long |
| hsts | string |
| hsts_ctrl | mask | enable, readonlyfile
| mail_from | string |
| mail_rcpt | list |
| mail_auth | string |
| mail_rcpt_alllowfails | long |
| tftp_blksize | long |
| tftp_no_options | long |
@@ -206,8 +214,6 @@
| ftp_create_missing_dirs | long |
| ftp_response_timeout | long |
| ftpsslauth | long | default, ssl, tls
| ftp_account | string |
@@ -238,6 +244,8 @@
| rtsp_server_cseq | long |
| aws_sigv4 | string |
| crlf | long |
| range | string |
@@ -274,6 +282,8 @@
| upload_buffersize | long |
| mime_options | mask | formescape
| timeout | long |
| low_speed_limit | long |
@@ -298,6 +308,8 @@
| connecttimeout_ms | long |
| maxage_conn | long |
| maxconnects | long |
| use_ssl | long | none, try, control, all
@@ -322,6 +334,8 @@
| upkeep_interval_ms | long |
| maxlifetime_conn | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
@@ -330,10 +344,6 @@
| cainfo | string |
| random_file | string |
| egdsocket | string |
| ssl_verifyhost | long |
| ssl_cipher_list | string |
@@ -364,12 +374,10 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| ssl_enable_alpn | long |
| ssl_enable_npn | long |
| pinnedpublickey | string |
| ssl_verifystatus | long |
@@ -398,7 +406,7 @@
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend, no_partialchain, revoke_best_effort, native_ca, auto_client_cert
| proxy_ssl_verifyhost | long |
@@ -414,6 +422,18 @@
| proxy_tls13_ciphers | list |
| proxy_issuercert | string |
| ssl_ec_curves | string |
| doh_ssl_verifyhost | long |
| doh_ssl_verifypeer | long |
| doh_ssl_verifystatus | long |
| ca_cache_timeout | long |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -426,11 +446,17 @@
| ssh_compression | long |
| ssh_host_public_key_sha256 | string |
| telnetoptions | list |
| ws_options | mask | binary, close, cont, offset, ping, pong, raw_mode, text
| new_file_perms | long |
| new_directory_perms | long |
| telnetoptions | list |
| quick_exit | long |
|===
// end::url_options[]
+19 -2
View File
@@ -94,7 +94,9 @@ extern char **environ;
COMMAND_CALLBACK(allbuf)
{
struct t_arraylist *all_buffers;
struct t_gui_buffer *ptr_buffer;
int i, list_size;
/* make C compiler happy */
(void) pointer;
@@ -103,12 +105,26 @@ COMMAND_CALLBACK(allbuf)
COMMAND_MIN_ARGS(2, "");
all_buffers = arraylist_new (gui_buffers_count, 0, 0,
NULL, NULL, NULL, NULL);
for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer)
{
arraylist_add (all_buffers, ptr_buffer);
}
list_size = arraylist_size (all_buffers);
for (i = 0; i < list_size; i++)
{
ptr_buffer = (struct t_gui_buffer *)arraylist_get (all_buffers, i);
if (!gui_buffer_valid (ptr_buffer))
continue;
(void) input_data (ptr_buffer, argv_eol[1], NULL);
}
arraylist_free (all_buffers);
return WEECHAT_RC_OK;
}
@@ -584,7 +600,7 @@ COMMAND_CALLBACK(buffer)
struct t_arraylist *buffers_to_close;
long number, number1, number2, numbers[3];
char *error, *value, *pos, *str_number1, *pos_number2;
int i, count, prev_number, clear_number;
int i, count, prev_number, clear_number, list_size;
int buffer_found, arg_name, type_free, switch_to_buffer;
/* make C compiler happy */
@@ -1122,7 +1138,8 @@ COMMAND_CALLBACK(buffer)
weechat_buffer = gui_buffer_search_main ();
for (i = 0; i < arraylist_size (buffers_to_close); i++)
list_size = arraylist_size (buffers_to_close);
for (i = 0; i < list_size; i++)
{
ptr_buffer = (struct t_gui_buffer *)arraylist_get (buffers_to_close,
i);
+139 -16
View File
@@ -47,7 +47,7 @@
char *url_type_string[] = { "string", "long", "long long", "mask", "list" };
/*
* Constants/options for Curl 7.63.0
* Constants/options for Curl 7.87.0
* (this list of options must be updated on every new Curl release)
*/
@@ -111,6 +111,12 @@ struct t_url_constant url_protocols[] =
#if LIBCURL_VERSION_NUM >= 0x072800 /* 7.40.0 */
URL_DEF_CONST(PROTO, SMB),
URL_DEF_CONST(PROTO, SMBS),
#endif
#if LIBCURL_VERSION_NUM >= 0x074700 /* 7.71.0 */
URL_DEF_CONST(PROTO, MQTT),
#endif
#if LIBCURL_VERSION_NUM >= 0x074B00 /* 7.75.0 */
URL_DEF_CONST(PROTO, GOPHERS),
#endif
{ NULL, 0 },
};
@@ -144,7 +150,7 @@ struct t_url_constant url_auth[] =
#if LIBCURL_VERSION_NUM >= 0x071600 /* 7.22.0 */
URL_DEF_CONST(AUTH, NTLM_WB),
#endif
#if LIBCURL_VERSION_NUM >= 0x070A06 && LIBCURL_VERSION_NUM < 0x072600 /* 7.10.6 - 7.37.0 */
#if LIBCURL_VERSION_NUM >= 0x070A06 && LIBCURL_VERSION_NUM < 0x072600 /* 7.10.6 < 7.38.0 */
URL_DEF_CONST(AUTH, GSSNEGOTIATE),
#endif
#if LIBCURL_VERSION_NUM >= 0x072600 /* 7.38.0 */
@@ -155,6 +161,9 @@ struct t_url_constant url_auth[] =
#endif
#if LIBCURL_VERSION_NUM >= 0x073D00 /* 7.61.0 */
URL_DEF_CONST(AUTH, BEARER),
#endif
#if LIBCURL_VERSION_NUM >= 0x074B00 /* 7.75.0 */
URL_DEF_CONST(AUTH, AWS_SIGV4),
#endif
{ NULL, 0 },
};
@@ -195,6 +204,9 @@ struct t_url_constant url_http_version[] =
#endif
#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */
URL_DEF_CONST(_HTTP_VERSION, 2_PRIOR_KNOWLEDGE),
#endif
#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */
URL_DEF_CONST(_HTTP_VERSION, 3),
#endif
{ NULL, 0 },
};
@@ -321,6 +333,18 @@ struct t_url_constant url_ssl_options[] =
URL_DEF_CONST(SSLSET, OK),
URL_DEF_CONST(SSLSET, TOO_LATE),
URL_DEF_CONST(SSLSET, UNKNOWN_BACKEND),
#endif
#if LIBCURL_VERSION_NUM >= 0x074400 /* 7.68.0 */
URL_DEF_CONST(SSLOPT, NO_PARTIALCHAIN),
#endif
#if LIBCURL_VERSION_NUM >= 0x074600 /* 7.70.0 */
URL_DEF_CONST(SSLOPT, REVOKE_BEST_EFFORT),
#endif
#if LIBCURL_VERSION_NUM >= 0x074700 /* 7.71.0 */
URL_DEF_CONST(SSLOPT, NATIVE_CA),
#endif
#if LIBCURL_VERSION_NUM >= 0x074D00 /* 7.77.0 */
URL_DEF_CONST(SSLOPT, AUTO_CLIENT_CERT),
#endif
{ NULL, 0 },
};
@@ -364,6 +388,38 @@ struct t_url_constant url_header[] =
{ NULL, 0 },
};
struct t_url_constant url_hsts[] =
{
#if LIBCURL_VERSION_NUM >= 0x074A00 /* 7.74.0 */
URL_DEF_CONST(HSTS, ENABLE),
URL_DEF_CONST(HSTS, READONLYFILE),
#endif
{ NULL, 0 },
};
struct t_url_constant url_mime[] =
{
#if LIBCURL_VERSION_NUM >= 0x075100 /* 7.81.0 */
URL_DEF_CONST(MIMEOPT, FORMESCAPE),
#endif
{ NULL, 0 },
};
struct t_url_constant url_websocket[] =
{
#if LIBCURL_VERSION_NUM >= 0x075600 /* 7.86.0 */
URL_DEF_CONST(WS, BINARY),
URL_DEF_CONST(WS, CLOSE),
URL_DEF_CONST(WS, CONT),
URL_DEF_CONST(WS, OFFSET),
URL_DEF_CONST(WS, PING),
URL_DEF_CONST(WS, PONG),
URL_DEF_CONST(WS, RAW_MODE),
URL_DEF_CONST(WS, TEXT),
#endif
{ NULL, 0 },
};
struct t_url_option url_options[] =
{
/*
@@ -423,9 +479,13 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x071300 /* 7.19.0 */
URL_DEF_OPTION(ADDRESS_SCOPE, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x071304 /* 7.19.4 */
#if LIBCURL_VERSION_NUM >= 0x071304 && LIBCURL_VERSION_NUM < 0x075500 /* 7.19.4 < 7.85.0 */
URL_DEF_OPTION(PROTOCOLS, MASK, url_protocols),
#endif
#if LIBCURL_VERSION_NUM >= 0x071304 && LIBCURL_VERSION_NUM < 0x075500 /* 7.19.4 < 7.85.0 */
URL_DEF_OPTION(REDIR_PROTOCOLS, MASK, url_protocols),
#endif
#if LIBCURL_VERSION_NUM >= 0x071304 /* 7.19.4 */
URL_DEF_OPTION(NOPROXY, STRING, NULL),
URL_DEF_OPTION(SOCKS5_GSSAPI_NEC, LONG, NULL),
#endif
@@ -450,7 +510,7 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x072D00 /* 7.45.0 */
URL_DEF_OPTION(DEFAULT_PROTOCOL, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x071304 && LIBCURL_VERSION_NUM < 0x073100 /* 7.19.4 - 7.48.0 */
#if LIBCURL_VERSION_NUM >= 0x071304 && LIBCURL_VERSION_NUM < 0x073100 /* 7.19.4 < 7.49.0 */
URL_DEF_OPTION(SOCKS5_GSSAPI_SERVICE, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x073100 /* 7.49.0 */
@@ -465,6 +525,12 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */
URL_DEF_OPTION(DOH_URL, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075500 /* 7.85.0 */
URL_DEF_OPTION(PROTOCOLS_STR, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075500 /* 7.85.0 */
URL_DEF_OPTION(REDIR_PROTOCOLS_STR, STRING, NULL),
#endif
/*
* names and password options (authentication)
@@ -494,6 +560,10 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(TLSAUTH_USERNAME, STRING, NULL),
URL_DEF_OPTION(TLSAUTH_PASSWORD, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074200 /* 7.66.0 */
URL_DEF_OPTION(SASL_AUTHZID, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x071F00 /* 7.31.0 */
URL_DEF_OPTION(SASL_IR, LONG, NULL),
#endif
@@ -513,7 +583,6 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x070100 /* 7.1.0 */
URL_DEF_OPTION(AUTOREFERER, LONG, NULL),
URL_DEF_OPTION(FOLLOWLOCATION, LONG, NULL),
URL_DEF_OPTION(PUT, LONG, NULL),
URL_DEF_OPTION(POST, LONG, NULL),
URL_DEF_OPTION(POSTFIELDS, STRING, NULL),
URL_DEF_OPTION(REFERER, STRING, NULL),
@@ -553,7 +622,7 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(COOKIELIST, STRING, NULL),
URL_DEF_OPTION(IGNORE_CONTENT_LENGTH, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x071506 /* 7.15.6 */
#if LIBCURL_VERSION_NUM >= 0x071506 /* 7.21.6 */
URL_DEF_OPTION(ACCEPT_ENCODING, STRING, NULL),
URL_DEF_OPTION(TRANSFER_ENCODING, LONG, NULL),
#endif
@@ -583,9 +652,16 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x073700 /* 7.55.0 */
URL_DEF_OPTION(REQUEST_TARGET, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x070100 && LIBCURL_VERSION_NUM < 0x073800 /* 7.1.0 - 7.0.55 */
#if LIBCURL_VERSION_NUM >= 0x070100 && LIBCURL_VERSION_NUM < 0x073800 /* 7.1.0 < 7.56.0 */
URL_DEF_OPTION(HTTPPOST, LIST, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074000 /* 7.64.0 */
URL_DEF_OPTION(HTTP09_ALLOWED, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074A00 /* 7.74.0 */
URL_DEF_OPTION(HSTS, STRING, NULL),
URL_DEF_OPTION(HSTS_CTRL, MASK, url_hsts),
#endif
/*
* SMTP options
@@ -597,6 +673,9 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x071900 /* 7.25.0 */
URL_DEF_OPTION(MAIL_AUTH, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074500 /* 7.69.0 */
URL_DEF_OPTION(MAIL_RCPT_ALLLOWFAILS, LONG, NULL),
#endif
/*
* TFTP options
@@ -628,7 +707,7 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x070A07 /* 7.10.7 */
URL_DEF_OPTION(FTP_CREATE_MISSING_DIRS, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x070A08 /* 7.10.8 */
#if LIBCURL_VERSION_NUM >= 0x070A08 && LIBCURL_VERSION_NUM < 0x075500 /* 7.10.8 < 7.85.0 */
URL_DEF_OPTION(FTP_RESPONSE_TIMEOUT, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x070C02 /* 7.12.2 */
@@ -668,6 +747,9 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(RTSP_CLIENT_CSEQ, LONG, NULL),
URL_DEF_OPTION(RTSP_SERVER_CSEQ, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074B00 /* 7.75.0 */
URL_DEF_OPTION(AWS_SIGV4, STRING, NULL),
#endif
/*
* protocol options
@@ -706,6 +788,9 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */
URL_DEF_OPTION(UPLOAD_BUFFERSIZE, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075100 /* 7.81.0 */
URL_DEF_OPTION(MIME_OPTIONS, MASK, url_mime),
#endif
/*
* connection options
@@ -734,6 +819,9 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(TIMEOUT_MS, LONG, NULL),
URL_DEF_OPTION(CONNECTTIMEOUT_MS, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074100 /* 7.65.0 */
URL_DEF_OPTION(MAXAGE_CONN, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x071003 /* 7.16.3 */
URL_DEF_OPTION(MAXCONNECTS, LONG, NULL),
#endif
@@ -764,6 +852,9 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x073E00 /* 7.62.0 */
URL_DEF_OPTION(UPKEEP_INTERVAL_MS, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075000 /* 7.80.0 */
URL_DEF_OPTION(MAXLIFETIME_CONN, LONG, NULL),
#endif
/*
* SSL and security options
@@ -776,8 +867,10 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(SSL_VERIFYPEER, LONG, NULL),
URL_DEF_OPTION(CAINFO, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x070700 /* 7.7.0 */
#if LIBCURL_VERSION_NUM >= 0x070700 && LIBCURL_VERSION_NUM < 0x075400 /* 7.7.0 < 7.84.0 */
URL_DEF_OPTION(RANDOM_FILE, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x070700 && LIBCURL_VERSION_NUM < 0x075400 /* 7.7.0 < 7.84.0 */
URL_DEF_OPTION(EGDSOCKET, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x070801 /* 7.8.1 */
@@ -820,6 +913,8 @@ struct t_url_option url_options[] =
#endif
#if LIBCURL_VERSION_NUM >= 0x072400 /* 7.36.0 */
URL_DEF_OPTION(SSL_ENABLE_ALPN, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x072400 && LIBCURL_VERSION_NUM < 0x075600 /* 7.36.0 < 7.86.0 */
URL_DEF_OPTION(SSL_ENABLE_NPN, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x072700 /* 7.39.0 */
@@ -854,6 +949,20 @@ struct t_url_option url_options[] =
URL_DEF_OPTION(TLS13_CIPHERS, LIST, NULL),
URL_DEF_OPTION(PROXY_TLS13_CIPHERS, LIST, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074700 /* 7.71.0 */
URL_DEF_OPTION(PROXY_ISSUERCERT, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074900 /* 7.73.0 */
URL_DEF_OPTION(SSL_EC_CURVES, STRING, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x074C00 /* 7.76.0 */
URL_DEF_OPTION(DOH_SSL_VERIFYHOST, LONG, NULL),
URL_DEF_OPTION(DOH_SSL_VERIFYPEER, LONG, NULL),
URL_DEF_OPTION(DOH_SSL_VERIFYSTATUS, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075700 /* 7.87.0 */
URL_DEF_OPTION(CA_CACHE_TIMEOUT, LONG, NULL),
#endif
/*
* SSH options
@@ -872,13 +981,8 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x073800 /* 7.56.0 */
URL_DEF_OPTION(SSH_COMPRESSION, LONG, NULL),
#endif
/*
* other options
*/
#if LIBCURL_VERSION_NUM >= 0x071004 /* 7.16.4 */
URL_DEF_OPTION(NEW_FILE_PERMS, LONG, NULL),
URL_DEF_OPTION(NEW_DIRECTORY_PERMS, LONG, NULL),
#if LIBCURL_VERSION_NUM >= 0x075000 /* 7.80.0 */
URL_DEF_OPTION(SSH_HOST_PUBLIC_KEY_SHA256, STRING, NULL),
#endif
/*
@@ -887,6 +991,25 @@ struct t_url_option url_options[] =
#if LIBCURL_VERSION_NUM >= 0x070700 /* 7.7 */
URL_DEF_OPTION(TELNETOPTIONS, LIST, NULL),
#endif
/*
* websocket options
*/
#if LIBCURL_VERSION_NUM >= 0x075600 /* 7.86.0 */
URL_DEF_OPTION(WS_OPTIONS, MASK, url_websocket),
#endif
/*
* other options
*/
#if LIBCURL_VERSION_NUM >= 0x071004 /* 7.16.4 */
URL_DEF_OPTION(NEW_FILE_PERMS, LONG, NULL),
URL_DEF_OPTION(NEW_DIRECTORY_PERMS, LONG, NULL),
#endif
#if LIBCURL_VERSION_NUM >= 0x075700 /* 7.87.0 */
URL_DEF_OPTION(QUICK_EXIT, LONG, NULL),
#endif
{ NULL, 0, 0, NULL },
};
+1 -1
View File
@@ -44,7 +44,7 @@ WEECHAT_PLUGIN_DESCRIPTION(N_("Support of scheme scripts (with Guile)"));
WEECHAT_PLUGIN_AUTHOR("Sébastien Helleu <flashcode@flashtux.org>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
WEECHAT_PLUGIN_PRIORITY(4007);
WEECHAT_PLUGIN_PRIORITY(4070);
struct t_weechat_plugin *weechat_guile_plugin = NULL;
+4
View File
@@ -2428,6 +2428,10 @@ IRC_PROTOCOL_CALLBACK(notice)
if (ptr_channel)
{
/* rename buffer if open with nick case not matching */
if (strcmp (ptr_channel->name, nick) != 0)
irc_channel_pv_rename (server, ptr_channel, nick);
if (weechat_config_boolean (irc_config_look_typing_status_nicks))
{
irc_typing_channel_set_nick (ptr_channel, nick,
+1 -1
View File
@@ -39,7 +39,7 @@ WEECHAT_PLUGIN_DESCRIPTION("Support of javascript scripts");
WEECHAT_PLUGIN_AUTHOR("Koka El Kiwi <kokakiwi@kokakiwi.net>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
WEECHAT_PLUGIN_PRIORITY(4006);
WEECHAT_PLUGIN_PRIORITY(4060);
struct t_weechat_plugin *weechat_js_plugin = NULL;
+1 -1
View File
@@ -40,7 +40,7 @@ WEECHAT_PLUGIN_DESCRIPTION(N_("Support of lua scripts"));
WEECHAT_PLUGIN_AUTHOR("Sébastien Helleu <flashcode@flashtux.org>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
WEECHAT_PLUGIN_PRIORITY(4005);
WEECHAT_PLUGIN_PRIORITY(4050);
struct t_weechat_plugin *weechat_lua_plugin = NULL;
+1 -1
View File
@@ -37,7 +37,7 @@ WEECHAT_PLUGIN_DESCRIPTION(N_("Support of perl scripts"));
WEECHAT_PLUGIN_AUTHOR("Sébastien Helleu <flashcode@flashtux.org>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
WEECHAT_PLUGIN_PRIORITY(4004);
WEECHAT_PLUGIN_PRIORITY(4040);
struct t_weechat_plugin *weechat_perl_plugin = NULL;
+1 -1
View File
@@ -53,7 +53,7 @@ WEECHAT_PLUGIN_DESCRIPTION(N_("Support of PHP scripts"));
WEECHAT_PLUGIN_AUTHOR("Adam Saponara <as@php.net>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
WEECHAT_PLUGIN_PRIORITY(4003);
WEECHAT_PLUGIN_PRIORITY(4030);
struct t_weechat_plugin *weechat_php_plugin = NULL;
+1 -1
View File
@@ -40,7 +40,7 @@ WEECHAT_PLUGIN_DESCRIPTION(N_("Support of python scripts"));
WEECHAT_PLUGIN_AUTHOR("Sébastien Helleu <flashcode@flashtux.org>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
WEECHAT_PLUGIN_PRIORITY(4002);
WEECHAT_PLUGIN_PRIORITY(4020);
struct t_weechat_plugin *weechat_python_plugin = NULL;
+1 -1
View File
@@ -61,7 +61,7 @@ WEECHAT_PLUGIN_DESCRIPTION(N_("Support of ruby scripts"));
WEECHAT_PLUGIN_AUTHOR("Sébastien Helleu <flashcode@flashtux.org>");
WEECHAT_PLUGIN_VERSION(WEECHAT_VERSION);
WEECHAT_PLUGIN_LICENSE(WEECHAT_LICENSE);
WEECHAT_PLUGIN_PRIORITY(4001);
WEECHAT_PLUGIN_PRIORITY(4010);
struct t_weechat_plugin *weechat_ruby_plugin = NULL;
+19 -9
View File
@@ -45,7 +45,9 @@ def check(result, condition, lineno):
def test_plugins():
"""Test plugins functions."""
check(weechat.plugin_get_name('') == 'core')
check(weechat.plugin_get_name(weechat.buffer_get_pointer(weechat.buffer_search_main(), 'plugin')) == 'core')
check(weechat.plugin_get_name(
weechat.buffer_get_pointer(
weechat.buffer_search_main(), 'plugin')) == 'core')
def test_strings():
@@ -385,8 +387,10 @@ def test_display():
check(weechat.color('green') != '')
check(weechat.color('unknown') == '')
weechat.prnt('', '## test print core buffer')
weechat.prnt_date_tags('', 946681200, 'tag1,tag2', '## test print_date_tags core buffer')
weechat.prnt_date_tags('', 5680744830, 'tag1,tag2', '## test print_date_tags core buffer, year 2150')
weechat.prnt_date_tags('', 946681200, 'tag1,tag2',
'## test print_date_tags core buffer')
weechat.prnt_date_tags('', 5680744830, 'tag1,tag2',
'## test print_date_tags core buffer, year 2150')
hdata_buffer = weechat.hdata_get('buffer')
hdata_lines = weechat.hdata_get('lines')
hdata_line = weechat.hdata_get('line')
@@ -396,18 +400,23 @@ def test_display():
line = weechat.hdata_pointer(hdata_lines, own_lines, 'last_line')
data = weechat.hdata_pointer(hdata_line, line, 'data')
check(weechat.hdata_time(hdata_line_data, data, 'date') == 5680744830)
buffer = weechat.buffer_new('test_formatted', 'buffer_input_cb', '', 'buffer_close_cb', '')
buffer = weechat.buffer_new('test_formatted',
'buffer_input_cb', '', 'buffer_close_cb', '')
check(buffer != '')
check(weechat.buffer_get_integer(buffer, 'type') == 0)
weechat.prnt(buffer, '## test print formatted buffer')
weechat.prnt_date_tags(buffer, 946681200, 'tag1,tag2', '## test print_date_tags formatted buffer')
weechat.prnt_date_tags(buffer, 946681200, 'tag1,tag2',
'## test print_date_tags formatted buffer')
weechat.buffer_close(buffer)
buffer = weechat.buffer_new_props('test_free', {'type': 'free'}, 'buffer_input_cb', '', 'buffer_close_cb', '')
buffer = weechat.buffer_new_props('test_free', {'type': 'free'},
'buffer_input_cb', '', 'buffer_close_cb', '')
check(weechat.buffer_get_integer(buffer, 'type') == 1)
check(buffer != '')
weechat.prnt_y(buffer, 0, '## test print_y free buffer')
weechat.prnt_y_date_tags(buffer, 0, 946681200, 'tag1,tag2', '## test print_y_date_tags free buffer')
weechat.prnt_y_date_tags(buffer, 1, 5680744830, 'tag1,tag2', '## test print_y_date_tags free buffer, year 2150')
weechat.prnt_y_date_tags(buffer, 0, 946681200, 'tag1,tag2',
'## test print_y_date_tags free buffer')
weechat.prnt_y_date_tags(buffer, 1, 5680744830, 'tag1,tag2',
'## test print_y_date_tags free buffer, year 2150')
weechat.buffer_close(buffer)
@@ -558,7 +567,8 @@ def test_hdata():
check(weechat.hdata_get_var_array_size(hdata_buffer, buffer2, 'highlight_tags_array') >= 0)
# hdata_get_var_array_size_string
check(weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'name') == '')
check(weechat.hdata_get_var_array_size_string(hdata_buffer, buffer2, 'highlight_tags_array') == 'highlight_tags_count')
check(weechat.hdata_get_var_array_size_string(
hdata_buffer, buffer2, 'highlight_tags_array') == 'highlight_tags_count')
# hdata_get_var_hdata
check(weechat.hdata_get_var_hdata(hdata_buffer, 'plugin') == 'plugin')
check(weechat.hdata_get_var_hdata(hdata_buffer, 'own_lines') == 'lines')
+1 -1
View File
@@ -50,7 +50,7 @@ sys.dont_write_bytecode = True
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.append(SCRIPT_DIR)
from unparse import (
from unparse import ( # noqa: E402
UnparsePython,
UnparsePerl,
UnparseRuby,
+4 -2
View File
@@ -139,11 +139,13 @@ class UnparsePython(object):
result.append(value)
return result
def is_bool(self, node): # pylint: disable=no-self-use
@staticmethod
def is_bool(node):
"""Check if the node is a boolean."""
return isinstance(node, ast.Name) and node.id in ('False', 'True')
def is_number(self, node): # pylint: disable=no-self-use
@staticmethod
def is_number(node):
"""Check if the node is a number."""
return (isinstance(node, ast.Num) or
(isinstance(node, ast.UnaryOp) and
@@ -38,12 +38,12 @@
#
# Examples:
#
# …/build-debian.sh devel debian/sid
# …/build-debian.sh stable debian/bullseye
# …/build-debian.sh 1.9 ubuntu/jammy
# …/build-debian.sh 1.9-2 ubuntu/focal
# …/build_debian.sh devel debian/sid
# …/build_debian.sh stable debian/bullseye
# …/build_debian.sh 1.9 ubuntu/jammy
# …/build_debian.sh 1.9-2 ubuntu/focal
#
# …/build-debian.sh test-patches
# …/build_debian.sh test-patches
#
# Environment variables that can be used:
#
@@ -146,7 +146,6 @@ if [ $# -eq 0 ]; then
fi
if [ "$1" = "test-patches" ]; then
test_patches
exit 0
fi
if [ $# -lt 2 ]; then
error_usage "missing arguments"
@@ -247,7 +246,7 @@ echo " - Updating changelog: ${DEB_NAME} ${DEB_VERSION} (${DCH_DISTRO}, ${DCH_UR
DEBFULLNAME="${PACKAGER_NAME}" DEBEMAIL="${PACKAGER_EMAIL}" dch "${DCH_CREATE}" --package "${DEB_NAME}" --newversion "${DEB_VERSION}" --distribution "${DCH_DISTRO}" --urgency "${DCH_URGENCY}" "${DCH_CHANGELOG}"
# build packages (without debug symbols)
DEB_BUILD_OPTIONS="noddebs" dpkg-buildpackage -us -uc -j${JOBS} --source-option="--tar-ignore=.git" --source-option="--tar-ignore=build*"
DEB_BUILD_OPTIONS="noddebs" dpkg-buildpackage -us -uc --jobs="${JOBS}" --source-option="--tar-ignore=.git" --source-option="--tar-ignore=build*"
# all OK!
echo " - Build OK [${DEB_NAME}-${DEB_VERSION}]"
+33 -31
View File
@@ -24,26 +24,20 @@
# - BUILDARGS: arguments for cmake or configure commands
#
# Syntax to run the script with environment variables:
# BUILDTOOL=cmake ./build-test.sh
# BUILDTOOL=autotools ./build-test.sh
# BUILDTOOL=cmake BUILDARGS="arguments" ./build-test.sh
# BUILDTOOL=autotools BUILDARGS="arguments" ./build-test.sh
# BUILDTOOL=cmake ./build_test.sh
# BUILDTOOL=autotools ./build_test.sh
# BUILDTOOL=cmake BUILDARGS="arguments" ./build_test.sh
# BUILDTOOL=autotools BUILDARGS="arguments" ./build_test.sh
#
# Syntax to run the script with arguments on command line:
# ./build-test.sh cmake [arguments]
# ./build-test.sh autotools [arguments]
# ./build_test.sh cmake [arguments]
# ./build_test.sh autotools [arguments]
#
# This script is used to build WeeChat in CI environment.
#
run ()
{
echo "Running \"$*\"..."
if ! eval "$@"; then
echo "ERROR"
exit 1
fi
}
# exit on any error
set -e
BUILDDIR="build-tmp-$$"
@@ -61,32 +55,40 @@ if [ -z "$BUILDTOOL" ]; then
exit 1
fi
run ()
{
"$@"
}
# display commands
set -x
# create build directory
run "mkdir $BUILDDIR"
run "cd $BUILDDIR"
mkdir "$BUILDDIR"
cd "$BUILDDIR"
if [ "$BUILDTOOL" = "cmake" ]; then
# build with CMake
run "cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON ${BUILDARGS}"
run cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON "${BUILDARGS}"
if [ -f "build.ninja" ]; then
run "ninja -v"
run "ninja -v changelog"
run "ninja -v rn"
run "sudo ninja install"
ninja -v
ninja -v changelog
ninja -v rn
sudo ninja install
else
run "make VERBOSE=1 -j$(nproc)"
run "make VERBOSE=1 changelog"
run "make VERBOSE=1 rn"
run "sudo make install"
make VERBOSE=1 --jobs="$(nproc)"
make VERBOSE=1 changelog
make VERBOSE=1 rn
sudo make install
fi
run "ctest -V"
ctest -V
fi
if [ "$BUILDTOOL" = "autotools" ]; then
# build with autotools
run "../autogen.sh"
run "../configure --enable-man --enable-doc --enable-tests ${BUILDARGS}"
run "make -j$(nproc)"
run "sudo make install"
run "./tests/tests -v"
../autogen.sh
run ../configure --enable-man --enable-doc --enable-tests "${BUILDARGS}"
make --jobs="$(nproc)"
sudo make install
./tests/tests -v
fi
+278
View File
@@ -0,0 +1,278 @@
#!/usr/bin/env python3
#
# Copyright (C) 2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
"""
Check if Curl symbols defined in src/core/wee-url.c are matching symbols
defined in Curl (introduced/deprecated/last versions), using this file:
https://github.com/curl/curl/blob/master/docs/libcurl/symbols-in-versions.
File symbols-in-versions must be passed as stdin to the script.
Usage example:
```
URL=https://raw.githubusercontent.com/curl/curl/master/docs/libcurl/symbols-in-versions
curl $URL | ./check_curl_symbols.py
```
Or with Curl repository cloned locally:
```
./check_curl_symbols.py < /path/to/curl/docs/libcurl/symbols-in-versions
```
This script requires Python 3.7+.
"""
from dataclasses import dataclass
from pathlib import Path
from typing import Dict, List, TextIO, Tuple
import re
import sys
SRC_PATH = (
Path(__file__).resolve().parent.parent / "src" / "core" / "wee-url.c"
)
WEECHAT_CURL_MIN_VERSION_RE = (
r"#if LIBCURL_VERSION_NUM >= (?P<hex_min_version>0x[0-9A-F]+) "
r"/\* (?P<str_min_version>[0-9][0-9.]+) \*/"
)
WEECHAT_CURL_MIN_MAX_VERSION_RE = (
r"#if LIBCURL_VERSION_NUM >= (?P<hex_min_version>0x[0-9A-F]+) "
r"&& LIBCURL_VERSION_NUM < (?P<hex_max_version>0x[0-9A-F]+) "
r"/\* (?P<str_min_version>[0-9][0-9.]+) < "
r"(?P<str_max_version>[0-9][0-9.]+) \*/"
)
WEECHAT_ENDIF_RE = r"#endif"
WEECHAT_CURL_CONSTANT_RE = (
r" URL_DEF_CONST\((?P<prefix>[A-Z0-9_]+), (?P<name>[A-Z0-9_]+)\),"
)
WEECHAT_CURL_OPTION_RE = (
r" URL_DEF_OPTION\((?P<name>[A-Z0-9_]+), (?P<type>[A-Z]+)\), "
r"(?P<values>[A-Za-z0-9_]+)\),"
)
CURL_SYMBOL_RE = r"[A-Z][A-Z0-9_]"
@dataclass
class WeechatCurlSymbol:
"""A Curl symbol declared in WeeChat."""
name: str
min_curl: int = 0
max_curl: int = 0
line_no: int = 0
def curl_version_to_int(version: str) -> int:
"""
Convert Curl version as string to integer.
:param version: version as string (eg: "7.87.0")
:return: version as integer, eg: 481024 (== 0x075700, 0x57 == 87)
"""
if version == "-":
return 0
result = 0
items = version.split(".")
if len(items) < 3:
items.append("0")
factor = 0
for item in reversed(items):
result += int(item) << factor
factor += 8
return result
def curl_version_to_str(version: int) -> str:
"""
Convert Curl version as integer to string.
:param version: version as integer, eg: 481024 (0x075700)
:return: version as string, eg: "7.87.0"
"""
if version == 0:
return "-"
result = ""
while version > 0:
result = str(version & 0xFF) + "." + result
version = version >> 8
return result.rstrip(".")
def get_curl_symbols(symbols_file: TextIO) -> Dict[str, Tuple[int, int]]:
"""
Parse file docs/libcurl/symbols-in-versions from Curl repository.
:param symbols_file: file with Curl symbols
:return: Curl symbols as dict: {name: (version_min, version_max)}
"""
curl_symbol_pattern = re.compile(CURL_SYMBOL_RE)
symbols: Dict[str, Tuple[int, int]] = {}
if symbols_file.isatty():
return symbols
for line in symbols_file:
match = re.match(curl_symbol_pattern, line)
if match:
name, intro, deprec, last, *_ = (line + " - -").split()
v_max = last if last != "-" else deprec
symbols[name] = (
curl_version_to_int(intro),
curl_version_to_int(v_max),
)
return symbols
def get_weechat_curl_symbols() -> Tuple[List[WeechatCurlSymbol], int]:
"""
Parse Curl symbols declared in src/core/wee-url.c.
:return: tuple (list_symbols, errors)
"""
# pylint: disable=too-many-locals,too-many-statements
min_version_pattern = re.compile(WEECHAT_CURL_MIN_VERSION_RE)
min_max_version_pattern = re.compile(WEECHAT_CURL_MIN_MAX_VERSION_RE)
endif_pattern = re.compile(WEECHAT_ENDIF_RE)
constant_pattern = re.compile(WEECHAT_CURL_CONSTANT_RE)
option_pattern = re.compile(WEECHAT_CURL_OPTION_RE)
v_min: int = 0
v_max: int = 0
symbols: List[WeechatCurlSymbol] = []
errors: int = 0
line_no: int = 0
with open(SRC_PATH, encoding="utf-8") as src_file:
for line in src_file:
line_no += 1
# min Curl version
match = re.match(min_version_pattern, line)
if match:
hex_min_vers = match["hex_min_version"]
str_min_vers = match["str_min_version"]
v_min, v_max = int(hex_min_vers, 0), 0
comment_min = curl_version_to_int(str_min_vers)
if v_min != comment_min:
print(
f"{SRC_PATH}:{line_no}: min version not matching "
f"the comment: "
f"{hex_min_vers} != {str_min_vers}"
)
errors += 1
continue
# min + max Curl version
match = re.match(min_max_version_pattern, line)
if match:
hex_min_vers = match["hex_min_version"]
hex_max_vers = match["hex_max_version"]
str_min_vers = match["str_min_version"]
str_max_vers = match["str_max_version"]
v_min, v_max = int(hex_min_vers, 0), int(hex_max_vers, 0)
comment_min = curl_version_to_int(str_min_vers)
comment_max = curl_version_to_int(str_max_vers)
if v_min != comment_min:
print(
f"{SRC_PATH}:{line_no}: min version not matching "
f"the comment: "
f"{hex_min_vers} != {str_min_vers}"
)
errors += 1
if v_max != comment_max:
print(
f"{SRC_PATH}:{line_no}: max version not matching "
f"the comment: "
f"{hex_max_vers} != {str_max_vers}"
)
errors += 1
continue
# end of min/max Curl version
match = re.match(endif_pattern, line)
if match:
v_min, v_max = 0, 0
continue
# Curl constant
match = re.match(constant_pattern, line)
if match:
name = f"CURL{match['prefix']}_{match['name']}"
symbols.append(WeechatCurlSymbol(name, v_min, v_max, line_no))
continue
# Curl option
match = re.match(option_pattern, line)
if match:
symbols.append(
WeechatCurlSymbol(match["name"], v_min, v_max, line_no)
)
continue
return symbols, errors
def check_symbols(
weechat_curl_symbols: List[WeechatCurlSymbol],
curl_symbols: Dict[str, Tuple[int, int]],
) -> int:
"""
Check that symbols declared are matching Curl symbols.
:param weechat_curl_symbols: list of Curl symbols in WeeChat
:param curl_symbols: list of all Curl symbols
"""
to_str = curl_version_to_str
errors = 0
for symbol in weechat_curl_symbols:
curl_symbol = curl_symbols.get(symbol.name)
if not curl_symbol:
print(
f"{SRC_PATH}:{symbol.line_no}: symbol {symbol.name} "
f"not found in Curl"
)
errors += 1
continue
if symbol.min_curl != curl_symbol[0]:
print(
f"{SRC_PATH}:{symbol.line_no}: min version for "
f"symbol {symbol.name} differs: "
f"{to_str(symbol.min_curl)} in WeeChat, "
f"{to_str(curl_symbol[0])} in Curl"
)
errors += 1
if symbol.max_curl != curl_symbol[1]:
print(
f"{SRC_PATH}:{symbol.line_no}: max version for "
f"symbol {symbol.name} differs: "
f"{to_str(symbol.max_curl)} in WeeChat, "
f"{to_str(curl_symbol[1])} in Curl"
)
errors += 1
return errors
def main() -> int:
"""Check Curl symbols and return the number of errors found."""
curl_symbols = get_curl_symbols(sys.stdin)
if not curl_symbols:
sys.exit("FATAL: failed to read Curl symbols on standard input")
weechat_curl_symbols, errors = get_weechat_curl_symbols()
errors += check_symbols(weechat_curl_symbols, curl_symbols)
dict_err = {0: "all good!", 1: "1 error"}
print("Curl symbols:", dict_err.get(errors, f"{errors} errors"))
return errors
if __name__ == "__main__":
sys.exit(min(main(), 255))
+50
View File
@@ -0,0 +1,50 @@
#!/bin/sh
#
# Copyright (C) 2023 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
#
# Check shell and Python scripts in WeeChat git repository using these tools:
# - shell scripts: shellcheck
# - Python scripts: flake8 + pylint + bandit
#
# exit on any error
set -e
# check git repository
ROOT_DIR=$(git rev-parse --show-toplevel)
cd "${ROOT_DIR}"
SHELL_SCRIPTS=$(git ls-files "*.sh")
PYTHON_SCRIPTS=$(git ls-files "*.py")
# display commands
set -x
# check shell scripts
for script in $SHELL_SCRIPTS; do
shellcheck "${ROOT_DIR}/$script"
done
# check Python scripts
for script in $PYTHON_SCRIPTS; do
flake8 --max-line-length=100 --builtins=_ "${ROOT_DIR}/$script"
pylint --additional-builtins=_ "${ROOT_DIR}/$script"
bandit "${ROOT_DIR}/$script"
done
+1 -1
View File
@@ -1,4 +1,4 @@
This directory contains patches that must be applied for some old Debian/Ubuntu
versions, in order to build Debian packages.
They are automatically applied by the script "tools/build-debian.sh".
They are automatically applied by the script "tools/build_debian.sh".
+1
View File
@@ -0,0 +1 @@
weechat_debian_buster.patch
@@ -22,7 +22,7 @@
# Updates git version in config-git.h if the output of "git describe" has changed.
#
# Syntax:
# git-version.sh <rootdir> <version> <headerfile>
# set_git_version.sh <rootdir> <version> <headerfile>
#
# rootdir : root directory with WeeChat files (to search .git/ directory)
# version : WeeChat version, for example 0.3.9 or 0.4.0-dev
+2 -2
View File
@@ -32,9 +32,9 @@
# devel-patch the patch version of devel (e.g. 2 for version 1.4.2)
#
WEECHAT_STABLE=3.7.1
WEECHAT_STABLE=3.8
WEECHAT_DEVEL=3.8
WEECHAT_DEVEL_FULL=3.8-rc1
WEECHAT_DEVEL_FULL=3.8
if [ $# -lt 1 ]; then
echo >&2 "Syntax: $0 stable|devel|devel-full|devel-major|devel-minor|devel-patch"
+3 -1
View File
@@ -23,7 +23,7 @@
#
%define name weechat
%define version 3.7.1
%define version 3.8
%define release 1
Name: %{name}
@@ -82,6 +82,8 @@ rm -rf $RPM_BUILD_ROOT
%{_prefix}/share/icons/hicolor/512x512/apps/weechat.png
%changelog
* Sun Jan 08 2023 Sébastien Helleu <flashcode@flashtux.org> 3.8-1
- Released version 3.8
* Fri Oct 21 2022 Sébastien Helleu <flashcode@flashtux.org> 3.7.1-1
- Released version 3.7.1
* Sun Oct 09 2022 Sébastien Helleu <flashcode@flashtux.org> 3.7-1