1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-24 09:08:49 -05:00
Commit Graph

1003 Commits

Author SHA1 Message Date
Yang Tse
3517eba632 fix typo affecting inclusion of <arpa/inet.h> in configure
checks for inet_ntoa_r() inet_ntop() and inet_pton()
2008-11-14 15:26:27 +00:00
Yang Tse
2cd44abafc #include <string.h> in the getaddrinfo() runtime check for the memset() prototype 2008-11-14 14:47:53 +00:00
Yang Tse
4b486ebbc1 fix symbol definition check for fcntl.h inclusion 2008-11-14 05:18:08 +00:00
Yang Tse
17d2a464ad Refactor configure script detection of functions used to set sockets into
non-blocking mode, and decouple function detection from function capability.
2008-11-13 18:56:55 +00:00
Daniel Stenberg
c1b8e93083 Added a TODO file to list things we want changed, added or fixed. 2008-11-01 23:39:07 +00:00
Daniel Stenberg
3e3d10824f - Carlo Contavalli added support for the glibc "rotate" option, as documented
in man resolv.conf:

  causes round robin selection of nameservers from among those listed.  This
  has the effect of spreading the query load among all listed servers, rather
  than having all clients try the first listed server first every time.

  You can enable it with ARES_OPT_ROTATE
2008-11-01 18:35:19 +00:00
Yang Tse
128418b214 Adjust WIN32 freeaddrinfo, getaddrinfo and getnameinfo availability 2008-11-01 17:13:10 +00:00
Yang Tse
050a39a7a5 WIN32 availability of freeaddrinfo, getaddrinfo and getnameinfo functions is quite
convoluted, compiler dependant and in some cases even build target dependat.
2008-11-01 16:52:57 +00:00
Yang Tse
33319f5d2d check for freeaddrinfo() at configuration phase 2008-10-30 17:45:47 +00:00
Yang Tse
91c77808c4 update aclocal file serial number 2008-10-30 13:50:15 +00:00
Yang Tse
197ad60d21 remove verification of the freeability of the addrinfo struct pointer members 2008-10-30 12:41:07 +00:00
Yang Tse
89d6f580dc fix comment 2008-10-29 01:50:56 +00:00
Yang Tse
23eb74e085 make CHECK_FUNC_GETADDRINFO_UNFREEABLE_AI_ADDR
and CHECK_FUNC_GETADDRINFO_UNFREEABLE_AI_CANONNAME
internal to CHECK_FUNC_GETADDRINFO
2008-10-29 01:45:07 +00:00
Yang Tse
d4514f9c10 fix leftover 2008-10-28 20:07:40 +00:00
Yang Tse
74a16db975 Initial attempt to detect at configuration time if the getaddrinfo()
function returns an addrinfo with an unfreeable ai_canonname member ptr.
2008-10-28 20:03:22 +00:00
Yang Tse
0989cd358a Initial attempt to detect at configuration time if the getaddrinfo()
function returns an addrinfo with an unfreeable ai_addr member ptr.
2008-10-28 19:13:25 +00:00
Yang Tse
d104216bbe icc adjustments:
Select ANSI C89 dialect plus GNU extensions, again.
2008-10-25 04:18:48 +00:00
Yang Tse
71edaf4d01 some more temporary magic for the icc seg-fault issue 2008-10-24 12:23:24 +00:00
Yang Tse
2b77d50776 icc permanent adjustment:
Select precise floating-point model, otherwise doubles are less than 64-bit wide

icc test adjustment:

  Select c89 dialect
2008-10-24 11:27:09 +00:00
Yang Tse
198fa5e3c7 icc adjustments:
Enable more icc warnings.

  Optimization disabling options used only for icc 9.1
