aboutsummaryrefslogtreecommitdiff
path: root/src/appl/gss-sample/gss-server.c
diff options
context:
space:
mode:
authorPaul Park <pjpark@mit.edu>1995-08-29 18:44:47 +0000
committerPaul Park <pjpark@mit.edu>1995-08-29 18:44:47 +0000
commit8b963d1d04f22b92c15ab14b3f8b81625a306f1c (patch)
tree2593100ccfc0c51a91de000dd7bf4f74ad23faf2 /src/appl/gss-sample/gss-server.c
parentcf72ab9817052829ac622b2487cc864cea8f858b (diff)
downloadkrb5-8b963d1d04f22b92c15ab14b3f8b81625a306f1c.zip
krb5-8b963d1d04f22b92c15ab14b3f8b81625a306f1c.tar.gz
krb5-8b963d1d04f22b92c15ab14b3f8b81625a306f1c.tar.bz2
Use new gss_{im,ex}port_sec_context
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6630 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl/gss-sample/gss-server.c')
-rw-r--r--src/appl/gss-sample/gss-server.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/appl/gss-sample/gss-server.c b/src/appl/gss-sample/gss-server.c
index b90bd37..e401445 100644
--- a/src/appl/gss-sample/gss-server.c
+++ b/src/appl/gss-sample/gss-server.c
@@ -180,7 +180,7 @@ int sign_server(s, service_name)
char *service_name;
{
gss_cred_id_t server_creds;
- gss_buffer_desc client_name, xmit_buf, msg_buf;
+ gss_buffer_desc client_name, xmit_buf, msg_buf, context_token;
gss_ctx_id_t context;
OM_uint32 maj_stat, min_stat;
int s2;
@@ -209,6 +209,25 @@ int sign_server(s, service_name)
client_name.value, ctime(&now));
(void) gss_release_buffer(&min_stat, &client_name);
+ /*
+ * Attempt to save and then restore the context.
+ */
+ maj_stat = gss_export_sec_context(&min_stat,
+ &context,
+ &context_token);
+ if (maj_stat != GSS_S_COMPLETE) {
+ display_status("exporting context", maj_stat, min_stat);
+ break;
+ }
+ maj_stat = gss_import_sec_context(&min_stat,
+ &context_token,
+ &context);
+ if (maj_stat != GSS_S_COMPLETE) {
+ display_status("importing context", maj_stat, min_stat);
+ break;
+ }
+ (void) gss_release_buffer(&min_stat, &context_token);
+
/* Receive the sealed message token */
if (recv_token(s2, &xmit_buf) < 0)
break;