#define TRUE 1
#endif
+/* uncomment this for packet level debugging */
+/* #define DUMP_PACKETS */
+
#define logevent(s) { logevent(s); \
if ((flags & FLAG_STDERR) && (flags & FLAG_VERBOSE)) \
{ fprintf(stderr, "%s\n", s); fflush(stderr); } }
if (cipher)
cipher->decrypt(pktin.data, st->biglen);
-#if 0
- debug(("Got packet len=%d pad=%d\r\n", st->len, st->pad));
- for (st->i = 0; st->i < st->biglen; st->i++)
- debug((" %02x", (unsigned char)pktin.data[st->i]));
- debug(("\r\n"));
+#ifdef DUMP_PACKETS
+ debug(("Got packet len=%d pad=%d\n", st->len, st->pad));
+ dmemdump(pktin.data, st->biglen);
#endif
st->realcrc = crc32(pktin.data, st->biglen-4);
if (ssh1_compressing) {
unsigned char *decompblk;
int decomplen;
-#if 0
- {
- int i;
- debug(("Packet payload pre-decompression:\n"));
- for (i = -1; i < pktin.length; i++)
- debug((" %02x", (unsigned char)pktin.body[i]));
- debug(("\r\n"));
- }
+#ifdef DUMP_PACKETS
+ debug(("Packet payload pre-decompression:\n"));
+ dmemdump(pktin.body-1, pktin.length+1);
#endif
zlib_decompress_block(pktin.body-1, pktin.length+1,
&decompblk, &decomplen);
memcpy(pktin.body-1, decompblk, decomplen);
sfree(decompblk);
pktin.length = decomplen-1;
-#if 0
- {
- int i;
- debug(("Packet payload post-decompression:\n"));
- for (i = -1; i < pktin.length; i++)
- debug((" %02x", (unsigned char)pktin.body[i]));
- debug(("\r\n"));
- }
+#ifdef DUMP_PACKETS
+ debug(("Packet payload post-decompression:\n"));
+ dmemdump(pktin.body-1, pktin.length+1);
#endif
}
sccipher->decrypt(pktin.data + st->cipherblk,
st->packetlen - st->cipherblk);
-#if 0
- debug(("Got packet len=%d pad=%d\r\n", st->len, st->pad));
- for (st->i = 0; st->i < st->packetlen; st->i++)
- debug((" %02x", (unsigned char)pktin.data[st->i]));
- debug(("\r\n"));
+#ifdef DUMP_PACKETS
+ debug(("Got packet len=%d pad=%d\n", st->len, st->pad));
+ dmemdump(pktin.data, st->packetlen);
#endif
/*
}
pktin.length = 5 + newlen;
memcpy(pktin.data+5, newpayload, newlen);
-#if 0
- debug(("Post-decompression payload:\r\n"));
- for (st->i = 0; st->i < newlen; st->i++)
- debug((" %02x", (unsigned char)pktin.data[5+st->i]));
- debug(("\r\n"));
+#ifdef DUMP_PACKETS
+ debug(("Post-decompression payload:\n"));
+ dmemdump(pktin.data+5, newlen);
#endif
sfree(newpayload);
pktout.body[-1] = pktout.type;
-#if 0
+#ifdef DUMP_PACKETS
debug(("Packet payload pre-compression:\n"));
- for (i = -1; i < pktout.length; i++)
- debug((" %02x", (unsigned char)pktout.body[i]));
- debug(("\r\n"));
+ dmemdump(pktout.body-1, pktout.length+1);
#endif
if (ssh1_compressing) {
ssh1_pktout_size(complen-1);
memcpy(pktout.body-1, compblk, complen);
sfree(compblk);
-#if 0
+#ifdef DUMP_PACKETS
debug(("Packet payload post-compression:\n"));
- for (i = -1; i < pktout.length; i++)
- debug((" %02x", (unsigned char)pktout.body[i]));
- debug(("\r\n"));
+ dmemdump(pktout.body-1, pktout.length+1);
#endif
}
PUT_32BIT(pktout.data+biglen, crc);
PUT_32BIT(pktout.data, len);
-#if 0
- debug(("Sending packet len=%d\r\n", biglen+4));
- for (i = 0; i < biglen+4; i++)
- debug((" %02x", (unsigned char)pktout.data[i]));
- debug(("\r\n"));
+#ifdef DUMP_PACKETS
+ debug(("Sending packet len=%d\n", biglen+4));
+ dmemdump(pktout.data, biglen+4);
#endif
if (cipher)
cipher->encrypt(pktout.data+4, biglen);
/*
* Compress packet payload.
*/
-#if 0
- debug(("Pre-compression payload:\r\n"));
- for (i = 5; i < pktout.length; i++)
- debug((" %02x", (unsigned char)pktout.data[i]));
- debug(("\r\n"));
+#ifdef DUMP_PACKETS
+ debug(("Pre-compression payload:\n"));
+ dmemdump(pktout.data+5, pktout.length-5);
#endif
{
unsigned char *newpayload;
outgoing_sequence);
outgoing_sequence++; /* whether or not we MACed */
-#if 0
- debug(("Sending packet len=%d\r\n", pktout.length+padding));
- for (i = 0; i < pktout.length+padding; i++)
- debug((" %02x", (unsigned char)pktout.data[i]));
- debug(("\r\n"));
+#ifdef DUMP_PACKETS
+ debug(("Sending packet len=%d\n", pktout.length+padding));
+ dmemdump(pktout.data, pktout.length+padding);
#endif
if (cscipher)
debug(("%s", string));
for (i = 0; i < len; i++)
debug((" %02x", p[i]));
- debug(("\r\n"));
+ debug(("\n"));
sfree(p);
}
#endif
dh_cleanup();
#if 0
- debug(("Exchange hash is:\r\n"));
- for (i = 0; i < 20; i++)
- debug((" %02x", exchange_hash[i]));
- debug(("\r\n"));
+ debug(("Exchange hash is:\n"));
+ dmemdump(exchange_hash, 20);
#endif
hkey = hostkey->newkey(hostkeydata, hostkeylen);
method = 0;
- if (!method && can_pubkey && agent_exists && !tried_agent) {
+ if (!method && can_pubkey && agent_exists() && !tried_agent) {
/*
* Attempt public-key authentication using Pageant.
*/