@@ -63,7 +63,7 @@ PG_FUNCTION_INFO_V1(pgsodium_crypto_secretbox);
6363Datum
6464pgsodium_crypto_secretbox (PG_FUNCTION_ARGS )
6565{
66- text * message = PG_GETARG_TEXT_P (0 );
66+ bytea * message = PG_GETARG_BYTEA_P (0 );
6767 bytea * nonce = PG_GETARG_BYTEA_P (1 );
6868 bytea * key = PG_GETARG_BYTEA_P (2 );
6969 size_t message_size = crypto_secretbox_MACBYTES + VARSIZE_ANY_EXHDR (message );
@@ -92,7 +92,7 @@ pgsodium_crypto_secretbox_open(PG_FUNCTION_ARGS)
9292 bytea * key = PG_GETARG_BYTEA_P (2 );
9393 size_t message_size = VARSIZE_ANY_EXHDR (message ) - crypto_secretbox_MACBYTES ;
9494 unsigned long long result_size = VARHDRSZ + message_size ;
95- text * result = (text * ) palloc (result_size );
95+ bytea * result = (bytea * ) palloc (result_size );
9696 ZERO_BUFF_CB (result , result_size );
9797 SET_VARSIZE (result , result_size );
9898
@@ -109,14 +109,14 @@ pgsodium_crypto_secretbox_open(PG_FUNCTION_ARGS)
109109 (errcode (ERRCODE_DATA_EXCEPTION ),
110110 errmsg ("invalid message" )));
111111
112- PG_RETURN_TEXT_P (result );
112+ PG_RETURN_BYTEA_P (result );
113113}
114114
115115PG_FUNCTION_INFO_V1 (pgsodium_crypto_auth );
116116Datum
117117pgsodium_crypto_auth (PG_FUNCTION_ARGS )
118118{
119- text * message = PG_GETARG_TEXT_P (0 );
119+ bytea * message = PG_GETARG_BYTEA_P (0 );
120120 bytea * key = PG_GETARG_BYTEA_P (1 );
121121 int result_size = VARHDRSZ + crypto_auth_BYTES ;
122122 bytea * result = (bytea * )palloc (result_size );
@@ -137,7 +137,7 @@ pgsodium_crypto_auth_verify(PG_FUNCTION_ARGS)
137137{
138138 int success ;
139139 bytea * mac = PG_GETARG_BYTEA_P (0 );
140- text * message = PG_GETARG_BYTEA_P (1 );
140+ bytea * message = PG_GETARG_BYTEA_P (1 );
141141 bytea * key = PG_GETARG_BYTEA_P (2 );
142142
143143 success = crypto_auth_verify (
@@ -164,14 +164,14 @@ PG_FUNCTION_INFO_V1(pgsodium_crypto_generichash);
164164Datum
165165pgsodium_crypto_generichash (PG_FUNCTION_ARGS )
166166{
167- text * data ;
167+ bytea * data ;
168168 bytea * result ;
169169 bytea * keyarg ;
170170 unsigned char * key = NULL ;
171171 size_t keylen = 0 ;
172172 unsigned long long result_size ;
173173
174- data = PG_GETARG_TEXT_P (0 );
174+ data = PG_GETARG_BYTEA_P (0 );
175175 if (!PG_ARGISNULL (1 ))
176176 {
177177 keyarg = PG_GETARG_BYTEA_P (1 );
@@ -198,12 +198,12 @@ PG_FUNCTION_INFO_V1(pgsodium_crypto_shorthash);
198198Datum
199199pgsodium_crypto_shorthash (PG_FUNCTION_ARGS )
200200{
201- text * data ;
201+ bytea * data ;
202202 bytea * result ;
203203 bytea * key ;
204204 int result_size = VARHDRSZ + crypto_shorthash_BYTES ;
205205
206- data = PG_GETARG_TEXT_P (0 );
206+ data = PG_GETARG_BYTEA_P (0 );
207207 key = PG_GETARG_BYTEA_P (1 );
208208 if (VARSIZE_ANY_EXHDR (key ) != crypto_shorthash_KEYBYTES )
209209 PG_RETURN_NULL ();
@@ -275,7 +275,7 @@ PG_FUNCTION_INFO_V1(pgsodium_crypto_box);
275275Datum
276276pgsodium_crypto_box (PG_FUNCTION_ARGS )
277277{
278- text * message = PG_GETARG_TEXT_P (0 );
278+ bytea * message = PG_GETARG_BYTEA_P (0 );
279279 bytea * nonce = PG_GETARG_BYTEA_P (1 );
280280 bytea * publickey = PG_GETARG_BYTEA_P (2 );
281281 bytea * secretkey = PG_GETARG_BYTEA_P (3 );
@@ -313,7 +313,7 @@ pgsodium_crypto_box_open(PG_FUNCTION_ARGS)
313313 bytea * secretkey = PG_GETARG_BYTEA_P (3 );
314314
315315 size_t message_size = VARSIZE_ANY_EXHDR (message ) - crypto_box_MACBYTES ;
316- text * result = (text * ) palloc (VARHDRSZ + message_size );
316+ bytea * result = (bytea * ) palloc (VARHDRSZ + message_size );
317317 ZERO_BUFF_CB (result , VARHDRSZ + message_size );
318318 SET_VARSIZE (result , VARHDRSZ + message_size );
319319 success = crypto_box_open_easy (
@@ -328,7 +328,7 @@ pgsodium_crypto_box_open(PG_FUNCTION_ARGS)
328328 ERROR ,
329329 (errcode (ERRCODE_DATA_EXCEPTION ),
330330 errmsg ("invalid message" )));
331- PG_RETURN_TEXT_P (result );
331+ PG_RETURN_BYTEA_P (result );
332332}
333333
334334PG_FUNCTION_INFO_V1 (pgsodium_crypto_sign_keypair );
@@ -375,7 +375,7 @@ Datum
375375pgsodium_crypto_sign (PG_FUNCTION_ARGS )
376376{
377377 int success ;
378- text * message = PG_GETARG_TEXT_P (0 );
378+ bytea * message = PG_GETARG_BYTEA_P (0 );
379379 bytea * secretkey = PG_GETARG_BYTEA_P (1 );
380380 unsigned long long signed_message_len ;
381381 size_t message_size = crypto_sign_BYTES + VARSIZE_ANY_EXHDR (message );
@@ -409,7 +409,7 @@ pgsodium_crypto_sign_open(PG_FUNCTION_ARGS)
409409 bytea * publickey = PG_GETARG_BYTEA_P (1 );
410410 size_t message_size = VARSIZE_ANY_EXHDR (message ) - crypto_sign_BYTES ;
411411 unsigned long long result_size = VARHDRSZ + message_size ;
412- text * result = (text * ) palloc (result_size );
412+ bytea * result = (bytea * ) palloc (result_size );
413413 ZERO_BUFF_CB (result , result_size );
414414
415415 SET_VARSIZE (result , result_size );
@@ -425,7 +425,7 @@ pgsodium_crypto_sign_open(PG_FUNCTION_ARGS)
425425 ERROR ,
426426 (errcode (ERRCODE_DATA_EXCEPTION ),
427427 errmsg ("invalid message" )));
428- PG_RETURN_TEXT_P (result );
428+ PG_RETURN_BYTEA_P (result );
429429}
430430
431431PG_FUNCTION_INFO_V1 (pgsodium_crypto_sign_detached );
@@ -494,13 +494,13 @@ PG_FUNCTION_INFO_V1(pgsodium_crypto_pwhash);
494494Datum
495495pgsodium_crypto_pwhash (PG_FUNCTION_ARGS )
496496{
497- text * data ;
497+ bytea * data ;
498498 bytea * result ;
499499 bytea * salt ;
500500 int result_size = VARHDRSZ + crypto_box_SEEDBYTES ;
501501 int success ;
502502
503- data = PG_GETARG_TEXT_P (0 );
503+ data = PG_GETARG_BYTEA_P (0 );
504504 salt = PG_GETARG_BYTEA_P (1 );
505505 if (VARSIZE_ANY_EXHDR (salt ) != crypto_pwhash_SALTBYTES )
506506 PG_RETURN_NULL ();
@@ -532,8 +532,8 @@ Datum
532532pgsodium_crypto_pwhash_str (PG_FUNCTION_ARGS )
533533{
534534 int success ;
535- text * password = PG_GETARG_TEXT_P (0 );
536- text * result = (text * )palloc (crypto_pwhash_STRBYTES );
535+ bytea * password = PG_GETARG_BYTEA_P (0 );
536+ bytea * result = (bytea * )palloc (crypto_pwhash_STRBYTES );
537537 ZERO_BUFF_CB (result , crypto_pwhash_STRBYTES );
538538 SET_VARSIZE (result , crypto_pwhash_STRBYTES );
539539
@@ -549,16 +549,16 @@ pgsodium_crypto_pwhash_str(PG_FUNCTION_ARGS)
549549 ERROR ,
550550 (errcode (ERRCODE_DATA_EXCEPTION ),
551551 errmsg ("out of memory in pwhash_str" )));
552- PG_RETURN_TEXT_P (result );
552+ PG_RETURN_BYTEA_P (result );
553553}
554554
555555PG_FUNCTION_INFO_V1 (pgsodium_crypto_pwhash_str_verify );
556556Datum
557557pgsodium_crypto_pwhash_str_verify (PG_FUNCTION_ARGS )
558558{
559559 int success ;
560- text * hashed_password = PG_GETARG_TEXT_P (0 );
561- text * password = PG_GETARG_TEXT_P (1 );
560+ bytea * hashed_password = PG_GETARG_BYTEA_P (0 );
561+ bytea * password = PG_GETARG_BYTEA_P (1 );
562562 success = crypto_pwhash_str_verify (
563563 VARDATA (hashed_password ),
564564 VARDATA (password ),
@@ -572,7 +572,7 @@ PG_FUNCTION_INFO_V1(pgsodium_crypto_box_seal);
572572Datum
573573pgsodium_crypto_box_seal (PG_FUNCTION_ARGS )
574574{
575- text * message = PG_GETARG_TEXT_P (0 );
575+ bytea * message = PG_GETARG_BYTEA_P (0 );
576576 bytea * public_key = PG_GETARG_BYTEA_P (1 );
577577 unsigned long long result_size = crypto_box_SEALBYTES + VARSIZE (message );
578578
@@ -598,7 +598,7 @@ pgsodium_crypto_box_seal_open(PG_FUNCTION_ARGS)
598598 bytea * secret_key = PG_GETARG_BYTEA_P (2 );
599599
600600 unsigned long long result_size = VARSIZE (ciphertext ) - crypto_box_SEALBYTES ;
601- text * result = (text * )palloc (result_size );
601+ bytea * result = (bytea * )palloc (result_size );
602602 ZERO_BUFF_CB (result , result_size );
603603 SET_VARSIZE (result , result_size );
604604
@@ -614,7 +614,7 @@ pgsodium_crypto_box_seal_open(PG_FUNCTION_ARGS)
614614 ERROR ,
615615 (errcode (ERRCODE_DATA_EXCEPTION ),
616616 errmsg ("crypto_box_seal_open: invalid message" )));
617- PG_RETURN_TEXT_P (result );
617+ PG_RETURN_BYTEA_P (result );
618618}
619619
620620void _PG_init (void )
0 commit comments