mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-09-20 12:02:28 +02:00
Remove code for aligning non-swapped compression
This is an optimisation for memory alignment for lzo. Compression is deprecated so this optimisation is not very important anymore. Furthermore it is conditionally compiled on !defined(ENABLE_LZ4), which makes the code not compiled in by default anyway. Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <20210401131337.3684-2-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21946.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
bdc11ae462
commit
137eb6705e
@ -198,11 +198,5 @@ comp_non_stub_enabled(const struct compress_options *info)
|
||||
&& info->alg != COMP_ALG_UNDEF;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
comp_unswapped_prefix(const struct compress_options *info)
|
||||
{
|
||||
return !(info->flags & COMP_F_SWAP);
|
||||
}
|
||||
|
||||
#endif /* USE_COMP */
|
||||
#endif /* ifndef OPENVPN_COMP_H */
|
||||
|
@ -3082,37 +3082,6 @@ do_init_frame(struct context *c)
|
||||
{
|
||||
comp_add_to_extra_frame(&c->c2.frame);
|
||||
|
||||
#if !defined(ENABLE_LZ4)
|
||||
/*
|
||||
* Compression usage affects buffer alignment when non-swapped algs
|
||||
* such as LZO is used.
|
||||
* Newer algs like LZ4 and comp-stub with COMP_F_SWAP don't need
|
||||
* any special alignment because of the control-byte swap approach.
|
||||
* LZO alignment (on the other hand) is problematic because
|
||||
* the presence of the control byte means that either the output of
|
||||
* decryption must be written to an unaligned buffer, or the input
|
||||
* to compression (or packet dispatch if packet is uncompressed)
|
||||
* must be read from an unaligned buffer.
|
||||
* This code tries to align the input to compression (or packet
|
||||
* dispatch if packet is uncompressed) at the cost of requiring
|
||||
* decryption output to be written to an unaligned buffer, so
|
||||
* it's more of a tradeoff than an optimal solution and we don't
|
||||
* include it when we are doing a modern build with LZ4.
|
||||
* Strictly speaking, on the server it would be better to execute
|
||||
* this code for every connection after we decide the compression
|
||||
* method, but currently the frame code doesn't appear to be
|
||||
* flexible enough for this, since the frame is already established
|
||||
* before it is known which compression options will be pushed.
|
||||
*/
|
||||
if (comp_unswapped_prefix(&c->options.comp) && CIPHER_ENABLED(c))
|
||||
{
|
||||
frame_add_to_align_adjust(&c->c2.frame, COMP_PREFIX_LEN);
|
||||
frame_or_align_flags(&c->c2.frame,
|
||||
FRAME_HEADROOM_MARKER_FRAGMENT
|
||||
|FRAME_HEADROOM_MARKER_DECRYPT);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_FRAGMENT
|
||||
comp_add_to_extra_frame(&c->c2.frame_fragment_omit); /* omit compression frame delta from final frame_fragment */
|
||||
#endif
|
||||
|
@ -300,12 +300,6 @@ frame_add_to_extra_buffer(struct frame *frame, const int increment)
|
||||
frame->extra_buffer += increment;
|
||||
}
|
||||
|
||||
static inline void
|
||||
frame_add_to_align_adjust(struct frame *frame, const int increment)
|
||||
{
|
||||
frame->align_adjust += increment;
|
||||
}
|
||||
|
||||
static inline void
|
||||
frame_align_to_extra_frame(struct frame *frame)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user