curl/lib
Daniel Stenberg 9307c219ad
urlapi: add CURLU_GUESS_SCHEME and fix hostname acceptance
In order for this API to fully work for libcurl itself, it now offers a
CURLU_GUESS_SCHEME flag that makes it "guess" scheme based on the host
name prefix just like libcurl always did. If there's no known prefix, it
will guess "http://".

Separately, it relaxes the check of the host name so that IDN host names
can be passed in as well.

Both these changes are necessary for libcurl itself to use this API.

Assisted-by: Daniel Gustafsson
Closes #3018
2018-09-19 23:21:52 +02:00
..
vauth cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
vtls nss: try to connect even if libnssckbi.so fails to load 2018-09-19 16:58:33 +02:00
.gitattributes
.gitignore
amigaos.c
amigaos.h
arpa_telnet.h
asyn-ares.c ares: check for NULL in completed-callback 2018-07-11 23:41:24 +02:00
asyn-thread.c asyn-thread: Remove unused macro 2018-08-09 12:37:19 +02:00
asyn.h
base64.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
checksrc.pl checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
CMakeLists.txt CMake: CMake config files are defining CURL_STATICLIB for static builds 2018-08-15 13:45:27 +02:00
config-amigaos.h
config-dos.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-mac.h
config-os400.h
config-riscos.h
config-symbian.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-tpf.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-vxworks.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-win32.h curl_addrinfo.c: Allow Unix Domain Sockets to compile under Windows 2018-02-07 21:33:57 +00:00
config-win32ce.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
conncache.c vtls: set conn->data when closing TLS 2018-07-22 21:17:27 +02:00
conncache.h url: check Curl_conncache_add_conn return code 2018-06-25 16:36:10 +02:00
connect.c url: fix dangling conn->data pointer 2018-06-21 09:44:04 +02:00
connect.h url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT 2018-02-20 17:51:43 -05:00
content_encoding.c content_encoding: accept up to 4 unknown trailer bytes after raw deflate data 2018-07-12 22:46:15 +02:00
content_encoding.h HTTP: support multiple Content-Encodings 2017-11-05 15:09:48 +01:00
cookie.c cookies: Move failure case label to end of function 2018-09-10 08:33:08 +02:00
cookie.h cookies: support creation-time attribute for cookies 2018-08-31 14:11:37 +02:00
curl_addrinfo.c curl_addrinfo: use same #ifdef conditions in source as header 2018-06-01 14:40:35 +02:00
curl_addrinfo.h
curl_base64.h
curl_config.h.cmake cmake: allow multiple SSL backends 2018-06-21 09:48:26 +02:00
curl_ctype.c URL: fix ASCII dependency in strcpy_url and strlen_url 2018-05-03 15:19:20 +02:00
curl_ctype.h URL: fix ASCII dependency in strcpy_url and strlen_url 2018-05-03 15:19:20 +02:00
curl_des.c
curl_des.h
curl_endian.c
curl_endian.h
curl_fnmatch.c spelling fixes 2018-06-03 12:14:45 +00:00
curl_fnmatch.h
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c curl_gssapi: make sure this file too uses our *printf() 2018-02-13 22:55:29 +01:00
curl_gssapi.h
curl_hmac.h
curl_ldap.h
curl_md4.h
curl_md5.h
curl_memory.h
curl_memrchr.c Curl_memchr: zero length input can't match 2018-04-24 08:03:23 +02:00
curl_memrchr.h
curl_multibyte.c
curl_multibyte.h
curl_ntlm_core.c Curl_ntlm_core_mk_nt_hash: return error on too long password 2018-09-03 07:42:37 +02:00
curl_ntlm_core.h
curl_ntlm_wb.c ntlm_wb: Fix memory leaks in ntlm_wb_response 2018-09-13 10:06:05 +02:00
curl_ntlm_wb.h
curl_path.c sftp: allow quoted commands to use relative paths 2017-12-09 13:38:38 +01:00
curl_path.h lib/curl_path.h: add #ifdef header guard 2018-03-20 15:00:09 +01:00
curl_printf.h
curl_range.c Curl_range: fix FTP-only and FILE-only builds 2018-03-11 20:33:04 +01:00
curl_range.h Curl_range: commonize FTP and FILE range handling 2018-01-30 17:23:26 +01:00
curl_rtmp.c
curl_rtmp.h
curl_sasl.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
curl_sasl.h
curl_sec.h
curl_setup_once.h curl_ctype: private is*() type macros and functions 2018-01-29 22:56:43 +01:00
curl_setup.h vtls: add a MesaLink vtls backend 2018-09-13 08:26:37 +02:00
curl_sha256.h
curl_sspi.c lib: fix gcc8 warning on Windows 2018-09-12 08:52:40 +00:00
curl_sspi.h
curl_threads.c curl_threads: silence bad-function-cast warning 2018-08-24 19:20:16 +02:00
curl_threads.h
curlx.h
dict.c all: s/int/size_t cleanup 2018-09-01 10:40:42 +02:00
dict.h
doh.c doh: minor edits to please Coverity 2018-09-07 09:26:08 +02:00
doh.h DOH: add test case 1650 and 2100 2018-09-06 09:17:25 +02:00
dotdot.c
dotdot.h
easy.c curl_easy_upkeep: removed 'conn' from the name 2018-09-07 13:43:26 +02:00
easyif.h
escape.c URL-API 2018-09-08 15:36:11 +02:00
escape.h URL-API 2018-09-08 15:36:11 +02:00
file.c CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size 2018-09-06 10:53:39 +02:00
file.h
fileinfo.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
fileinfo.h ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
firefox-db2pem.sh
formdata.c curl-compilers: enable -Wimplicit-fallthrough=4 for GCC 2018-08-21 18:53:45 +02:00
formdata.h
ftp.c ftp: include command in Curl_ftpsend sendbuffer 2018-09-13 10:10:18 +02:00
ftp.h ftplistparser: renamed some members and variables 2018-04-23 22:52:48 +02:00
ftplistparser.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
ftplistparser.h
getenv.c
getinfo.c getinfo: add microsecond precise timers for various intervals 2018-05-17 13:41:04 +02:00
getinfo.h
gopher.c all: s/int/size_t cleanup 2018-09-01 10:40:42 +02:00
gopher.h
hash.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
hash.h
hmac.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
hostasyn.c setopt: add CURLOPT_DOH_URL 2018-09-06 09:17:17 +02:00
hostcheck.c schannel: add support for CURLOPT_CAINFO 2018-04-18 03:59:47 -04:00
hostcheck.h
hostip4.c
hostip6.c getnameinfo: not used 2018-06-27 13:49:18 +02:00
hostip.c setopt: add CURLOPT_DOH_URL 2018-09-06 09:17:17 +02:00
hostip.h setopt: add CURLOPT_DOH_URL 2018-09-06 09:17:17 +02:00
hostsyn.c
http2.c http: made Curl_add_buffer functions take a pointer-pointer 2018-09-16 23:22:37 +02:00
http2.h http2: several cleanups 2018-07-20 22:58:42 +02:00
http_chunks.c ctype: restore character classification for non-ASCII platforms 2018-04-24 14:36:06 +02:00
http_chunks.h
http_digest.c
http_digest.h
http_negotiate.c cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
http_negotiate.h
http_ntlm.c curl-compilers: enable -Wimplicit-fallthrough=4 for GCC 2018-08-21 18:53:45 +02:00
http_ntlm.h
http_proxy.c http: made Curl_add_buffer functions take a pointer-pointer 2018-09-16 23:22:37 +02:00
http_proxy.h
http.c http: made Curl_add_buffer functions take a pointer-pointer 2018-09-16 23:22:37 +02:00
http.h http: made Curl_add_buffer functions take a pointer-pointer 2018-09-16 23:22:37 +02:00
idn_win32.c
if2ip.c
if2ip.h
imap.c URL-API 2018-09-08 15:36:11 +02:00
imap.h imap: change from "FETCH" to "UID FETCH" 2018-09-06 10:57:48 +02:00
inet_ntop.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
inet_ntop.h
inet_pton.c
inet_pton.h
krb5.c sendf: use failf() rather than Curl_failf() 2018-09-13 10:48:21 +02:00
ldap.c boringssl + schannel: undef X509_NAME in lib/schannel.h 2018-06-08 23:25:17 +02:00
libcurl.plist
libcurl.rc
libcurl.vers.in
llist.c Curl_llist_remove: fix potential NULL pointer deref 2017-11-21 09:02:40 +01:00
llist.h
Makefile.am lib/Makefile: only do symbol hiding if told to 2018-08-03 23:40:34 +02:00
makefile.amiga
makefile.dj
Makefile.inc configure.ac: add a MesaLink vtls backend 2018-09-13 08:26:23 +02:00
Makefile.m32 Makefile.m32: allow to customize brotli libs 2017-11-05 23:02:05 +00:00
Makefile.netware spelling fixes 2018-06-03 12:14:45 +00:00
Makefile.vxworks
Makefile.Watcom
md4.c secure Openwall URLs 2018-09-14 18:48:35 +00:00
md5.c secure Openwall URLs 2018-09-14 18:48:35 +00:00
memdebug.c
memdebug.h getnameinfo: not used 2018-06-27 13:49:18 +02:00
mime.c mime: check Curl_rand_hex's return code 2018-07-28 22:36:15 +02:00
mime.h formdata: use the mime-content type function 2018-02-05 13:50:30 +01:00
mk-ca-bundle.pl mk-ca-bundle.pl: make -u delete certdata.txt if found not changed 2018-06-14 00:02:20 +02:00
mk-ca-bundle.vbs spelling fixes 2018-02-23 23:29:01 +00:00
mprintf.c
multi.c curl_multi_wait: call getsock before figuring out timeout 2018-09-18 15:39:28 +02:00
multihandle.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
multiif.h multi: improved pending transfers handling => improved performance 2018-03-16 23:45:59 +01:00
netrc.c netrc: use a larger buffer 2018-06-23 22:50:31 +02:00
netrc.h
non-ascii.c non-ascii: fix implicit declaration warning 2018-02-15 15:52:41 -05:00
non-ascii.h
nonblock.c
nonblock.h
nwlib.c all: Refactor malloc+memset to use calloc 2018-04-15 03:00:37 -04:00
nwos.c
objnames-test08.sh
objnames-test10.sh
objnames.inc spelling fixes 2018-02-23 23:29:01 +00:00
openldap.c openldap: fix for NULL return from ldap_get_attribute_ber() 2018-03-23 23:58:25 +01:00
parsedate.c parsedate: support UT timezone 2018-03-19 19:22:42 +01:00
parsedate.h
pingpong.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
pingpong.h
pipeline.c http2: several cleanups 2018-07-20 22:58:42 +02:00
pipeline.h
pop3.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
pop3.h
progress.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
progress.h progress: remove a set of unused defines 2018-06-13 23:38:40 +02:00
psl.c psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
psl.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
rand.c rand: fix typo 2018-05-16 02:21:06 -04:00
rand.h
rtsp.c http: made Curl_add_buffer functions take a pointer-pointer 2018-09-16 23:22:37 +02:00
rtsp.h
security.c memory: add missing curl_printf header 2018-09-17 09:28:10 +02:00
select.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
select.h
sendf.c Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
sendf.h Curl_debug: remove dead printhost code 2018-06-12 16:00:27 +02:00
setopt.c curl_easy_upkeep: removed 'conn' from the name 2018-09-07 13:43:26 +02:00
setopt.h setopt: reintroduce non-static Curl_vsetopt() for OS400 support 2018-01-13 01:28:19 +01:00
setup-os400.h
setup-vms.h
sha256.c http: fix for tiny "HTTP/0.9" response 2018-08-13 23:16:01 +02:00
share.c psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
share.h psl: use latest psl and refresh it periodically 2018-05-28 20:37:14 +02:00
sigpipe.h
slist.c
slist.h
smb.c CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size 2018-09-06 10:53:39 +02:00
smb.h smb: fix memory leak on early failure 2018-07-30 17:59:36 +02:00
smtp.c CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size 2018-09-06 10:53:39 +02:00
smtp.h
sockaddr.h
socks_gssapi.c
socks_sspi.c
socks.c all: s/int/size_t cleanup 2018-09-01 10:40:42 +02:00
socks.h
speedcheck.c
speedcheck.h
splay.c cppcheck: fix warnings 2018-06-11 11:14:48 +02:00
splay.h
ssh-libssh.c sftp: fix indentation 2018-09-04 14:44:47 +00:00
ssh.c sftp: don't send post-qoute sequence when retrying a connection 2018-09-04 11:00:17 +02:00
ssh.h all: s/int/size_t cleanup 2018-09-01 10:40:42 +02:00
strcase.c
strcase.h Remove unused definitions 2018-08-21 18:53:43 +02:00
strdup.c
strdup.h
strerror.c ssl: deprecate CURLE_SSL_CACERT in favour of a unified error code 2018-09-06 08:27:15 +02:00
strerror.h
strtok.c
strtok.h
strtoofft.c lib: silence null-dereference warnings 2018-04-09 15:54:52 +02:00
strtoofft.h progress: calculate transfer speed on milliseconds if possible 2018-01-08 23:45:09 +13:00
system_win32.c Silence GCC 8 cast-function-type warnings 2018-08-11 19:19:03 +02:00
system_win32.h
telnet.c curl-compilers: enable -Wimplicit-fallthrough=4 for GCC 2018-08-21 18:53:45 +02:00
telnet.h
tftp.c all: s/int/size_t cleanup 2018-09-01 10:40:42 +02:00
tftp.h
timeval.c build: add picky compiler warning flags for gcc 6 and 7 2018-04-07 11:18:58 +02:00
timeval.h
transfer.c URL-API 2018-09-08 15:36:11 +02:00
transfer.h all: s/int/size_t cleanup 2018-09-01 10:40:42 +02:00
url.c url.c: fix comment typo and indentation 2018-09-08 23:28:04 +02:00
url.h URL-API 2018-09-08 15:36:11 +02:00
urlapi-int.h URL-API 2018-09-08 15:36:11 +02:00
urlapi.c urlapi: add CURLU_GUESS_SCHEME and fix hostname acceptance 2018-09-19 23:21:52 +02:00
urldata.h upkeep: add a connection upkeep API: curl_easy_conn_upkeep() 2018-09-07 09:45:29 +02:00
version.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
warnless.c
warnless.h Silence GCC 8 cast-function-type warnings 2018-08-11 19:19:03 +02:00
wildcard.c ftplistparser: keep state between invokes 2018-04-24 14:23:20 +02:00
wildcard.h ftplistparser: renamed some members and variables 2018-04-23 22:52:48 +02:00
x509asn1.c x509asn1: return CURLE_PEER_FAILED_VERIFICATION on failure to parse cert 2018-09-06 08:27:15 +02:00
x509asn1.h