curl/lib
Daniel Stenberg d5c738c608
strparse: string parsing helper functions
Designed to aid converting off from sscanf parsers. sscanf is hard to
use right, easy to mess up and often makes for sloppy error checking.

The new parsers allow more exact and pedandic parsing.

This new set of functions should be possible to use (and extend) and
switch over other libcurl parser code to use going forward.

Adapts the following to use the new functions:

- altsvc.c
- hsts.c
- http_aws_sigv4.c

Bonus: fewer memory copies, fewer stack buffers.

Test: Unit test1664

Docs: docs/internals/STRPARSE.md

Closes #15692
2024-12-12 16:00:52 +01:00
..
vauth digest: produce a shorter cnonce in Digest headers 2024-12-04 15:34:25 +01:00
vquic
vssh
vtls sectransp: free certificate on error 2024-12-11 13:09:44 +01:00
.checksrc
.gitattributes
.gitignore
altsvc.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
altsvc.h
amigaos.c
amigaos.h
arpa_telnet.h
asyn-ares.c
asyn-thread.c async-thread: avoid closing eventfd twice 2024-12-12 15:58:47 +01:00
asyn.h
base64.c
bufq.c
bufq.h
bufref.c
bufref.h
c-hyper.c
c-hyper.h
cf-h1-proxy.c
cf-h1-proxy.h
cf-h2-proxy.c
cf-h2-proxy.h
cf-haproxy.c
cf-haproxy.h
cf-https-connect.c
cf-https-connect.h
cf-socket.c
cf-socket.h
cfilters.c
cfilters.h
CMakeLists.txt cmake: set CURL_STATICLIB for static lib when SHARE_LIB_OBJECT=OFF 2024-12-05 20:52:01 +01:00
config-amigaos.h
config-dos.h
config-mac.h
config-os400.h
config-plan9.h
config-riscos.h
config-win32.h
config-win32ce.h
conncache.c
conncache.h conncache: result_cb comment removed from function docs 2024-12-11 13:07:18 +01:00
connect.c
connect.h
content_encoding.c build: fix clang-cl builds, add CI job 2024-10-30 23:15:32 +01:00
content_encoding.h
cookie.c cookie: parse only the exact expire date 2024-12-11 09:31:53 +01:00
cookie.h
curl_addrinfo.c
curl_addrinfo.h
curl_base64.h
curl_config.h.cmake
curl_ctype.h strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
curl_des.c
curl_des.h
curl_endian.c
curl_endian.h
curl_fnmatch.c
curl_fnmatch.h
curl_get_line.c
curl_get_line.h
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c
curl_gssapi.h
curl_hmac.h
curl_krb5.h
curl_ldap.h
curl_md4.h
curl_md5.h
curl_memory.h
curl_memrchr.c
curl_memrchr.h
curl_multibyte.c
curl_multibyte.h
curl_ntlm_core.c
curl_ntlm_core.h
curl_printf.h
curl_range.c
curl_range.h
curl_rtmp.c
curl_rtmp.h
curl_sasl.c
curl_sasl.h
curl_setup_once.h
curl_setup.h
curl_sha256.h
curl_sha512_256.c
curl_sha512_256.h
curl_sspi.c
curl_sspi.h
curl_threads.c
curl_threads.h
curl_trc.c
curl_trc.h
curlx.h
cw-out.c
cw-out.h
dict.c
dict.h
dllmain.c
doh.c
doh.h
dynbuf.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
dynbuf.h
dynhds.c
dynhds.h
easy_lock.h
easy.c
easygetopt.c
easyif.h
easyoptions.c
easyoptions.h
escape.c
escape.h
file.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
file.h
fileinfo.c
fileinfo.h
fopen.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
fopen.h
formdata.c
formdata.h
ftp.c
ftp.h
ftplistparser.c
ftplistparser.h
functypes.h
getenv.c
getinfo.c
getinfo.h
gopher.c
gopher.h
hash.c
hash.h
headers.c
headers.h
hmac.c
hostasyn.c
hostip4.c
hostip6.c
hostip.c hostip: don't use the resolver for FQDN localhost 2024-12-05 17:16:34 -05:00
hostip.h
hostsyn.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
hsts.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
hsts.h strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
http1.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
http1.h
http2.c
http2.h nghttp2: use custom memory functions 2024-11-08 23:20:32 +01:00
http_aws_sigv4.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
http_aws_sigv4.h
http_chunks.c
http_chunks.h
http_digest.c src/lib: remove redundant ternary operators 2024-10-29 08:18:30 +01:00
http_digest.h
http_negotiate.c http_negotiate: allow for a one byte larger channel binding buffer 2024-12-05 23:09:28 +01:00
http_negotiate.h
http_ntlm.c
http_ntlm.h
http_proxy.c
http_proxy.h
http.c
http.h
idn.c
idn.h
if2ip.c
if2ip.h
imap.c
imap.h
inet_ntop.c
inet_ntop.h
inet_pton.c
inet_pton.h
krb5.c
ldap.c
libcurl.def
libcurl.rc
libcurl.vers.in
llist.c
llist.h
macos.c tidy-up: misc build, tests, lib/macos.c 2024-08-16 16:05:36 +02:00
macos.h
Makefile.am
Makefile.inc strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
Makefile.mk
Makefile.soname
md4.c
md5.c
memdebug.c
memdebug.h
mime.c
mime.h
mprintf.c mprintf: fix the integer overflow checks 2024-12-06 16:38:30 +01:00
mqtt.c
mqtt.h
multi.c
multihandle.h
multiif.h
netrc.c
netrc.h
nonblock.c
nonblock.h
noproxy.c
noproxy.h
openldap.c
optiontable.pl
parsedate.c
parsedate.h
pingpong.c
pingpong.h
pop3.c
pop3.h
progress.c
progress.h
psl.c
psl.h
rand.c
rand.h
rename.c
rename.h
request.c
request.h
rtsp.c
rtsp.h
select.c
select.h multi: prepare multi_wait() for future shutdown usage 2024-06-10 13:11:05 +02:00
sendf.c
sendf.h
setopt.c
setopt.h
setup-os400.h
setup-vms.h
setup-win32.h
sha256.c
share.c
share.h
sigpipe.h
slist.c
slist.h
smb.c
smb.h
smtp.c
smtp.h
sockaddr.h
socketpair.c
socketpair.h
socks_gssapi.c
socks_sspi.c
socks.c
socks.h
speedcheck.c
speedcheck.h
splay.c
splay.h
strcase.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strcase.h
strdup.c
strdup.h
strerror.c
strerror.h
strparse.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
strparse.h strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
strtok.c
strtok.h
strtoofft.c
strtoofft.h
system_win32.c
system_win32.h
telnet.c
telnet.h
tftp.c
tftp.h
timediff.c
timediff.h
timeval.c
timeval.h
transfer.c
transfer.h multi: convert Curl_follow to static multi_follow 2024-10-11 12:26:36 +02:00
url.c strparse: string parsing helper functions 2024-12-12 16:00:52 +01:00
url.h
urlapi-int.h
urlapi.c
urldata.h
version_win32.c
version_win32.h
version.c tidy-up: indentation [ci skip] 2024-11-15 22:05:06 +01:00
warnless.c
warnless.h warnless: remove curlx_sktosi and curlx_sitosk 2024-10-05 00:28:06 +02:00
ws.c
ws.h