krb5 commit [krb5-1.18]: Make fiat 128-bit typedefs work with older gcc

Greg Hudson <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.cvs
Message-ID <[email protected]>
https://github.com/krb5/krb5/commit/411366f9396d63147c4bc433aff42b9554d4d6be
commit 411366f9396d63147c4bc433aff42b9554d4d6be
Author: Greg Hudson <[email protected]>
Date:   Tue Mar 24 02:00:25 2020 -0400

    Make fiat 128-bit typedefs work with older gcc
    
    Use the int128_t and uint128_t types defined by edwards25519.c, rather
    than [un]signed __int128 which does not compile with gcc 4.4.
    Reported by Norm Green.
    
    (cherry picked from commit dd5d6e5e39be6cf7fe9d54a79e824f8cb7301177)
    
    ticket: 8888
    version_fixed: 1.18.1

 src/plugins/preauth/spake/edwards25519.c      |    4 +++-
 src/plugins/preauth/spake/edwards25519_fiat.h |    4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/plugins/preauth/spake/edwards25519.c b/src/plugins/preauth/spake/edwards25519.c
index cbc26e5..2039411 100644
--- a/src/plugins/preauth/spake/edwards25519.c
+++ b/src/plugins/preauth/spake/edwards25519.c
@@ -68,7 +68,9 @@
  *   generation.  The fiat_25519_selectznz and fiat_25519_carry_scmul_121666
  *   functions were removed from both branches as they are not used here (the
  *   former because it is not used by the BoringSSL code and the latter because
- *   it is only used by the X25519 code).
+ *   it is only used by the X25519 code).  The fiat_25519_int128 and
+ *   fiat_25519_uint128 typedefs were adjusted to work with older versions of
+ *   gcc.
  *
  * - fe_cmov() has the initial "Silence an unused function warning" part
  *   removed, as we removed fiat_25519_selectznz instead.
diff --git a/src/plugins/preauth/spake/edwards25519_fiat.h b/src/plugins/preauth/spake/edwards25519_fiat.h
index b61cb49..48ade92 100644
--- a/src/plugins/preauth/spake/edwards25519_fiat.h
+++ b/src/plugins/preauth/spake/edwards25519_fiat.h
@@ -11,8 +11,8 @@
 #include <stdint.h>
 typedef unsigned char fiat_25519_uint1;
 typedef signed char fiat_25519_int1;
-typedef signed __int128 fiat_25519_int128;
-typedef unsigned __int128 fiat_25519_uint128;
+typedef int128_t fiat_25519_int128;
+typedef uint128_t fiat_25519_uint128;
 
 
 /*
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.