]> git.netwichtig.de Git - user/henk/code/exim.git/blobdiff - src/src/tls-gnu.c
DCC: fix loop expression
[user/henk/code/exim.git] / src / src / tls-gnu.c
index 7d434f6afe06db7758c35b7045373e5b4f14f87d..9aabcbfd0d62373764cbcff818657841977bbc2c 100644 (file)
@@ -1079,7 +1079,8 @@ static int
 tls_server_clienthello_ext(void * ctx, unsigned tls_id,
   const uschar * data, unsigned size)
 {
-/* https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml */
+/* The values for tls_id are documented here:
+https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml */
 switch (tls_id)
   {
   case 5:      /* Status Request */
@@ -3877,12 +3878,15 @@ return buf;
 }
 
 
+/* Get up to the given number of bytes from any cached data, and feed to dkim. */
 void
-tls_get_cache(void)
+tls_get_cache(unsigned lim)
 {
 #ifndef DISABLE_DKIM
 exim_gnutls_state_st * state = &state_server;
 int n = state->xfer_buffer_hwm - state->xfer_buffer_lwm;
+if (n > lim)
+  n = lim;
 if (n > 0)
   dkim_exim_verify_feed(state->xfer_buffer+state->xfer_buffer_lwm, n);
 #endif