From d3fdb0f32cb247b1c089d9cbfa0dff717ad470b6 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Sat, 12 Jul 1997 15:13:34 +0000 Subject: [PATCH] try `mk_safe' and `mk_priv' git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2198 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/test/tcp_client.c | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/appl/test/tcp_client.c b/appl/test/tcp_client.c index 77782b7be..10b71aada 100644 --- a/appl/test/tcp_client.c +++ b/appl/test/tcp_client.c @@ -18,6 +18,9 @@ proto (int sock, const char *hostname, const char *service) krb5_auth_context auth_context; krb5_error_code status; krb5_principal server; + krb5_data data; + krb5_data packet; + u_int32_t len, net_len; addrlen = sizeof(local); if (getsockname (sock, (struct sockaddr *)&local, &addrlen) < 0 @@ -86,6 +89,49 @@ proto (int sock, const char *hostname, const char *service) errx (1, "krb5_sendauth: %s", krb5_get_err_text(context, status)); + data.data = "hej"; + data.length = 3; + + krb5_data_zero (&packet); + + status = krb5_mk_safe (context, + auth_context, + &data, + &packet, + NULL); + if (status) + errx (1, "krb5_mk_safe: %s", + krb5_get_err_text(context, status)); + + len = packet.length; + net_len = htonl(len); + + if (krb5_net_write (context, sock, &net_len, 4) != 4) + err (1, "krb5_net_write"); + if (krb5_net_write (context, sock, packet.data, len) != len) + err (1, "krb5_net_write"); + + data.data = "hemligt"; + data.length = 7; + + krb5_data_free (&packet); + + status = krb5_mk_priv (context, + auth_context, + &data, + &packet, + NULL); + if (status) + errx (1, "krb5_mk_priv: %s", + krb5_get_err_text(context, status)); + + len = packet.length; + net_len = htonl(len); + + if (krb5_net_write (context, sock, &net_len, 4) != 4) + err (1, "krb5_net_write"); + if (krb5_net_write (context, sock, packet.data, len) != len) + err (1, "krb5_net_write"); } static int