#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

# c/src/core/codec.c
leak:^pn_data$
leak:^pni_data_grow$

# c/src/core/buffer.c
leak:^pn_buffer$
leak:^pn_buffer_ensure$

# c/src/core/error.c
leak:^pn_error$

# c/src/core/object/list.c
leak:^pn_list$

# c/src/core/object/map.c
leak:^pni_map_allocate$

# c/src/core/object/object.c
leak:^pn_object_new$

# c/src/core/object/record.c
leak:^pni_record_create$

# c/src/core/object/string.c
leak:^pn_stringn$
leak:^pn_string_grow$

# c/src/core/transport.c
leak:^pn_transport$

# c/src/ssl/openssl.c
leak:^pn_ssl_domain$

# SWIG
leak:^SWIG_Python_addvarlink$

leak:bin/swig3

# OpenSSL
leak:^c2i_ASN1_BIT_STRING$
leak:^CRYPTO_zalloc$
leak:^CRYPTO_malloc$
leak:^CRYPTO_realloc$
leak:^BUF_MEM_grow$
leak:^ASN1_STRING_set$
leak:^x509_name_canon.part.0$
leak:^OPENSSL_sk_insert$
leak:^asn1_primitive_new$
leak:^BN_MONT_CTX_new$
leak:^EC_GROUP_copy$
leak:^c2i_ASN1_OBJECT$
leak:^CRYPTO_strndup$
leak:^OPENSSL_sk_dup$
leak:^new_dir$
leak:^add_cert_dir.isra.0.part.1$
leak:libcrypto.so

# Python
leak:^PyList_Append$
leak:^listappend$
leak:^PyThread_allocate_lock$
leak:^PyList_New$
leak:^list_resize$
leak:^s_init$
leak:^PyType_GenericAlloc$
leak:^PyString_FromStringAndSize$
leak:^_PyObject_GC_Malloc$
leak:^_PyObject_GC_Resize$
leak:^PyString_FromString$
leak:^PyString_Concat$
leak:^_PyString_Resize$
leak:^_ctypes_alloc_format_string$
leak:^PyCStructUnionType_update_stgdict$

leak:bin/python2
leak:bin/python3
leak:bin/python
leak:_ctypes
leak:libpython

# Sasl 2 library
leak:^_plug_strdup$
leak:libsasl2.so
leak:libsasl2.so.2
leak:sasl2/libanonymous.so

# /usr/sbin/saslpasswd2 binary
leak:saslpasswd2

leak:libdigestmd5.so

# bash in python-test
leak:bash

# ruby in ruby-example-test
leak:libruby.so
