mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
weirdo hack to fix debian bug report 278691:
'curl -v writes debugging to its network socket if stderr is closed'
This commit is contained in:
parent
3347ced899
commit
facfa19cdd
9
CHANGES
9
CHANGES
@ -6,6 +6,15 @@
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
Daniel (8 November 2004)
|
||||||
|
- Ian Gulliver reported in debian bug report #278691: if curl is invoked in an
|
||||||
|
environment where stderr is closed the -v output will still be sent to file
|
||||||
|
descriptor 2 which then might be the network socket handle! Now we have a
|
||||||
|
weird hack instead that attempts to make sure that file descriptor 2 is
|
||||||
|
opened (with a call to pipe()) before libcurl is called to do the transfer.
|
||||||
|
configure now checks for pipe() and systems without pipe don't get the weird
|
||||||
|
hack done.
|
||||||
|
|
||||||
Daniel (5 November 2004)
|
Daniel (5 November 2004)
|
||||||
- Tim Sneddon made libcurl send no more than 64K in a single first chunk when
|
- Tim Sneddon made libcurl send no more than 64K in a single first chunk when
|
||||||
doing a huge POST on VMS, as this is a system limitation. Default on general
|
doing a huge POST on VMS, as this is a system limitation. Default on general
|
||||||
|
@ -1227,6 +1227,7 @@ AC_CHECK_FUNCS( strtoll \
|
|||||||
basename \
|
basename \
|
||||||
setlocale \
|
setlocale \
|
||||||
ftruncate \
|
ftruncate \
|
||||||
|
pipe \
|
||||||
poll,
|
poll,
|
||||||
dnl if found
|
dnl if found
|
||||||
[],
|
[],
|
||||||
|
@ -109,3 +109,9 @@
|
|||||||
|
|
||||||
/* Define to 1 if you have the `gettimeofday' function. */
|
/* Define to 1 if you have the `gettimeofday' function. */
|
||||||
#undef HAVE_GETTIMEOFDAY
|
#undef HAVE_GETTIMEOFDAY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `ftruncate' function. */
|
||||||
|
#undef HAVE_FTRUNCATE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `pipe' function. */
|
||||||
|
#undef HAVE_PIPE
|
||||||
|
23
src/main.c
23
src/main.c
@ -3771,12 +3771,35 @@ operate(struct Configurable *config, int argc, char *argv[])
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void checkfds(void);
|
||||||
|
|
||||||
|
static void checkfds(void)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_PIPE
|
||||||
|
int fd[2] = { STDIN_FILENO, STDIN_FILENO };
|
||||||
|
while( fd[0] == STDIN_FILENO ||
|
||||||
|
fd[0] == STDOUT_FILENO ||
|
||||||
|
fd[0] == STDERR_FILENO ||
|
||||||
|
fd[1] == STDIN_FILENO ||
|
||||||
|
fd[1] == STDOUT_FILENO ||
|
||||||
|
fd[1] == STDERR_FILENO )
|
||||||
|
pipe(fd);
|
||||||
|
|
||||||
|
close(fd[0]);
|
||||||
|
close(fd[1]);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
struct Configurable config;
|
struct Configurable config;
|
||||||
memset(&config, 0, sizeof(struct Configurable));
|
memset(&config, 0, sizeof(struct Configurable));
|
||||||
|
|
||||||
|
checkfds();
|
||||||
|
|
||||||
res = operate(&config, argc, argv);
|
res = operate(&config, argc, argv);
|
||||||
free_config_fields(&config);
|
free_config_fields(&config);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user