diff options
Diffstat (limited to 'src/util')
| -rw-r--r-- | src/util/crypto_helper_cs.c | 50 | ||||
| -rw-r--r-- | src/util/crypto_helper_rsa.c | 50 | ||||
| -rw-r--r-- | src/util/test_helper_cs.c | 12 | ||||
| -rw-r--r-- | src/util/test_helper_rsa.c | 12 | 
4 files changed, 58 insertions, 66 deletions
| diff --git a/src/util/crypto_helper_cs.c b/src/util/crypto_helper_cs.c index 019d1902..874679cf 100644 --- a/src/util/crypto_helper_cs.c +++ b/src/util/crypto_helper_cs.c @@ -378,17 +378,16 @@ more:  } -struct TALER_BlindedDenominationSignature +enum TALER_ErrorCode  TALER_CRYPTO_helper_cs_sign (    struct TALER_CRYPTO_CsDenominationHelper *dh,    const struct TALER_CsPubHashP *h_cs,    const struct TALER_BlindedCsPlanchet *blinded_planchet, -  enum TALER_ErrorCode *ec) +  struct TALER_BlindedDenominationSignature *bs)  { -  struct TALER_BlindedDenominationSignature ds = { -    .cipher = TALER_DENOMINATION_INVALID -  }; +  enum TALER_ErrorCode ec = TALER_EC_INVALID; +  bs->cipher = TALER_DENOMINATION_INVALID;    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,                "Starting signature process\n");    if (GNUNET_OK != @@ -396,8 +395,7 @@ TALER_CRYPTO_helper_cs_sign (    {      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,                  "Failed to connect to helper\n"); -    *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE; -    return ds; +    return TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE;    }    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, @@ -420,8 +418,7 @@ TALER_CRYPTO_helper_cs_sign (        GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,                             "send");        do_disconnect (dh); -      *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE; -      return ds; +      return TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE;      }    } @@ -434,7 +431,6 @@ TALER_CRYPTO_helper_cs_sign (        = (const struct GNUNET_MessageHeader *) buf;      bool finished = false; -    *ec = TALER_EC_INVALID;      while (1)      {        uint16_t msize; @@ -454,20 +450,20 @@ TALER_CRYPTO_helper_cs_sign (          {            GNUNET_assert (finished);            GNUNET_assert (0 == off); -          return ds; +          return ec;          }          GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,                               "recv");          do_disconnect (dh); -        *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE; +        ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE;          break;        }        if (0 == ret)        {          GNUNET_break (0 == off);          if (! finished) -          *ec = TALER_EC_EXCHANGE_SIGNKEY_HELPER_BUG; -        return ds; +          ec = TALER_EC_EXCHANGE_SIGNKEY_HELPER_BUG; +        return ec;        }        off += ret;  more: @@ -483,26 +479,26 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          if (finished)          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          {            const struct TALER_CRYPTO_SignResponse *sr =              (const struct TALER_CRYPTO_SignResponse *) buf; -          // TODO: add nullcheck +            GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,                        "Received signature\n"); -          *ec = TALER_EC_NONE; +          ec = TALER_EC_NONE;            finished = true; -          ds.cipher = TALER_DENOMINATION_CS; -          ds.details.blinded_cs_answer = sr->cs_answer; +          bs->cipher = TALER_DENOMINATION_CS; +          bs->details.blinded_cs_answer = sr->cs_answer;            break;          }        case TALER_HELPER_CS_MT_RES_SIGN_FAILURE: @@ -510,14 +506,14 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          {            const struct TALER_CRYPTO_SignFailure *sf =              (const struct TALER_CRYPTO_SignFailure *) buf; -          *ec = (enum TALER_ErrorCode) ntohl (sf->ec); +          ec = (enum TALER_ErrorCode) ntohl (sf->ec);            GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,                        "Signing failed!\n");            finished = true; @@ -532,7 +528,7 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          break; /* while(1) loop ensures we recvfrom() again */ @@ -545,7 +541,7 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          break; /* while(1) loop ensures we recvfrom() again */ @@ -560,7 +556,7 @@ more:                      "Received unexpected message of type %u\n",                      ntohs (hdr->type));          do_disconnect (dh); -        *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +        ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;          goto end;        }        memmove (buf, @@ -571,8 +567,8 @@ more:      } /* while(1) */  end:      if (finished) -      TALER_blinded_denom_sig_free (&ds); -    return ds; +      TALER_blinded_denom_sig_free (bs); +    return ec;    }  } diff --git a/src/util/crypto_helper_rsa.c b/src/util/crypto_helper_rsa.c index 75fe33c0..d3f498c0 100644 --- a/src/util/crypto_helper_rsa.c +++ b/src/util/crypto_helper_rsa.c @@ -387,18 +387,17 @@ more:  } -struct TALER_BlindedDenominationSignature +enum TALER_ErrorCode  TALER_CRYPTO_helper_rsa_sign (    struct TALER_CRYPTO_RsaDenominationHelper *dh,    const struct TALER_RsaPubHashP *h_rsa,    const void *msg,    size_t msg_size, -  enum TALER_ErrorCode *ec) +  struct TALER_BlindedDenominationSignature *bs)  { -  struct TALER_BlindedDenominationSignature ds = { -    .cipher = TALER_DENOMINATION_INVALID -  }; +  enum TALER_ErrorCode ec = TALER_EC_INVALID; +  bs->cipher = TALER_DENOMINATION_INVALID;    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,                "Starting signature process\n");    if (GNUNET_OK != @@ -406,8 +405,7 @@ TALER_CRYPTO_helper_rsa_sign (    {      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,                  "Failed to connect to helper\n"); -    *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE; -    return ds; +    return TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE;    }    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, @@ -432,8 +430,7 @@ TALER_CRYPTO_helper_rsa_sign (        GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,                             "send");        do_disconnect (dh); -      *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE; -      return ds; +      return TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE;      }    } @@ -446,7 +443,6 @@ TALER_CRYPTO_helper_rsa_sign (        = (const struct GNUNET_MessageHeader *) buf;      bool finished = false; -    *ec = TALER_EC_INVALID;      while (1)      {        uint16_t msize; @@ -466,20 +462,20 @@ TALER_CRYPTO_helper_rsa_sign (          {            GNUNET_assert (finished);            GNUNET_assert (0 == off); -          return ds; +          return ec;          }          GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,                               "recv");          do_disconnect (dh); -        *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE; +        ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_UNAVAILABLE;          break;        }        if (0 == ret)        {          GNUNET_break (0 == off);          if (! finished) -          *ec = TALER_EC_EXCHANGE_SIGNKEY_HELPER_BUG; -        return ds; +          ec = TALER_EC_EXCHANGE_SIGNKEY_HELPER_BUG; +        return ec;        }        off += ret;  more: @@ -495,14 +491,14 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          if (finished)          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          { @@ -517,15 +513,15 @@ more:            {              GNUNET_break_op (0);              do_disconnect (dh); -            *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +            ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;              goto end;            }            GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,                        "Received signature\n"); -          *ec = TALER_EC_NONE; +          ec = TALER_EC_NONE;            finished = true; -          ds.cipher = TALER_DENOMINATION_RSA; -          ds.details.blinded_rsa_signature = rsa_signature; +          bs->cipher = TALER_DENOMINATION_RSA; +          bs->details.blinded_rsa_signature = rsa_signature;            break;          }        case TALER_HELPER_RSA_MT_RES_SIGN_FAILURE: @@ -533,14 +529,14 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          {            const struct TALER_CRYPTO_SignFailure *sf =              (const struct TALER_CRYPTO_SignFailure *) buf; -          *ec = (enum TALER_ErrorCode) ntohl (sf->ec); +          ec = (enum TALER_ErrorCode) ntohl (sf->ec);            GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,                        "Signing failed!\n");            finished = true; @@ -555,7 +551,7 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          break; /* while(1) loop ensures we recvfrom() again */ @@ -568,7 +564,7 @@ more:          {            GNUNET_break_op (0);            do_disconnect (dh); -          *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +          ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;            goto end;          }          break; /* while(1) loop ensures we recvfrom() again */ @@ -583,7 +579,7 @@ more:                      "Received unexpected message of type %u\n",                      ntohs (hdr->type));          do_disconnect (dh); -        *ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG; +        ec = TALER_EC_EXCHANGE_DENOMINATION_HELPER_BUG;          goto end;        }        memmove (buf, @@ -594,8 +590,8 @@ more:      } /* while(1) */  end:      if (finished) -      TALER_blinded_denom_sig_free (&ds); -    return ds; +      TALER_blinded_denom_sig_free (bs); +    return ec;    }  } diff --git a/src/util/test_helper_cs.c b/src/util/test_helper_cs.c index dd807b25..a0dbebd6 100644 --- a/src/util/test_helper_cs.c +++ b/src/util/test_helper_cs.c @@ -456,11 +456,11 @@ test_signing (struct TALER_CRYPTO_CsDenominationHelper *dh)        GNUNET_log (GNUNET_ERROR_TYPE_INFO,                    "Requesting signature with key %s\n",                    GNUNET_h2s (&keys[i].h_cs.hash)); -      ds = TALER_CRYPTO_helper_cs_sign (dh, +      ec = TALER_CRYPTO_helper_cs_sign (dh,                                          &keys[i].h_cs,                                          &pd.blinded_planchet.details.                                          cs_blinded_planchet, -                                        &ec); +                                        &ds);      }      switch (ec)      { @@ -552,11 +552,11 @@ test_signing (struct TALER_CRYPTO_CsDenominationHelper *dh)                                             &c_hash,                                             &pd)); -    ds = TALER_CRYPTO_helper_cs_sign (dh, +    ec = TALER_CRYPTO_helper_cs_sign (dh,                                        &rnd,                                        &pd.blinded_planchet.details.                                        cs_blinded_planchet, -                                      &ec); +                                      &ds);      if (TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN != ec)      {        if (TALER_EC_NONE == ec) @@ -645,11 +645,11 @@ perf_signing (struct TALER_CRYPTO_CsDenominationHelper *dh,            struct GNUNET_TIME_Absolute start = GNUNET_TIME_absolute_get ();            struct GNUNET_TIME_Relative delay; -          ds = TALER_CRYPTO_helper_cs_sign (dh, +          ec = TALER_CRYPTO_helper_cs_sign (dh,                                              &keys[i].h_cs,                                              &pd.blinded_planchet.details.                                              cs_blinded_planchet, -                                            &ec); +                                            &ds);            if (TALER_EC_NONE != ec)              break;            delay = GNUNET_TIME_absolute_get_duration (start); diff --git a/src/util/test_helper_rsa.c b/src/util/test_helper_rsa.c index 33363b1f..679f5d7f 100644 --- a/src/util/test_helper_rsa.c +++ b/src/util/test_helper_rsa.c @@ -304,13 +304,13 @@ test_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh)                     int) pd.blinded_planchet.details.rsa_blinded_planchet.                    blinded_msg_size,                    GNUNET_h2s (&keys[i].h_rsa.hash)); -      ds = TALER_CRYPTO_helper_rsa_sign (dh, +      ec = TALER_CRYPTO_helper_rsa_sign (dh,                                           &keys[i].h_rsa,                                           pd.blinded_planchet.details.                                           rsa_blinded_planchet.blinded_msg,                                           pd.blinded_planchet.details.                                           rsa_blinded_planchet.blinded_msg_size, -                                         &ec); +                                         &ds);        TALER_blinded_planchet_free (&pd.blinded_planchet);      }      switch (ec) @@ -405,11 +405,11 @@ test_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh)      GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK,                                  &rnd,                                  sizeof (rnd)); -    ds = TALER_CRYPTO_helper_rsa_sign (dh, +    ec = TALER_CRYPTO_helper_rsa_sign (dh,                                         &rnd,                                         "Hello",                                         strlen ("Hello"), -                                       &ec); +                                       &ds);      if (TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN != ec)      {        if (TALER_EC_NONE == ec) @@ -485,14 +485,14 @@ perf_signing (struct TALER_CRYPTO_RsaDenominationHelper *dh,            struct GNUNET_TIME_Absolute start = GNUNET_TIME_absolute_get ();            struct GNUNET_TIME_Relative delay; -          ds = TALER_CRYPTO_helper_rsa_sign (dh, +          ec = TALER_CRYPTO_helper_rsa_sign (dh,                                               &keys[i].h_rsa,                                               pd.blinded_planchet.details.                                               rsa_blinded_planchet.blinded_msg,                                               pd.blinded_planchet.details.                                               rsa_blinded_planchet.                                               blinded_msg_size, -                                             &ec); +                                             &ds);            if (TALER_EC_NONE != ec)              break;            delay = GNUNET_TIME_absolute_get_duration (start); | 
