with the crc32() function in the zlib interface. (Not that PuTTY
itself _uses_ zlib, but on Unix it's linked against libgtk which
uses libpng which uses zlib. And zlib has poor namespace management
so it defines this ridiculously intrusive function name. Arrrrgh.)
[originally from svn r3191]
if (ssh->cipher)
ssh->cipher->decrypt(ssh->v1_cipher_ctx, ssh->pktin.data, st->biglen);
if (ssh->cipher)
ssh->cipher->decrypt(ssh->v1_cipher_ctx, ssh->pktin.data, st->biglen);
- st->realcrc = crc32(ssh->pktin.data, st->biglen - 4);
+ st->realcrc = crc32_compute(ssh->pktin.data, st->biglen - 4);
st->gotcrc = GET_32BIT(ssh->pktin.data + st->biglen - 4);
if (st->gotcrc != st->realcrc) {
bombout(("Incorrect CRC received on packet"));
st->gotcrc = GET_32BIT(ssh->pktin.data + st->biglen - 4);
if (st->gotcrc != st->realcrc) {
bombout(("Incorrect CRC received on packet"));
for (i = 0; i < pad; i++)
ssh->pktout.data[i + 4] = random_byte();
for (i = 0; i < pad; i++)
ssh->pktout.data[i + 4] = random_byte();
- crc = crc32(ssh->pktout.data + 4, biglen - 4);
+ crc = crc32_compute(ssh->pktout.data + 4, biglen - 4);
PUT_32BIT(ssh->pktout.data + biglen, crc);
PUT_32BIT(ssh->pktout.data, len);
PUT_32BIT(ssh->pktout.data + biglen, crc);
PUT_32BIT(ssh->pktout.data, len);
typedef unsigned int word32;
typedef unsigned int uint32;
typedef unsigned int word32;
typedef unsigned int uint32;
-unsigned long crc32(const void *s, size_t len);
+unsigned long crc32_compute(const void *s, size_t len);
unsigned long crc32_update(unsigned long crc_input, const void *s, size_t len);
/* SSH CRC compensation attack detector */
unsigned long crc32_update(unsigned long crc_input, const void *s, size_t len);
/* SSH CRC compensation attack detector */
*
* - Compile with no special #defines. Will generate a table
* that's already initialised at compile time, and one function
*
* - Compile with no special #defines. Will generate a table
* that's already initialised at compile time, and one function
- * crc32(buf,len) that uses it. Normal usage.
+ * crc32_compute(buf,len) that uses it. Normal usage.
*
* - Compile with INITFUNC defined. Will generate an uninitialised
*
* - Compile with INITFUNC defined. Will generate an uninitialised
- * array as the table, and as well as crc32(buf,len) it will
- * also generate void crc32_init(void) which sets up the table
- * at run time. Useful if binary size is important.
+ * array as the table, and as well as crc32_compute(buf,len) it
+ * will also generate void crc32_init(void) which sets up the
+ * table at run time. Useful if binary size is important.
*
* - Compile with GENPROGRAM defined. Will create a standalone
* program that does the initialisation and outputs the table as
*
* - Compile with GENPROGRAM defined. Will create a standalone
* program that does the initialisation and outputs the table as
-unsigned long crc32(const void *buf, size_t len)
+unsigned long crc32_compute(const void *buf, size_t len)
{
return crc32_update(0L, buf, len);
}
{
return crc32_update(0L, buf, len);
}