git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6215 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-05-12 17:46:55 +00:00
parent 9ed385bdd3
commit ed2ea45a18

View File

@@ -51,6 +51,10 @@ struct krb5_kx_context {
typedef struct krb5_kx_context krb5_kx_context; typedef struct krb5_kx_context krb5_kx_context;
/*
* Destroy the krb5 context in `c'.
*/
static void static void
krb5_destroy (kx_context *c) krb5_destroy (kx_context *c)
{ {
@@ -67,6 +71,11 @@ krb5_destroy (kx_context *c)
free (kc->context); free (kc->context);
} }
/*
* Read the authentication information from `s' and return 0 if
* succesful, else -1.
*/
static int static int
krb5_authenticate (kx_context *kc, int s) krb5_authenticate (kx_context *kc, int s)
{ {
@@ -121,6 +130,12 @@ krb5_authenticate (kx_context *kc, int s)
return 0; return 0;
} }
/*
* Read an encapsulated krb5 packet from `fd' into `buf' (of size
* `len'). Return the number of bytes read or 0 on EOF or -1 on
* error.
*/
static ssize_t static ssize_t
krb5_read (kx_context *kc, krb5_read (kx_context *kc,
int fd, void *buf, size_t len) int fd, void *buf, size_t len)
@@ -160,6 +175,11 @@ krb5_read (kx_context *kc,
return data_len; return data_len;
} }
/*
* Write an encapsulated krb5 packet on `fd' with the data in `buf,
* len'. Return len or -1 on error.
*/
static ssize_t static ssize_t
krb5_write(kx_context *kc, krb5_write(kx_context *kc,
int fd, const void *buf, size_t len) int fd, const void *buf, size_t len)
@@ -193,6 +213,11 @@ krb5_write(kx_context *kc,
return len; return len;
} }
/*
* Copy from the unix socket `from_fd' encrypting to `to_fd'.
* Return 0, -1 or len.
*/
static int static int
copy_out (kx_context *kc, int from_fd, int to_fd) copy_out (kx_context *kc, int from_fd, int to_fd)
{ {
@@ -209,6 +234,11 @@ copy_out (kx_context *kc, int from_fd, int to_fd)
return krb5_write (kc, to_fd, buf, len); return krb5_write (kc, to_fd, buf, len);
} }
/*
* Copy from the socket `from_fd' decrypting to `to_fd'.
* Return 0, -1 or len.
*/
static int static int
copy_in (kx_context *kc, int from_fd, int to_fd) copy_in (kx_context *kc, int from_fd, int to_fd)
{ {
@@ -228,6 +258,11 @@ copy_in (kx_context *kc, int from_fd, int to_fd)
return krb5_net_write (c->context, &to_fd, buf, len); return krb5_net_write (c->context, &to_fd, buf, len);
} }
/*
* Copy data between `fd1' and `fd2', encrypting in one direction and
* decrypting in the other.
*/
static int static int
krb5_copy_encrypted (kx_context *kc, int fd1, int fd2) krb5_copy_encrypted (kx_context *kc, int fd1, int fd2)
{ {
@@ -257,6 +292,11 @@ krb5_copy_encrypted (kx_context *kc, int fd1, int fd2)
} }
} }
/*
* Return 0 if the user authenticated on `kc' is allowed to login as
* `user'.
*/
static int static int
krb5_userok (kx_context *kc, char *user) krb5_userok (kx_context *kc, char *user)
{ {
@@ -271,6 +311,10 @@ krb5_userok (kx_context *kc, char *user)
return !krb5_kuserok (context, c->client, user); return !krb5_kuserok (context, c->client, user);
} }
/*
* Create an instance of an krb5 context.
*/
void void
krb5_make_context (kx_context *kc) krb5_make_context (kx_context *kc)
{ {
@@ -292,6 +336,11 @@ krb5_make_context (kx_context *kc)
krb5_init_context (&c->context); krb5_init_context (&c->context);
} }
/*
* Receive authentication information on `sock' (first four bytes
* in `buf').
*/
int int
recv_v5_auth (kx_context *kc, int sock, u_char *buf) recv_v5_auth (kx_context *kc, int sock, u_char *buf)
{ {