Go to the documentation of this file.
21 #include "absl/strings/str_format.h"
22 #include "absl/strings/str_join.h"
38 #define PFX_TOO_MUCH_METADATA_FROM_CLIENT_REQUEST \
39 "\x00\x00\x00\x04\x01\x00\x00\x00\x00" \
41 "5{\x01\x05\x00\x00\x00\x01" \
42 "\x10\x05:path\x08/foo/bar" \
43 "\x10\x07:scheme\x04http" \
44 "\x10\x07:method\x04POST" \
45 "\x10\x0a:authority\x09localhost" \
49 "\x10\x14grpc-accept-encoding\x15identity,deflate,gzip" \
50 "\x10\x02te\x08trailers" \
51 "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)"
55 #define PFX_TOO_MUCH_METADATA_FROM_CLIENT_HEADER_START_STR "\x10\x0duser-header"
56 #define PFX_TOO_MUCH_METADATA_FROM_CLIENT_HEADER_END_STR \
57 "~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" \
58 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
61 #define PFX_TOO_MUCH_METADATA_FROM_CLIENT_HEADER_SIZE \
62 ((sizeof(PFX_TOO_MUCH_METADATA_FROM_CLIENT_HEADER_START_STR) - 1) + 2 + \
63 (sizeof(PFX_TOO_MUCH_METADATA_FROM_CLIENT_HEADER_END_STR) - 1))
67 #define NUM_HEADERS 46
68 #define TOO_MUCH_METADATA_FROM_CLIENT_REQUEST_SIZE \
69 ((sizeof(PFX_TOO_MUCH_METADATA_FROM_CLIENT_REQUEST) - 1) + \
70 (NUM_HEADERS * PFX_TOO_MUCH_METADATA_FROM_CLIENT_HEADER_SIZE) + 1)
81 int main(
int argc,
char** argv) {
87 std::vector<std::string> headers;
97 client_headers.data(), client_headers.size());
101 args[1].client_payload = client_payload;
102 args[1].client_payload_length =
sizeof(client_payload) - 1;
ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec< Args... > &format, const Args &... args)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
std::string StrJoin(Iterator start, Iterator end, absl::string_view sep, Formatter &&fmt)
gpr_timespec grpc_timeout_milliseconds_to_deadline(int64_t time_ms)
struct grpc_server grpc_server
void grpc_run_bad_client_test(grpc_bad_client_server_side_validator server_validator, grpc_bad_client_arg args[], int num_args, uint32_t flags)
GRPCAPI grpc_event grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline, void *reserved)
bool rst_stream_client_validator(grpc_slice_buffer *incoming, void *)
grpc_bad_client_arg connection_preface_arg
GRPCAPI void grpc_init(void)
static Server * FromC(grpc_server *c_type)
GRPCAPI void grpc_shutdown(void)
static grpc_completion_queue * cq
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:14