1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-22 23:02:54 +03:00
postgres/contrib/pgcrypto/meson.build
Daniel Gustafsson 924d89a354 pgcrypto: Add function to check FIPS mode
This adds a SQL callable function for reading and returning the status
of FIPS configuration of OpenSSL.  If OpenSSL is operating with FIPS
enabled it will return true, otherwise false.  As this adds a function
to the SQL file, bump the extension version to 1.4.

Author: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Joe Conway <mail@joeconway.com>
Discussion: https://postgr.es/m/8f979145-e206-475a-a31b-73c977a4134c@joeconway.com
2025-01-24 14:18:40 +01:00

112 lines
1.9 KiB
Meson

# Copyright (c) 2022-2025, PostgreSQL Global Development Group
if not ssl.found()
subdir_done()
endif
pgcrypto_sources = files(
'crypt-blowfish.c',
'crypt-des.c',
'crypt-gensalt.c',
'crypt-md5.c',
'mbuf.c',
'pgcrypto.c',
'pgp-armor.c',
'pgp-cfb.c',
'pgp-compress.c',
'pgp-decrypt.c',
'pgp-encrypt.c',
'pgp-info.c',
'pgp-mpi.c',
'pgp-pgsql.c',
'pgp-pubdec.c',
'pgp-pubenc.c',
'pgp-pubkey.c',
'pgp-s2k.c',
'pgp.c',
'px-crypt.c',
'px-hmac.c',
'px.c',
)
pgcrypto_regress = [
'init',
'md5',
'sha1',
'hmac-md5',
'hmac-sha1',
'blowfish',
'rijndael',
'sha2',
'des',
'3des',
'cast5',
'crypt-des',
'crypt-md5',
'crypt-blowfish',
'crypt-xdes',
'pgp-armor',
'pgp-decrypt',
'pgp-encrypt',
'pgp-encrypt-md5',
'pgp-pubkey-decrypt',
'pgp-pubkey-encrypt',
'pgp-info',
]
pgcrypto_openssl_sources = files(
'openssl.c',
'pgp-mpi-openssl.c',
)
pgcrypto_deps = []
pgcrypto_link_with = []
pgcrypto_deps += ssl
pgcrypto_sources += pgcrypto_openssl_sources
if zlib.found()
pgcrypto_deps += zlib
pgcrypto_regress += 'pgp-compression'
else
pgcrypto_regress += 'pgp-zlib-DISABLED'
endif
if host_system == 'windows'
pgcrypto_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
'--NAME', 'pgcrypto',
'--FILEDESC', 'pgcrypto - cryptographic functions',])
endif
pgcrypto = shared_module('pgcrypto',
pgcrypto_sources,
link_with: pgcrypto_link_with,
c_pch: pch_postgres_h,
kwargs: contrib_mod_args + {
'dependencies': [pgcrypto_deps, contrib_mod_args['dependencies']]
},
)
contrib_targets += pgcrypto
install_data(
'pgcrypto--1.0--1.1.sql',
'pgcrypto--1.1--1.2.sql',
'pgcrypto--1.2--1.3.sql',
'pgcrypto--1.3.sql',
'pgcrypto--1.3--1.4.sql',
'pgcrypto.control',
kwargs: contrib_data_args,
)
tests += {
'name': 'pgcrypto',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'regress': {
'sql': [
pgcrypto_regress,
],
},
}