Age | Commit message (Collapse) | Author |
|
Now that the form API is deprecated and not used anymore in curl tool,
a lot of its features left untested. Test 650 attempts to check all these
features not tested elsewhere.
|
|
Use and generate CURL_ZERO_TERMINATED in curl tool and tests.
|
|
Additional mime-specific tests.
Existing tests updated to reflect small differences (Expect: 100-continue,
data size change due to empty lines, etc).
Option -F headers= keyword added to tests.
test1135 disabled until the entry point order change is resolved.
New example smtp-mime.
Examples postit2 and multi-post converted from form API to mime API.
|
|
Available in HTTP, SMTP and IMAP.
Deprecates the FORM API.
See CURLOPT_MIMEPOST.
Lib code and associated documentation.
|
|
These were missed in commit c468c27b.
|
|
This ensures that global data allocations are freed so Valgrind stays
happy. This was a problem with at least PolarSSL and mbedTLS.
|
|
|
|
With warning level 4, MSVC warns about assignments within conditional
expressions. Change the while loop to a do-while loop to fix this. This
change is also consistent with CODE_STYLE.md.
|
|
This is a follow-up to af02162 which removed (SET_)ERRNO macros. That
commit was an earlier draft that I committed by mistake, which was then
remedied by a5834e5 and e909de6, and now this commit. With this commit
there is now no difference between the current code and the changes that
were approved in the final draft.
Thanks-to: Max Dymond, Marcel Raad, Daniel Stenberg, Gisle Vanem
Ref: https://github.com/curl/curl/pull/1589
|
|
Closes https://github.com/curl/curl/pull/1671
|
|
... since CURLOPT_URL should follow the same rules as other options:
they remain set until changed or cleared.
Added test 1551 to verify.
Fixes #1631
Closes #1632
Reported-by: Pavel Rochnyak
|
|
The test.h file is no longer in the same directory as the source file,
so that directory needs to be added to the include path.
Fixes #1627
Closes #1628
|
|
... instead of having the generated code checked in. This saves space in
the tarball but primarily automatically adapts to newly added options.
Closes #1614
|
|
|
|
The integer literal 3123123123 doesn't fit into a 32-bit signed
integer, so GCC with 32-bit long warns in C90 mode:
this decimal constant is unsigned only in ISO C90 [enabled by default]
Fix this by using ULONG_MAX, which should fit in any curl_off_t and has
the correct suffix to not issue any warnings.
Also adds the missing CURLOPT_REQUEST_TARGET from commit
9b167fd090f596eac828817d48c247eeae53407f.
Closes https://github.com/curl/curl/pull/1611
|
|
|
|
Declare TU-local variables static.
|
|
Closes #1588
|
|
Also added return value checks to make sure no unexpected return codes
are used.
|
|
The list was freed incorrectly since the llist refactor of
cbae73e1dd959. Added test 1550 to verify that it works and avoid future
regressions.
Reported-by: Pascal Terjan
Fixes #1584
Closes #1585
|
|
|
|
Both these tests run the same underlying test code: libntlmconnect.c -
this test code made some assumptions about socket ordering when it used
curl_easy_fdset() and when we changed timing or got accidental changes
in libcurl the tests would fail.
The tests verify that the different transfers keep using the same
connections, which I now instead made sure by adding the number of bytes
each transfer gets and then verifies that they always get the same
amount as when these tests worked.
Closes #1576
|
|
Rely entirely on curl/system.h now.
Introduced in Aug 2008 with commit 14240e9e109f. Now gone.
Fixes #1456
|
|
|
|
|
|
Reported-by: Marcel Raad
Bug: https://github.com/curl/curl/commit/cccac4fb2b20d6ed87da7978408c3ecacc464fe4#commitcomment-22453387
|
|
|
|
|
|
|
|
mk-lib1521.pl generates a test program (lib1521.c) that calls
curl_easy_setopt() for every known option with a few typical values to
make sure they work (ignoring the return codes).
Some small changes were necessary to avoid asserts and NULL accesses
when doing this.
The perl script needs to be manually rerun when we add new options.
Closes #1543
|
|
GCC 7 complained:
‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
|
|
|
|
|
|
Closes #1530
|
|
Use CURLMcode for variable 'res' and cast to int where necessary
instead of the other way around. Other tests do the same.
This fixes the following clang warning:
lib583.c:68:15: warning: cast from function call of type 'CURLMcode' to
non-matching type 'int' [-Wbad-function-cast]
|
|
|
|
- Test curl_msnprintf negative int width arg using INT_MIN instead of
1 << 31 which is undefined behavior.
Closes https://github.com/curl/curl/issues/1516
|
|
Fix bugs and compiler warnings on systems with 32-bit long and
64-bit time_t.
Reviewed-by: Daniel Stenberg
Closes #1499
|
|
|
|
Include the test number in the names of files written out by tests to
reduce the chance of accidental duplication and to make it more clear
which test is associated with which file.
|
|
long is 32 bits while size_t is 64 bits on MinGW-w64, so
typecheck-gcc.h complains when using size_t for a long option.
Also, curl_socket_t is unsigned long long rather than int.
|
|
Avoids narrowing conversion warnings because rlim_t is usually
unsigned long.
Closes https://github.com/curl/curl/pull/1469
|
|
Avoid casting string literals to non-const char *.
|
|
Windows does not allow setting the locale with environment variables (as
the test attempted to do), so the test failed when run with a user
locale that has a comma as radixchar. Changed the test to call
setlocale() explicitly to ensure that a known working locale is set even
on Windows.
|
|
|
|
This fixes missing-variable-declarations warnings when building with
clang.
|
|
|
|
Ref: https://github.com/curl/curl/issues/1408
Closes https://github.com/curl/curl/pull/1412
|
|
... the sizes and the formatting strings are what's really important and
avoids problems with int64_t vs "long long".
Bug: https://curl.haxx.se/mail/lib-2017-04/0019.html
|
|
system.h is aimed to replace curlbuild.h at a later point in time when
we feel confident system.h works sufficiently well.
curl/system.h is currently used in parallel with curl/curlbuild.h
curl/system.h determines a data sizes, data types and include file
status based on available preprocessor defines instead of getting
generated at build-time. This, in order to avoid relying on a build-time
generated file that makes it complicated to do 32 and 64 bit bields from
the same installed set of headers.
Test 1541 verifies that system.h comes to the same conclusion that
curlbuild.h offers.
Closes #1373
|