2008-10-23 10:04:06 +00:00
Yang Tse
0abaf22467 #include <stdlib.h> for exit() prototype 2008-10-23 00:38:23 +00:00
Yang Tse
b93f4f623c some more temporary magic for the icc seg-fault issue 2008-10-22 13:30:09 +00:00
Yang Tse
1054dc5ed1 remove from configure.ac temporary magic for the icc seg-fault issue 2008-10-22 11:10:56 +00:00
Yang Tse
db325d1f43 some more temporary magic for the icc seg-fault issue 2008-10-21 17:54:18 +00:00
Yang Tse
3f2de3d101 Charles Hardin patch:
- handles the EINPROGRESS for UDP connects
- uses closesocket instead of close on some paths that were noticed
2008-10-21 01:58:23 +00:00
Yang Tse
231a51fe7a some more temporary magic for the icc seg-fault issue 2008-10-20 15:56:08 +00:00
Yang Tse
8d0cbaf8df messages initially intended only for debug purposes, now become permanent
since these are extremely useful when compiler rejects a set of options.
2008-10-19 23:50:18 +00:00
Yang Tse
63397e380f fix compiler warning 2008-10-17 19:04:53 +00:00
Yang Tse
07c3aaeea1 fix missing double-quotes 2008-10-17 17:11:11 +00:00
Daniel Stenberg
eb612bfdfc Charles Hardin made adig support a regular numerical dotted IP address for the
-s option as well.
2008-10-17 11:26:36 +00:00
Yang Tse
fb66d51796 some more temporary magic for the icc seg-fault issue 2008-10-16 01:45:07 +00:00
Yang Tse
be760bed7e Ensure that shell variable contents which have active meaning
to the shell echo command are not interpreted when trying to
remove extra whitespace from shell variable content.
2008-10-15 18:10:02 +00:00
Yang Tse
2f2ed4e40e Adjust Watcom C warnings:
Disable warnings on structure members padding.
2008-10-14 23:06:39 +00:00
Yang Tse
6047635406 With this change Solaris target builds will now be done with _REENTRANT defined. 2008-10-14 18:44:27 +00:00
Yang Tse
9786e7faeb Adjust Tiny C basic options:
Remove -b from debug-enabled configuration, as Tiny C might have
  been built without the memory and bounds checker support.
2008-10-14 15:24:02 +00:00
Yang Tse
fde4b823f1 Adjust GCC warnings:
Better disable following warnings when cross-compiling with a gcc older
  than 3.0, to avoid warnings from third party system headers:

    -Wmissing-declarations
    -Wmissing-prototypes
    -Wunused
    -Wshadow
2008-10-14 14:19:34 +00:00
Yang Tse
bf8d642607 fix syntax error 2008-10-14 04:59:22 +00:00
Yang Tse
1fab40bb69 Initial attempt to detect Watcom C compiler 2008-10-14 04:09:07 +00:00
Yang Tse
ae75462254 make naming scheme more consistent across whole file 2008-10-13 19:32:11 +00:00
Yang Tse
3ad956e73f Adjust GCC warnings:
Disable following warnings when cross-compiling with a gcc older
  than 3.0, to avoid warnings from third party system headers:

    -Wmissing-prototypes
    -Wunused
    -Wshadow
2008-10-13 17:06:06 +00:00
Yang Tse
ca70beec47 Adjust GCC --enable-warnings:
Do not enable -pedantic when cross-compiling with a gcc older
  than 3.0, to avoid warnings from third party system headers.
2008-10-13 00:43:30 +00:00
Yang Tse
758939215d adjust SGI MIPSpro C detection 2008-10-12 22:52:25 +00:00
Yang Tse
ab861e56f1 LCC compiler adjustments:
Highest warning level is double -A, next is single -A.
  Due to the big number of warnings these trigger on third
  party header files it is impratical for us to use any of
  them here. If you want them simply define it in CPPFLAGS.
2008-10-12 16:57:40 +00:00
Yang Tse
fefc6a7e6b remove extra space 2008-10-11 18:04:39 +00:00
Yang Tse
a119114ad7 split SGI compiler check. One for MIPS C and another for MIPSpro C 2008-10-11 16:59:44 +00:00
Yang Tse
430b1a22db LCC compiler adjustments:
Warning level reduced from double -A to single -A
2008-10-11 16:19:35 +00:00
Yang Tse
0722e91eb9 Initial attempt to detect Tiny C compiler 2008-10-10 10:31:16 +00:00
Yang Tse
c859a6f365 Initial attempt to detect LCC compiler 2008-10-10 10:06:25 +00:00
Yang Tse
ef49850789 1) fix bug in CONVERT_INCLUDE_TO_ISYSTEM
2) Disable SGI remark: controlling expression is constant
2008-10-10 09:14:18 +00:00
Yang Tse
4f6f334f41 simplify SGI C compiler check 2008-10-10 05:09:28 +00:00
Yang Tse
d61f260372 HP C adjustments:
Due to the HP-UX socklen_t issue it is insane to use the +w1 warning level.
  It generates more than 1100 warnings on socklen_t related statements.

  Until the issue is somehow fixed we will just use the +w2 warning level.
