Merge pull request #4359 from ctiller/make_a_slightly_unusual_request

Make a slightly unusual request
pull/4365/head
Yang Gao 9 years ago
commit ab4f2b1a53
  1. 1
      src/core/channel/http_server_filter.c
  2. 20
      test/core/bad_client/tests/simple_request.c
  3. 13
      test/core/bad_client/tests/simple_request_unusual.headers

@ -124,7 +124,6 @@ static grpc_mdelem *server_filter(void *user_data, grpc_mdelem *md) {
omitted */
grpc_mdelem *authority = grpc_mdelem_from_metadata_strings(
GRPC_MDSTR_AUTHORITY, GRPC_MDSTR_REF(md->value));
GRPC_MDELEM_UNREF(md);
calld->seen_authority = 1;
return authority;
} else {

@ -51,10 +51,27 @@
"\x10\x0c" \
"content-type\x10" \
"application/grpc" \
"\x10\x14grpc-accept-encoding\x15identity,deflate,gzip" \
"\x10\x14grpc-accept-encoding\x15""deflate,identity,gzip" \
"\x10\x02te\x08trailers" \
"\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)"
#define PFX_STR_UNUSUAL \
"PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" \
"\x00\x00\x00\x04\x00\x00\x00\x00\x00" /* settings frame */ \
"\x00\x00\xf4\x01\x04\x00\x00\x00\x01" /* headers: generated from \
simple_request_unusual.headers \
in this directory */ \
"\x10\x05:path\x08/foo/bar" \
"\x10\x07:scheme\x04http" \
"\x10\x07:method\x04POST" \
"\x10\x04host\x09localhost" \
"\x10\x0c""content-type\x1e""application/grpc+this-is-valid" \
"\x10\x14grpc-accept-encoding\x15identity,deflate,gzip" \
"\x10\x02te\x08trailers" \
"\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)" \
"\x10\x0cgrpc-timeout\x03""10S" \
"\x10\x0cgrpc-timeout\x02""5S"
static void *tag(gpr_intptr t) { return (void *)t; }
static void verifier(grpc_server *server, grpc_completion_queue *cq) {
@ -87,6 +104,7 @@ int main(int argc, char **argv) {
/* basic request: check that things are working */
GRPC_RUN_BAD_CLIENT_TEST(verifier, PFX_STR, 0);
GRPC_RUN_BAD_CLIENT_TEST(verifier, PFX_STR_UNUSUAL, 0);
/* push an illegal data frame */
GRPC_RUN_BAD_CLIENT_TEST(verifier, PFX_STR

@ -0,0 +1,13 @@
# headers used in simple_request.c
# use tools/codegen/core/gen_header_frame.py to generate the binary strings
# contained in the source code
:path: /foo/bar
:scheme: http
:method: POST
host: localhost
content-type: application/grpc+this-is-valid
grpc-accept-encoding: deflate,identity,gzip
te: trailers
user-agent: bad-client grpc-c/0.12.0.0 (linux)
grpc-timeout: 10S
grpc-timeout: 5S
Loading…
Cancel
Save