# Copyright (C) 2009-2026 Simon Josefsson
#
# This file is part of GNU SASL Library.
#
# GNU SASL Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# as published by the Free Software Foundation; either version 2.1 of
# the License, or (at your option) any later version.
#
# GNU SASL Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with GNU SASL Library; if not, see
# <https://www.gnu.org/licenses/>.

LIBGSASL_1.1 {
  global:
    gsasl_base64_from;
    gsasl_base64_to;
    gsasl_callback;
    gsasl_callback_hook_get;
    gsasl_callback_hook_set;
    gsasl_callback_set;
    gsasl_check_version;
    gsasl_client_mechlist;
    gsasl_client_start;
    gsasl_client_suggest_mechanism;
    gsasl_client_support_p;
    gsasl_decode;
    gsasl_done;
    gsasl_encode;
    gsasl_finish;
    gsasl_free;
    gsasl_init;
    gsasl_mechanism_name;
    gsasl_nonce;
    gsasl_property_fast;
    gsasl_property_get;
    gsasl_property_set;
    gsasl_property_set_raw;
    gsasl_random;
    gsasl_register;
    gsasl_saslprep;
    gsasl_server_mechlist;
    gsasl_server_start;
    gsasl_server_support_p;
    gsasl_session_hook_get;
    gsasl_session_hook_set;
    gsasl_simple_getpass;
    gsasl_step;
    gsasl_step64;
    gsasl_strerror;
    gsasl_strerror_name;

  local:
    *;
};

LIBGSASL_1.4
{
} LIBGSASL_1.1;

LIBGSASL_1.10
{
  global:
    gsasl_hash_length;
    gsasl_hex_from;
    gsasl_hex_to;
    gsasl_scram_secrets_from_password;
    gsasl_scram_secrets_from_salted_password;
} LIBGSASL_1.4;

LIBGSASL_2.0
{
  global:
    gsasl_property_free;
    gsasl_mechanism_name_p;
} LIBGSASL_1.10;