2008-10-10 02:32:46 +00:00
Yang Tse
4b8f13e902 Add debug tracing for COMPILER_WORKS_IFELSE 2008-10-10 00:07:41 +00:00
Yang Tse
98416a4fab configure will also warn on 'strict compiler warning' rejected options 2008-10-09 19:55:18 +00:00
Yang Tse
1c5336cd57 convert rejected compiler options messages into a warnings 2008-10-09 15:06:20 +00:00
Yang Tse
43c2cf4edb remove extra whitespace from string in SGI C check 2008-10-09 13:11:10 +00:00
Yang Tse
b2ca0babeb oops 2008-10-09 03:05:48 +00:00
Yang Tse
ed4ae322f5 Initial attempt to detect SGI C compiler 2008-10-09 03:02:25 +00:00
Yang Tse
4f924ab07e HP C adjustments:
Disallow run-time dereferencing of null pointers.

  Disable some remarks:

    #4227: padding struct with n bytes to align member.

    #4255: padding size of struct with n bytes to alignment boundary.
2008-10-09 00:50:50 +00:00
Yang Tse
5928ea9c7a improve presentation of accepted/rejected debug/optimizer options 2008-10-08 19:38:01 +00:00
Yang Tse
1fea66e527 refactoring of COMPILER_BASIC_OPTS 2008-10-08 16:12:10 +00:00
Yang Tse
6814907a2c Initial attempt to detect SUN C compiler 2008-10-08 03:50:45 +00:00
Yang Tse
1b246eecfe Initial attempt to detect HP C compiler 2008-10-08 02:29:13 +00:00
Yang Tse
31a3432a8e fix compiler warning: 'dot_4' may be used uninitialized in this function 2008-10-07 18:44:32 +00:00
Yang Tse
aefab9293a adjust ICC_windows settings 2008-10-07 17:37:25 +00:00
Yang Tse
a6d9310888 fix VAR_STRIP 2008-10-07 16:53:46 +00:00
Yang Tse
bfc09ac211 Sync up with reality 2008-10-07 13:34:59 +00:00
Yang Tse
d930280af5 Initial attempt to support configure's --(dis|en)able-optimize
option to specify dis(activation) of compiler optimizations.

If option is specified, it will be honored independant of the
--(dis|en)able-debug option.
2008-10-07 13:13:34 +00:00
Yang Tse
b64f0dace3 fix comment 2008-10-02 04:27:42 +00:00
Yang Tse
2245ac2f88 Initial attempt to support configure's --(dis|en)able-warnings
option to specify dis(activation) of picky compiler warnings.

If option is specified, it will be honored independant of the
--(dis|en)able-debug option.

If option is not specified, it will follow --(dis|en)able-debug
setting, whose default is disabled if not specified.
2008-10-02 03:56:55 +00:00
Yang Tse
2c086105b1 fix compiler warning: dereferencing type-punned pointer will break strict-aliasing rules 2008-09-30 17:04:05 +00:00
Yang Tse
4aee6822ca now compiler warnings are activated for all gcc builds, not only debug ones. 2008-09-30 12:39:54 +00:00
Yang Tse
beb14ca6d6 Use CFLAGS for icc linker options instead of LDFLAGS,
otherwise gethostbyname() is not detected.
2008-09-30 02:59:35 +00:00
Yang Tse
9f8c40ed78 use ac_cv_compiler and ac_cv_compiler_num to keep compiler ID and version number 2008-09-29 19:14:52 +00:00
Yang Tse
cda9d7e579 Temporary icc adjustment:
Disable floating point optimizations
2008-09-29 16:09:31 +00:00
Yang Tse
4d437416da HAVE_INET_PTON will only be defined when an IPv6 capable working
inet_pton function is available.
2008-09-24 19:13:01 +00:00
Yang Tse
142cb601f8 HAVE_INET_NTOP will only be defined when an IPv6 capable working
inet_ntop function is available.
2008-09-24 16:43:12 +00:00
Yang Tse
4e909ee8b1 ntoa() and inet_ntoa_r() no longer used 2008-09-24 12:22:16 +00:00
Yang Tse
188311863a icc adjustments for icc 9.0 and prior versions:
Disable remark #279: controlling expression is constant

      Remark triggered mostly on va_arg() and FD_ZERO() macros.
