Replace some code for debug printouts.
authorLinus Nordberg <linus@nordu.net>
Wed, 2 Feb 2011 09:54:11 +0000 (10:54 +0100)
committerLinus Nordberg <linus@nordu.net>
Wed, 2 Feb 2011 09:54:11 +0000 (10:54 +0100)
lib/debug.c

index 604ab23..801f2fb 100644 (file)
@@ -5,77 +5,22 @@
 #endif
 
 #include <stdio.h>
+#include <assert.h>
 #include <freeradius/libradius.h>
 #include <radsec/radsec.h>
 #include <radsec/radsec-impl.h>
 #include "debug.h"
 
-/* From freeradius-server/src/lib/radius.c */
-static void print_hex(RADIUS_PACKET *packet)
-{
-       int i;
-
-       if (!packet->data) return;
-
-       printf("  Code:\t\t%u\n", packet->data[0]);
-       printf("  Id:\t\t%u\n", packet->data[1]);
-       printf("  Length:\t%u\n", ((packet->data[2] << 8) |
-                                  (packet->data[3])));
-       printf("  Vector:\t");
-       for (i = 4; i < 20; i++) {
-               printf("%02x", packet->data[i]);
-       }
-       printf("\n");
-
-       if (packet->data_len > 20) {
-               int total;
-               const uint8_t *ptr;
-               printf("  Data:");
-
-               total = packet->data_len - 20;
-               ptr = packet->data + 20;
-
-               while (total > 0) {
-                       int attrlen;
-
-                       printf("\t\t");
-                       if (total < 2) { /* too short */
-                               printf("%02x\n", *ptr);
-                               break;
-                       }
-
-                       if (ptr[1] > total) { /* too long */
-                               for (i = 0; i < total; i++) {
-                                       printf("%02x ", ptr[i]);
-                               }
-                               break;
-                       }
-
-                       printf("%02x  %02x  ", ptr[0], ptr[1]);
-                       attrlen = ptr[1] - 2;
-                       ptr += 2;
-                       total -= 2;
-
-                       for (i = 0; i < attrlen; i++) {
-                               if ((i > 0) && ((i & 0x0f) == 0x00))
-                                       printf("\t\t\t");
-                               printf("%02x ", ptr[i]);
-                               if ((i & 0x0f) == 0x0f) printf("\n");
-                       }
-
-                       if ((attrlen & 0x0f) != 0x00) printf("\n");
-
-                       ptr += attrlen;
-                       total -= attrlen;
-               }
-       }
-       fflush(stdout);
-}
-
 void
 rs_dump_packet (const struct rs_packet *pkt)
 {
-  print_hex (pkt->rpkt);
+  const RADIUS_PACKET *p = pkt->rpkt;
+  assert(p);
+
+  fprintf (stderr, "\tCode: %u, Identifier: %u, Lenght: %u\n",
+          p->code,
+          p->id,
+          p->data_len);
 }
 
 void