Remove pgcrypto functions that were deprecated and slated for removal.
Marko Kreen
This commit is contained in:
parent
7bae5a289c
commit
7d4838dca8
@ -1,6 +1,6 @@
|
||||
pgcrypto - cryptographic functions for PostgreSQL
|
||||
=================================================
|
||||
Marko Kreen <marko@l-t.ee>
|
||||
Marko Kreen <markokr@gmail.com>
|
||||
|
||||
// Note: this document is in asciidoc format.
|
||||
|
||||
@ -79,14 +79,7 @@ As standard in SQL, all functions return NULL, if any of the arguments
|
||||
are NULL. This may create security risks on careless usage.
|
||||
|
||||
|
||||
2.3. Deprecated functions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The `digest_exists()`, `hmac_exists()` and `cipher_exists()` functions
|
||||
are deprecated. The plan is to remove them in PostgreSQL 8.2.
|
||||
|
||||
|
||||
2.4. Security
|
||||
2.3. Security
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
All the functions here run inside database server. That means that all
|
||||
@ -714,4 +707,4 @@ http://www.cs.ut.ee/~helger/crypto/[]::
|
||||
Collection of cryptology pointers.
|
||||
|
||||
|
||||
// $PostgreSQL: pgsql/contrib/pgcrypto/README.pgcrypto,v 1.17 2006/08/05 00:29:11 neilc Exp $
|
||||
// $PostgreSQL: pgsql/contrib/pgcrypto/README.pgcrypto,v 1.18 2006/09/05 21:26:48 tgl Exp $
|
||||
|
@ -26,7 +26,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $PostgreSQL: pgsql/contrib/pgcrypto/pgcrypto.c,v 1.22 2006/07/13 04:15:25 neilc Exp $
|
||||
* $PostgreSQL: pgsql/contrib/pgcrypto/pgcrypto.c,v 1.23 2006/09/05 21:26:48 tgl Exp $
|
||||
*/
|
||||
|
||||
#include "postgres.h"
|
||||
@ -87,32 +87,6 @@ pg_digest(PG_FUNCTION_ARGS)
|
||||
PG_RETURN_BYTEA_P(res);
|
||||
}
|
||||
|
||||
/* check if given hash exists */
|
||||
PG_FUNCTION_INFO_V1(pg_digest_exists);
|
||||
|
||||
Datum
|
||||
pg_digest_exists(PG_FUNCTION_ARGS)
|
||||
{
|
||||
text *name;
|
||||
PX_MD *res;
|
||||
|
||||
if (PG_ARGISNULL(0))
|
||||
PG_RETURN_NULL();
|
||||
|
||||
name = PG_GETARG_TEXT_P(0);
|
||||
|
||||
res = find_provider(name, (PFN) px_find_digest, "Digest", 1);
|
||||
|
||||
PG_FREE_IF_COPY(name, 0);
|
||||
|
||||
if (res == NULL)
|
||||
PG_RETURN_BOOL(false);
|
||||
|
||||
res->free(res);
|
||||
|
||||
PG_RETURN_BOOL(true);
|
||||
}
|
||||
|
||||
/* SQL function: hmac(data:bytea, key:bytea, type:text) returns bytea */
|
||||
PG_FUNCTION_INFO_V1(pg_hmac);
|
||||
|
||||
@ -158,32 +132,6 @@ pg_hmac(PG_FUNCTION_ARGS)
|
||||
PG_RETURN_BYTEA_P(res);
|
||||
}
|
||||
|
||||
/* check if given hmac type exists */
|
||||
PG_FUNCTION_INFO_V1(pg_hmac_exists);
|
||||
|
||||
Datum
|
||||
pg_hmac_exists(PG_FUNCTION_ARGS)
|
||||
{
|
||||
text *name;
|
||||
PX_HMAC *h;
|
||||
|
||||
if (PG_ARGISNULL(0))
|
||||
PG_RETURN_NULL();
|
||||
|
||||
name = PG_GETARG_TEXT_P(0);
|
||||
|
||||
h = find_provider(name, (PFN) px_find_hmac, "HMAC", 1);
|
||||
|
||||
PG_FREE_IF_COPY(name, 0);
|
||||
|
||||
if (h != NULL)
|
||||
{
|
||||
px_hmac_free(h);
|
||||
PG_RETURN_BOOL(true);
|
||||
}
|
||||
PG_RETURN_BOOL(false);
|
||||
}
|
||||
|
||||
|
||||
/* SQL function: pg_gen_salt(text) returns text */
|
||||
PG_FUNCTION_INFO_V1(pg_gen_salt);
|
||||
@ -565,27 +513,6 @@ pg_random_bytes(PG_FUNCTION_ARGS)
|
||||
PG_RETURN_BYTEA_P(res);
|
||||
}
|
||||
|
||||
/* SQL function: pg_cipher_exists(text) returns bool */
|
||||
PG_FUNCTION_INFO_V1(pg_cipher_exists);
|
||||
|
||||
Datum
|
||||
pg_cipher_exists(PG_FUNCTION_ARGS)
|
||||
{
|
||||
text *arg;
|
||||
PX_Combo *c;
|
||||
|
||||
if (PG_ARGISNULL(0))
|
||||
PG_RETURN_NULL();
|
||||
|
||||
arg = PG_GETARG_TEXT_P(0);
|
||||
|
||||
c = find_provider(arg, (PFN) px_find_combo, "Cipher", 1);
|
||||
if (c != NULL)
|
||||
px_combo_free(c);
|
||||
|
||||
PG_RETURN_BOOL((c != NULL) ? true : false);
|
||||
}
|
||||
|
||||
static void *
|
||||
find_provider(text *name,
|
||||
PFN provider_lookup,
|
||||
|
@ -26,7 +26,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $PostgreSQL: pgsql/contrib/pgcrypto/pgcrypto.h,v 1.10 2006/07/13 04:15:25 neilc Exp $
|
||||
* $PostgreSQL: pgsql/contrib/pgcrypto/pgcrypto.h,v 1.11 2006/09/05 21:26:48 tgl Exp $
|
||||
*/
|
||||
|
||||
#ifndef _PG_CRYPTO_H
|
||||
@ -36,9 +36,7 @@
|
||||
|
||||
/* exported functions */
|
||||
Datum pg_digest(PG_FUNCTION_ARGS);
|
||||
Datum pg_digest_exists(PG_FUNCTION_ARGS);
|
||||
Datum pg_hmac(PG_FUNCTION_ARGS);
|
||||
Datum pg_hmac_exists(PG_FUNCTION_ARGS);
|
||||
Datum pg_gen_salt(PG_FUNCTION_ARGS);
|
||||
Datum pg_gen_salt_rounds(PG_FUNCTION_ARGS);
|
||||
Datum pg_crypt(PG_FUNCTION_ARGS);
|
||||
@ -46,7 +44,6 @@ Datum pg_encrypt(PG_FUNCTION_ARGS);
|
||||
Datum pg_decrypt(PG_FUNCTION_ARGS);
|
||||
Datum pg_encrypt_iv(PG_FUNCTION_ARGS);
|
||||
Datum pg_decrypt_iv(PG_FUNCTION_ARGS);
|
||||
Datum pg_cipher_exists(PG_FUNCTION_ARGS);
|
||||
Datum pg_random_bytes(PG_FUNCTION_ARGS);
|
||||
|
||||
#endif
|
||||
|
@ -11,11 +11,6 @@ RETURNS bytea
|
||||
AS 'MODULE_PATHNAME', 'pg_digest'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
CREATE OR REPLACE FUNCTION digest_exists(text)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME', 'pg_digest_exists'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
CREATE OR REPLACE FUNCTION hmac(text, text, text)
|
||||
RETURNS bytea
|
||||
AS 'MODULE_PATHNAME', 'pg_hmac'
|
||||
@ -26,11 +21,6 @@ RETURNS bytea
|
||||
AS 'MODULE_PATHNAME', 'pg_hmac'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
CREATE OR REPLACE FUNCTION hmac_exists(text)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME', 'pg_hmac_exists'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
CREATE OR REPLACE FUNCTION crypt(text, text)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME', 'pg_crypt'
|
||||
@ -66,11 +56,6 @@ RETURNS bytea
|
||||
AS 'MODULE_PATHNAME', 'pg_decrypt_iv'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
CREATE OR REPLACE FUNCTION cipher_exists(text)
|
||||
RETURNS bool
|
||||
AS 'MODULE_PATHNAME', 'pg_cipher_exists'
|
||||
LANGUAGE C IMMUTABLE STRICT;
|
||||
|
||||
CREATE OR REPLACE FUNCTION gen_random_bytes(int4)
|
||||
RETURNS bytea
|
||||
AS 'MODULE_PATHNAME', 'pg_random_bytes'
|
||||
|
@ -3,11 +3,9 @@ SET search_path = public;
|
||||
|
||||
DROP FUNCTION digest(text, text);
|
||||
DROP FUNCTION digest(bytea, text);
|
||||
DROP FUNCTION digest_exists(text);
|
||||
|
||||
DROP FUNCTION hmac(text, text, text);
|
||||
DROP FUNCTION hmac(bytea, bytea, text);
|
||||
DROP FUNCTION hmac_exists(text);
|
||||
|
||||
DROP FUNCTION crypt(text, text);
|
||||
DROP FUNCTION gen_salt(text);
|
||||
@ -17,7 +15,7 @@ DROP FUNCTION encrypt(bytea, bytea, text);
|
||||
DROP FUNCTION decrypt(bytea, bytea, text);
|
||||
DROP FUNCTION encrypt_iv(bytea, bytea, bytea, text);
|
||||
DROP FUNCTION decrypt_iv(bytea, bytea, bytea, text);
|
||||
DROP FUNCTION cipher_exists(text);
|
||||
|
||||
DROP FUNCTION gen_random_bytes(int4);
|
||||
|
||||
DROP FUNCTION pgp_sym_encrypt(text, text);
|
||||
|
Loading…
x
Reference in New Issue
Block a user