 +	PG_FREE_IF_COPY(key, 1);
 +	PG_FREE_IF_COPY(sigkey, 2);
 +	if (PG_NARGS() > 3)
-+		PG_FREE_IF_COPY(arg, 3);
++		PG_FREE_IF_COPY(psw, 3);
 +	if (PG_NARGS() > 4)
 +		PG_FREE_IF_COPY(arg, 4);
 +	PG_RETURN_TEXT_P(res);

 	PGP_DIGEST_SHA512 = 10
 };
 
-#define PGP_MAX_KEY    (256/8)
-#define PGP_MAX_BLOCK  (256/8)
-#define PGP_MAX_DIGEST (512/8)
-#define PGP_S2K_SALT   8
+enum PGP_SIGNATURE_TYPE
+{
+	PGP_SIGTYP_BINARY = 0,

 {
 	int			code = pgp_get_cipher_code(name);
diff --git a/pgp.h b/pgp.h
index b9574fa..31723e8 100644
--- a/pgp.h
+++ b/pgp.h
@@ -42,6 +42,7 @@ enum PGP_PKT_TYPE
