Go to file
Jay Satiro 765e060796 curl_multibyte: Remove local encoding fallbacks
- If the UTF-8 to UTF-16 conversion fails in Windows Unicode builds then
  no longer fall back to assuming the string is in a local encoding.

Background:

Some functions in Windows Unicode builds must convert UTF-8 to UTF-16 to
pass to the Windows CRT API wide-character functions since in Windows
UTF-8 is not a valid locale (or at least 99% of the time right now).

Prior to this change if the Unicode encoding conversion failed then
libcurl would assume, for backwards compatibility with applications that
may have written their code for non-Unicode builds, attempt to convert
the string from local encoding to UTF-16.

That type of "best effort" could theoretically cause some type of
security or other problem if a string that was locally encoded was also
valid UTF-8, and therefore an unexpected UTF-8 to UTF-16 conversion
could occur.

Ref: https://github.com/curl/curl/pull/7246

Closes https://github.com/curl/curl/pull/7257
2021-06-21 01:57:16 -04:00
.circleci
.github
.muse
CMake configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
docs --socks4[a]: clarify where the host name is resolved 2021-06-17 23:07:39 +02:00
include curl_url_set: reject spaces in URLs w/o CURLU_ALLOW_SPACE 2021-06-15 10:49:49 +02:00
lib curl_multibyte: Remove local encoding fallbacks 2021-06-21 01:57:16 -04:00
m4 configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
packages
plan9
projects
scripts
src
tests hyper: propagate errors back up from read callbacks 2021-06-17 08:19:31 +02:00
winbuild winbuild/README: VC should be set to 6 'or larger' 2021-06-14 16:26:25 +02:00
zuul.d zuul: add two missing CI jobs 2021-06-15 17:13:50 +02:00
.azure-pipelines.yml
.cirrus.yml
.dcignore
.dir-locals.el
.gitattributes
.gitignore
.lgtm.yml
.mailmap
.travis.yml travis: remove jobs that have migrated to zuul 2021-06-14 10:55:32 +02:00
acinclude.m4
appveyor.yml
buildconf
buildconf.bat
CHANGES
CMakeLists.txt configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
configure.ac configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
COPYING
curl-config.in
GIT-INFO
libcurl.pc.in
MacOSX-Framework
Makefile.am
Makefile.dist
maketgz
README
README.md
RELEASE-NOTES RELEASE-NOTES: synced 2021-06-15 10:08:09 +02:00
SECURITY.md

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Azure DevOps Build Status Cirrus Build Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ Codacy Badge Fuzzing Status

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You can find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms.

Contact

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

Commercial support

For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl: https://curl.se/support.html

Website

Visit the curl website for the latest news and downloads.

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

Security problems

Report suspected security problems via our HackerOne page and not in public!

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]