diff --git a/.gitignore b/.gitignore
index ee2de376a6feeefed9ca21755752b94624e91639..e5d021f30dba34631f505d7dacc5a7ece196a6f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -155,6 +155,8 @@ uptime-*.json
 
 # /src/lib
 /src/lib/libcurve25519_donna.a
+/src/lib/libtor-buf.a
+/src/lib/libtor-buf-testing.a
 /src/lib/libtor-compress.a
 /src/lib/libtor-compress-testing.a
 /src/lib/libtor-container.a
diff --git a/Makefile.am b/Makefile.am
index cb76edfa2f2d10694502f147891325b918ca943e..99dec36e366c5eb1947d17ba99c8cd681d587939 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -42,6 +42,7 @@ endif
 TOR_UTIL_LIBS = \
         src/lib/libtor-geoip.a \
 	src/lib/libtor-process.a \
+        src/lib/libtor-buf.a \
 	src/lib/libtor-time.a \
 	src/lib/libtor-fs.a \
 	src/lib/libtor-encoding.a \
@@ -72,6 +73,7 @@ if UNITTESTS_ENABLED
 TOR_UTIL_TESTING_LIBS = \
         src/lib/libtor-geoip-testing.a \
 	src/lib/libtor-process-testing.a \
+        src/lib/libtor-buf-testing.a \
 	src/lib/libtor-time-testing.a \
 	src/lib/libtor-fs-testing.a \
 	src/lib/libtor-encoding-testing.a \
diff --git a/src/app/main/main.c b/src/app/main/main.c
index b8dcb852d2d7558f15247a1524db6fb0fac97f5e..653a393fe4b5d98e767b877202e08d5647aecb06 100644
--- a/src/app/main/main.c
+++ b/src/app/main/main.c
@@ -67,7 +67,7 @@
 #include "feature/stats/predict_ports.h"
 #include "feature/stats/rephist.h"
 #include "lib/compress/compress.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/crypt_ops/crypto_rand.h"
 #include "lib/crypt_ops/crypto_s2k.h"
 #include "lib/geoip/geoip.h"
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 1198a01ad9b0152593d7377f3aad2da35d76a87b..8058077cd50b66a4a34f03d668767927d8d36a27 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -57,7 +57,7 @@
 #define CONNECTION_PRIVATE
 #include "core/or/or.h"
 #include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/tls/buffers_tls.h"
 #include "lib/err/backtrace.h"
 
diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
index 7eff82fee42adf43310b25096d5bf83f4be7e5c9..8edee9d29da491655c9e45edf083a384bbc39019 100644
--- a/src/core/mainloop/mainloop.c
+++ b/src/core/mainloop/mainloop.c
@@ -95,7 +95,7 @@
 #include "feature/stats/geoip_stats.h"
 #include "feature/stats/predict_ports.h"
 #include "feature/stats/rephist.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/crypt_ops/crypto_rand.h"
 #include "lib/err/backtrace.h"
 #include "lib/tls/buffers_tls.h"
diff --git a/src/core/or/circuitlist.c b/src/core/or/circuitlist.c
index 35efc6541f6c5cd9f4efdcc6480f4ade15485ef3..0aa21000a18fc9f6835fb5d13c2a0c9cd9171663 100644
--- a/src/core/or/circuitlist.c
+++ b/src/core/or/circuitlist.c
@@ -94,7 +94,7 @@
 #include "lib/compress/compress_lzma.h"
 #include "lib/compress/compress_zlib.h"
 #include "lib/compress/compress_zstd.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 
 #include "ht.h"
 
diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c
index 58aefcf8f297975f33761bf1385aa7b515f0aabb..a69c90731949749e048783b59e03af854d797ba7 100644
--- a/src/core/or/connection_edge.c
+++ b/src/core/or/connection_edge.c
@@ -97,7 +97,7 @@
 #include "feature/rend/rendservice.h"
 #include "feature/stats/predict_ports.h"
 #include "feature/stats/rephist.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/crypt_ops/crypto_util.h"
 
 #include "core/or/cell_st.h"
diff --git a/src/core/or/connection_or.c b/src/core/or/connection_or.c
index 65f4e28c92867904ea6d09b3b798b6fc7cbf9b64..f231fda123f0e8452d16b1ebbdeb1c4d84265a65 100644
--- a/src/core/or/connection_or.c
+++ b/src/core/or/connection_or.c
@@ -22,7 +22,7 @@
  **/
 #include "core/or/or.h"
 #include "feature/client/bridges.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 /*
  * Define this so we get channel internal functions, since we're implementing
  * part of a subclass (channel_tls_t).
