1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-18 13:44:19 +03:00
postgres/contrib/pgcrypto/meson.build
Álvaro Herrera 749a9e20c9
Add modern SHA-2 based password hashes to pgcrypto.
This adapts the publicly available reference implementation on
https://www.akkadia.org/drepper/SHA-crypt.txt and adds the new hash
algorithms sha256crypt and sha512crypt to crypt() and gen_salt()
respectively.

Author: Bernd Helmle <mailings@oopsware.de>
Reviewed-by: Japin Li <japinli@hotmail.com>
Discussion: https://postgr.es/m/c763235a2757e2f5f9e3e27268b9028349cef659.camel@oopsware.de
2025-04-05 19:17:13 +02:00

114 lines
2.0 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',
'crypt-sha.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',
'crypt-shacrypt'
]
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,
],
},
}