summaryrefslogtreecommitdiffstats
path: root/src/tests/gss-threads/gss-misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/gss-threads/gss-misc.c')
-rw-r--r--src/tests/gss-threads/gss-misc.c416
1 files changed, 205 insertions, 211 deletions
diff --git a/src/tests/gss-threads/gss-misc.c b/src/tests/gss-threads/gss-misc.c
index 4fdbde31cd..670288e377 100644
--- a/src/tests/gss-threads/gss-misc.c
+++ b/src/tests/gss-threads/gss-misc.c
@@ -1,3 +1,4 @@
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */
/*
* Copyright 1994 by OpenVision Technologies, Inc.
*
@@ -80,32 +81,33 @@ extern char *malloc();
FILE *display_file;
-gss_buffer_desc empty_token_buf = { 0, (void *) "" };
+gss_buffer_desc empty_token_buf = { 0, (void *)"" };
gss_buffer_t empty_token = &empty_token_buf;
-static void display_status_1
- (char *m, OM_uint32 code, int type);
+static void display_status_1(char *m, OM_uint32 code, int type);
-static int write_all(int fildes, char *buf, unsigned int nbyte)
+static int
+write_all(int fildes, char *buf, unsigned int nbyte)
{
- int ret;
- char *ptr;
-
- for (ptr = buf; nbyte; ptr += ret, nbyte -= ret) {
- ret = send(fildes, ptr, nbyte, 0);
- if (ret < 0) {
- if (errno == EINTR)
- continue;
- return(ret);
- } else if (ret == 0) {
- return(ptr-buf);
- }
- }
-
- return(ptr-buf);
+ int ret;
+ char *ptr;
+
+ for (ptr = buf; nbyte; ptr += ret, nbyte -= ret) {
+ ret = send(fildes, ptr, nbyte, 0);
+ if (ret < 0) {
+ if (errno == EINTR)
+ continue;
+ return ret;
+ } else if (ret == 0) {
+ return ptr - buf;
+ }
+ }
+
+ return ptr - buf;
}
-static int read_all(int fildes, char *buf, unsigned int nbyte)
+static int
+read_all(int fildes, char *buf, unsigned int nbyte)
{
int ret;
char *ptr;
@@ -118,20 +120,20 @@ static int read_all(int fildes, char *buf, unsigned int nbyte)
tv.tv_usec = 0;
for (ptr = buf; nbyte; ptr += ret, nbyte -= ret) {
- if (select(FD_SETSIZE, &rfds, NULL, NULL, &tv) <= 0
- || !FD_ISSET(fildes, &rfds))
- return(ptr-buf);
- ret = recv(fildes, ptr, nbyte, 0);
- if (ret < 0) {
- if (errno == EINTR)
- continue;
- return(ret);
- } else if (ret == 0) {
- return(ptr-buf);
- }
+ if (select(FD_SETSIZE, &rfds, NULL, NULL, &tv) <= 0 ||
+ !FD_ISSET(fildes, &rfds))
+ return ptr - buf;
+ ret = recv(fildes, ptr, nbyte, 0);
+ if (ret < 0) {
+ if (errno == EINTR)
+ continue;
+ return ret;
+ } else if (ret == 0) {
+ return ptr - buf;
+ }
}
- return(ptr-buf);
+ return ptr - buf;
}
/*
@@ -141,9 +143,9 @@ static int read_all(int fildes, char *buf, unsigned int nbyte)
*
* Arguments:
*
- * s (r) an open file descriptor
- * flags (r) the flags to write
- * tok (r) the token to write
+ * s (r) an open file descriptor
+ * flags (r) the flags to write
+ * tok (r) the token to write
*
* Returns: 0 on success, -1 on failure
*
@@ -155,50 +157,49 @@ static int read_all(int fildes, char *buf, unsigned int nbyte)
* written to the file descriptor s. It returns 0 on success, and -1
* if an error occurs or if it could not write all the data.
*/
-int send_token(s, flags, tok)
- int s;
- int flags;
- gss_buffer_t tok;
+int
+send_token(int s, int flags, gss_buffer_t tok)
{
- int ret;
- unsigned char char_flags = (unsigned char) flags;
- unsigned char lenbuf[4];
-
- if (char_flags) {
- ret = write_all(s, (char *)&char_flags, 1);
- if (ret != 1) {
- perror("sending token flags");
- return -1;
- }
- }
- if (tok->length > 0xffffffffUL)
- abort();
- store_32_be(tok->length, lenbuf);
- ret = write_all(s, lenbuf, 4);
- if (ret < 0) {
- perror("sending token length");
- return -1;
- } else if (ret != 4) {
- if (display_file)
- fprintf(display_file,
- "sending token length: %d of %d bytes written\n",
- ret, 4);
- return -1;
- }
-
- ret = write_all(s, tok->value, tok->length);
- if (ret < 0) {
- perror("sending token data");
- return -1;
- } else if (ret != tok->length) {
- if (display_file)
- fprintf(display_file,
- "sending token data: %d of %d bytes written\n",
- ret, (int) tok->length);
- return -1;
- }
-
- return 0;
+ int ret;
+ unsigned char char_flags = (unsigned char)flags;
+ unsigned char lenbuf[4];
+
+ if (char_flags) {
+ ret = write_all(s, (char *)&char_flags, 1);
+ if (ret != 1) {
+ perror("sending token flags");
+ return -1;
+ }
+ }
+ if (tok->length > 0xffffffffUL)
+ abort();
+ store_32_be(tok->length, lenbuf);
+ ret = write_all(s, lenbuf, 4);
+ if (ret < 0) {
+ perror("sending token length");
+ return -1;
+ } else if (ret != 4) {
+ if (display_file) {
+ fprintf(display_file,
+ "sending token length: %d of %d bytes written\n", ret, 4);
+ }
+ return -1;
+ }
+
+ ret = write_all(s, tok->value, tok->length);
+ if (ret < 0) {
+ perror("sending token data");
+ return -1;
+ } else if (ret != tok->length) {
+ if (display_file) {
+ fprintf(display_file,
+ "sending token data: %d of %d bytes written\n",
+ ret, (int)tok->length);
+ }
+ return -1;
+ }
+
+ return 0;
}
/*
@@ -208,9 +209,9 @@ int send_token(s, flags, tok)
*
* Arguments:
*
- * s (r) an open file descriptor
- * flags (w) the read flags
- * tok (w) the read token
+ * s (r) an open file descriptor
+ * flags (w) the read flags
+ * tok (w) the read token
*
* Returns: 0 on success, -1 on failure
*
@@ -224,104 +225,96 @@ int send_token(s, flags, tok)
* should be freed with gss_release_buffer. It returns 0 on success,
* and -1 if an error occurs or if it could not read all the data.
*/
-int recv_token(s, flags, tok)
- int s;
- int *flags;
- gss_buffer_t tok;
+int
+recv_token(int s, int *flags, gss_buffer_t tok)
{
- int ret;
- unsigned char char_flags;
- unsigned char lenbuf[4];
-
- ret = read_all(s, (char *) &char_flags, 1);
- if (ret < 0) {
- perror("reading token flags");
- return -1;
- } else if (! ret) {
- if (display_file)
- fputs("reading token flags: 0 bytes read\n", display_file);
- return -1;
- } else {
- *flags = (int) char_flags;
- }
-
- if (char_flags == 0 ) {
- lenbuf[0] = 0;
- ret = read_all(s, &lenbuf[1], 3);
- if (ret < 0) {
- perror("reading token length");
- return -1;
- } else if (ret != 3) {
- if (display_file)
- fprintf(display_file,
- "reading token length: %d of %d bytes read\n",
- ret, 3);
- return -1;
- }
- }
- else {
- ret = read_all(s, lenbuf, 4);
- if (ret < 0) {
- perror("reading token length");
- return -1;
- } else if (ret != 4) {
- if (display_file)
- fprintf(display_file,
- "reading token length: %d of %d bytes read\n",
- ret, 4);
- return -1;
- }
- }
-
- tok->length = ((lenbuf[0] << 24)
- | (lenbuf[1] << 16)
- | (lenbuf[2] << 8)
- | lenbuf[3]);
- tok->value = (char *) malloc(tok->length ? tok->length : 1);
- if (tok->length && tok->value == NULL) {
- if (display_file)
- fprintf(display_file,
- "Out of memory allocating token data\n");
- return -1;
- }
-
- ret = read_all(s, (char *) tok->value, tok->length);
- if (ret < 0) {
- perror("reading token data");
- free(tok->value);
- return -1;
- } else if (ret != tok->length) {
- fprintf(stderr, "sending token data: %d of %d bytes written\n",
- ret, (int) tok->length);
- free(tok->value);
- return -1;
- }
-
- return 0;
+ int ret;
+ unsigned char char_flags;
+ unsigned char lenbuf[4];
+
+ ret = read_all(s, (char *)&char_flags, 1);
+ if (ret < 0) {
+ perror("reading token flags");
+ return -1;
+ } else if (!ret) {
+ if (display_file)
+ fputs("reading token flags: 0 bytes read\n", display_file);
+ return -1;
+ } else {
+ *flags = char_flags;
+ }
+
+ if (char_flags == 0) {
+ lenbuf[0] = 0;
+ ret = read_all(s, &lenbuf[1], 3);
+ if (ret < 0) {
+ perror("reading token length");
+ return -1;
+ } else if (ret != 3) {
+ if (display_file) {
+ fprintf(display_file,
+ "reading token length: %d of %d bytes read\n", ret, 3);
+ }
+ return -1;
+ }
+ } else {
+ ret = read_all(s, lenbuf, 4);
+ if (ret < 0) {
+ perror("reading token length");
+ return -1;
+ } else if (ret != 4) {
+ if (display_file) {
+ fprintf(display_file,
+ "reading token length: %d of %d bytes read\n", ret, 4);
+ }
+ return -1;
+ }
+ }
+
+ tok->length = ((lenbuf[0] << 24) | (lenbuf[1] << 16) | (lenbuf[2] << 8) |
+ lenbuf[3]);
+ tok->value = malloc(tok->length ? tok->length : 1);
+ if (tok->length && tok->value == NULL) {
+ if (display_file)
+ fprintf(display_file, "Out of memory allocating token data\n");
+ return -1;
+ }
+
+ ret = read_all(s, (char *)tok->value, tok->length);
+ if (ret < 0) {
+ perror("reading token data");
+ free(tok->value);
+ return -1;
+ } else if (ret != tok->length) {
+ fprintf(stderr, "sending token data: %d of %d bytes written\n",
+ ret, (int)tok->length);
+ free(tok->value);
+ return -1;
+ }
+
+ return 0;
}
-static void display_status_1(m, code, type)
- char *m;
- OM_uint32 code;
- int type;
+static void
+display_status_1(char *m, OM_uint32 code, int type)
{
- OM_uint32 maj_stat, min_stat;
- gss_buffer_desc msg;
- OM_uint32 msg_ctx;
-
- msg_ctx = 0;
- while (1) {
- maj_stat = gss_display_status(&min_stat, code,
- type, GSS_C_NULL_OID,
- &msg_ctx, &msg);
- if (display_file)
- fprintf(display_file, "GSS-API error %s: %s\n", m,
- (char *)msg.value);
- (void) gss_release_buffer(&min_stat, &msg);
-
- if (!msg_ctx)
- break;
- }
+ OM_uint32 maj_stat, min_stat;
+ gss_buffer_desc msg;
+ OM_uint32 msg_ctx;
+
+ msg_ctx = 0;
+ while (1) {
+ maj_stat = gss_display_status(&min_stat, code, type, GSS_C_NULL_OID,
+ &msg_ctx, &msg);
+ if (display_file) {
+ fprintf(display_file, "GSS-API error %s: %s\n", m,
+ (char *)msg.value);
+ }
+ (void)gss_release_buffer(&min_stat, &msg);
+
+ if (!msg_ctx)
+ break;
+ }
}
/*
@@ -331,9 +324,9 @@ static void display_status_1(m, code, type)
*
* Arguments:
*
- * msg a string to be displayed with the message
- * maj_stat the GSS-API major status code
- * min_stat the GSS-API minor status code
+ * msg a string to be displayed with the message
+ * maj_stat the GSS-API major status code
+ * min_stat the GSS-API minor status code
*
* Effects:
*
@@ -341,24 +334,22 @@ static void display_status_1(m, code, type)
* displayed on stderr, each preceeded by "GSS-API error <msg>: " and
* followed by a newline.
*/
-void display_status(msg, maj_stat, min_stat)
- char *msg;
- OM_uint32 maj_stat;
- OM_uint32 min_stat;
+void
+display_status(char *msg, OM_uint32 maj_stat, OM_uint32 min_stat)
{
- display_status_1(msg, maj_stat, GSS_C_GSS_CODE);
- display_status_1(msg, min_stat, GSS_C_MECH_CODE);
+ display_status_1(msg, maj_stat, GSS_C_GSS_CODE);
+ display_status_1(msg, min_stat, GSS_C_MECH_CODE);
}
/*
* Function: display_ctx_flags
*
* Purpose: displays the flags returned by context initation in
- * a human-readable form
+ * a human-readable form
*
* Arguments:
*
- * int ret_flags
+ * int ret_flags
*
* Effects:
*
@@ -366,36 +357,36 @@ void display_status(msg, maj_stat, min_stat)
* stdout, preceded by "context flag: " and followed by a newline
*/
-void display_ctx_flags(flags)
- OM_uint32 flags;
+void
+display_ctx_flags(OM_uint32 flags)
{
- if (flags & GSS_C_DELEG_FLAG)
- fprintf(display_file, "context flag: GSS_C_DELEG_FLAG\n");
- if (flags & GSS_C_MUTUAL_FLAG)
- fprintf(display_file, "context flag: GSS_C_MUTUAL_FLAG\n");
- if (flags & GSS_C_REPLAY_FLAG)
- fprintf(display_file, "context flag: GSS_C_REPLAY_FLAG\n");
- if (flags & GSS_C_SEQUENCE_FLAG)
- fprintf(display_file, "context flag: GSS_C_SEQUENCE_FLAG\n");
- if (flags & GSS_C_CONF_FLAG )
- fprintf(display_file, "context flag: GSS_C_CONF_FLAG \n");
- if (flags & GSS_C_INTEG_FLAG )
- fprintf(display_file, "context flag: GSS_C_INTEG_FLAG \n");
+ if (flags & GSS_C_DELEG_FLAG)
+ fprintf(display_file, "context flag: GSS_C_DELEG_FLAG\n");
+ if (flags & GSS_C_MUTUAL_FLAG)
+ fprintf(display_file, "context flag: GSS_C_MUTUAL_FLAG\n");
+ if (flags & GSS_C_REPLAY_FLAG)
+ fprintf(display_file, "context flag: GSS_C_REPLAY_FLAG\n");
+ if (flags & GSS_C_SEQUENCE_FLAG)
+ fprintf(display_file, "context flag: GSS_C_SEQUENCE_FLAG\n");
+ if (flags & GSS_C_CONF_FLAG)
+ fprintf(display_file, "context flag: GSS_C_CONF_FLAG \n");
+ if (flags & GSS_C_INTEG_FLAG)
+ fprintf(display_file, "context flag: GSS_C_INTEG_FLAG \n");
}
-void print_token(tok)
- gss_buffer_t tok;
+void
+print_token(gss_buffer_t tok)
{
size_t i;
unsigned char *p = tok->value;
if (!display_file)
- return;
- for (i=0; i < tok->length; i++, p++) {
- fprintf(display_file, "%02x ", *p);
- if ((i % 16) == 15) {
- fprintf(display_file, "\n");
- }
+ return;
+ for (i = 0; i < tok->length; i++, p++) {
+ fprintf(display_file, "%02x ", *p);
+ if (i % 16 == 15) {
+ fprintf(display_file, "\n");
+ }
}
fprintf(display_file, "\n");
fflush(display_file);
@@ -405,15 +396,18 @@ void print_token(tok)
#include <sys\timeb.h>
#include <time.h>
-int gettimeofday (struct timeval *tv, void *ignore_tz)
+int
+gettimeofday(struct timeval *tv, void *ignore_tz)
{
struct _timeb tb;
+
_tzset();
_ftime(&tb);
if (tv) {
- tv->tv_sec = tb.time;
- tv->tv_usec = tb.millitm * 1000;
+ tv->tv_sec = tb.time;
+ tv->tv_usec = tb.millitm * 1000;
}
return 0;
}
+
#endif /* _WIN32 */