Returns now GNUNET_SYSERR
[oweals/gnunet.git] / src / util / crypto_rsa.c
index c15dff945669d787e8f4e386a53f52c2d601a33f..c7b2c16eef9235536be881f8e59f9be6040f679c 100644 (file)
@@ -546,10 +546,8 @@ rsa_decode_key (const struct RsaPrivateKeyBinaryEncoded *encoding)
  * files does not exist, create a new key and write it to the
  * file.  Caller must free return value.  Note that this function
  * can not guarantee that another process might not be trying
- * the same operation on the same file at the same time.  The
- * caller must somehow know that the file either already exists
- * with a valid key OR be sure that no other process is calling
- * this function at the same time.  If the contents of the file
+ * the same operation on the same file at the same time. 
+ * If the contents of the file
  * are invalid the old file is deleted and a fresh key is
  * created.
  *
@@ -659,7 +657,7 @@ GNUNET_CRYPTO_rsa_key_create_from_file (const char *filename)
                                  sizeof (struct RsaPrivateKeyBinaryEncoded),
                                  GNUNET_NO))
         {
-          if (0 == ++cnt % 10)
+          if (0 == ++cnt % 60)
             {
               ec = errno;
               GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -779,6 +777,8 @@ GNUNET_CRYPTO_rsa_encrypt (const void *block,
 
   GNUNET_assert (size <= sizeof (GNUNET_HashCode));
   pubkey = public2PrivateKey (publicKey);
+  if (pubkey == NULL)
+    return GNUNET_SYSERR;
   isize = size;
   GNUNET_assert (0 ==
                  gcry_mpi_scan (&val, GCRYMPI_FMT_USG, block, isize, &isize));