Support elliptic curve key exchange.
[tripe] / servutil.c
index dac92b7..c3465e7 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: servutil.c,v 1.3 2001/06/19 22:08:11 mdw Exp $
+ * $Id: servutil.c,v 1.4 2004/04/03 12:35:13 mdw Exp $
  *
  * Various handy server-only utilities
  *
@@ -29,6 +29,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: servutil.c,v $
+ * Revision 1.4  2004/04/03 12:35:13  mdw
+ * Support elliptic curve key exchange.
+ *
  * Revision 1.3  2001/06/19 22:08:11  mdw
  * Use magic number for packet size.
  *
@@ -68,6 +71,24 @@ const char *mpstr(mp *m)
   return ((const char *)buf_t);
 }
 
+/* --- @gestr@ --- *
+ *
+ * Arguments:  @group *g@ = a group
+ *             @ge *x@ = a group element
+ *
+ * Returns:    A pointer to the element's textual representation.
+ *
+ * Use:                Converts a group element to a string.  Corrupts
+ *             @buf_t@.
+ */
+
+const char *gestr(group *g, ge *x)
+{
+  if (group_writestring(g, x, (char *)buf_t, sizeof(buf_t)))
+    return ("<failed>");
+  return ((const char *)buf_t);
+}
+
 /* --- @timestr@ --- *
  *
  * Arguments:  @time_t t@ = a time to convert