1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-24 17:18:48 -05:00
curl/lib
Patrick Monnerat 62cf2d180e smtp: fix processing of initial dot in data
RFC 5321 4.1.1.4 specifies the CRLF terminating the DATA command
should be taken into account when chasing the <CRLF>.<CRLF> end marker.
Thus a leading dot character in data is also subject to escaping.

Tests 911 and test server are adapted to this situation.
New tests 951 and 952 check proper handling of initial dot in data.

Closes #2304
2018-02-12 16:43:15 +01:00
..
vauth ntlm: remove unnecessary NULL-check to please scan-build 2017-11-21 09:02:40 +01:00
vtls schannel: fix "no previous prototype" compiler warning 2018-02-09 20:10:25 +01:00
.gitattributes .gitattributes: force shell scripts to LF 2017-04-17 08:32:13 +02:00
.gitignore VC: remove the makefile.vc6 build infra 2017-01-23 14:27:32 +01:00
amigaos.c s/cURL/curl 2016-10-18 13:59:54 +02:00
amigaos.h
arpa_telnet.h
asyn-ares.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
asyn-thread.c time: rename Curl_tvnow to Curl_now 2017-10-25 18:48:05 +02:00
asyn.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
base64.c base64: check for integer overflow on large input 2016-10-31 08:46:35 +01:00
checksrc.pl scripts: allow all perl scripts to be run directly 2018-01-07 15:42:11 -05:00
CMakeLists.txt cmake: Export libcurl and curl targets to use by other cmake projects 2017-10-28 17:22:47 +02:00
config-amigaos.h config-amigaos.h: (embarrassed) made the line shorter 2016-12-18 23:46:17 +01:00
config-dos.h build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
config-mac.h
config-os400.h os400: add missing symbols in config file. 2017-10-19 18:48:21 +01:00
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 conncache: fix a return code [regression] 2017-12-12 23:54:35 +01:00
conncache.h conncache: fix several lock issues 2017-12-05 23:21:02 +01:00
connect.c connect: add support for new TCP Fast Open API on Linux 2017-11-24 10:49:59 +01:00
connect.h Curl_timeleft: change return type to timediff_t 2017-10-28 10:40:51 +02:00
content_encoding.c content_encoding: Add "none" alias to "identity" 2018-02-09 03:11:18 -05:00
content_encoding.h HTTP: support multiple Content-Encodings 2017-11-05 15:09:48 +01:00
cookie.c cookies: remove verbose "cookie size:" output 2018-01-25 17:33:35 +01:00
cookie.h cookies: reject oversized cookies 2017-09-18 22:55:50 +02:00
curl_addrinfo.c curl_addrinfo.c: Allow Unix Domain Sockets to compile under Windows 2018-02-07 21:33:57 +00:00
curl_addrinfo.h unix_socket: add support for abstract unix domain socket 2017-01-13 16:25:20 +01:00
curl_base64.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_config.h.cmake build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
curl_ctype.c curl_ctype: private is*() type macros and functions 2018-01-29 22:56:43 +01:00
curl_ctype.h curl_ctype: private is*() type macros and functions 2018-01-29 22:56:43 +01:00
curl_des.c use *.sourceforge.io and misc URL updates 2017-02-06 19:21:05 +00:00
curl_des.h
curl_endian.c curl_endian: remove unused functions 2017-06-02 13:30:41 +02:00
curl_endian.h curl_endian: remove unused functions 2017-06-02 13:30:41 +02:00
curl_fnmatch.c fnmatch: optimize processing of consecutive *s and ?s pattern characters 2018-02-07 15:01:51 +01:00
curl_fnmatch.h
curl_gethostname.c checksrc: move open braces to comply with function declaration style 2016-11-24 23:58:22 +01:00
curl_gethostname.h
curl_gssapi.c checksrc: white space edits to comply to stricter checksrc 2016-11-24 23:58:22 +01:00
curl_gssapi.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_hmac.h checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
curl_ldap.h
curl_md4.h mbedtls: enable NTLM (& SMB) even if MD4 support is unavailable 2017-04-21 22:42:14 +02:00
curl_md5.h
curl_memory.h spelling fixes 2017-03-26 23:56:23 +02:00
curl_memrchr.c
curl_memrchr.h
curl_multibyte.c
curl_multibyte.h
curl_ntlm_core.c curl_ntlm_core.c: use the limits.h's SIZE_T_MAX if provided 2017-11-27 10:40:31 +01:00
curl_ntlm_core.h ntlm: move NTLM_NEEDS_NSS_INIT define into core NTLM header 2017-09-23 13:58:14 -04:00
curl_ntlm_wb.c ntlm: move NTLM_NEEDS_NSS_INIT define into core NTLM header 2017-09-23 13:58:14 -04: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 sftp: allow quoted commands to use relative paths 2017-12-09 13:38:38 +01:00
curl_printf.h
curl_range.c Curl_range: add check to ensure "from <= to" 2018-01-30 17:23:34 +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: fix a compiler warning 2017-07-28 16:41:29 +02:00
curl_rtmp.h
curl_sasl.c Curl_base64_encode: always call with a real data handle. 2017-09-02 12:49:59 +01:00
curl_sasl.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
curl_sec.h checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
curl_setup_once.h curl_ctype: private is*() type macros and functions 2018-01-29 22:56:43 +01:00
curl_setup.h curl_setup: move the precautionary define of SIZEOF_TIME_T 2018-01-31 23:01:01 +01:00
curl_sha256.h auth: add support for RFC7616 - HTTP Digest access authentication 2017-10-28 16:32:43 +02:00
curl_sspi.c curl_sspi.c: Updated function description comments 2016-08-31 11:57:28 +01:00
curl_sspi.h
curl_threads.c curl_threads: fix MSVC compiler warning 2017-08-01 17:22:30 +02:00
curl_threads.h checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
curlx.h curlx: the timeval functions are no longer provided as curlx_* 2017-10-30 16:41:44 +01:00
dict.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
dict.h
dotdot.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
dotdot.h
easy.c curl_easy_reset: clear digest auth state 2018-01-30 08:17:59 +01:00
easyif.h typedefs: use the full structs in internal code... 2016-06-22 10:28:41 +02:00
escape.c escape.c: error: pointer targets differ in signedness 2017-09-15 16:56:23 +02:00
escape.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
file.c time_t-fixes: remove typecasts to 'long' for info.filetime 2018-02-01 07:50:59 +01:00
file.h
fileinfo.c llist: no longer uses malloc 2017-04-22 11:25:27 +02:00
fileinfo.h llist: no longer uses malloc 2017-04-22 11:25:27 +02:00
firefox-db2pem.sh
formdata.c formdata: use the mime-content type function 2018-02-05 13:50:30 +01:00
formdata.h mime: unified to use the typedef'd mime structs everywhere 2017-09-05 17:33:16 +01:00
ftp.c time_t-fixes: remove typecasts to 'long' for info.filetime 2018-02-01 07:50:59 +01:00
ftp.h ftp: fix CWD when doing multicwd then nocwd on same connection 2017-08-17 10:08:11 +02:00
ftplistparser.c ftplistparser: follow-up cleanup to remove PL_ERROR() 2017-10-25 18:45:14 +02:00
ftplistparser.h
getenv.c win: Basic support for Universal Windows Platform apps 2016-08-21 13:56:22 +02:00
getinfo.c time: support > year 2038 time stamps for system with 32bit long 2018-01-30 08:29:59 +01:00
getinfo.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
gopher.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
gopher.h
hash.c code style: use space after semicolon 2017-09-12 09:50:24 +02:00
hash.h llist: no longer uses malloc 2017-04-22 11:25:27 +02:00
hmac.c checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
hostasyn.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
hostcheck.c configure: check for netinet/in6.h 2017-12-06 00:19:09 +01:00
hostcheck.h
hostip4.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
hostip6.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
hostip.c RESOLVE: output verbose text when trying to set a duplicate name 2017-12-10 00:41:57 +01:00
hostip.h spelling fixes 2017-03-26 23:56:23 +02:00
hostsyn.c resolvers: only include anything if needed 2017-10-27 13:20:13 +02:00
http2.c http2: set DEBUG_HTTP2 to enable more HTTP/2 logging 2018-01-30 23:19:53 +01:00
http2.h http2: fix OOM crash 2017-06-18 23:57:45 +02:00
http_chunks.c http_chunks: don't write chunks twice with CURLOPT_HTTP_TRANSFER_DECODING on 2018-02-12 03:47:36 +01:00
http_chunks.h
http_digest.c lib: fix MSVC compiler warnings 2016-12-21 11:07:26 +01:00
http_digest.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_negotiate.c proxy: Support HTTPS proxy and SOCKS+HTTP(s) 2016-11-24 23:41:44 +01:00
http_negotiate.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
http_ntlm.c ntlm: move NTLM_NEEDS_NSS_INIT define into core NTLM header 2017-09-23 13:58:14 -04:00
http_ntlm.h
http_proxy.c CONNECT: keep close connection flag in http_connect_state struct 2017-12-07 09:48:33 +01:00
http_proxy.h http_proxy: fix build with http and proxy 2017-06-18 15:18:15 +02:00
http.c time_t-fixes: remove typecasts to 'long' for info.filetime 2018-02-01 07:50:59 +01:00
http.h Curl_checkheaders: make it available for IMAP and SMTP too 2017-09-11 00:26:17 +02:00
idn_win32.c
if2ip.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
if2ip.h ipv6_scope: support unique local addresses 2017-08-13 17:52:15 +02:00
imap.c smtp/pop3/imap_get_message: decrease the data length too... 2018-01-15 21:40:52 +01:00
imap.h imap: support PREAUTH 2017-08-23 23:58:49 +02:00
inet_ntop.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
inet_ntop.h
inet_pton.c curl_setup_once: Remove ERRNO/SET_ERRNO macros 2017-07-10 02:09:27 -04:00
inet_pton.h inet_pton: fix include on windows to get prototype 2017-07-05 13:28:19 +02:00
krb5.c krb5: fix a potential access of uninitialized memory 2017-12-13 00:36:39 +01:00
ldap.c ldap: silence clang warning 2017-10-15 15:59:43 +00:00
libcurl.plist
libcurl.rc *.rc: escape non-ASCII/non-UTF-8 character for clarity 2017-01-19 11:35:48 +00:00
libcurl.vers.in
llist.c Curl_llist_remove: fix potential NULL pointer deref 2017-11-21 09:02:40 +01:00
llist.h llist: no longer uses malloc 2017-04-22 11:25:27 +02:00
Makefile.am lib: don't export all symbols, just everything curl_* 2017-12-01 10:32:28 +01:00
makefile.amiga
Makefile.b32 spelling fixes 2017-03-26 23:56:23 +02:00
makefile.dj lib: fix the djgpp build 2017-06-21 07:46:21 +02:00
Makefile.inc Curl_range: commonize FTP and FILE range handling 2018-01-30 17:23:26 +01:00
Makefile.m32 Makefile.m32: allow to customize brotli libs 2017-11-05 23:02:05 +00:00
Makefile.netware build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
Makefile.vxworks
Makefile.Watcom lib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV 2017-06-15 11:11:15 +02:00
md4.c MD(4|5): silence cast-align clang warning 2017-06-02 21:58:48 +02:00
md5.c MD(4|5): silence cast-align clang warning 2017-06-02 21:58:48 +02:00
memdebug.c memdebug: use send/recv signature for curl_dosend/curl_dorecv 2017-10-30 21:27:59 +01:00
memdebug.h memdebug: use send/recv signature for curl_dosend/curl_dorecv 2017-10-30 21:27:59 +01:00
mime.c formdata: use the mime-content type function 2018-02-05 13:50:30 +01:00
mime.h formdata: use the mime-content type function 2018-02-05 13:50:30 +01:00
mk-ca-bundle.pl scripts: allow all perl scripts to be run directly 2018-01-07 15:42:11 -05:00
mk-ca-bundle.vbs mk-ca-bundle.vbs: Fix UTF-8 output 2016-10-30 01:01:29 -04:00
mprintf.c code style: remove wrong uses of multiple spaces 2017-09-12 13:54:54 +02:00
multi.c http2: don't close connection when single transfer is stopped 2018-01-18 22:28:12 +01:00
multihandle.h share: add support for sharing the connection cache 2017-11-09 11:07:44 +01:00
multiif.h expire: remove Curl_expire_latest() 2017-06-08 10:50:47 +02:00
netrc.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
netrc.h
non-ascii.c non-ascii: use iconv() with 'char **' argument 2017-09-15 16:56:23 +02:00
non-ascii.h mime: new MIME API. 2017-09-02 17:47:10 +01:00
nonblock.c Improve code readbility 2017-03-13 23:11:45 +01:00
nonblock.h
nwlib.c checksrc: warn for assignments within if() expressions 2016-12-14 01:29:44 +01:00
nwos.c checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
objnames-test08.sh
objnames-test10.sh
objnames.inc spelling fixes 2017-03-26 23:56:23 +02:00
openldap.c openldap: fix checksrc nits 2017-12-06 14:58:26 +01:00
parsedate.c getdate: return -1 for out of range 2018-02-02 09:40:54 +01:00
parsedate.h
pingpong.c time: rename Curl_tvnow to Curl_now 2017-10-25 18:48:05 +02:00
pingpong.h time: rename Curl_tvnow to Curl_now 2017-10-25 18:48:05 +02:00
pipeline.c PIPELINING_SERVER_BL: cleanup the internal list use 2017-06-19 09:14:49 +02:00
pipeline.h llist: replace Curl_llist_alloc with Curl_llist_init 2017-04-04 15:27:45 +02:00
pop3.c smtp/pop3/imap_get_message: decrease the data length too... 2018-01-15 21:40:52 +01:00
pop3.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
progress.c progress: calculate transfer speed on milliseconds if possible 2018-01-08 23:45:09 +13:00
progress.h progress: Track total times following redirects 2017-08-15 18:58:31 +02:00
rand.c rand: add a clang-analyzer work-around 2017-12-13 00:45:42 +01:00
rand.h rand: treat fake entropy the same regardless of endianness 2017-05-08 23:24:29 +02:00
rtsp.c rtsp: Segfault in rtsp.c when using WRITEDATA 2017-09-15 15:43:48 +02:00
rtsp.h handler: refactor connection checking 2017-06-30 10:17:27 +02:00
security.c build: remove HAVE_LIMITS_H check 2018-01-05 23:34:30 -05:00
select.c select: update comments 2017-10-30 16:40:28 +01:00
select.h select.h: avoid macro redefinition harder 2017-07-05 13:28:28 +02:00
sendf.c include: get netinet/in.h before linux/tcp.h 2017-12-07 08:15:44 +01:00
sendf.h http_proxy: Fix proxy CONNECT hang on pending data 2016-12-19 02:26:52 -05:00
setopt.c time: support > year 2038 time stamps for system with 32bit long 2018-01-30 08:29:59 +01:00
setopt.h setopt: reintroduce non-static Curl_vsetopt() for OS400 support 2018-01-13 01:28:19 +01:00
setup-os400.h checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
setup-vms.h checksrc: move open braces to comply with function declaration style 2016-11-24 23:58:22 +01:00
sha256.c sha256: avoid redefine 2018-02-12 14:18:30 +01:00
share.c curl_share_setopt: va_end was not called if conncache errors 2017-11-10 15:02:11 +01:00
share.h share: add support for sharing the connection cache 2017-11-09 11:07:44 +01:00
sigpipe.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
slist.c
slist.h
smb.c get_posix_time: only check for overflows if they can happen! 2018-02-09 22:13:41 +01:00
smb.h SMB: fix numeric constant suffix and variable types 2018-01-16 22:21:59 +01:00
smtp.c smtp: fix processing of initial dot in data 2018-02-12 16:43:15 +01:00
smtp.h internals: rename the SessionHandle struct to Curl_easy 2016-06-22 10:28:41 +02:00
sockaddr.h
socks_gssapi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
socks_sspi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
socks.c Curl_timeleft: change return type to timediff_t 2017-10-28 10:40:51 +02:00
socks.h proxy: Support HTTPS proxy and SOCKS+HTTP(s) 2016-11-24 23:41:44 +01:00
speedcheck.c timediff: return timediff_t from the time diff functions 2017-10-25 09:54:37 +02:00
speedcheck.h timeval: struct curltime is a struct timeval replacement 2017-07-28 15:51:25 +02:00
splay.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
splay.h code style: remove wrong uses of multiple spaces 2017-09-12 13:54:54 +02:00
ssh-libssh.c time_t-fixes: remove typecasts to 'long' for info.filetime 2018-02-01 07:50:59 +01:00
ssh.c time_t-fixes: remove typecasts to 'long' for info.filetime 2018-02-01 07:50:59 +01:00
ssh.h libssh: added SFTP support 2017-12-01 17:38:37 +01:00
strcase.c strcase: corrected comment header for Curl_strcasecompare() 2017-08-31 11:37:36 +02:00
strcase.h proxy: Support HTTPS proxy and SOCKS+HTTP(s) 2016-11-24 23:41:44 +01:00
strdup.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
strdup.h realloc: use Curl_saferealloc to avoid common mistakes 2016-11-11 10:03:48 +01:00
strerror.c strerror: Preserve Windows error code in some functions 2017-07-11 01:53:23 -04:00
strerror.h idn: switch to libidn2 use and IDNA2008 support 2016-10-31 08:46:35 +01:00
strtok.c
strtok.h
strtoofft.c strtoofft: Remove extraneous null check 2017-10-06 14:49:28 +02:00
strtoofft.h progress: calculate transfer speed on milliseconds if possible 2018-01-08 23:45:09 +13:00
system_win32.c spelling fixes 2017-03-26 23:56:23 +02:00
system_win32.h win32: Introduced centralised verify windows version function 2016-06-04 21:24:09 +01:00
telnet.c time: rename Curl_tvnow to Curl_now 2017-10-25 18:48:05 +02:00
telnet.h
tftp.c Curl_timeleft: change return type to timediff_t 2017-10-28 10:40:51 +02:00
tftp.h
timeval.c timeval: use mach time on MacOS 2017-10-30 15:27:46 +01:00
timeval.h timeval: make timediff_t also work on 32bit windows 2017-10-26 20:22:55 +02:00
transfer.c HTTP: support multiple Content-Encodings 2017-11-05 15:09:48 +01:00
transfer.h Curl_checkheaders: make it available for IMAP and SMTP too 2017-09-11 00:26:17 +02:00
url.c CONNECT_TO: fail attempt to set an IPv6 numerical without IPv6 support 2018-01-23 08:01:04 +01:00
url.h setopt: reintroduce non-static Curl_vsetopt() for OS400 support 2018-01-13 01:28:19 +01:00
urldata.h time: support > year 2038 time stamps for system with 32bit long 2018-01-30 08:29:59 +01:00
version.c libssh: added SFTP support 2017-12-01 17:38:37 +01:00
warnless.c CURL_SIZEOF_LONG: removed, use only SIZEOF_LONG 2017-08-17 10:27:00 +02:00
warnless.h
wildcard.c llist: replace Curl_llist_alloc with Curl_llist_init 2017-04-04 15:27:45 +02:00
wildcard.h llist: replace Curl_llist_alloc with Curl_llist_init 2017-04-04 15:27:45 +02:00
x509asn1.c x509asn1: fix implicit-fallthrough warning with GCC 7 2017-06-03 20:10:52 +02:00
x509asn1.h checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00