Пример #1
0
/*
 * How many bytes will we add to frame buffer for a given
 * set of crypto options?
 */
void
crypto_adjust_frame_parameters(struct frame *frame,
			       const struct key_type* kt,
			       bool cipher_defined,
			       bool use_iv,
			       bool packet_id,
			       bool packet_id_long_form)
{
  size_t crypto_overhead = 0;

  if (packet_id)
    crypto_overhead += packet_id_size (packet_id_long_form);

  if (cipher_defined)
    {
      if (use_iv)
	crypto_overhead += cipher_kt_iv_size (kt->cipher);

      /* extra block required by cipher_ctx_update() */
      crypto_overhead += cipher_kt_block_size (kt->cipher);
    }

  crypto_overhead += kt->hmac_length;

  frame_add_to_extra_frame (frame, crypto_overhead);

  msg(D_MTU_DEBUG, "%s: Adjusting frame parameters for crypto by %zu bytes",
      __func__, crypto_overhead);
}
Пример #2
0
void
tls_crypt_adjust_frame_parameters(struct frame *frame)
{
    frame_add_to_extra_frame(frame, tls_crypt_buf_overhead());

    msg(D_MTU_DEBUG, "%s: Adjusting frame parameters for tls-crypt by %i bytes",
        __func__, tls_crypt_buf_overhead());
}
Пример #3
0
/*
 * How many bytes will we add to frame buffer for a given
 * set of crypto options?
 */
void
crypto_adjust_frame_parameters(struct frame *frame,
			       const struct key_type* kt,
			       bool cipher_defined,
			       bool use_iv,
			       bool packet_id,
			       bool packet_id_long_form)
{
  frame_add_to_extra_frame (frame,
			    (packet_id ? packet_id_size (packet_id_long_form) : 0) +
			    ((cipher_defined && use_iv) ? cipher_kt_iv_size (kt->cipher) : 0) +
			    (cipher_defined ? cipher_kt_block_size (kt->cipher) : 0) + /* worst case padding expansion */
			    kt->hmac_length);
}
Пример #4
0
void
comp_add_to_extra_frame(struct frame *frame)
{
  /* Leave room for our one-byte compressed/didn't-compress prefix byte. */
  frame_add_to_extra_frame (frame, COMP_PREFIX_LEN);
}
Пример #5
0
/* add to extra_frame the maximum number of bytes we will need for reliable_ack_write */
void
reliable_ack_adjust_frame_parameters (struct frame* frame, int max)
{
  frame_add_to_extra_frame (frame, ACK_SIZE (max));
}