(enet_read): add and use
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8931 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -46,28 +46,37 @@ write_token (int sock, gss_buffer_t buf)
|
|||||||
|
|
||||||
net_len = htonl(len);
|
net_len = htonl(len);
|
||||||
|
|
||||||
if (write (sock, &net_len, 4) != 4)
|
if (net_write (sock, &net_len, 4) != 4)
|
||||||
err (1, "write");
|
err (1, "write");
|
||||||
if (write (sock, buf->value, len) != len)
|
if (net_write (sock, buf->value, len) != len)
|
||||||
err (1, "write");
|
err (1, "write");
|
||||||
|
|
||||||
gss_release_buffer (&min_stat, buf);
|
gss_release_buffer (&min_stat, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
enet_read(int fd, void *buf, size_t len)
|
||||||
|
{
|
||||||
|
ssize_t ret;
|
||||||
|
|
||||||
|
ret = net_read (fd, buf, len);
|
||||||
|
if (ret == 0)
|
||||||
|
errx (1, "EOF in read");
|
||||||
|
else if (ret < 0)
|
||||||
|
errx (1, "read");
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
read_token (int sock, gss_buffer_t buf)
|
read_token (int sock, gss_buffer_t buf)
|
||||||
{
|
{
|
||||||
u_int32_t len, net_len;
|
u_int32_t len, net_len;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (read(sock, &net_len, 4) != 4)
|
enet_read (sock, &net_len, 4);
|
||||||
err (1, "read");
|
|
||||||
len = ntohl(net_len);
|
len = ntohl(net_len);
|
||||||
buf->length = len;
|
buf->length = len;
|
||||||
buf->value = malloc(len);
|
buf->value = emalloc(len);
|
||||||
if (buf->value == NULL)
|
enet_read (sock, buf->value, len);
|
||||||
err (1, "malloc %u", len);
|
|
||||||
if (read (sock, buf->value, len) != len)
|
|
||||||
err (1, "read");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Reference in New Issue
Block a user