##----------------------------------------------------------------------##
#
# Errors to suppress by default with OpenSSL
#
# Format of this file is:
# {
#     name_of_suppression
#     kind: one of Param Value1 Value2 Value4 Value8
#                   Free Addr1 Addr2 Addr4 Addr8
#                   Cond (previously known as Value0)
#     (if Param: name of system call param, if Free: name of free-ing fn)
#     caller0 name, or /name/of/so/file.so
#     caller1 name, or ditto
#     (optionally: caller2 name)
#     (optionally: caller3 name)
#  }

##----------------------------------------------------------------------##
{
   OpenSSL BN_*(Cond)
   Memcheck:Cond
   fun:BN_*
}

{
   OpenSSL BN_*(Value4)
   Memcheck:Value4
   fun:BN_*
}

{
   OpenSSL bn_*(Cond)
   Memcheck:Cond
   fun:bn_*
}

{
   OpenSSL bn_*(Value4)
   Memcheck:Value4
   fun:bn_*
}

{
   OpenSSL AES_encrypt(Value4)
   Memcheck:Value4
   fun:AES_encrypt
   fun:AES_cbc_encrypt
}

{
   OpenSSL DES_encrypt*(Value4)
   Memcheck:Value4
   fun:DES_encrypt2
   fun:DES_encrypt3
}

{
   OpenSSL RSA_padding_add_PKCS1_type_2(Cond)
   Memcheck:Cond
   ...
   fun:RSA_padding_add_PKCS1_type_2
   fun:RSA_eay_public_encrypt
}

{
   OpenSSL BN_*(Value8)
   Memcheck:Value8
   fun:BN_*
}
{
   libcrypto(Value8)
   Memcheck:Value8
   obj:/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
}
{
   libcrypto(Cond)
   Memcheck:Cond
   obj:/usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
}
{
   Config
   Memcheck:Leak
   ...
   fun:OPENSSL_config
}
