oweals/openssl.git
14 years agoWe can't always read 6 bytes in an OCSP response: fix so error statuses
Dr. Stephen Henson [Wed, 6 Oct 2010 18:00:59 +0000 (18:00 +0000)]
We can't always read 6 bytes in an OCSP response: fix so error statuses
are read correctly for non-blocking I/O.

14 years agofix signature printing routines
Dr. Stephen Henson [Mon, 4 Oct 2010 13:58:41 +0000 (13:58 +0000)]
fix signature printing routines

14 years agofix warnings
Dr. Stephen Henson [Mon, 4 Oct 2010 13:45:15 +0000 (13:45 +0000)]
fix warnings

14 years agoMinor documentation fixes, PR#2345
Dr. Stephen Henson [Mon, 4 Oct 2010 13:28:46 +0000 (13:28 +0000)]
Minor documentation fixes, PR#2345

14 years agoMinor documentation fixes, PR#2344
Dr. Stephen Henson [Mon, 4 Oct 2010 13:23:53 +0000 (13:23 +0000)]
Minor documentation fixes, PR#2344

14 years agoTypo, PR#2346
Dr. Stephen Henson [Mon, 4 Oct 2010 13:19:28 +0000 (13:19 +0000)]
Typo, PR#2346

14 years agoAdd call to ENGINE_register_all_complete() to ENGINE_load_builtin_engines(),
Dr. Stephen Henson [Sun, 3 Oct 2010 18:58:09 +0000 (18:58 +0000)]
Add call to ENGINE_register_all_complete() to ENGINE_load_builtin_engines(),
this means that some implementations will be used automatically, e.g. aesni,
we do this for cryptodev anyway.

Setup cpuid in ENGINE_load_builtin_engines() too as some ENGINEs use it.

14 years agosha512-mips.pl: add missing byte swap for little-endians.
Andy Polyakov [Sat, 2 Oct 2010 12:43:04 +0000 (12:43 +0000)]
sha512-mips.pl: add missing byte swap for little-endians.

14 years agoMIPS assembler pack: enable it in Configure, add SHA2 module, fix make rules,
Andy Polyakov [Sat, 2 Oct 2010 11:47:17 +0000 (11:47 +0000)]
MIPS assembler pack: enable it in Configure, add SHA2 module, fix make rules,
update commentary...

14 years agoAdd unified mips.pl, which will replace mips3.s.
Andy Polyakov [Mon, 27 Sep 2010 21:19:43 +0000 (21:19 +0000)]
Add unified mips.pl, which will replace mips3.s.

14 years agosha1-mips.pl, mips-mont.pl: unify MIPS assembler modules in respect to
Andy Polyakov [Wed, 22 Sep 2010 08:43:09 +0000 (08:43 +0000)]
sha1-mips.pl, mips-mont.pl: unify MIPS assembler modules in respect to
ABI and binutils.

14 years agoghash-s390x.pl: reschedule instructions for better performance.
Andy Polyakov [Tue, 21 Sep 2010 11:37:00 +0000 (11:37 +0000)]
ghash-s390x.pl: reschedule instructions for better performance.

14 years agos390x assembler pack: extend OPENSSL_s390xcap_P to 128 bits.
Andy Polyakov [Sat, 18 Sep 2010 08:46:53 +0000 (08:46 +0000)]
s390x assembler pack: extend OPENSSL_s390xcap_P to 128 bits.

14 years agoVC-32.pl: default to nasm if neither nasm or nasmw is is found at the moment.
Andy Polyakov [Mon, 13 Sep 2010 16:15:17 +0000 (16:15 +0000)]
VC-32.pl: default to nasm if neither nasm or nasmw is is found at the moment.
PR: 2338

14 years agoAlpha assembler pack: adapt for Linux.
Andy Polyakov [Mon, 13 Sep 2010 13:28:52 +0000 (13:28 +0000)]
Alpha assembler pack: adapt for Linux.
PR: 2335

14 years agosha1-armv4-large.pl: more readable input pickup.
Andy Polyakov [Fri, 10 Sep 2010 15:41:08 +0000 (15:41 +0000)]
sha1-armv4-large.pl: more readable input pickup.

14 years agoConfigure: remove redundant -DMD32_REG_T=int.
Andy Polyakov [Fri, 10 Sep 2010 15:37:50 +0000 (15:37 +0000)]
Configure: remove redundant -DMD32_REG_T=int.

