X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=export_sec_context.c;h=46bf118e23465ab72112425cc277e3584bae5316;hb=4866125c4be79ec72fc388eabba01505786850b4;hp=001dd5b7162326033918a4659d7dd692223be84c;hpb=42b89b66a1d432ead5b424a7d39afec2d76bd7af;p=mech_eap.orig diff --git a/export_sec_context.c b/export_sec_context.c index 001dd5b..46bf118 100644 --- a/export_sec_context.c +++ b/export_sec_context.c @@ -38,13 +38,14 @@ gssEapExportPartialContext(OM_uint32 *minor, gss_buffer_t token) { OM_uint32 major, tmpMinor; - size_t length, serverLen; + size_t length, serverLen = 0; unsigned char *p; + char serverBuf[MAXHOSTNAMELEN]; - if (ctx->acceptorCtx.radServer != NULL) - serverLen = strlen(ctx->acceptorCtx.radServer); - else - serverLen = 0; + if (ctx->acceptorCtx.radConn != NULL && + rs_conn_get_current_server(ctx->acceptorCtx.radConn, + serverBuf, sizeof(serverBuf)) == 0) + serverLen = strlen(serverBuf); length = 4 + serverLen + 4 + ctx->acceptorCtx.state.length; @@ -61,7 +62,7 @@ gssEapExportPartialContext(OM_uint32 *minor, store_uint32_be(serverLen, p); p += 4; if (serverLen != 0) { - memcpy(p, ctx->acceptorCtx.radServer, serverLen); + memcpy(p, serverBuf, serverLen); p += serverLen; }