← Commit list

be5ca42e8

Denys Vlasenko
Denys Vlasenko
2018-11-25
SUCCESS Duration: 294s

Subject

tls: code shrink

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

networking/tls.c+1 -1
@@ -867,7 +867,6 @@ static void xwrite_encrypted_aesgcm(tls_state_t *tls, unsigned size, unsigned ty
xorbuf_aligned_AES_BLOCK_SIZE(authtag, scratch);
memcpy(buf, authtag, sizeof(authtag));
-#undef COUNTER
/* Write out */
xhdr = (void*)(tls->outbuf + OUTBUF_PFX - 8 - RECHDR_LEN);
@@ -881,6 +880,7 @@ static void xwrite_encrypted_aesgcm(tls_state_t *tls, unsigned size, unsigned ty
dump_raw_out(">> %s\n", xhdr, size);
xwrite(tls->ofd, xhdr, size);
dbg("wrote %u bytes\n", size);
+#undef COUNTER
}
static void xwrite_encrypted(tls_state_t *tls, unsigned size, unsigned type)
networking/tls_aesgcm.c+13 -5
@@ -87,8 +87,8 @@ void FAST_FUNC aesgcm_GHASH(byte* h,
)
{
byte x[AES_BLOCK_SIZE] ALIGNED_long;
- byte scratch[AES_BLOCK_SIZE] ALIGNED_long;
- word32 blocks, partial;
+// byte scratch[AES_BLOCK_SIZE] ALIGNED_long;
+ unsigned blocks, partial;
//was: byte* h = aes->H;
//XMEMSET(x, 0, AES_BLOCK_SIZE);
@@ -133,9 +133,17 @@ void FAST_FUNC aesgcm_GHASH(byte* h,
}
/* Hash in the lengths of A and C in bits */
- FlattenSzInBits(&scratch[0], aSz);
- FlattenSzInBits(&scratch[8], cSz);
- xorbuf_aligned_AES_BLOCK_SIZE(x, scratch);
+ //FlattenSzInBits(&scratch[0], aSz);
+ //FlattenSzInBits(&scratch[8], cSz);
+ //xorbuf_aligned_AES_BLOCK_SIZE(x, scratch);
+ // simpler:
+#define P32(v) ((uint32_t*)v)
+ //P32(x)[0] ^= 0;
+ P32(x)[1] ^= SWAP_BE32(aSz * 8);
+ //P32(x)[2] ^= 0;
+ P32(x)[3] ^= SWAP_BE32(cSz * 8);
+#undef P32
+
GMULT(x, h);
/* Copy the result into s. */