diff --git a/src/core/or/or.h b/src/core/or/or.h
index acf092c8dc872f1d1adfe24c86f443564ec3e79b..0c4995cfd67e0a2d3a51f9ae7f2208ebc185fbf8 100644
--- a/src/core/or/or.h
+++ b/src/core/or/or.h
@@ -26,7 +26,7 @@
 #include "lib/cc/compat_compiler.h"
 #include "lib/cc/torint.h"
 #include "lib/container/map.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/container/smartlist.h"
 #include "lib/crypt_ops/crypto_cipher.h"
 #include "lib/crypt_ops/crypto_rsa.h"
diff --git a/src/core/or/relay.c b/src/core/or/relay.c
index 510d96c648c08a4f636429eb97b26e56f6977a68..2e92f2a55d43c2feb1010ae9e7c8e3b99d9d5016 100644
--- a/src/core/or/relay.c
+++ b/src/core/or/relay.c
@@ -49,7 +49,7 @@
 #include "core/or/or.h"
 #include "feature/client/addressmap.h"
 #include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/or/channel.h"
 #include "feature/client/circpathbias.h"
 #include "core/or/circuitbuild.h"
diff --git a/src/core/or/scheduler.c b/src/core/or/scheduler.c
index 326e0d65d9594d2c62f6a106e78a4f6b5aef3757..937e7e45db982afebd07da7bb9b023d10e487b4e 100644
--- a/src/core/or/scheduler.c
+++ b/src/core/or/scheduler.c
@@ -9,7 +9,7 @@
 #define SCHEDULER_KIST_PRIVATE
 #include "core/or/scheduler.h"
 #include "core/mainloop/mainloop.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #define TOR_CHANNEL_INTERNAL_
 #include "core/or/channeltls.h"
 #include "lib/evloop/compat_libevent.h"
diff --git a/src/core/or/scheduler_kist.c b/src/core/or/scheduler_kist.c
index f112ea6357db6dae99cc7525067003053c94d759..3ed0f1a5e2a2e262c60c5f3e6f56593ec696cd8e 100644
--- a/src/core/or/scheduler_kist.c
+++ b/src/core/or/scheduler_kist.c
@@ -4,7 +4,7 @@
 #define SCHEDULER_KIST_PRIVATE
 
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "app/config/config.h"
 #include "core/mainloop/connection.h"
 #include "feature/nodelist/networkstatus.h"
diff --git a/src/core/proto/proto_cell.c b/src/core/proto/proto_cell.c
index 49b07663d7bfd1b1a7247ffe814ae1f0aea00b73..70278cd488e26c107f810226d96ab062512ca8ad 100644
--- a/src/core/proto/proto_cell.c
+++ b/src/core/proto/proto_cell.c
@@ -5,7 +5,7 @@
 /* See LICENSE for licensing information */
 
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/proto/proto_cell.h"
 
 #include "core/or/connection_or.h"
diff --git a/src/core/proto/proto_control0.c b/src/core/proto/proto_control0.c
index d26c69753a3e22c3f9935f7129b44996a7728751..a770a061a7a1a800f790d0beb24527f958ecbdcb 100644
--- a/src/core/proto/proto_control0.c
+++ b/src/core/proto/proto_control0.c
@@ -5,7 +5,7 @@
 /* See LICENSE for licensing information */
 
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/proto/proto_control0.h"
 
 /** Return 1 iff buf looks more like it has an (obsolete) v0 controller
diff --git a/src/core/proto/proto_ext_or.c b/src/core/proto/proto_ext_or.c
index 04bec4e6b97486f6e10ef79c1d4430780154b278..fe36f6b3962427c40df8c37512d8172a1e246ce9 100644
--- a/src/core/proto/proto_ext_or.c
+++ b/src/core/proto/proto_ext_or.c
@@ -5,7 +5,7 @@
 /* See LICENSE for licensing information */
 
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "feature/relay/ext_orport.h"
 #include "core/proto/proto_ext_or.h"
 
diff --git a/src/core/proto/proto_http.c b/src/core/proto/proto_http.c
index 37298d1284c6fe0ae98bd13c100ca1f03724335d..4ce9ba02f57c76f91273ef84dc6a8d4527989da3 100644
--- a/src/core/proto/proto_http.c
+++ b/src/core/proto/proto_http.c
@@ -6,7 +6,7 @@
 
 #define PROTO_HTTP_PRIVATE
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/proto/proto_http.h"
 
 /** Return true if <b>cmd</b> looks like a HTTP (proxy) request. */
