summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <grothoff@gnunet.org>2021-11-22 15:19:59 +0100
committerChristian Grothoff <grothoff@gnunet.org>2021-11-24 17:44:26 +0100
commit0ac1b7abad70ed2619393a64601e139fd0623f6e (patch)
tree97148836c0b6346485c32b5d6cdfd6ff994fad12
parentc7dc62b42ea3f001d2d54eac9a523b77d2188d6a (diff)
downloadexchange-0ac1b7abad70ed2619393a64601e139fd0623f6e.tar.gz
exchange-0ac1b7abad70ed2619393a64601e139fd0623f6e.tar.bz2
exchange-0ac1b7abad70ed2619393a64601e139fd0623f6e.zip
handle revoke followed immediately by a sign request
-rw-r--r--src/bank-lib/fakebank.c16
-rw-r--r--src/testing/testing_api_cmd_withdraw.c4
-rw-r--r--src/util/secmod_common.c104
3 files changed, 65 insertions, 59 deletions
diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c
index cc3281c08..e0d8e1556 100644
--- a/src/bank-lib/fakebank.c
+++ b/src/bank-lib/fakebank.c
@@ -1678,8 +1678,8 @@ parse_history_common_args (const struct TALER_FAKEBANK_Handle *h,
MHD_HTTP_BAD_REQUEST,
TALER_EC_GENERIC_PARAMETER_MALFORMED,
"delta"))
- ? GNUNET_NO
- : GNUNET_SYSERR;
+ ? GNUNET_NO
+ : GNUNET_SYSERR;
}
if ( (NULL != long_poll_ms) &&
(1 != sscanf (long_poll_ms,
@@ -1697,8 +1697,8 @@ parse_history_common_args (const struct TALER_FAKEBANK_Handle *h,
MHD_HTTP_BAD_REQUEST,
TALER_EC_GENERIC_PARAMETER_MALFORMED,
"long_poll_ms"))
- ? GNUNET_NO
- : GNUNET_SYSERR;
+ ? GNUNET_NO
+ : GNUNET_SYSERR;
}
if ( (NULL != start) &&
(1 != sscanf (start,
@@ -1716,8 +1716,8 @@ parse_history_common_args (const struct TALER_FAKEBANK_Handle *h,
MHD_HTTP_BAD_REQUEST,
TALER_EC_GENERIC_PARAMETER_MALFORMED,
"start"))
- ? GNUNET_NO
- : GNUNET_SYSERR;
+ ? GNUNET_NO
+ : GNUNET_SYSERR;
}
if (NULL == start)
ha->start_idx = (d > 0) ? 0 : h->serial_counter;
@@ -1732,8 +1732,8 @@ parse_history_common_args (const struct TALER_FAKEBANK_Handle *h,
MHD_HTTP_BAD_REQUEST,
TALER_EC_GENERIC_PARAMETER_MALFORMED,
"delta"))
- ? GNUNET_NO
- : GNUNET_SYSERR;
+ ? GNUNET_NO
+ : GNUNET_SYSERR;
}
ha->lp_timeout
= GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS,
diff --git a/src/testing/testing_api_cmd_withdraw.c b/src/testing/testing_api_cmd_withdraw.c
index 414e7cead..8e6cba704 100644
--- a/src/testing/testing_api_cmd_withdraw.c
+++ b/src/testing/testing_api_cmd_withdraw.c
@@ -532,8 +532,8 @@ withdraw_traits (void *cls,
};
return TALER_TESTING_get_trait ((ws->expected_response_code == MHD_HTTP_OK)
- ? &traits[0] /* we have reserve history */
- : &traits[1],/* skip reserve history */
+ ? &traits[0] /* we have reserve history */
+ : &traits[1], /* skip reserve history */
ret,
trait,
index);
diff --git a/src/util/secmod_common.c b/src/util/secmod_common.c
index ee390640d..11d7bf712 100644
--- a/src/util/secmod_common.c
+++ b/src/util/secmod_common.c
@@ -232,63 +232,69 @@ TES_read_work (void *cls,
size_t off = 0;
uint16_t msize;
const struct GNUNET_MessageHeader *hdr;
+ enum GNUNET_GenericReturnValue ret;
- do
+ while (1)
{
- ssize_t recv_size;
-
- recv_size = recv (client->csock,
- &buf[off],
- sizeof (client->iobuf) - off,
- 0);
- if (-1 == recv_size)
+ do
{
- if ( (0 == off) &&
- (EAGAIN == errno) )
- return GNUNET_NO;
- if ( (EINTR == errno) ||
- (EAGAIN == errno) )
+ ssize_t recv_size;
+
+ recv_size = recv (client->csock,
+ &buf[off],
+ sizeof (client->iobuf) - off,
+ 0);
+ if (-1 == recv_size)
{
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_DEBUG,
- "recv");
- continue;
+ if ( (0 == off) &&
+ (EAGAIN == errno) )
+ return GNUNET_NO;
+ if ( (EINTR == errno) ||
+ (EAGAIN == errno) )
+ {
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_DEBUG,
+ "recv");
+ continue;
+ }
+ if (ECONNRESET != errno)
+ GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
+ "recv");
+ return GNUNET_SYSERR;
}
- if (ECONNRESET != errno)
- GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,
- "recv");
- return GNUNET_SYSERR;
- }
- if (0 == recv_size)
- {
- /* regular disconnect? */
- GNUNET_break_op (0 == off);
- return GNUNET_SYSERR;
- }
- off += recv_size;
- if (off < sizeof (struct GNUNET_MessageHeader))
- continue;
- hdr = (const struct GNUNET_MessageHeader *) buf;
- msize = ntohs (hdr->size);
+ if (0 == recv_size)
+ {
+ /* regular disconnect? */
+ GNUNET_break_op (0 == off);
+ return GNUNET_SYSERR;
+ }
+ off += recv_size;
+ if (off < sizeof (struct GNUNET_MessageHeader))
+ continue;
+ hdr = (const struct GNUNET_MessageHeader *) buf;
+ msize = ntohs (hdr->size);
#if 0
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Received message of type %u with %u bytes\n",
- (unsigned int) ntohs (hdr->type),
- (unsigned int) msize);
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Received message of type %u with %u bytes\n",
+ (unsigned int) ntohs (hdr->type),
+ (unsigned int) msize);
#endif
- if (msize < sizeof (struct GNUNET_MessageHeader))
- {
- GNUNET_break_op (0);
- return GNUNET_SYSERR;
- }
- } while (off < msize);
-
- if (off > msize)
- {
- GNUNET_break_op (0);
- return GNUNET_SYSERR;
+ if (msize < sizeof (struct GNUNET_MessageHeader))
+ {
+ GNUNET_break_op (0);
+ return GNUNET_SYSERR;
+ }
+ } while (off < msize);
+
+ ret = dispatch (client,
+ hdr);
+ if ( (GNUNET_OK != ret) ||
+ (off == msize) )
+ return ret;
+ memmove (buf,
+ &buf[msize],
+ off - msize);
+ off -= msize;
}
- return dispatch (client,
- hdr);
}