try rd_safe' and rd_priv'

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2199 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-07-12 15:14:09 +00:00
parent d3fdb0f32c
commit e871433921

View File

@@ -21,6 +21,9 @@ proto (int sock, const char *service)
krb5_ticket *ticket; krb5_ticket *ticket;
char *name; char *name;
char hostname[MAXHOSTNAMELEN]; char hostname[MAXHOSTNAMELEN];
krb5_data packet;
krb5_data data;
u_int32_t len, net_len;
addrlen = sizeof(local); addrlen = sizeof(local);
if (getsockname (sock, (struct sockaddr *)&local, &addrlen) < 0 if (getsockname (sock, (struct sockaddr *)&local, &addrlen) < 0
@@ -92,6 +95,51 @@ proto (int sock, const char *service)
printf ("User is `%s'\n", name); printf ("User is `%s'\n", name);
free (name); free (name);
krb5_data_zero (&data);
krb5_data_zero (&packet);
if (krb5_net_read (context, sock, &net_len, 4) != 4)
err (1, "krb5_net_read");
len = ntohl(net_len);
krb5_data_alloc (&packet, len);
if (krb5_net_read (context, sock, packet.data, len) != len)
err (1, "krb5_net_read");
status = krb5_rd_safe (context,
auth_context,
&packet,
&data,
NULL);
if (status)
errx (1, "krb5_rd_safe: %s",
krb5_get_err_text(context, status));
printf ("safe packet: %.*s\n", data.length, data.data);
if (krb5_net_read (context, sock, &net_len, 4) != 4)
err (1, "krb5_net_read");
len = ntohl(net_len);
krb5_data_alloc (&packet, len);
if (krb5_net_read (context, sock, packet.data, len) != len)
err (1, "krb5_net_read");
status = krb5_rd_priv (context,
auth_context,
&packet,
&data,
NULL);
if (status)
errx (1, "krb5_rd_priv: %s",
krb5_get_err_text(context, status));
printf ("priv packet: %.*s\n", data.length, data.data);
return 0; return 0;
} }