diff --git a/src/core/proto/proto_socks.c b/src/core/proto/proto_socks.c
index e23da7730b171b29bf28932f522e46ea094ea3bc..4071f34f0d300daa3e4ee9566c25e6fb5bf4dfcb 100644
--- a/src/core/proto/proto_socks.c
+++ b/src/core/proto/proto_socks.c
@@ -6,7 +6,7 @@
 
 #include "core/or/or.h"
 #include "feature/client/addressmap.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/mainloop/connection.h"
 #include "feature/control/control.h"
 #include "app/config/config.h"
diff --git a/src/feature/control/control.c b/src/feature/control/control.c
index b31b448e96690b23275ebf38ee59638621c95ad6..11e722c3a8ef8db2ef0ff9b018f9e74442136a9f 100644
--- a/src/feature/control/control.c
+++ b/src/feature/control/control.c
@@ -87,7 +87,7 @@
 #include "feature/rend/rendservice.h"
 #include "feature/stats/geoip_stats.h"
 #include "feature/stats/predict_ports.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/crypt_ops/crypto_rand.h"
 #include "lib/crypt_ops/crypto_util.h"
 #include "lib/encoding/confline.h"
diff --git a/src/feature/stats/geoip_stats.c b/src/feature/stats/geoip_stats.c
index 1a4f8ddfb0ae129f019f844b75eed75f1d477f99..3106c6c82ceddcea3854c3b48744d18e454296fa 100644
--- a/src/feature/stats/geoip_stats.c
+++ b/src/feature/stats/geoip_stats.c
@@ -30,7 +30,7 @@
 #include "core/or/or.h"
 
 #include "ht.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "app/config/config.h"
 #include "feature/control/control.h"
 #include "feature/client/dnsserv.h"
diff --git a/src/include.am b/src/include.am
index 8279499936f88f334d7f2924f11bebb7495b5812..9070a69a03235e65d2e3a742472fc53a009b6d20 100644
--- a/src/include.am
+++ b/src/include.am
@@ -1,5 +1,6 @@
 include src/ext/include.am
 include src/lib/arch/include.am
+include src/lib/buf/include.am
 include src/lib/err/include.am
 include src/lib/cc/include.am
 include src/lib/ctime/include.am