2008-09-22 18:42:48 +00:00
Yang Tse
54e49d10d2 attempt to make work the gethostname function
check for winsock build target configurations
2008-09-22 00:44:10 +00:00
Gisle Vanem
c9549391d1 Added HAVE_NETDB_H, HAVE_ARPA_INET_H, HAVE_STRCASECMP
and HAVE_STRNCASECMP.
2008-09-21 13:03:07 +00:00
Yang Tse
51ba24991c icc adjustments:
Disable remark #981: operands are evaluated in unspecified order

      Function calls which are triggering this remark, today, do not depend
      on the order of evaluation of its arguments.

  Disable remark #1469: "cc" clobber ignored

      Remark triggered on htons() and ntohs() due to glibc header files.
2008-09-19 15:59:28 +00:00
Yang Tse
a8323cc3f5 icc adjustments 2008-09-18 13:56:56 +00:00
Yang Tse
8fa895d65e fix netdb.h prerequisite inclusion 2008-09-18 02:23:33 +00:00
Yang Tse
0c1ae21c11 improve detection of getservbyport_r() 2008-09-17 11:31:37 +00:00
Yang Tse
f30959c6bd On Linux Intel's icc uses gcc's header files, so
we select ANSI C89 dialect plus GNU extensions.
2008-09-17 09:37:41 +00:00
Yang Tse
638e3c070c improve detection of gethostname() 2008-09-17 08:14:00 +00:00
Yang Tse
07aeac37fd NetWare builds include "nameser.h" from the c-ares subdir 2008-09-17 06:59:31 +00:00
Yang Tse
6ec76e7f9a include <strings.h> 2008-09-17 03:25:52 +00:00
Yang Tse
0776701396 Sync up with reality 2008-09-17 01:33:43 +00:00
Yang Tse
39de6c784c adjust inclusion of "nameser.h" 2008-09-17 01:02:57 +00:00
Yang Tse
e5c4482088 reorder some lines in file 2008-09-17 00:07:49 +00:00
Yang Tse
975c171d5a code cleanup 2008-09-16 18:43:25 +00:00
Yang Tse
8c6c0a7bcc NetWare seems to have writev() 2008-09-16 18:18:14 +00:00
Yang Tse
aa41743ebd rearrange to allow internal/private use of ares_writev to any system
that lacks the writev function.
2008-09-16 16:42:48 +00:00
Yang Tse
6a04c0878b NetWare CLIB target has stricmp() and strnicmp() 2008-09-15 17:31:34 +00:00
Yang Tse
db80e18308 include header file only when available 2008-09-15 17:14:29 +00:00
Yang Tse
8085c7a450 rearrange to allow internal/private use of ares_strcasecmp to any system that
lacks the strcasecmp function.
2008-09-15 15:28:26 +00:00
Yang Tse
938458b330 improve detection of:
strcasecmp()
  strcmpi()
  stricmp()
  strncasecmp()
  strncmpi()
  strnicmp()