14 years agocrypto/ppc[cpuid|cap]: call CPU detection once and detect AltiVec.
Andy Polyakov [Fri, 10 Sep 2010 15:00:51 +0000 (15:00 +0000)]
crypto/ppc[cpuid|cap]: call CPU detection once and detect AltiVec.

14 years agocrypto/bn/asm/s390x.S: drop redundant instructions.
Andy Polyakov [Fri, 10 Sep 2010 14:53:36 +0000 (14:53 +0000)]
crypto/bn/asm/s390x.S: drop redundant instructions.

14 years agoAdd ghash-s390x.pl.
Andy Polyakov [Fri, 10 Sep 2010 14:50:17 +0000 (14:50 +0000)]
Add ghash-s390x.pl.

14 years agomodes/asm/ghash-*.pl: switch to [more reproducible] performance results
Andy Polyakov [Sun, 5 Sep 2010 19:52:14 +0000 (19:52 +0000)]
modes/asm/ghash-*.pl: switch to [more reproducible] performance results
collected with 'apps/openssl speed ghash'.

14 years agoghash-ia64.pl: 50% performance improvement of gcm_ghash_4bit.
Andy Polyakov [Sun, 5 Sep 2010 19:49:54 +0000 (19:49 +0000)]
ghash-ia64.pl: 50% performance improvement of gcm_ghash_4bit.

14 years agosparcv9cap.c: disengange Solaris-specific CPU detection routine in favour
Andy Polyakov [Sun, 5 Sep 2010 19:41:41 +0000 (19:41 +0000)]
sparcv9cap.c: disengange Solaris-specific CPU detection routine in favour
of unified procedure relying on SIGILL.
PR: 2321

14 years agoFixes to NPN from Adam Langley.
Ben Laurie [Sun, 5 Sep 2010 17:14:01 +0000 (17:14 +0000)]
Fixes to NPN from Adam Langley.

14 years agoNPN tests.
Ben Laurie [Sun, 5 Sep 2010 16:35:10 +0000 (16:35 +0000)]
NPN tests.

14 years agoFix warnings.
Ben Laurie [Sun, 5 Sep 2010 16:34:49 +0000 (16:34 +0000)]
Fix warnings.

14 years agomake no-gost work on Windows
Dr. Stephen Henson [Thu, 2 Sep 2010 17:45:23 +0000 (17:45 +0000)]
make no-gost work on Windows

14 years agofix bug in AES_unwrap()
Dr. Stephen Henson [Mon, 30 Aug 2010 23:59:14 +0000 (23:59 +0000)]
fix bug in AES_unwrap()

14 years agoMore C language police work.
Bodo Möller [Fri, 27 Aug 2010 13:17:59 +0000 (13:17 +0000)]
More C language police work.

14 years agoC conformity fixes: Move declarations before statements in all blocks.
Bodo Möller [Fri, 27 Aug 2010 12:07:35 +0000 (12:07 +0000)]
C conformity fixes: Move declarations before statements in all blocks.

14 years agoC conformity fixes:
Bodo Möller [Fri, 27 Aug 2010 11:29:30 +0000 (11:29 +0000)]
C conformity fixes:
- Move declarations before statements in all blocks.
- Where 64-bit type is required, use it explicitly (not 1l).

14 years agoPR: 1833
Dr. Stephen Henson [Fri, 27 Aug 2010 11:29:15 +0000 (11:29 +0000)]
PR: 1833
Submitted By: Robin Seggelmann <seggelmann@fh-muenster.de>

Fix other cases not covered by original patch.

14 years agoUpdate version numbers
Bodo Möller [Thu, 26 Aug 2010 18:45:45 +0000 (18:45 +0000)]
Update version numbers

14 years agoFor better forward-security support, add functions
Bodo Möller [Thu, 26 Aug 2010 15:15:47 +0000 (15:15 +0000)]
For better forward-security support, add functions
SSL_[CTX_]set_not_resumable_session_callback.

Submitted by: Emilia Kasper (Google)

