zig/lib/std
Andrew Kelley a0f9a5e78d std: more reliable HTTP and TLS networking
* std.Io.Reader: fix confused semantics of rebase. Before it was
  ambiguous whether it was supposed to be based on end or seek. Now it
  is clearly based on seek, with an added assertion for clarity.

* std.crypto.tls.Client: fix panic due to not enough buffer size
  available. Also, avoid unnecessary rebasing.

* std.http.Reader: introduce max_head_len to limit HTTP header length.
  This prevents crash in underlying reader which may require a minimum
  buffer length.

* std.http.Client: choose better buffer sizes for streams and TLS
  client. Crucially, the buffer shared by HTTP reader and TLS client
  needs to be big enough for all http headers *and* the max TLS record
  size. Bump HTTP header size default from 4K to 8K.

fixes #24872

I have noticed however that there are still fetch problems
2025-08-16 00:16:15 -07:00
..
Build std.Build: improve error for peak RSS exceeding declared value 2025-08-15 23:03:16 +01:00
builtin add lr register to mips 2025-07-16 10:27:40 -07:00
c std.c: Remove serenity's internet_checksum() function 2025-08-10 18:21:47 +02:00
compress zstd: Protect against index out-of-bounds when decoding sequences 2025-08-15 22:11:51 -07:00
crypto std: more reliable HTTP and TLS networking 2025-08-16 00:16:15 -07:00
debug std.compress.zstd.Decompress fixes 2025-08-15 10:44:35 -07:00
dwarf Dwarf: remove redundant debug info 2024-12-19 17:10:03 -05:00
fmt std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
fs std.fs.File.Reader: fix freestanding build failures 2025-08-14 23:10:29 -07:00
hash simplify std.hash.Adler32 2025-07-31 22:10:11 -07:00
heap std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
http std: more reliable HTTP and TLS networking 2025-08-16 00:16:15 -07:00
Io std: more reliable HTTP and TLS networking 2025-08-16 00:16:15 -07:00
json std.io.Writer.Allocating: rename getWritten() to written() 2025-08-13 01:43:52 -07:00
math re-enable std.math.modf vector tests (#24786) 2025-08-16 02:36:09 +00:00
mem std: refactor to use Alignment.of 2025-07-09 23:07:18 -07:00
meta std: eradicate u29 and embrace std.mem.Alignment 2025-04-13 02:20:32 -04:00
net std.net: update to new I/O API 2025-07-14 00:16:49 -07:00
os Linux: Use time64 syscalls when available 2025-08-14 10:24:57 +10:00
posix lib/std/posix/test.zig: don't compare blksize in "fstatat" 2025-08-06 22:12:42 -07:00
process std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
Random std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
sort
tar std.io.Writer.Allocating: rename getWritten() to written() 2025-08-13 01:43:52 -07:00
Target std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
testing FailingAllocator: remove outdated doc comments, move doc comment example to decltest 2025-04-23 19:28:28 -04:00
Thread Remove numerous things deprecated during the 0.14 release cycle 2025-07-11 08:17:43 +02:00
time std.time.epoch: change getDaysInMonth to accept the year as an argument 2025-03-08 14:25:28 -05:00
tz
unicode std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
valgrind Remove numerous things deprecated during the 0.14 release cycle 2025-07-11 08:17:43 +02:00
zig zig fmt: add tests for cast builtin canonicalization 2025-08-14 14:44:35 -07:00
zon std.io.Writer.Allocating: rename getWritten() to written() 2025-08-13 01:43:52 -07:00
array_hash_map.zig std: introduce orderedRemoveMany 2025-08-11 13:32:12 -07:00
array_list.zig std.compress.zstd.Decompress fixes 2025-08-15 10:44:35 -07:00
ascii.zig Remove numerous things deprecated during the 0.14 release cycle 2025-07-11 08:17:43 +02:00
atomic.zig Remove numerous things deprecated during the 0.14 release cycle 2025-07-11 08:17:43 +02:00
base64.zig std.base64: delete encodeFromReaderToWriter 2025-08-05 09:56:02 -07:00
bit_set.zig std.bit_set: Disable IntegerBitSet decltest on RISC-V with vector support 2025-07-01 23:03:15 +02:00
BitStack.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
buf_map.zig
buf_set.zig
Build.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
builtin.zig aarch64: workaround some optional/union issues 2025-07-28 09:03:17 -07:00
c.zig std.c: Remove serenity's internet_checksum() function 2025-08-10 18:21:47 +02:00
coff.zig
compress.zig std.compress: rework flate to new I/O API 2025-07-31 22:10:11 -07:00
crypto.zig std.crypto: fix Sha1 namespace 2025-07-14 00:14:21 -07:00
debug.zig std.io.Writer.Allocating: rename getWritten() to written() 2025-08-13 01:43:52 -07:00
DoublyLinkedList.zig std.DoublyLinkedList: remove length tracking 2025-04-03 15:57:35 -07:00
dwarf.zig
dynamic_library.zig x86_64: add support for pie executables 2025-06-06 23:42:14 -07:00
elf.zig Fix: std.elf offset computation 2025-08-08 12:47:00 -07:00
enums.zig std.enums: fix EnumIndexer branch quota 2025-07-31 22:10:22 +01:00
fmt.zig zig std: fix build failures 2025-08-08 17:17:53 -07:00
fs.zig Remove numerous things deprecated during the 0.14 release cycle 2025-07-11 08:17:43 +02:00
gpu.zig spirv: error when execution mode is set more than once 2025-05-21 13:01:21 +03:30
hash.zig simplify std.hash.Adler32 2025-07-31 22:10:11 -07:00
hash_map.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
heap.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
http.zig std: more reliable HTTP and TLS networking 2025-08-16 00:16:15 -07:00
Io.zig std: more reliable HTTP and TLS networking 2025-08-16 00:16:15 -07:00
json.zig std.io.Writer.Allocating: rename getWritten() to written() 2025-08-13 01:43:52 -07:00
leb128.zig Remove numerous things deprecated during the 0.14 release cycle 2025-07-11 08:17:43 +02:00
log.zig std.log.defaultLog: provide a small buffer 2025-07-10 16:52:29 -07:00
macho.zig
math.zig std.math: Add splat for vectors of u0s in rotl/rotr (#24822) 2025-08-15 23:45:33 +02:00
mem.zig aarch64: implement more assembler instructions 2025-08-11 15:47:51 -07:00
meta.zig remove usages of .alignment = 0 2025-08-01 14:57:16 -07:00
multi_array_list.zig std: introduce orderedRemoveMany 2025-08-11 13:32:12 -07:00
net.zig std.net.Stream.Reader: init size_err 2025-08-10 17:38:46 -07:00
once.zig
os.zig std.fmt: breaking API changes 2025-07-07 22:43:51 -07:00
pdb.zig
pie.zig zig fmt: apply new cast builtin order 2025-08-03 14:59:56 +02:00
posix.zig net: Always set WSA_FLAG_OVERLAPPED when creating Windows sockets. Rework send and receive logic to use overlapped I/O. 2025-08-09 18:48:15 -04:00
priority_dequeue.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
priority_queue.zig std.priority_queue: add useful functions from ArrayList API 2025-02-01 19:02:39 +01:00
process.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
Progress.zig std: replace various mem copies with @memmove 2025-08-05 09:56:02 -07:00
Random.zig Allocator/Random: document that comparing ptr may result in illegal behavior 2025-02-03 17:07:28 -08:00
segmented_list.zig
SemanticVersion.zig std.fmt: fully remove format string from format methods 2025-07-07 22:43:53 -07:00
simd.zig std.simd: Increase branch quota in suggestVectorLengthForCpu() 2025-06-30 08:01:27 +02:00
SinglyLinkedList.zig de-genericify SinglyLinkedList 2025-04-03 14:55:04 -07:00
sort.zig
start.zig std: Add serenity to more OS checks 2025-07-30 23:28:58 +01:00
static_string_map.zig
std.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
tar.zig std.tar: update to new I/O API 2025-07-22 09:41:44 -07:00
Target.zig std.Target: bump default android API level from 24 to 29 2025-08-13 08:59:13 +02:00
testing.zig aarch64: add new from scratch self-hosted backend 2025-07-22 19:43:47 -07:00
Thread.zig std.Thread: don't spin 2025-07-21 05:37:51 +02:00
time.zig std.os.uefi.tables: ziggify boot and runtime services (#23441) 2025-07-12 17:18:53 +00:00
treap.zig std.ArrayList: make unmanaged the default 2025-08-11 15:52:49 -07:00
tz.zig
unicode.zig std.compress.zstd.Decompress fixes 2025-08-15 10:44:35 -07:00
Uri.zig std.http: address review comments 2025-08-07 10:04:52 -07:00
valgrind.zig remove condition codes 2025-07-16 10:27:39 -07:00
wasm.zig wasm linker: implement @tagName for sparse enums 2025-01-15 15:11:36 -08:00
zig.zig std.compress.zstd.Decompress fixes 2025-08-15 10:44:35 -07:00
zip.zig std.fs.File.Reader.getSize: check file kind on stat 2025-08-10 17:51:22 -07:00
zon.zig zon: Add anonymous struct literal in the example 2025-08-15 23:35:16 +02:00