2008-09-15 00:31:42 +00:00
Yang Tse
e526b5ffeb *** empty log message *** 2008-09-13 01:35:15 +00:00
Gisle Vanem
2acc92828f djgpp does have strdup(). 2008-09-12 14:13:36 +00:00
Yang Tse
6d233becf0 change CRLF into LF line endings 2008-09-12 05:08:18 +00:00
Yang Tse
802f1e4406 strdup() clone for systems/configurations which lack it 2008-09-11 04:02:49 +00:00
Yang Tse
a37cc6cb08 move inclusion of ares_private.h last 2008-09-11 03:46:47 +00:00
Yang Tse
7b3f86152a icc adjustments 2008-09-10 17:35:22 +00:00
Yang Tse
3072c5b8a1 icc adjustments 2008-09-09 12:19:16 +00:00
Yang Tse
a3787eff19 Select strict ANSI C89 conformance for icc 2008-09-08 16:48:58 +00:00
Yang Tse
59e378f48f remove unnecessary typecasting of malloc() 2008-09-06 05:29:05 +00:00
Yang Tse
861b647e7b remove unnecessary typecasting of realloc() 2008-09-06 04:28:43 +00:00
Daniel Stenberg
bae4e12302 we start over working towards 1.5.4 2008-08-29 08:55:02 +00:00
Daniel Stenberg
09df1cdb5c Version 1.5.3 2008-08-29 08:33:02 +00:00
Daniel Stenberg
2946d87e48 added the three people from RELEASE-NOTES and sorted the list alphabetically 2008-08-29 08:29:47 +00:00
Yang Tse
f9894f4ebc Don't abort configuration if recvfrom() is not available. 2008-08-27 00:25:02 +00:00
Yang Tse
2a6148716c Functionality only possible if recvfrom() is available. 2008-08-26 03:08:27 +00:00
Yang Tse
db23538898 George Neill's fix acountry sample application compilation failure. 2008-08-25 03:44:43 +00:00
Yang Tse
423a18cecc Brad House's validation that DNS response address matches the request address 2008-08-25 03:34:50 +00:00
Yang Tse
0f5f91df0b fix the output name 2008-08-21 00:13:48 +00:00
Yang Tse
ceb49d3742 Get rid of ENABLE_64BIT symbol definition and usage.
Improve HAVE_LONGLONG symbol description.
2008-08-21 00:06:15 +00:00
Yang Tse
347213d124 Export 'ares_process_fd' too. 2008-08-20 23:38:36 +00:00
Gisle Vanem
315bb970a5 Ops, remove 'use_vc'. 2008-08-16 17:05:42 +00:00
Gisle Vanem
65b0f6049d Support Watt-32 under Win32. 2008-08-16 16:42:44 +00:00
Yang Tse
6237fd2c16 Fix: Remove now this SIZEOF_CURL_OFF_T symbol definition.
This should have been done with the initial 64-bit curl_off_t patch.
2008-08-10 00:39:45 +00:00
Yang Tse
4594187732 Improve CURL_CHECK_DEF 2008-08-09 17:26:24 +00:00
Yang Tse
63818f8488 Fix IBM C and DEC/Compaq C compiler detection 2008-08-09 17:01:17 +00:00
Yang Tse
14240e9e10 Initial support of curlbuild.h and curlrules.h which allows
to have a curl_off_t data type no longer gated to off_t.
2008-08-07 00:29:08 +00:00
Yang Tse
182a415555 The minimum autoconf version required for this file is 2.50
Avoid dot notation in aclocal serial file number, use a single number now.
2008-08-05 09:08:43 +00:00
Daniel Stenberg
931fc45f05 - Fix by Tofu Linden:
The symptom:
  * Users (usually, but not always) on 2-Wire routers and the Comcast service
  and a wired connection to their router would find that the second and
  subsequent DNS lookups from fresh processes using c-ares to resolve the same
  address would cause the process to never see a reply (it keeps polling for
  around 1m15s before giving up).

  The repro:
  * On such a machine (and yeah, it took us a lot of QA to find the systems
  that reproduce such a specific problem!), do 'ahost www.secondlife.com',
  then do it again.  The first process's lookup will work, subsequent lookups
  will time-out and fail.

  The cause:
  * init_id_key() was calling randomize_key() *before* it initialized
  key->state, meaning that the randomness generated by randomize_key() is
  immediately overwritten with deterministic values. (/dev/urandom was also
  being read incorrectly in the c-ares version we were using, but this was
  fixed in a later version.)
  * This makes the stream of generated query-IDs from any new c-ares process
  be an identical and predictable sequence of IDs.
  * This makes the 2-Wire's default built-in DNS server detect these queries
  as probable-duplicates and (erroneously) not respond at all.
