Principal handling
authorDaniel Kouřil <kouril@ics.muni.cz>
Thu, 12 Jan 2012 08:47:51 +0000 (08:47 +0000)
committerDaniel Kouřil <kouril@ics.muni.cz>
Thu, 12 Jan 2012 08:47:51 +0000 (08:47 +0000)
- this introduces dependency on a gssapi.h header

emi.canl.canl-c/src/canl.h

index 8eaf03a..f145814 100644 (file)
@@ -2,6 +2,7 @@
 #define _CANL_H
 #include <sys/time.h>
 #include <sys/socket.h>
+#include <gssapi.h> /* for the OID structs */
 
 #ifdef __cplusplus
 extern "C" { 
@@ -11,6 +12,7 @@ extern "C" {
 
 typedef void *canl_io_handler;
 typedef void *canl_ctx;
+typedef void *canl_principal;
 
 canl_ctx canl_create_ctx();
 void canl_free_ctx(canl_ctx cc);
@@ -19,7 +21,7 @@ canl_io_handler canl_create_io_handler(canl_ctx cc);
 int canl_io_connect(canl_ctx cc, canl_io_handler io, char * host, 
         int port, int flags, struct timeval *timeout);
 int canl_io_accept(canl_ctx cc, canl_io_handler io, int fd,
-        struct sockaddr s_addr, int flags,
+        struct sockaddr s_addr, int flags, canl_principal *peer,
         struct timeval *timeout);
 size_t canl_io_read(canl_ctx cc, canl_io_handler io, void *buffer, size_t size, struct timeval *timeout);
 size_t canl_io_write(canl_ctx cc, canl_io_handler io, void *buffer, size_t size, struct timeval *timeout);
@@ -34,6 +36,11 @@ int canl_get_error(canl_ctx cc, char ** reason);
 int canl_io_close(canl_ctx cc, canl_io_handler io);
 int canl_io_destroy(canl_ctx cc, canl_io_handler io);
 
+int canl_princ_name(canl_ctx, const canl_principal, char **);
+int canl_princ_mech(canl_ctx, const canl_principal, gss_OID *);
+char * canl_mech2str(canl_ctx, gss_OID);
+const gss_OID canl_str2mech(canl_ctx, const char mech);
+
 #ifdef __cplusplus
 }       
 #endif