diff --git a/src/lib/buf/.may_include b/src/lib/buf/.may_include
new file mode 100644
index 0000000000000000000000000000000000000000..c4be73bce299508e68c46002f9b8d83cbe4ae60b
--- /dev/null
+++ b/src/lib/buf/.may_include
@@ -0,0 +1,10 @@
+orconfig.h
+
+lib/buf/*.h
+lib/cc/*.h
+lib/ctime/*.h
+lib/malloc/*.h
+lib/testsupport/*.h
+lib/log/*.h
+lib/string/*.h
+lib/time/*.h
diff --git a/src/lib/container/buffers.c b/src/lib/buf/buffers.c
similarity index 99%
rename from src/lib/container/buffers.c
rename to src/lib/buf/buffers.c
index 87d782d7eff77ee05a9e9a98e4f551ae35391cd5..495c5ec45335f918e03d44ed799c982cc2f72bd8 100644
--- a/src/lib/container/buffers.c
+++ b/src/lib/buf/buffers.c
@@ -25,7 +25,7 @@
 #define BUFFERS_PRIVATE
 #include "orconfig.h"
 #include <stddef.h>
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/cc/torint.h"
 #include "lib/log/log.h"
 #include "lib/log/util_bug.h"
diff --git a/src/lib/container/buffers.h b/src/lib/buf/buffers.h
similarity index 100%
rename from src/lib/container/buffers.h
rename to src/lib/buf/buffers.h
diff --git a/src/lib/buf/include.am b/src/lib/buf/include.am
new file mode 100644
index 0000000000000000000000000000000000000000..3338c3dbdbdec87fcc081a71cae1f030ad17be5a
--- /dev/null
+++ b/src/lib/buf/include.am
@@ -0,0 +1,17 @@
+
+noinst_LIBRARIES += src/lib/libtor-buf.a
+
+if UNITTESTS_ENABLED
+noinst_LIBRARIES += src/lib/libtor-buf-testing.a
+endif
+
+src_lib_libtor_buf_a_SOURCES =			\
+	src/lib/buf/buffers.c
+
+src_lib_libtor_buf_testing_a_SOURCES = \
+	$(src_lib_libtor_buf_a_SOURCES)
+src_lib_libtor_buf_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
+src_lib_libtor_buf_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
+
+noinst_HEADERS +=				\
+	src/lib/buf/buffers.h
diff --git a/src/lib/compress/.may_include b/src/lib/compress/.may_include
index 4870259ec9a0f6abe628096d4ba6b15d656453d8..6cd80086e6b43039b4ad2736d49fbad0e47ec432 100644
--- a/src/lib/compress/.may_include
+++ b/src/lib/compress/.may_include
@@ -1,5 +1,6 @@
 orconfig.h
 lib/arch/*.h
+lib/buf/*.h
 lib/cc/*.h
 lib/compress/*.h
 lib/container/*.h
diff --git a/src/lib/compress/compress_buf.c b/src/lib/compress/compress_buf.c
index 63ee9e01029b2feecf65e89fc5ca2ee110c4aa94..ecf76ee07809633654b87d38df3d63df87760566 100644
--- a/src/lib/compress/compress_buf.c
+++ b/src/lib/compress/compress_buf.c
@@ -11,7 +11,7 @@
 
 #define BUFFERS_PRIVATE
 #include "lib/cc/compat_compiler.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/compress/compress.h"
 #include "lib/log/util_bug.h"
 
diff --git a/src/lib/container/.may_include b/src/lib/container/.may_include
index 90de5eda40252ff75ec72b33cb94b0a25f816341..76e58437287075246bcfb58867d5a305fe77b544 100644
--- a/src/lib/container/.may_include
+++ b/src/lib/container/.may_include
@@ -11,8 +11,5 @@ lib/testsupport/testsupport.h
 lib/intmath/*.h
 lib/log/*.h
 
-# XXXX I am unsure about this one. It's only here for buffers.c
-lib/time/*.h
-
 ht.h
 siphash.h
diff --git a/src/lib/container/include.am b/src/lib/container/include.am
index e6492098b57f18054cb41ce34322ffbd8317e1d9..032e4033da3603fddb2cceb6a817fdf66396cb1d 100644
--- a/src/lib/container/include.am
+++ b/src/lib/container/include.am
@@ -7,7 +7,6 @@ endif
 
 src_lib_libtor_container_a_SOURCES =			\
 	src/lib/container/bloomfilt.c			\
-	src/lib/container/buffers.c			\
 	src/lib/container/map.c				\
 	src/lib/container/order.c			\
 	src/lib/container/smartlist.c
@@ -20,7 +19,6 @@ src_lib_libtor_container_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS)
 noinst_HEADERS +=					\
 	src/lib/container/bitarray.h			\
 	src/lib/container/bloomfilt.h			\
-	src/lib/container/buffers.h			\
 	src/lib/container/handles.h			\
 	src/lib/container/map.h				\
 	src/lib/container/order.h			\
diff --git a/src/lib/net/.may_include b/src/lib/net/.may_include
index f93f0e1552c639a564b9957c7bf6f1e4d43b381e..d34aaed2ca37c9afb02d22c6829558551de56321 100644
--- a/src/lib/net/.may_include
+++ b/src/lib/net/.may_include
@@ -3,6 +3,7 @@ siphash.h
 ht.h
 
 lib/arch/*.h
+lib/buf/*.h
 lib/cc/*.h
 lib/container/*.h
 lib/ctime/*.h
diff --git a/src/lib/net/buffers_net.c b/src/lib/net/buffers_net.c
index c52ea2784e78e87066e5ae18568dd8833b3955c8..b0936e9928c54896134e8d8b2500726ae25c8ad5 100644
--- a/src/lib/net/buffers_net.c
+++ b/src/lib/net/buffers_net.c
@@ -11,7 +11,7 @@
 
 #define BUFFERS_PRIVATE
 #include "lib/net/buffers_net.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/log/log.h"
 #include "lib/log/util_bug.h"
 #include "lib/net/nettypes.h"
diff --git a/src/lib/tls/.may_include b/src/lib/tls/.may_include
index 79301bc318fa808844026c8a5245690e5dc2d38a..069181b70e8c83f5a5ffca72a198851b5f65dbe1 100644
--- a/src/lib/tls/.may_include
+++ b/src/lib/tls/.may_include
@@ -1,6 +1,7 @@
 orconfig.h
 
 lib/arch/*.h
+lib/buf/*.h
 lib/cc/*.h
 lib/container/*.h
 lib/crypt_ops/*.h
diff --git a/src/lib/tls/buffers_tls.c b/src/lib/tls/buffers_tls.c
index 69ae4f7fc0d60d2dbbc27cf52a4874aa13ba43ab..b4059292ea49e6a81cb6e5e930e48845a234abe9 100644
--- a/src/lib/tls/buffers_tls.c
+++ b/src/lib/tls/buffers_tls.c
@@ -12,7 +12,7 @@
 #define BUFFERS_PRIVATE
 #include "orconfig.h"
 #include <stddef.h>
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/tls/buffers_tls.h"
 #include "lib/cc/torint.h"
 #include "lib/log/log.h"
diff --git a/src/test/fuzz/fuzz_http.c b/src/test/fuzz/fuzz_http.c
index 06483282bcb28631aba23cb93a65b995a54fe5d5..4341bfabae3cbf6d88b95ee470728e991cc991f5 100644
--- a/src/test/fuzz/fuzz_http.c
+++ b/src/test/fuzz/fuzz_http.c
@@ -8,7 +8,7 @@
 
 #include "core/or/or.h"
 #include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "app/config/config.h"
 #include "core/mainloop/connection.h"
 #include "feature/dircache/dircache.h"
diff --git a/src/test/fuzz/fuzz_http_connect.c b/src/test/fuzz/fuzz_http_connect.c
index ca007a2c7f44472bbf3b1faf91db0c7256353fc2..e03d9e29d8e35f098210c5a7c51c984f57b01fbc 100644
--- a/src/test/fuzz/fuzz_http_connect.c
+++ b/src/test/fuzz/fuzz_http_connect.c
@@ -8,7 +8,7 @@
 
 #include "core/or/or.h"
 #include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "app/config/config.h"
 #include "core/mainloop/connection.h"
 #include "core/or/connection_edge.h"
diff --git a/src/test/fuzz/fuzz_socks.c b/src/test/fuzz/fuzz_socks.c
index 14c25304b1acdba116de92ec4bb68b6db0bfba11..2d93bea924041bcd81b416d59a5907f5af8f15f3 100644
--- a/src/test/fuzz/fuzz_socks.c
+++ b/src/test/fuzz/fuzz_socks.c
@@ -6,7 +6,7 @@
 #define BUFFERS_PRIVATE
 #include "core/or/or.h"
 
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/err/backtrace.h"
 #include "lib/log/log.h"
 #include "core/proto/proto_socks.h"
diff --git a/src/test/test.c b/src/test/test.c
index 17b736d3054da36a20ba7b660271b8b506eca346..a654030fac272f750e8219d69529acdc404fdbeb 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -37,7 +37,7 @@
 
 #include "core/or/or.h"
 #include "lib/err/backtrace.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/or/circuitlist.h"
 #include "core/or/circuitstats.h"
 #include "lib/compress/compress.h"
diff --git a/src/test/test_buffers.c b/src/test/test_buffers.c
index 477066f69976dceb1b7ee3dca7d3215c7b3ef8eb..85e7b8d90a7d10533626c5473dd6ff3bbad32c68 100644
--- a/src/test/test_buffers.c
+++ b/src/test/test_buffers.c
@@ -6,7 +6,7 @@
 #define BUFFERS_PRIVATE
 #define PROTO_HTTP_PRIVATE
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "lib/tls/buffers_tls.h"
 #include "lib/tls/tortls.h"
 #include "lib/compress/compress.h"
diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c
index 0fd60d0a924b01f24aa7abe2062622d929bdfcef..bdd7c5f0a6f554e1bbd03764b09daaf4de30368c 100644
--- a/src/test/test_channelpadding.c
+++ b/src/test/test_channelpadding.c
@@ -21,7 +21,7 @@
 #include "test/log_test_helpers.h"
 #include "lib/tls/tortls.h"
 #include "lib/evloop/timers.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 
 #include "core/or/cell_st.h"
 #include "feature/nodelist/networkstatus_st.h"
diff --git a/src/test/test_channeltls.c b/src/test/test_channeltls.c
index 787a30a85d8c30f570e670a8ee40e80a2ab23997..44d623561b616b29e71283bcfb82b9d031900509 100644
--- a/src/test/test_channeltls.c
+++ b/src/test/test_channeltls.c
@@ -8,7 +8,7 @@
 #define TOR_CHANNEL_INTERNAL_
 #include "core/or/or.h"
 #include "lib/net/address.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/or/channel.h"
 #include "core/or/channeltls.h"
 #include "core/mainloop/connection.h"
diff --git a/src/test/test_extorport.c b/src/test/test_extorport.c
index 71be9131c7b04bf9dd71e960ef1b0e56213e5943..432a9ea5e343570803bc3c4dc64b404717b23d4f 100644
--- a/src/test/test_extorport.c
+++ b/src/test/test_extorport.c
@@ -5,7 +5,7 @@
 #define EXT_ORPORT_PRIVATE
 #define MAINLOOP_PRIVATE
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/mainloop/connection.h"
 #include "core/or/connection_or.h"
 #include "app/config/config.h"
diff --git a/src/test/test_helpers.c b/src/test/test_helpers.c
index 6ac73bff5cbdafefe98b43a23f137fc6b87be7b3..b7bda16494c1bc11464593e714909fdf61d9c4b8 100644
--- a/src/test/test_helpers.c
+++ b/src/test/test_helpers.c
@@ -14,7 +14,7 @@
 #include "orconfig.h"
 #include "core/or/or.h"
 
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "app/config/config.h"
 #include "app/config/confparse.h"
 #include "core/mainloop/connection.h"
diff --git a/src/test/test_oom.c b/src/test/test_oom.c
index 313a6b3114aea6776bc9a2b5742e9aa69f48d5b2..f84dc0764ba2cea7297292e92c0526dbf95a63b0 100644
--- a/src/test/test_oom.c
+++ b/src/test/test_oom.c
@@ -8,7 +8,7 @@
 #define CIRCUITLIST_PRIVATE
 #define CONNECTION_PRIVATE
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/or/circuitlist.h"
 #include "lib/evloop/compat_libevent.h"
 #include "core/mainloop/connection.h"
diff --git a/src/test/test_proto_http.c b/src/test/test_proto_http.c
index 1cfa0a752c9817b4334d6631424aaec54f5bcf53..b4e82784235ac82137183f422b9cf051d221f6e5 100644
--- a/src/test/test_proto_http.c
+++ b/src/test/test_proto_http.c
@@ -8,7 +8,7 @@
 
 #include "core/or/or.h"
 #include "test/test.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/proto/proto_http.h"
 #include "test/log_test_helpers.h"
 
diff --git a/src/test/test_proto_misc.c b/src/test/test_proto_misc.c
index 1fcb76342124e4b818419cf50884419455d22e08..f7f6f696676f534facff404db10699b641c607f2 100644
--- a/src/test/test_proto_misc.c
+++ b/src/test/test_proto_misc.c
@@ -8,7 +8,7 @@
 
 #include "core/or/or.h"
 #include "test/test.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "core/or/connection_or.h"
 #include "feature/relay/ext_orport.h"
 #include "core/proto/proto_cell.h"
diff --git a/src/test/test_routerlist.c b/src/test/test_routerlist.c
index 1071a095fe7de5e574d5faa68371e5320067eb2b..167b7a35ce1ff0722ec309a72755ea39fd795417 100644
--- a/src/test/test_routerlist.c
+++ b/src/test/test_routerlist.c
@@ -46,7 +46,7 @@
 #include "feature/nodelist/routerstatus_st.h"
 
 #include "lib/encoding/confline.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 
 #include "test/test.h"
 #include "test/test_dir_common.h"
diff --git a/src/test/test_socks.c b/src/test/test_socks.c
index 7f6d8a48f19fb855e82cb294ee4d1c20941479eb..d430f4329bfcddfb168aabef10ad8f4b7985ca5e 100644
--- a/src/test/test_socks.c
+++ b/src/test/test_socks.c
@@ -4,7 +4,7 @@
 /* See LICENSE for licensing information */
 
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "app/config/config.h"
 #include "core/mainloop/connection.h"
 #include "core/proto/proto_socks.h"
diff --git a/src/test/test_util.c b/src/test/test_util.c
index bcface64fdafba68741a64175c4fbf03ddd7302f..2b4d64e42e38ad3b6b8469dfef6e963628acace7 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -13,7 +13,7 @@
 #define SUBPROCESS_PRIVATE
 #include "lib/testsupport/testsupport.h"
 #include "core/or/or.h"
-#include "lib/container/buffers.h"
+#include "lib/buf/buffers.h"
 #include "app/config/config.h"
 #include "feature/control/control.h"
 #include "feature/client/transports.h"