[A part of this change affecting ssl/s3_lib.c was accidentally commited
separately, together with a compilation fix for that file;
see s3_lib.c CVS revision 1.133 (http://cvs.openssl.org/chngview?cn=19855).]

14 years agoPatch from PR #1833 was broken: there's no s->s3->new_session
Bodo Möller [Thu, 26 Aug 2010 14:54:16 +0000 (14:54 +0000)]
Patch from PR #1833 was broken: there's no s->s3->new_session
(only s->new_session).

14 years ago(formatting error)
Bodo Möller [Thu, 26 Aug 2010 14:40:11 +0000 (14:40 +0000)]
(formatting error)

14 years agoNew 64-bit optimized implementation EC_GFp_nistp224_method().
Bodo Möller [Thu, 26 Aug 2010 14:29:55 +0000 (14:29 +0000)]
New 64-bit optimized implementation EC_GFp_nistp224_method().
This will only be compiled in if explicitly requested
(#ifdef EC_NISTP224_64_GCC_128).

Submitted by: Emilia Kasper (Google)

14 years agosync and update ordinals
Dr. Stephen Henson [Thu, 26 Aug 2010 14:27:17 +0000 (14:27 +0000)]
sync and update ordinals

14 years agoPR: 1833
Dr. Stephen Henson [Thu, 26 Aug 2010 14:23:52 +0000 (14:23 +0000)]
PR: 1833
Submitted By: Robin Seggelmann <seggelmann@fh-muenster.de>

Support for abbreviated handshakes when renegotiating.

14 years agoECC library bugfixes.
Bodo Möller [Thu, 26 Aug 2010 12:11:01 +0000 (12:11 +0000)]
ECC library bugfixes.

Submitted by: Emilia Kasper (Google)

14 years agoHarmonize with OpenSSL_1_0_1-stable version of CHANGES.
Bodo Möller [Thu, 26 Aug 2010 11:22:33 +0000 (11:22 +0000)]
Harmonize with OpenSSL_1_0_1-stable version of CHANGES.

14 years agoutil/cygwin.sh: maintainer's update.
Andy Polyakov [Tue, 24 Aug 2010 21:51:08 +0000 (21:51 +0000)]
util/cygwin.sh: maintainer's update.

Submitted by: Corinna Vinschen

14 years agoengine/Makefile: harmonize engine install rule for .dylib extension on MacOS X.
Andy Polyakov [Tue, 24 Aug 2010 21:45:41 +0000 (21:45 +0000)]
engine/Makefile: harmonize engine install rule for .dylib extension on MacOS X.
PR: 2319

14 years agogcm128.c: fix typo in CRYPTO_gcm128_encrypt_ctr32 name.
Andy Polyakov [Mon, 23 Aug 2010 14:32:20 +0000 (14:32 +0000)]
gcm128.c: fix typo in CRYPTO_gcm128_encrypt_ctr32 name.

14 years agoMakefile.share: fix brown-bag typo in link_o.darwin.
Andy Polyakov [Sat, 21 Aug 2010 11:34:46 +0000 (11:34 +0000)]
Makefile.share: fix brown-bag typo in link_o.darwin.

14 years agocrypto/modes/Makefile: fix typo in ghash-parisc.s rule.
Andy Polyakov [Sat, 21 Aug 2010 11:20:25 +0000 (11:20 +0000)]
crypto/modes/Makefile: fix typo in ghash-parisc.s rule.

14 years agoPR: 2315
Dr. Stephen Henson [Tue, 10 Aug 2010 13:01:49 +0000 (13:01 +0000)]
PR: 2315

Use consistent calculation for PSS salt length.

14 years agosha1-armv4-large.pl: reschedule instructions for dual-issue pipeline.
Andy Polyakov [Tue, 3 Aug 2010 15:34:57 +0000 (15:34 +0000)]
sha1-armv4-large.pl: reschedule instructions for dual-issue pipeline.

14 years agorc5_locl.h: make inline assembler clang-friendly.
Andy Polyakov [Mon, 2 Aug 2010 21:51:07 +0000 (21:51 +0000)]
rc5_locl.h: make inline assembler clang-friendly.

14 years agogcm128.c: add CRYPTO_gcm128_[en|de]crypt_ctr32.
Andy Polyakov [Mon, 2 Aug 2010 21:39:51 +0000 (21:39 +0000)]
gcm128.c: add CRYPTO_gcm128_[en|de]crypt_ctr32.

14 years agomd32_common.h: modify MD32_REG_T pre-processing logic [triggered by clang].
Andy Polyakov [Mon, 2 Aug 2010 09:32:26 +0000 (09:32 +0000)]
md32_common.h: modify MD32_REG_T pre-processing logic [triggered by clang].

14 years agoFix ctr mode properly this time....
Dr. Stephen Henson [Wed, 28 Jul 2010 16:53:28 +0000 (16:53 +0000)]
Fix ctr mode properly this time....

14 years agoMake ctr mode behaviour consistent with other modes.
Dr. Stephen Henson [Wed, 28 Jul 2010 11:03:09 +0000 (11:03 +0000)]
Make ctr mode behaviour consistent with other modes.

14 years agoAdd Next Protocol Negotiation.
Ben Laurie [Wed, 28 Jul 2010 10:06:55 +0000 (10:06 +0000)]
Add Next Protocol Negotiation.

14 years agoalphacpuid.pl: fix brown-bag bug.
Andy Polyakov [Wed, 28 Jul 2010 08:17:15 +0000 (08:17 +0000)]
alphacpuid.pl: fix brown-bag bug.

14 years agoSign mismatch.
Ben Laurie [Tue, 27 Jul 2010 16:57:05 +0000 (16:57 +0000)]
Sign mismatch.

14 years agoMissing prototype.
Ben Laurie [Tue, 27 Jul 2010 16:34:29 +0000 (16:34 +0000)]
Missing prototype.

14 years agoaes-x86_64.pl: commit#19797 was overzealous, partially reverse.
Andy Polyakov [Mon, 26 Jul 2010 22:56:07 +0000 (22:56 +0000)]
aes-x86_64.pl: commit#19797 was overzealous, partially reverse.

14 years agoReplace alphacpuid.s with alphacpuid.pl to ensure it makes to release tar-balls.
Andy Polyakov [Mon, 26 Jul 2010 22:04:31 +0000 (22:04 +0000)]
Replace alphacpuid.s with alphacpuid.pl to ensure it makes to release tar-balls.
PR: 2309

14 years agoms/: update do_win64*.bat and remove redundant mingw32.bat.
Andy Polyakov [Mon, 26 Jul 2010 21:58:23 +0000 (21:58 +0000)]
ms/: update do_win64*.bat and remove redundant mingw32.bat.

14 years agosha1-alpha.pl: commentary update.
Andy Polyakov [Mon, 26 Jul 2010 21:57:10 +0000 (21:57 +0000)]
sha1-alpha.pl: commentary update.

14 years agorc4-s390x.pl: harmonize build rule with other similar rules.
Andy Polyakov [Mon, 26 Jul 2010 21:56:16 +0000 (21:56 +0000)]
rc4-s390x.pl: harmonize build rule with other similar rules.

14 years agoghash-ia64.pl: excuse myself from implementing "528B" variant.
Andy Polyakov [Mon, 26 Jul 2010 21:54:21 +0000 (21:54 +0000)]
ghash-ia64.pl: excuse myself from implementing "528B" variant.

14 years agomodes/Makefile: update clean rule.
Andy Polyakov [Mon, 26 Jul 2010 21:53:01 +0000 (21:53 +0000)]
modes/Makefile: update clean rule.

14 years agoeng_aesni.c: switch to CRYPTO_ctr128_encrypt_ctr32.
Andy Polyakov [Mon, 26 Jul 2010 21:50:39 +0000 (21:50 +0000)]
eng_aesni.c: switch to CRYPTO_ctr128_encrypt_ctr32.

14 years agoaes-x86_64.pl: remove redundant instructions.
Andy Polyakov [Mon, 26 Jul 2010 21:48:39 +0000 (21:48 +0000)]
aes-x86_64.pl: remove redundant instructions.

14 years agoperlasm/x86_64-xlate.pl: extend SSE>2 to ml64.
Andy Polyakov [Mon, 26 Jul 2010 21:45:38 +0000 (21:45 +0000)]
perlasm/x86_64-xlate.pl: extend SSE>2 to ml64.

14 years agoaesni-x86_64.pl: fix typos.
Andy Polyakov [Mon, 26 Jul 2010 21:44:03 +0000 (21:44 +0000)]
aesni-x86_64.pl: fix typos.

14 years agoperlasm/x86asm.pl: move aesni and pclmulqdq opcodes to aesni-x86.pl and
Andy Polyakov [Mon, 26 Jul 2010 21:42:07 +0000 (21:42 +0000)]
perlasm/x86asm.pl: move aesni and pclmulqdq opcodes to aesni-x86.pl and
ghash-x86.pl.

14 years agoAdd new type ossl_ssize_t instead of ssize_t and move definitions to
Dr. Stephen Henson [Mon, 26 Jul 2010 18:15:59 +0000 (18:15 +0000)]
Add new type ossl_ssize_t instead of ssize_t and move definitions to
e_os2.h, this should fix WIN32 compilation issues and hopefully avoid
conflicts with other headers which may workaround ssize_t in different ways.

14 years ago#if out deleted function from headers so it isn't picked up by WIN32 build
Dr. Stephen Henson [Mon, 26 Jul 2010 18:15:13 +0000 (18:15 +0000)]
#if out deleted function from headers so it isn't picked up by WIN32 build
system.

14 years agoWIN32 build fix.
Dr. Stephen Henson [Mon, 26 Jul 2010 13:17:17 +0000 (13:17 +0000)]
WIN32 build fix.

14 years agoSync ordinals and update.
Dr. Stephen Henson [Sun, 25 Jul 2010 19:13:30 +0000 (19:13 +0000)]
Sync ordinals and update.

14 years agoUpdate symhacks.
Dr. Stephen Henson [Sun, 25 Jul 2010 19:12:45 +0000 (19:12 +0000)]
Update symhacks.

14 years agoAdd modes.h and cmac to WIN32 build system.
Dr. Stephen Henson [Sun, 25 Jul 2010 18:12:44 +0000 (18:12 +0000)]
Add modes.h and cmac to WIN32 build system.

14 years agoaesni-x86[_64].pl: fine-tune, add CCM subroutine, add performance data.
Andy Polyakov [Sun, 25 Jul 2010 15:17:01 +0000 (15:17 +0000)]
aesni-x86[_64].pl: fine-tune, add CCM subroutine, add performance data.

14 years agoFix WIN32 build system to correctly link ENGINE DLLs contained in a
Dr. Stephen Henson [Sat, 24 Jul 2010 17:52:43 +0000 (17:52 +0000)]
Fix WIN32 build system to correctly link ENGINE DLLs contained in a
directory: currently the GOST ENGINE is the only case.

14 years agoAdd call to ENGINE_register_all_complete() to ENGINE_load_builtin_engines(),
Dr. Stephen Henson [Wed, 21 Jul 2010 16:14:48 +0000 (16:14 +0000)]
Add call to ENGINE_register_all_complete() to ENGINE_load_builtin_engines(),
this means that some implementations will be used automatically, e.g. aesni,
we do this for cryptodev anyway.

Setup cpuid in ENGINE_load_builtin_engines() too as some ENGINEs use it.

14 years agoPR: 1830
Dr. Stephen Henson [Sun, 18 Jul 2010 17:43:18 +0000 (17:43 +0000)]
PR: 1830
Submitted By: Robin Seggelmann <seggelmann@fh-muenster.de>, Steve Henson

Support for RFC5705 key extractor.

14 years agooops, revert wrong patch..
Dr. Stephen Henson [Sun, 18 Jul 2010 17:43:01 +0000 (17:43 +0000)]
oops, revert wrong patch..

14 years agoFix warnings (From HEAD, original patch by Ben).
Dr. Stephen Henson [Sun, 18 Jul 2010 16:52:47 +0000 (16:52 +0000)]
Fix warnings (From HEAD, original patch by Ben).

14 years agoMakefile.shared: link_o.darwin comment update.
Andy Polyakov [Fri, 16 Jul 2010 08:15:28 +0000 (08:15 +0000)]
Makefile.shared: link_o.darwin comment update.

14 years agoConfigure: suppress $multilib with non-system $prefix.
Andy Polyakov [Fri, 16 Jul 2010 08:13:39 +0000 (08:13 +0000)]
Configure: suppress $multilib with non-system $prefix.
PR: 2307

14 years agoMakefile.shared: debugging line slipped through in previous commit.
Andy Polyakov [Thu, 15 Jul 2010 13:55:38 +0000 (13:55 +0000)]
Makefile.shared: debugging line slipped through in previous commit.

14 years agoMakefile.shared: update link_o.dawrin rule.
Andy Polyakov [Thu, 15 Jul 2010 13:53:23 +0000 (13:53 +0000)]
Makefile.shared: update link_o.dawrin rule.
PR: 2306

14 years agoaes-s390x.pl: revisit buffer allocation and add performance data.
Andy Polyakov [Wed, 14 Jul 2010 08:43:38 +0000 (08:43 +0000)]
aes-s390x.pl: revisit buffer allocation and add performance data.

14 years agosha1-armv4-large.pl: add performance data for Cortex A8 core.
Andy Polyakov [Tue, 13 Jul 2010 14:11:44 +0000 (14:11 +0000)]
sha1-armv4-large.pl: add performance data for Cortex A8 core.

14 years agoARM assembler pack: reschedule instructions for dual-issue pipeline.
Andy Polyakov [Tue, 13 Jul 2010 14:03:31 +0000 (14:03 +0000)]
ARM assembler pack: reschedule instructions for dual-issue pipeline.
Modest improvement coefficients mean that code already had some
parallelism and there was not very much room for improvement. Special
thanks to Ted Krovetz for benchmarking the code with such patience.

14 years agoPR: 2297
Dr. Stephen Henson [Fri, 9 Jul 2010 17:26:04 +0000 (17:26 +0000)]
PR: 2297
Submitted by: Antony, Benoy <bantony@ebay.com>
Approved by: steve@openssl.org

Fix bug in AES wrap code when t > 0xff.

14 years agoConfigure: fix aes_ctr.o regexp.
Andy Polyakov [Fri, 9 Jul 2010 16:19:41 +0000 (16:19 +0000)]
Configure: fix aes_ctr.o regexp.

14 years agoINSTALL.W32: mention _OPENSSL_isservice().
Andy Polyakov [Fri, 9 Jul 2010 14:30:54 +0000 (14:30 +0000)]
INSTALL.W32: mention _OPENSSL_isservice().
PR: 2194

14 years agogcm128.c: API modification and readability improvements,
Andy Polyakov [Fri, 9 Jul 2010 14:10:51 +0000 (14:10 +0000)]
gcm128.c: API modification and readability improvements,
add ghash benchmark to apps/speed.c.

14 years agoRework framework for assembler support for AES counter mode and add
Andy Polyakov [Fri, 9 Jul 2010 12:21:52 +0000 (12:21 +0000)]
Rework framework for assembler support for AES counter mode and add
AES_ctr32_encrypt to aes-s390x.pl.

14 years agoHarmonize s390x assembler modules with "catch-all" rules from commit#19749.
Andy Polyakov [Fri, 9 Jul 2010 12:11:12 +0000 (12:11 +0000)]
Harmonize s390x assembler modules with "catch-all" rules from commit#19749.

14 years agoarmv4-mont.pl: addenum to previous commit#19749.
Andy Polyakov [Thu, 8 Jul 2010 15:06:01 +0000 (15:06 +0000)]
armv4-mont.pl: addenum to previous commit#19749.

14 years agocrypto/*/Makefile: unify "catch-all" assembler make rules and harmonize
Andy Polyakov [Thu, 8 Jul 2010 15:03:42 +0000 (15:03 +0000)]
crypto/*/Makefile: unify "catch-all" assembler make rules and harmonize
ARM assembler modules.

14 years agorand_nw.c: compensate for gcc bug (using %edx instead of %eax at -O3).
Andy Polyakov [Thu, 8 Jul 2010 09:14:00 +0000 (09:14 +0000)]
rand_nw.c: compensate for gcc bug (using %edx instead of %eax at -O3).
PR: 2296

14 years agoPROBLEMS: MacOS X is not necessarily a problem anymore.
Andy Polyakov [Thu, 8 Jul 2010 09:00:00 +0000 (09:00 +0000)]
PROBLEMS: MacOS X is not necessarily a problem anymore.

14 years agosparcv9cap.c: reiterate CPU detection logic.
Andy Polyakov [Thu, 8 Jul 2010 07:47:35 +0000 (07:47 +0000)]
sparcv9cap.c: reiterate CPU detection logic.

14 years agoi variable is used on some platforms
Dr. Stephen Henson [Mon, 5 Jul 2010 11:05:24 +0000 (11:05 +0000)]
i variable is used on some platforms