aboutsummaryrefslogtreecommitdiff
path: root/contrib/pgcrypto/pgp-pubdec.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/pgcrypto/pgp-pubdec.c')
-rw-r--r--contrib/pgcrypto/pgp-pubdec.c72
1 files changed, 38 insertions, 34 deletions
diff --git a/contrib/pgcrypto/pgp-pubdec.c b/contrib/pgcrypto/pgp-pubdec.c
index 04e98ceacbb..600a1e25317 100644
--- a/contrib/pgcrypto/pgp-pubdec.c
+++ b/contrib/pgcrypto/pgp-pubdec.c
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubdec.c,v 1.4 2005/08/13 02:06:20 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/pgcrypto/pgp-pubdec.c,v 1.5 2005/10/15 02:49:06 momjian Exp $
*/
#include "postgres.h"
@@ -35,24 +35,25 @@
#include "pgp.h"
/*
- * padded msg = 02 || PS || 00 || M
+ * padded msg = 02 || PS || 00 || M
* PS - pad bytes
* M - msg
*/
static uint8 *
check_eme_pkcs1_v15(uint8 *data, int len)
{
- uint8 *data_end = data + len;
- uint8 *p = data;
- int rnd = 0;
+ uint8 *data_end = data + len;
+ uint8 *p = data;
+ int rnd = 0;
if (len < 1 + 8 + 1)
return NULL;
if (*p++ != 2)
return NULL;
-
- while (p < data_end && *p) {
+
+ while (p < data_end && *p)
+ {
p++;
rnd++;
}
@@ -73,8 +74,9 @@ check_eme_pkcs1_v15(uint8 *data, int len)
static int
control_cksum(uint8 *msg, int msglen)
{
- int i;
- unsigned my_cksum, got_cksum;
+ int i;
+ unsigned my_cksum,
+ got_cksum;
if (msglen < 3)
return PXE_PGP_WRONG_KEY;
@@ -83,8 +85,9 @@ control_cksum(uint8 *msg, int msglen)
for (i = 1; i < msglen - 2; i++)
my_cksum += msg[i];
my_cksum &= 0xFFFF;
- got_cksum = ((unsigned)(msg[msglen-2]) << 8) + msg[msglen-1];
- if (my_cksum != got_cksum) {
+ got_cksum = ((unsigned) (msg[msglen - 2]) << 8) + msg[msglen - 1];
+ if (my_cksum != got_cksum)
+ {
px_debug("pubenc cksum failed");
return PXE_PGP_WRONG_KEY;
}
@@ -92,11 +95,11 @@ control_cksum(uint8 *msg, int msglen)
}
static int
-decrypt_elgamal(PGP_PubKey *pk, PullFilter *pkt, PGP_MPI **m_p)
+decrypt_elgamal(PGP_PubKey * pk, PullFilter * pkt, PGP_MPI ** m_p)
{
- int res;
- PGP_MPI *c1 = NULL;
- PGP_MPI *c2 = NULL;
+ int res;
+ PGP_MPI *c1 = NULL;
+ PGP_MPI *c2 = NULL;
if (pk->algo != PGP_PUB_ELG_ENCRYPT)
return PXE_PGP_WRONG_KEY;
@@ -119,13 +122,13 @@ out:
}
static int
-decrypt_rsa(PGP_PubKey *pk, PullFilter *pkt, PGP_MPI **m_p)
+decrypt_rsa(PGP_PubKey * pk, PullFilter * pkt, PGP_MPI ** m_p)
{
- int res;
- PGP_MPI *c;
+ int res;
+ PGP_MPI *c;
if (pk->algo != PGP_PUB_RSA_ENCRYPT
- && pk->algo != PGP_PUB_RSA_ENCRYPT_SIGN)
+ && pk->algo != PGP_PUB_RSA_ENCRYPT_SIGN)
return PXE_PGP_WRONG_KEY;
/* read rsa encrypted data */
@@ -142,28 +145,30 @@ decrypt_rsa(PGP_PubKey *pk, PullFilter *pkt, PGP_MPI **m_p)
/* key id is missing - user is expected to try all keys */
static const uint8
-any_key[] = {0, 0, 0, 0, 0, 0, 0, 0};
+ any_key[] = {0, 0, 0, 0, 0, 0, 0, 0};
int
-pgp_parse_pubenc_sesskey(PGP_Context *ctx, PullFilter *pkt)
+pgp_parse_pubenc_sesskey(PGP_Context * ctx, PullFilter * pkt)
{
- int ver;
- int algo;
- int res;
- uint8 key_id[8];
+ int ver;
+ int algo;
+ int res;
+ uint8 key_id[8];
PGP_PubKey *pk;
- uint8 *msg;
- int msglen;
- PGP_MPI *m;
+ uint8 *msg;
+ int msglen;
+ PGP_MPI *m;
pk = ctx->pub_key;
- if (pk == NULL) {
+ if (pk == NULL)
+ {
px_debug("no pubkey?");
return PXE_BUG;
}
GETBYTE(pkt, ver);
- if (ver != 3) {
+ if (ver != 3)
+ {
px_debug("unknown pubenc_sesskey pkt ver=%d", ver);
return PXE_PGP_CORRUPT_DATA;
}
@@ -175,7 +180,7 @@ pgp_parse_pubenc_sesskey(PGP_Context *ctx, PullFilter *pkt)
if (res < 0)
return res;
if (memcmp(key_id, any_key, 8) != 0
- && memcmp(key_id, pk->key_id, 8) != 0)
+ && memcmp(key_id, pk->key_id, 8) != 0)
{
px_debug("key_id's does not match");
return PXE_PGP_WRONG_KEY;
@@ -204,7 +209,8 @@ pgp_parse_pubenc_sesskey(PGP_Context *ctx, PullFilter *pkt)
* extract message
*/
msg = check_eme_pkcs1_v15(m->data, m->bytes);
- if (msg == NULL) {
+ if (msg == NULL)
+ {
px_debug("check_eme_pkcs1_v15 failed");
res = PXE_PGP_WRONG_KEY;
goto out;
@@ -228,5 +234,3 @@ out:
return res;
return pgp_expect_packet_end(pkt);
}
-
-