gsasl  1.8.0
xfinish.c
Go to the documentation of this file.
00001 /* xfinish.c --- Finish libgsasl session.
00002  * Copyright (C) 2002-2012 Simon Josefsson
00003  *
00004  * This file is part of GNU SASL Library.
00005  *
00006  * GNU SASL Library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public License
00008  * as published by the Free Software Foundation; either version 2.1 of
00009  * the License, or (at your option) any later version.
00010  *
00011  * GNU SASL Library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License License along with GNU SASL Library; if not, write to the
00018  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020  *
00021  */
00022 
00023 #include "internal.h"
00024 
00032 void
00033 gsasl_finish (Gsasl_session * sctx)
00034 {
00035   if (sctx == NULL)
00036     return;
00037 
00038   if (sctx->clientp)
00039     {
00040       if (sctx->mech && sctx->mech->client.finish)
00041         sctx->mech->client.finish (sctx, sctx->mech_data);
00042     }
00043   else
00044     {
00045       if (sctx->mech && sctx->mech->server.finish)
00046         sctx->mech->server.finish (sctx, sctx->mech_data);
00047     }
00048 
00049   free (sctx->anonymous_token);
00050   free (sctx->authid);
00051   free (sctx->authzid);
00052   free (sctx->password);
00053   free (sctx->passcode);
00054   free (sctx->pin);
00055   free (sctx->suggestedpin);
00056   free (sctx->service);
00057   free (sctx->hostname);
00058   free (sctx->gssapi_display_name);
00059   free (sctx->realm);
00060   free (sctx->digest_md5_hashed_password);
00061   free (sctx->qops);
00062   free (sctx->qop);
00063   free (sctx->scram_iter);
00064   free (sctx->scram_salt);
00065   free (sctx->scram_salted_password);
00066   free (sctx->cb_tls_unique);
00067   free (sctx->saml20_idp_identifier);
00068   free (sctx->saml20_redirect_url);
00069   free (sctx->openid20_redirect_url);
00070   free (sctx->openid20_outcome_data);
00071   /* If you add anything here, remember to change change
00072      gsasl_finish() in xfinish.c and Gsasl_session in internal.h.  */
00073 
00074   free (sctx);
00075 }