Whitespace changes in license headers.
[radsecproxy.git] / lib / debug.c
index d2d8d9c..903c793 100644 (file)
@@ -1,81 +1,46 @@
-/* See the file COPYING for licensing information.  */
+/* Copyright 2011 NORDUnet A/S. All rights reserved.
+   See LICENSE for licensing information. */
 
+#if defined HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <sys/types.h>
 #include <stdio.h>
-#include <freeradius/libradius.h>
-#include "libradsec.h"
-#include "libradsec-impl.h"
+#include <assert.h>
+#include <radius/client.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)
+void
+rs_dump_packet (const struct rs_packet *pkt)
 {
-       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;
-                       }
+  const RADIUS_PACKET *p = NULL;
 
-                       if (ptr[1] > total) { /* too long */
-                               for (i = 0; i < total; i++) {
-                                       printf("%02x ", ptr[i]);
-                               }
-                               break;
-                       }
+  if (!pkt || !pkt->rpkt)
+    return;
+  p = pkt->rpkt;
 
-                       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);
+  fprintf (stderr, "\tCode: %u, Identifier: %u, Lenght: %zu\n",
+          p->code,
+          p->id,
+          p->sizeof_data);
+  fflush (stderr);
 }
 
-void
-rs_dump_packet (const struct rs_packet *pkt)
+#if defined DEBUG
+int
+_rs_debug (const char *fmt, ...)
 {
-  print_hex (pkt->rpkt);
-}
+  int n;
+  va_list args;
 
-void
-rs_dump_attr (const struct rs_attr *attr)
-{
-  vp_printlist (stderr, attr->vp);
+  va_start (args, fmt);
+  n = vfprintf (stderr, fmt, args);
+  va_end (args);
+  fflush (stderr);
+
+  return n;
 }
+#endif