2008-08-04 20:23:12 +00:00
Yang Tse
b4fdccf87a Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. But,
autoconf 2.62 version of AC_AIX defines _ALL_SOURCE along with other four
preprocessor symbols no matter if the system is AIX or not. To keep the
traditional behaviour, as well as an uniform one, across autoconf versions
AC_AIX is replaced with our own internal macro.
2008-08-04 06:48:11 +00:00
Yang Tse
74d77cb140 Adjust DEC/Compaq C compiler settings. 2008-08-03 03:14:05 +00:00
Yang Tse
47724ef238 Another AC_TRY_LINK conversion to AC_LINK_IFELSE.
Proper definition of HAVE_function if function is found deeper.
2008-08-01 19:29:05 +00:00
Yang Tse
5cff8124b0 Sync up with reality 2008-08-01 03:10:54 +00:00
Yang Tse
90e2510e2f Rename reentrant.m4 to avoid filename clash. 2008-08-01 02:48:00 +00:00
Yang Tse
f3bc16f4f5 Add file version serial number that might be used by 'aclocal' and others.
Keep the '#' character as the first one on the line.
2008-07-30 12:09:35 +00:00
Yang Tse
15f94858f2 Update copyright year. 2008-07-30 08:27:02 +00:00
Yang Tse
5febd06c25 Sync comment with reality. 2008-07-30 08:21:25 +00:00
Yang Tse
a3498f96ef Reinstate the 'aclocal -I m4' in buildconf and 'ACLOCAL_AMFLAGS = -I m4' way of
including our local m4/reentrant.m4 file. This even takes care of including the
file in the distribution tarball.
2008-07-30 03:10:03 +00:00
Yang Tse
a8baa05023 Add quoting for the AC_DEFINE arguments. 2008-07-29 18:23:11 +00:00
Yang Tse
7066a79466 Also remove the whitespace. 2008-07-29 18:01:29 +00:00
Yang Tse
4a623f7ed2 Also remove the extra quoting. 2008-07-29 17:45:33 +00:00
Yang Tse
f18700ef64 Replace some '@%:@' quadigraphs by its actual representation '#'.
This quadigraph used before a C preprocessor 'define' directive could
be fooling M4, when processing this file, and make it think that the
line contains a pure M4 'define' macro.
2008-07-29 16:29:34 +00:00
Yang Tse
52d9a3c34f Tests done using 'aclocal -I m4' in buildconf and 'ACLOCAL_AMFLAGS = -I m4
in top Makefile.am triggered a problem that prevented aclocal from running
successfully on SunOS 5.10 with GNU m4 1.4.5 and GNU Autoconf 2.61

A tarball which reproduces mentioned problem is the one dated July-28-2008
http://cool.haxx.se/curl-daily/curl-7.19.0-20080728.tar.gz

We actually don't need all the bells and whistles that the above mechanism
provides. We only need to include our m4/reentrant.m4 file in acinclude.m4
so here we go with this simpler mechanism.
2008-07-29 02:26:21 +00:00
Yang Tse
7634091325 for debugging purposes show ACLOCAL_FLAGS 2008-07-28 15:13:31 +00:00
Yang Tse
817efbc29c These lines were unintentionally removed in previous commit 2008-07-27 23:43:53 +00:00
Yang Tse
d2661cb4b2 Partially undo change that prevented SED, GREP, EGREP and AR from being changed by libtool or autoconf. 2008-07-27 22:25:07 +00:00
Yang Tse
9b0110f50c Assert that SED and GREP are set 2008-07-27 21:47:22 +00:00
Yang Tse
5876381f86 Require autoconf 2.57 or newer 2008-07-27 20:29:04 +00:00
Yang Tse
c4edc25d01 When calling aclocal, user defined ACLOCAL_FLAGS will now precede ours. 2008-07-27 18:10:54 +00:00
Yang Tse
c8fe5f485c move ACLOCAL_AMFLAGS after AUTOMAKE_OPTIONS 2008-07-27 16:37:02 +00:00
Yang Tse
1ac1212925 setup.h handles definition of _REENTRANT based on NEED_REENTRANT
definition which might be defined in config.h or config-*.h files
2008-07-27 03:16:37 +00:00
Yang Tse
3d4fb5136d Remove explicit inclusion of our m4 files first. It was interesting as a test,
but it breaks aclocal execution on some systems, with the following error:

Can't locate object method "rel2abs" via package "File::Spec" at /usr/local/bin/aclocal line 256.
2008-07-27 02:41:13 +00:00
Yang Tse
052f9ddedb Another step towards detecting if _REENTRANT is already defined or actually
needed, and being able to define it if appropriate for further configure tests
as well as for the generated config file.
2008-07-27 01:36:33 +00:00