# Valgrind suppressions file for Cyrus unit tests
#
# Copyright (c) 1994-2011 Carnegie Mellon University.  All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in
#    the documentation and/or other materials provided with the
#    distribution.
#
# 3. The name "Carnegie Mellon University" must not be used to
#    endorse or promote products derived from this software without
#    prior written permission. For permission or any legal
#    details, please contact
#      Carnegie Mellon University
#      Center for Technology Transfer and Enterprise Creation
#      4615 Forbes Avenue
#      Suite 302
#      Pittsburgh, PA  15213
#      (412) 268-7393, fax: (412) 268-7395
#      innovation@andrew.cmu.edu
#
# 4. Redistributions of any form whatsoever must retain the following
#    acknowledgment:
#    "This product includes software developed by Computing Services
#     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
#
# CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
# AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
{
   bdb_environment_leak
   Memcheck:Leak
   fun:malloc
   ...
   fun:__env_config
   fun:__env_open
   ...
   fun:init
   fun:cyrusdb_init
   ...
}
{
   getpwnam_leak
   Memcheck:Leak
   fun:malloc
   ...
   fun:__nss_database_lookup
   ...
   fun:getpwnam
   ...
}
{
   getgrouplist_leak
   Memcheck:Leak
   fun:malloc
   ...
   fun:__nss_database_lookup
   ...
   fun:getgrouplist
   ...
}
{
   getpwuid_leak
   Memcheck:Leak
   fun:malloc
   ...
   fun:__nss_database_lookup
   ...
   fun:getpwuid
   ...
}
{
   zlib_inflateInit2_cond
   Memcheck:Cond
   fun:inflateReset2
   fun:inflateInit2_
   fun:prot_setcompress
   ...
}
{
   zlib_inflateInit2_cond
   Memcheck:Cond
   fun:inflateReset2
   fun:inflateInit2_
   fun:buf_inflate
   ...
}
{
    zlib_deflate_cond
    Memcheck:Cond
    fun:memcpy
    ...
    fun:deflate
    fun:prot_flush_encode
    ...
}
{
    zlib_deflate_data4
    Memcheck:Value4
    fun:memcpy
    ...
    fun:deflate
    fun:prot_flush_encode
    ...
}
{
    zlib_deflate_data8
    Memcheck:Value8
    fun:memcpy
    ...
    fun:deflate
    fun:prot_flush_encode
    ...
}
{
    libcrypto_bugs_1
    Memcheck:Cond
    ...
    fun:X509_verify
    ...
}
{
    libcrypto_bugs_2
    Memcheck:Cond
    ...
    fun:RSA_sign
    ...
}
{
    libcrypto_bugs_3
    Memcheck:Cond
    ...
    fun:DH_generate_key
    ...
}
{
    libcrypto_bugs_4
    Memcheck:Cond
    ...
    fun:DH_compute_key
    ...
}
{
    libcrypto_bugs_5
    Memcheck:Cond
    ...
    fun:RSA_setup_blinding
    ...
}
{
    libcrypto_bugs_6
    Memcheck:Leak
    fun:malloc
    ...
    fun:get_dh1024
    ...
    fun:tls_init_serverengine
    ...
}
{
    # This function is part of the unit tests and deliberately
    # passes bogus mappings to msync() in the expectation of
    # generating an error from the kernel.
    is_valid_mapping
    Memcheck:Param
    msync(start)
    fun:__msync_nocancel
    fun:is_valid_mapping
    ...
}
