├── tests ├── .gitignore ├── gold_tests │ ├── tls_hooks │ │ └── gold │ │ │ ├── cert-1.gold │ │ │ ├── sni-1.gold │ │ │ ├── preaccept-1.gold │ │ │ ├── client-hello-1.gold │ │ │ ├── ts-sni-1.gold │ │ │ ├── ts-cert-im-1.gold │ │ │ ├── ts-client-hello-1.gold │ │ │ ├── ts-out-start-close-2.gold │ │ │ ├── ts-preaccept-1.gold │ │ │ ├── ts-preaccept-delayed-1.gold │ │ │ ├── ts-close-out-close.gold │ │ │ ├── ts-sni-2.gold │ │ │ ├── ts-cert-1.gold │ │ │ ├── ts-client-hello-delayed-1.gold │ │ │ └── ts-preaccept-2.gold │ ├── h2 │ │ └── gold │ │ │ ├── http2_9_stdout.gold │ │ │ ├── httpbin_1_stdout.gold │ │ │ ├── post_chunked.gold │ │ │ ├── active_timeout.gold │ │ │ ├── httpbin_2_stdout.gold │ │ │ ├── priority_0_stdout.gold │ │ │ ├── replay.gold │ │ │ ├── log.gold │ │ │ ├── httpbin_0_stdout.gold │ │ │ ├── nghttp_ts_stderr.gold │ │ │ ├── h2spec_stdout.gold │ │ │ ├── httpbin_3_stdout.gold │ │ │ ├── http-request-method-metrics.gold │ │ │ ├── chunked.gold │ │ │ ├── httpbin_3_stderr.gold │ │ │ ├── remap-200.gold │ │ │ ├── http2_9_stderr.gold │ │ │ ├── server_after_headers.gold │ │ │ ├── priority_0_stderr.gold │ │ │ ├── bigfile.gold │ │ │ ├── httpbin_access.gold │ │ │ ├── httpbin_1_stderr.gold │ │ │ ├── httpbin_0_stderr.gold │ │ │ └── httpbin_2_stderr.gold │ ├── pluginTest │ │ ├── slice │ │ │ ├── gold │ │ │ │ ├── aa.gold │ │ │ │ ├── bb.gold │ │ │ │ ├── aaa.gold │ │ │ │ ├── bbb.gold │ │ │ │ ├── slice_last.stderr.gold │ │ │ │ ├── slice_first.stderr.gold │ │ │ │ ├── slice_mid.stderr.gold │ │ │ │ ├── slice_200.stderr.gold │ │ │ │ └── slice_206.stderr.gold │ │ │ └── gold_error │ │ │ │ └── contents.stderr.gold │ │ ├── statichit │ │ │ ├── empty.txt │ │ │ └── small_body.txt │ │ ├── sslheaders │ │ │ └── sslheaders.gold │ │ ├── certifier │ │ │ └── certs │ │ │ │ └── ca-serial.txt │ │ ├── lua │ │ │ └── gold │ │ │ │ ├── lua_proxy_protocol.gold │ │ │ │ ├── lifecycle.gold │ │ │ │ └── metrics.gold │ │ ├── tsapi │ │ │ ├── test_TSHttpSsnInfo_curl0.gold │ │ │ ├── test_TSVConnPPInfo_curl0.gold │ │ │ ├── test_TSVConnPPInfo_curl1.gold │ │ │ ├── test_TSHttpSsnInfo_plugin_log.gold │ │ │ ├── test_TSVConnPPInfo_plugin_log.gold │ │ │ └── test_TSHttpSsnInfo_nghttp0.gold │ │ ├── cache_range_requests │ │ │ └── gold │ │ │ │ ├── last.stderr.gold │ │ │ │ ├── inner.stderr.gold │ │ │ │ └── full.stderr.gold │ │ ├── cert_update │ │ │ └── gold │ │ │ │ ├── client-cert-after.gold │ │ │ │ ├── client-cert-pre.gold │ │ │ │ ├── server-cert-after.gold │ │ │ │ ├── server-cert-pre.gold │ │ │ │ └── update.gold │ │ ├── txn_box │ │ │ ├── static_file │ │ │ │ └── static_file.txt │ │ │ ├── basic │ │ │ │ ├── multi-cfg.1.yaml │ │ │ │ └── multi-cfg.2.yaml │ │ │ └── ramp │ │ │ │ └── ramp.logging.yaml │ │ ├── uri_signing │ │ │ ├── gold │ │ │ │ ├── 200.gold │ │ │ │ └── 403.gold │ │ │ └── signer.json │ │ ├── header_rewrite │ │ │ └── gold │ │ │ │ ├── header_rewrite-tag.gold │ │ │ │ ├── header_rewrite-set_body_from_200.gold │ │ │ │ ├── header_rewrite-set_body_from_success.gold │ │ │ │ ├── plugin-status-test.gold │ │ │ │ └── set-redirect-glob.gold │ │ ├── cookie_remap │ │ │ ├── gold │ │ │ │ ├── matchstatus.gold │ │ │ │ ├── matchelsestatus.gold │ │ │ │ ├── existscookie.gold │ │ │ │ ├── matchcookie.gold │ │ │ │ ├── regexdoesntmatch.gold │ │ │ │ ├── wontmatchcookie.gold │ │ │ │ ├── doesntexistcookie.gold │ │ │ │ ├── matchcookie2.gold │ │ │ │ ├── wontmatchcookie2.gold │ │ │ │ ├── regexmatches.gold │ │ │ │ ├── collapseslashes.gold │ │ │ │ └── substitute.gold │ │ │ └── configs │ │ │ │ ├── collapseconfig.txt │ │ │ │ ├── pcollapseconfig.txt │ │ │ │ ├── matchconfig.txt │ │ │ │ ├── existsconfig.txt │ │ │ │ ├── notexistsconfig.txt │ │ │ │ └── bucketconfig.txt │ │ ├── xdebug │ │ │ ├── x_probe_full_json │ │ │ │ └── gold │ │ │ │ │ ├── jq_nobody.gold │ │ │ │ │ └── jq_hex.gold │ │ │ ├── x_cache_info │ │ │ │ ├── one.in │ │ │ │ ├── two.in │ │ │ │ ├── none.in │ │ │ │ └── three.in │ │ │ ├── x_remap │ │ │ │ ├── none.in │ │ │ │ ├── one.in │ │ │ │ ├── two.in │ │ │ │ ├── four.in │ │ │ │ ├── fwd1.in │ │ │ │ ├── three.in │ │ │ │ ├── fwd2.in │ │ │ │ ├── fwd3.in │ │ │ │ ├── fwd4.in │ │ │ │ ├── fwd5.in │ │ │ │ └── x_remap.gold │ │ │ └── x_effective_url │ │ │ │ ├── none.in │ │ │ │ ├── one.in │ │ │ │ ├── two.in │ │ │ │ ├── four.in │ │ │ │ └── three.in │ │ ├── polite_hook_wait │ │ │ └── curl.gold │ │ ├── regex_remap │ │ │ └── gold │ │ │ │ ├── regex_remap_simple.gold │ │ │ │ ├── regex_remap_crash.gold │ │ │ │ ├── regex_remap_smoke.gold │ │ │ │ └── regex_remap_redirect.gold │ │ ├── regex_revalidate │ │ │ └── gold │ │ │ │ ├── metrics.gold │ │ │ │ └── metrics_miss.gold │ │ ├── remap_stats │ │ │ └── gold │ │ │ │ ├── metrics.gold │ │ │ │ └── metrics_post.gold │ │ ├── combo_handler │ │ │ ├── ctwl.txt │ │ │ └── combo_handler_files │ │ │ │ └── tr1.gold │ │ ├── esi │ │ │ └── gold │ │ │ │ ├── esi_headers.gold │ │ │ │ ├── esi_private_headers.gold │ │ │ │ ├── esi_gzipped.gold │ │ │ │ ├── nested_include_body.gold │ │ │ │ └── esi_body.gold │ │ ├── conf_remap │ │ │ └── etc │ │ │ │ └── negative_caching_list.yaml │ │ ├── traffic_dump │ │ │ └── gold │ │ │ │ ├── 200_bob_no_sni.gold │ │ │ │ ├── 4_byte_response_body.gold │ │ │ │ ├── explicit_target.gold │ │ │ │ ├── post_with_body.gold │ │ │ │ ├── 200_sni_bob.gold │ │ │ │ ├── 200_sni_dave.gold │ │ │ │ ├── two_transactions.gold │ │ │ │ ├── 200_get.gold │ │ │ │ ├── 200_post.gold │ │ │ │ ├── 200_http10.gold │ │ │ │ └── 200_get_sensitive_field.gold │ │ ├── access_control │ │ │ └── etc │ │ │ │ └── hmac_keys.txt │ │ ├── ja3_fingerprint │ │ │ ├── modify-incoming-proxy.gold │ │ │ ├── modify-sent-proxy.gold │ │ │ ├── modify-sent-client.gold │ │ │ └── modify-incoming-client.gold │ │ ├── compress │ │ │ ├── etc │ │ │ │ ├── cache-true-remove-range.config │ │ │ │ ├── cache-true-no-compression.config │ │ │ │ ├── cache-true-remove-accept-encoding.config │ │ │ │ ├── ignore-params-false.config │ │ │ │ └── ignore-params-true.config │ │ │ └── compress.config │ │ ├── prefetch │ │ │ ├── prefetch_simple.gold │ │ │ └── prefetch_overflow.gold │ │ └── stats_over_http │ │ │ └── gold │ │ │ ├── stats_over_http_csv_stderr.gold │ │ │ ├── stats_over_http_json_stderr.gold │ │ │ └── stats_over_http_prometheus_stderr.gold │ ├── slow_post │ │ └── gold │ │ │ └── 200.gold │ ├── basic │ │ └── .gitignore │ ├── timeout │ │ ├── .gitignore │ │ └── gold │ │ │ ├── quic_no_activity_timeout.gold │ │ │ └── client_default_inactivity_timeout.gold │ ├── logging │ │ └── gold │ │ │ ├── pqsi-pqsp.gold │ │ │ ├── custom_uds.gold │ │ │ ├── field-json-test.gold │ │ │ ├── custom.gold │ │ │ └── field-test.gold │ ├── redirect │ │ ├── .gitignore │ │ ├── gold │ │ │ ├── redirect.gold │ │ │ ├── redirect_post.gold │ │ │ ├── number_of_redirections_1.gold │ │ │ ├── redirect_stale.gold │ │ │ └── number_of_redirections_2.gold │ │ └── zone.json │ ├── next_hop │ │ ├── strategies_ch │ │ │ └── body.gold │ │ ├── strategies_ch2 │ │ │ └── body.gold │ │ ├── strategies_stale │ │ │ └── body.gold │ │ ├── zzz_strategies_peer │ │ │ └── body.gold │ │ └── zzz_strategies_peer2 │ │ │ └── body.gold │ ├── body_factory │ │ ├── gold │ │ │ ├── http-head-200.gold │ │ │ ├── http-304.gold │ │ │ ├── http-get-200.gold │ │ │ ├── http-204.gold │ │ │ ├── http-get-304.gold │ │ │ └── http-head-no-origin.gold │ │ ├── config │ │ │ └── remap.config │ │ └── data │ │ │ ├── www.default204.test_get.txt │ │ │ ├── www.default304.test_get.txt │ │ │ ├── www.customplugin204.test_get.txt │ │ │ ├── www.example.test_get_200.txt │ │ │ ├── www.example.test_head_200.txt │ │ │ ├── www.customtemplate204.test_get.txt │ │ │ ├── www.example.test_head.txt │ │ │ └── www.example.test_get_304.txt │ ├── tls │ │ ├── gold │ │ │ ├── ssl-post.gold │ │ │ ├── accesslog.gold │ │ │ └── proxycert2-accesslog.gold │ │ ├── early_h1_get.txt │ │ ├── early_h2_get.txt │ │ ├── early_h2_post.txt │ │ ├── early_h1_post.txt │ │ ├── early_h2_multi1.txt │ │ ├── early_h2_multi2.txt │ │ └── ssl │ │ │ ├── ocsp_response.der │ │ │ ├── signed-foo-ec.key │ │ │ └── signed-san-ec.key │ ├── traffic_ctl │ │ └── gold │ │ │ ├── test_2.gold │ │ │ ├── test_3.gold │ │ │ ├── t1_yaml.gold │ │ │ ├── t2_yaml.gold │ │ │ ├── t3_yaml.gold │ │ │ ├── match.gold │ │ │ └── t4_yaml.gold │ ├── null_transform │ │ └── gold │ │ │ ├── null_transform-tag.gold │ │ │ └── null_transform-200.gold │ ├── post │ │ └── gold │ │ │ ├── post-h2.gold │ │ │ └── post-h1.gold │ ├── connect │ │ └── gold │ │ │ ├── connect_access.gold │ │ │ └── connect_0_stderr.gold │ ├── headers │ │ ├── data │ │ │ ├── www.redirect0.test_get.txt │ │ │ ├── www.passthrough.test_get.txt │ │ │ ├── www.redirect301.test_get.txt │ │ │ ├── www.redirect302.test_get.txt │ │ │ ├── www.redirect307.test_get.txt │ │ │ ├── www.redirect308.test_get.txt │ │ │ └── www.http408.test.txt │ │ ├── syntax.400.gold │ │ ├── via_uds.gold │ │ ├── syntax.200.gold │ │ ├── gold │ │ │ ├── bad_good_request_header.gold │ │ │ ├── range-416.gold │ │ │ ├── http1_304.gold │ │ │ ├── http2_304.gold │ │ │ ├── bad_good_request_http1.gold │ │ │ ├── range-200.gold │ │ │ ├── bad_good_request.gold │ │ │ ├── field_name_space.gold │ │ │ ├── range-206.gold │ │ │ └── range-206-revalidated.gold │ │ ├── hsts.200.gold │ │ ├── cache_and_req_body-hit.gold │ │ ├── cache_and_req_body-hit_close.gold │ │ ├── cache_and_error_nobody.gold │ │ ├── cache_and_req_nobody-hit-stale.gold │ │ ├── via.gold │ │ ├── cache_and_req_body-miss.gold │ │ ├── cache_and_req_body-hit-stale-INM.gold │ │ ├── cache_and_req_body-hit-stale.gold │ │ ├── cache_and_req_body-hit-stale-206-etag.gold │ │ ├── cache_and_req_body-hit-stale-206.gold │ │ └── via_h3.gold │ ├── ip_allow │ │ └── gold │ │ │ ├── 200.gold │ │ │ ├── 403_h2.gold │ │ │ └── 403.gold │ ├── bad_http_fmt │ │ └── server.gold │ ├── chunked_encoding │ │ └── gold │ │ │ ├── h2_chunked_POST_200.gold │ │ │ ├── chunked_POST_200.gold │ │ │ ├── chunked_GET_200.gold │ │ │ ├── chunked_GET_200_uds.gold │ │ │ └── verifier_client_chunked.gold │ ├── post_slow_server │ │ └── gold │ │ │ └── post_slow_server_max_requests_in_0_stderr.gold │ ├── remap │ │ └── gold │ │ │ ├── remap-zero-200.gold │ │ │ ├── remap-ws-upgrade-400.gold │ │ │ ├── remap-404.gold │ │ │ ├── remap-hitATS-404.gold │ │ │ ├── map-with-recv-port-ip.gold │ │ │ ├── map-with-recv-port-unix.gold │ │ │ ├── remap-https-200.gold │ │ │ ├── remap-https-200_3.gold │ │ │ ├── 200OK_test_uds.gold │ │ │ ├── remap-200.gold │ │ │ ├── remap-DNS-200.gold │ │ │ ├── remap-https-200_2.gold │ │ │ ├── remap-ws-upgrade.gold │ │ │ ├── remap-DNS-ipv6-200.gold │ │ │ ├── remap-referer-hit.gold │ │ │ ├── remap2-200.gold │ │ │ ├── lookupTest.gold │ │ │ ├── remap-ip-resolve.gold │ │ │ ├── 200OK_test.gold │ │ │ ├── remap-redirect.gold │ │ │ └── remap-referer-miss.gold │ ├── jsonrpc │ │ └── json │ │ │ ├── method_call_no_params.json │ │ │ ├── admin_config_reload_req.json │ │ │ ├── admin_storage_x_device_status_req.json │ │ │ ├── admin_plugin_send_basic_msg_req.json │ │ │ ├── admin_host_set_status_req.json │ │ │ ├── admin_lookup_records_req_metric.json │ │ │ └── admin_config_set_records_req.json │ ├── origin_connection │ │ └── gold │ │ │ ├── two_200_ok.gold │ │ │ └── two_503_congested.gold │ ├── cont_schedule │ │ └── gold │ │ │ ├── thread_affinity.gold │ │ │ └── schedule_on_thread.gold │ ├── records │ │ ├── gold │ │ │ ├── records.yaml.cold_test5.gold │ │ │ ├── records.yaml.cold_test0.gold │ │ │ ├── records.yaml.cold_test2.gold │ │ │ └── records.yaml.cold_test4.gold │ │ └── legacy_config │ │ │ ├── override_map.config │ │ │ └── override_value.config │ ├── cache │ │ └── gold │ │ │ ├── storage_metrics_0_stdout.gold │ │ │ ├── storage_metrics_2_stdout.gold │ │ │ ├── hit_gen1.gold │ │ │ ├── hit_gen2.gold │ │ │ ├── miss_default-1.gold │ │ │ ├── miss_default77.gold │ │ │ ├── miss_gen1.gold │ │ │ ├── miss_gen2.gold │ │ │ ├── hit_default-1.gold │ │ │ ├── hit_default77.gold │ │ │ └── background_fill_2_stderr_H.gold │ ├── proxy_protocol │ │ └── gold │ │ │ └── access.gold │ ├── autest-site │ │ └── min_cfg │ │ │ ├── storage.config │ │ │ └── readme.txt │ ├── dns │ │ └── gold │ │ │ ├── test_case_0_stderr.gold │ │ │ └── test_case_1_stderr.gold │ ├── session_sharing │ │ └── gold │ │ │ └── 200.gold │ └── cripts │ │ └── gold │ │ └── basic_cript.gold ├── proxy-verifier-version.txt ├── fuzzing │ ├── fuzz_esi_seed_corpus.zip │ ├── fuzz_hpack_seed_corpus.zip │ ├── fuzz_http_seed_corpus.zip │ ├── fuzz_json_seed_corpus.zip │ ├── fuzz_rec_http_seed_corpus.zip │ ├── fuzz_yamlcpp_seed_corpus.zip │ └── fuzz_proxy_protocol_seed_corpus.zip └── tools │ └── microDNS │ └── sample_zonefile.json ├── tools ├── hrw4u │ ├── .gitignore │ └── tests │ │ └── data │ │ ├── ops │ │ ├── no-op.input.txt │ │ ├── no-op.output.txt │ │ ├── bad_path.fail.input.txt │ │ ├── skip_remap_quoted_bool.fail.input.txt │ │ ├── http_cntl_quoted_bool.fail.input.txt │ │ ├── http_cntl_invalid_bool.fail.input.txt │ │ ├── dscp.output.txt │ │ ├── no-op.ast.txt │ │ ├── set-conf.input.txt │ │ ├── set-conf.output.txt │ │ ├── skip-remap.input.txt │ │ ├── skip-remap.output.txt │ │ ├── dscp.input.txt │ │ ├── redirect.input.txt │ │ ├── set-destination.input.txt │ │ ├── redirect.output.txt │ │ ├── set-destination.output.txt │ │ ├── bad_path.fail.error.txt │ │ ├── set-destination.ast.txt │ │ ├── status.output.txt │ │ ├── set-plugin-cntl.output.txt │ │ ├── http_cntl_invalid_bool.fail.error.txt │ │ ├── skip_remap_quoted_bool.fail.error.txt │ │ ├── http_cntl_quoted_bool.fail.error.txt │ │ ├── dscp.ast.txt │ │ ├── exceptions.txt │ │ ├── expansion.output.txt │ │ ├── set-conf.ast.txt │ │ ├── qsa.input.txt │ │ ├── qsa.output.txt │ │ ├── set-plugin-cntl.input.txt │ │ ├── set-body.output.txt │ │ ├── expansion.input.txt │ │ ├── status.input.txt │ │ └── skip-remap.ast.txt │ │ ├── parser │ │ ├── top-block.parser.txt │ │ └── no-vars.parser.txt │ │ ├── vars │ │ ├── assign.output.txt │ │ ├── bool.output.txt │ │ ├── vars_size.fail.input.txt │ │ ├── int8.output.txt │ │ ├── int16.output.txt │ │ ├── assign.input.txt │ │ ├── explicit_slots.output.txt │ │ ├── bad_var.fail.input.txt │ │ ├── bad_var.fail.error.txt │ │ ├── bool.input.txt │ │ ├── int8.input.txt │ │ ├── typos.fail.error.txt │ │ ├── vars_type.fail.input.txt │ │ ├── int16.input.txt │ │ ├── vars_count.fail.error.txt │ │ ├── vars_size.fail.error.txt │ │ ├── vars_type.fail.error.txt │ │ ├── exceptions.txt │ │ ├── slot_conflict.fail.input.txt │ │ ├── slot_conflict.fail.error.txt │ │ ├── typos.fail.input.txt │ │ ├── vars_count.fail.input.txt │ │ └── assign.ast.txt │ │ ├── examples │ │ ├── meth-resp-hdr.input.txt │ │ ├── meth-resp-hdr.output.txt │ │ ├── dbg-req.input.txt │ │ ├── dbg-req.output.txt │ │ ├── path-ext.output.txt │ │ ├── rem_org_auth.output.txt │ │ ├── teapots.output.txt │ │ ├── path-ext.input.txt │ │ ├── rem_org_auth.input.txt │ │ ├── rm-query.input.txt │ │ ├── norm_status.output.txt │ │ ├── int-header.input.txt │ │ ├── teapots.input.txt │ │ ├── norm_status.input.txt │ │ ├── conn-drain.input.txt │ │ ├── conn-drain.output.txt │ │ ├── int-header.output.txt │ │ ├── rm-int-hdr.output.txt │ │ ├── rm-query.output.txt │ │ ├── meth-resp-hdr.ast.txt │ │ ├── rm-int-hdr.input.txt │ │ ├── uuid.input.txt │ │ ├── uuid.output.txt │ │ ├── exceptions.txt │ │ ├── rm-cc-out.output.txt │ │ ├── rm-cc-out.input.txt │ │ ├── run-plugin.input.txt │ │ ├── run-plugin.output.txt │ │ ├── hdr-exists.input.txt │ │ ├── hdr-exists.output.txt │ │ ├── rem_org_auth.ast.txt │ │ ├── hsts.input.txt │ │ ├── int-header.ast.txt │ │ ├── hsts.output.txt │ │ ├── useless.input.txt │ │ ├── useless.output.txt │ │ ├── dbg-req.ast.txt │ │ ├── rm-cc-out.ast.txt │ │ └── rm-query.ast.txt │ │ ├── conds │ │ ├── access.output.txt │ │ ├── internal.input.txt │ │ ├── to-url.output.txt │ │ ├── access.input.txt │ │ ├── to-url.input.txt │ │ ├── true_false.input.txt │ │ ├── bad_regex.fail.input.txt │ │ ├── from-url.input.txt │ │ ├── from-url.output.txt │ │ ├── internal.output.txt │ │ ├── method.output.txt │ │ ├── true_false.output.txt │ │ ├── impl-expr.input.txt │ │ ├── cidr.output.txt │ │ ├── outbound.output.txt │ │ ├── method.input.txt │ │ ├── cidr.input.txt │ │ ├── outbound.input.txt │ │ ├── exceptions.txt │ │ ├── in-sets.output.txt │ │ ├── http-cntl.output.txt │ │ ├── http-cntl.input.txt │ │ ├── impl-expr.output.txt │ │ ├── in-sets.input.txt │ │ ├── capture.input.txt │ │ ├── capture.output.txt │ │ ├── cookie.output.txt │ │ ├── bad_regex.fail.error.txt │ │ ├── cache.output.txt │ │ ├── cache.input.txt │ │ ├── cookie.input.txt │ │ ├── internal.ast.txt │ │ ├── split-if.input.txt │ │ ├── true_false.ast.txt │ │ ├── to-url.ast.txt │ │ ├── access.ast.txt │ │ ├── from-url.ast.txt │ │ ├── ip.output.txt │ │ ├── geo.output.txt │ │ ├── impl-expr.ast.txt │ │ ├── outbound.ast.txt │ │ ├── geo.input.txt │ │ └── http-cntl.ast.txt │ │ └── hooks │ │ ├── invalid_section.fail.input.txt │ │ ├── send_request.output.txt │ │ ├── read_response.output.txt │ │ ├── send_response.output.txt │ │ ├── order.fail.error.txt │ │ ├── send_request.input.txt │ │ ├── read_response.input.txt │ │ ├── send_response.input.txt │ │ ├── order.fail.input.txt │ │ ├── remap.output.txt │ │ ├── invalid_section.fail.error.txt │ │ ├── remap.input.txt │ │ ├── send_request.ast.txt │ │ ├── read_response.ast.txt │ │ └── send_response.ast.txt ├── http_load │ ├── timers.c │ ├── timers.h │ └── README └── traffic_via │ └── tests │ ├── short │ └── rubbish ├── lib ├── yamlcpp │ ├── .gitignore │ ├── test │ │ └── main.cpp │ └── src │ │ ├── null.cpp │ │ ├── depthguard.cpp │ │ └── node.cpp ├── Catch2 │ ├── meson_options.txt │ ├── mdsnippets.json │ ├── MODULE.bazel │ └── CMake │ │ └── Catch2Config.cmake.in ├── systemtap │ └── README.md └── fastlz │ └── ChangeLog ├── plugins ├── experimental │ ├── access_control │ │ ├── .gitignore │ │ └── README.md │ ├── wasm │ │ └── lib │ │ │ ├── .clang-format │ │ │ └── README.proxy-wasm-cpp-host.md │ ├── memcache │ │ └── README │ ├── magick │ │ ├── ts.png │ │ └── keys │ │ │ └── rsa256-public.key │ ├── txn_box │ │ └── test │ │ │ └── yts-2534-config.yaml │ └── cookie_remap │ │ └── README ├── lua │ └── README.md ├── esi │ └── README ├── webp_transform │ └── README ├── suppression.txt ├── cache_range_requests │ └── Changelog └── prefetch │ └── README.md ├── doc ├── .gitignore ├── static │ └── images │ │ ├── ts75.png │ │ ├── favicon.ico │ │ ├── sdk │ │ ├── Uses.jpg │ │ ├── txn_sm.jpg │ │ ├── SieveLRU.png │ │ ├── denylist.jpg │ │ ├── transact75.jpg │ │ ├── event_sys80.jpg │ │ ├── http_headers.jpg │ │ ├── http_state2.jpg │ │ ├── protocol_evt.jpg │ │ ├── vconn_buffer.jpg │ │ ├── vconnection.jpg │ │ ├── vconnection1.jpg │ │ ├── vconnection2.jpg │ │ ├── evt_plugin120.jpg │ │ ├── plugin_process.jpg │ │ ├── protocol_sm_big.jpg │ │ ├── transact_hook75.jpg │ │ ├── marshall_buffers.jpg │ │ ├── vconn_buf_output.jpg │ │ ├── http_header_struct.jpg │ │ └── Protocol_state_diagram.jpg │ │ ├── warning.png │ │ ├── admin │ │ ├── alarm.jpg │ │ ├── dash.jpg │ │ ├── dash3.jpg │ │ ├── ssl_c.jpg │ │ ├── stat.jpg │ │ ├── cachehrc.jpg │ │ ├── configur.jpg │ │ ├── firewall.jpg │ │ ├── httprvs.jpg │ │ ├── monitor.jpg │ │ ├── revproxy.jpg │ │ ├── ssl_os.jpg │ │ ├── cache_hit.jpg │ │ ├── cache_miss.jpg │ │ ├── squid_format.jpg │ │ ├── proxy-protocol.png │ │ ├── ats-basic-traffic.png │ │ ├── ats-traffic-bridge.png │ │ ├── netscape_common_format.jpg │ │ ├── summary-mixt.log_file.jpg │ │ ├── netscape_extended2_format.jpg │ │ ├── netscape_extended_format.jpg │ │ ├── transaction_states_timers.png │ │ ├── monitor │ │ │ └── circonus │ │ │ │ ├── metric-grid.png │ │ │ │ ├── check-config-1.png │ │ │ │ ├── check-config-2.png │ │ │ │ ├── check-config-3.png │ │ │ │ └── new-check-button.png │ │ └── prefetch_plugin_deployment.png │ │ ├── docbook │ │ ├── tip.png │ │ ├── note.png │ │ ├── ts75.png │ │ ├── caution.png │ │ └── important.png │ │ ├── download_ts.png │ │ ├── grey_paper.jpg │ │ ├── ATS_Leaf_Logo.png │ │ ├── companies │ │ ├── sic.png │ │ ├── vng.png │ │ ├── akamai.png │ │ ├── devaus.png │ │ ├── frisch.png │ │ ├── guruve.png │ │ ├── omniti.png │ │ ├── suomen.png │ │ ├── taobao.png │ │ ├── yahoo.png │ │ ├── betfair.png │ │ ├── comcast.png │ │ ├── godaddy.png │ │ ├── internode.png │ │ ├── linkedin.png │ │ ├── powerhttp.png │ │ └── brainswear.png │ │ ├── press │ │ ├── tsicon.png │ │ ├── tsicon_large.png │ │ ├── tsicon_small.png │ │ ├── ts_logo_tm_380x73.png │ │ ├── ts_logo_tm_1024x196.png │ │ └── ts_logo_tm_1960x375.png │ │ ├── download_background.png │ │ ├── trans_logo_148x132.png │ │ ├── trans_logo_150x30.gif │ │ ├── trans_logo_150x30.png │ │ ├── trans_logo_150x32.png │ │ ├── trans_logo_160x35.png │ │ ├── trans_logo_250x49.gif │ │ ├── trans_logo_250x49.png │ │ ├── trans_logo_350x69.gif │ │ ├── trans_logo_350x69.png │ │ ├── trans_logo_420x95.png │ │ ├── trans_logo_603x132.png │ │ ├── trans_logo_tm_380x69.png │ │ ├── appendix │ │ └── traffic_top_tiny.png │ │ └── sessions │ │ ├── session_hierarchy.png │ │ ├── http1_session_objects.png │ │ ├── http2_session_objects.png │ │ └── transaction_hierarchy.png ├── release-notes │ └── images │ │ ├── roadmap.png │ │ └── branch_mgmt.png ├── developer-guide │ ├── cache-architecture │ │ └── images │ │ │ ├── cache-spans.png │ │ │ ├── span-header.png │ │ │ ├── stripe-header.png │ │ │ ├── cache-span-layout.png │ │ │ ├── dir-bucket-assign.png │ │ │ ├── dir-segment-bucket.png │ │ │ ├── cache-init-sampling.png │ │ │ ├── cache-init-selection.png │ │ │ ├── cache-multi-fragment.png │ │ │ ├── cache-stripe-layout.png │ │ │ ├── ats-cache-volume-layout.png │ │ │ ├── ats-cache-write-cursor.png │ │ │ ├── cache-doc-layout-3-2-0.png │ │ │ ├── cache-doc-layout-4-0-1.png │ │ │ ├── cache-init-rtable-setup.png │ │ │ ├── cache-init-slots-single.png │ │ │ ├── ats-cache-volume-directory.png │ │ │ ├── cache-directory-structure.png │ │ │ ├── cache-init-cachehostrecord.png │ │ │ ├── cache-init-rtable-result.png │ │ │ ├── cache-init-slots-minus-1.png │ │ │ └── ats-cache-volume-definition.png │ └── core-architecture │ │ └── HostDB-Data-Layout.png └── robots.txt ├── .ripgreprc ├── example └── plugins │ └── c-api │ ├── denylist_1 │ └── denylist.txt │ ├── lifecycle_plugin │ └── readme.txt │ ├── thread_pool │ └── test │ │ └── SynTest │ │ └── Tests │ │ └── Psi │ │ └── psi_files │ │ ├── tc1_file.txt │ │ ├── tc6_file.txt │ │ ├── tc3_file.txt │ │ ├── tc2_file.txt │ │ ├── tc10_file.txt │ │ ├── tc9_file.txt │ │ ├── tc12_file.txt │ │ ├── tc13_file.txt │ │ ├── tc11_file.txt │ │ ├── tc5_file.txt │ │ ├── tc8_file.txt │ │ ├── tc4_file.txt │ │ └── tc7_file.txt │ ├── output_header │ └── readme │ └── disable_http2 │ └── readme.txt ├── src ├── iocore │ ├── aio │ │ └── test_AIO.sample │ └── cache │ │ └── unit_tests │ │ └── storage.config ├── traffic_logstats │ └── tests │ │ └── logstats.blog ├── mgmt │ └── rpc │ │ └── schema │ │ └── success_response_schema.json ├── traffic_top │ └── README ├── traffic_via │ └── tests │ │ └── short └── traffic_layout │ └── README ├── ci ├── apache-rat-0.13-SNAPSHOT.jar ├── asan_leak_suppression │ └── unit_tests.txt └── README ├── .vscode └── settings.json ├── .vimrc ├── configs └── body_factory │ └── default │ ├── default │ ├── request#syntax_error │ └── cache#read_error └── ts.pc.in /tests/.gitignore: -------------------------------------------------------------------------------- 1 | _sandbox/ 2 | -------------------------------------------------------------------------------- /tools/hrw4u/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | dist/ -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/cert-1.gold: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/sni-1.gold: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/http2_9_stdout.gold: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/aa.gold: -------------------------------------------------------------------------------- 1 | aa -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/bb.gold: -------------------------------------------------------------------------------- 1 | bb -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/statichit/empty.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/gold_tests/slow_post/gold/200.gold: -------------------------------------------------------------------------------- 1 | 200 2 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/preaccept-1.gold: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/proxy-verifier-version.txt: -------------------------------------------------------------------------------- 1 | v2.12.0 2 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_1_stdout.gold: -------------------------------------------------------------------------------- 1 | `` 2 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/post_chunked.gold: -------------------------------------------------------------------------------- 1 | 0123456789 -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/aaa.gold: -------------------------------------------------------------------------------- 1 | aaa -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/bbb.gold: -------------------------------------------------------------------------------- 1 | bbb -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/client-hello-1.gold: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/yamlcpp/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | /tags 3 | /bazel-* 4 | -------------------------------------------------------------------------------- /tests/gold_tests/basic/.gitignore: -------------------------------------------------------------------------------- 1 | generated_test_data 2 | -------------------------------------------------------------------------------- /tests/gold_tests/timeout/.gitignore: -------------------------------------------------------------------------------- 1 | /ssl-delay-server 2 | -------------------------------------------------------------------------------- /tests/gold_tests/logging/gold/pqsi-pqsp.gold: -------------------------------------------------------------------------------- 1 | abc 2 | 0 0 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/sslheaders/sslheaders.gold: -------------------------------------------------------------------------------- 1 | - 2 | -------------------------------------------------------------------------------- /tests/gold_tests/redirect/.gitignore: -------------------------------------------------------------------------------- 1 | generated_test_data/ 2 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/active_timeout.gold: -------------------------------------------------------------------------------- 1 | CONNECTION_TIMEOUT 2 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_2_stdout.gold: -------------------------------------------------------------------------------- 1 | 3197674613 102400 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/certifier/certs/ca-serial.txt: -------------------------------------------------------------------------------- 1 | 1001 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/lua/gold/lua_proxy_protocol.gold: -------------------------------------------------------------------------------- 1 | TEST -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/slice_last.stderr.gold: -------------------------------------------------------------------------------- 1 | now -------------------------------------------------------------------------------- /plugins/experimental/access_control/.gitignore: -------------------------------------------------------------------------------- 1 | test_access_control 2 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/priority_0_stdout.gold: -------------------------------------------------------------------------------- 1 | 3332548275 1048576 2 | -------------------------------------------------------------------------------- /tests/gold_tests/next_hop/strategies_ch/body.gold: -------------------------------------------------------------------------------- 1 | This is the body. 2 | -------------------------------------------------------------------------------- /tests/gold_tests/next_hop/strategies_ch2/body.gold: -------------------------------------------------------------------------------- 1 | This is the body. 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/slice_first.stderr.gold: -------------------------------------------------------------------------------- 1 | lets go -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/slice_mid.stderr.gold: -------------------------------------------------------------------------------- 1 | go surfin no -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo_curl0.gold: -------------------------------------------------------------------------------- 1 | `` 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo_curl0.gold: -------------------------------------------------------------------------------- 1 | `` 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo_curl1.gold: -------------------------------------------------------------------------------- 1 | `` 2 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/replay.gold: -------------------------------------------------------------------------------- 1 | `` 2 | PASS 3 | PASS 4 | PASS 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/next_hop/strategies_stale/body.gold: -------------------------------------------------------------------------------- 1 | This is the body. 2 | -------------------------------------------------------------------------------- /tests/gold_tests/next_hop/zzz_strategies_peer/body.gold: -------------------------------------------------------------------------------- 1 | This is the body. 2 | -------------------------------------------------------------------------------- /tests/gold_tests/next_hop/zzz_strategies_peer2/body.gold: -------------------------------------------------------------------------------- 1 | This is the body. 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cache_range_requests/gold/last.stderr.gold: -------------------------------------------------------------------------------- 1 | n now -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cert_update/gold/client-cert-after.gold: -------------------------------------------------------------------------------- 1 | ``bob.com`` -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cert_update/gold/client-cert-pre.gold: -------------------------------------------------------------------------------- 1 | ``alice.com`` -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/slice_200.stderr.gold: -------------------------------------------------------------------------------- 1 | lets go surfin now -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold/slice_206.stderr.gold: -------------------------------------------------------------------------------- 1 | lets go surfin now -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/slice/gold_error/contents.stderr.gold: -------------------------------------------------------------------------------- 1 | the quick -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/statichit/small_body.txt: -------------------------------------------------------------------------------- 1 | small body content 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/no-op.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | no-op(); 3 | } 4 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | uml/images 2 | ext/local-config.py 3 | Pipfile.lock 4 | conf.py 5 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/gold/http-head-200.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | `` 3 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/log.gold: -------------------------------------------------------------------------------- 1 | Global: event=TS_EVENT_HTTP_SSN_CLOSE 2 | `` 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cache_range_requests/gold/inner.stderr.gold: -------------------------------------------------------------------------------- 1 | surfin -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cert_update/gold/server-cert-after.gold: -------------------------------------------------------------------------------- 1 | ``bob@bar.com`` -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cert_update/gold/server-cert-pre.gold: -------------------------------------------------------------------------------- 1 | ``alice@bar.com`` -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/txn_box/static_file/static_file.txt: -------------------------------------------------------------------------------- 1 | Delain Concert. 2 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/gold/ssl-post.gold: -------------------------------------------------------------------------------- 1 | Sent request 2 | All threads finished 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cache_range_requests/gold/full.stderr.gold: -------------------------------------------------------------------------------- 1 | lets go surfin now -------------------------------------------------------------------------------- /tests/gold_tests/traffic_ctl/gold/test_2.gold: -------------------------------------------------------------------------------- 1 | proxy.config.diags.debug.enabled: 1 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/parser/top-block.parser.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /.ripgreprc: -------------------------------------------------------------------------------- 1 | --color=auto 2 | --no-heading 3 | --smart-case 4 | --line-number 5 | --column 6 | -------------------------------------------------------------------------------- /example/plugins/c-api/denylist_1/denylist.txt: -------------------------------------------------------------------------------- 1 | www.example.com 2 | 3 | -------------------------------------------------------------------------------- /plugins/experimental/wasm/lib/.clang-format: -------------------------------------------------------------------------------- 1 | DisableFormat: true 2 | SortIncludes: false 3 | -------------------------------------------------------------------------------- /src/iocore/aio/test_AIO.sample: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env sh 2 | exec ./test_AIO $srcdir/sample.cfg 3 | -------------------------------------------------------------------------------- /tests/gold_tests/null_transform/gold/null_transform-tag.gold: -------------------------------------------------------------------------------- 1 | ``DIAG: (null_transform)`` 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/uri_signing/gold/200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | < HTTP/1.1 200 OK 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/post/gold/post-h2.gold: -------------------------------------------------------------------------------- 1 | ``POST /post HTTP/2 2 | `` 3 | HTTP/2 200 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/early_h1_get.txt: -------------------------------------------------------------------------------- 1 | GET /early_get HTTP/1.1 2 | Host: 127.0.0.1 3 | 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/no-op.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | no-op 3 | -------------------------------------------------------------------------------- /src/iocore/cache/unit_tests/storage.config: -------------------------------------------------------------------------------- 1 | var/trafficserver 256M 2 | var/trafficserver2 32M 3 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/config/remap.config: -------------------------------------------------------------------------------- 1 | regex_map http://(.*)/ http://localhost:9999/ -------------------------------------------------------------------------------- /tests/gold_tests/connect/gold/connect_access.gold: -------------------------------------------------------------------------------- 1 | `` - - [``] "CONNECT ``/ http/1.1" 200 `` 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cert_update/gold/update.gold: -------------------------------------------------------------------------------- 1 | `` 2 | ``Successfully updated`` 3 | `` -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/uri_signing/gold/403.gold: -------------------------------------------------------------------------------- 1 | `` 2 | < HTTP/1.1 403 Forbidden 3 | `` 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/bad_path.fail.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | inbound.url.ath="foo"; 3 | } 4 | -------------------------------------------------------------------------------- /plugins/experimental/memcache/README: -------------------------------------------------------------------------------- 1 | A Memcache compatible plugin for the Apache Traffic Server 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/header_rewrite/gold/header_rewrite-tag.gold: -------------------------------------------------------------------------------- 1 | ``DIAG: (header_rewrite)`` 2 | -------------------------------------------------------------------------------- /tests/gold_tests/post/gold/post-h1.gold: -------------------------------------------------------------------------------- 1 | ``> POST /post HTTP/1.1 2 | `` 3 | < HTTP/1.1 200 OK 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/traffic_ctl/gold/test_3.gold: -------------------------------------------------------------------------------- 1 | proxy.config.diags.debug.tags: rpc # default http|dns 2 | -------------------------------------------------------------------------------- /doc/static/images/ts75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/ts75.png -------------------------------------------------------------------------------- /example/plugins/c-api/lifecycle_plugin/readme.txt: -------------------------------------------------------------------------------- 1 | This prints debug messages about the lifecycle hooks. 2 | -------------------------------------------------------------------------------- /plugins/lua/README.md: -------------------------------------------------------------------------------- 1 | Name 2 | ====== 3 | 4 | ts-lua - Embed the Power of Lua into TrafficServer. 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_0_stdout.gold: -------------------------------------------------------------------------------- 1 | { 2 | `` 3 | "url": "http://``/get" 4 | `` 5 | } 6 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/nghttp_ts_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | ``session free 3 | `` 4 | ``session free 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/data/www.redirect0.test_get.txt: -------------------------------------------------------------------------------- 1 | GET http://www.redirect0.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/ip_allow/gold/200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /get HTTP/1.1 3 | `` 4 | < HTTP/1.1 200 OK 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/matchstatus.gold: -------------------------------------------------------------------------------- 1 | `` 2 | HTTP/1.1 205 Reset Content 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/header_rewrite/gold/header_rewrite-set_body_from_200.gold: -------------------------------------------------------------------------------- 1 | Custom body found 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_probe_full_json/gold/jq_nobody.gold: -------------------------------------------------------------------------------- 1 | "1" 2 | "" 3 | "from-origin" 4 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/gold/accesslog.gold: -------------------------------------------------------------------------------- 1 | 1 0 2 | 1 1 3 | 1 0 4 | 1 0 5 | 1 0 6 | 1 1 7 | 1 0 8 | 1 0 9 | -------------------------------------------------------------------------------- /tests/gold_tests/traffic_ctl/gold/t1_yaml.gold: -------------------------------------------------------------------------------- 1 | records: 2 | diags: 3 | debug: 4 | tags: rpc 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/parser/no-vars.parser.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | } 3 | 4 | REMAP { 5 | no-op(); 6 | } 7 | -------------------------------------------------------------------------------- /tools/http_load/timers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tools/http_load/timers.c -------------------------------------------------------------------------------- /tools/http_load/timers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tools/http_load/timers.h -------------------------------------------------------------------------------- /tests/gold_tests/bad_http_fmt/server.gold: -------------------------------------------------------------------------------- 1 | xyzxyz / HTTP/1.1 2 | Host: 127.0.0.1:`` 3 | X-Req-Id: 6 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.default204.test_get.txt: -------------------------------------------------------------------------------- 1 | GET HTTP://www.default204.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.default304.test_get.txt: -------------------------------------------------------------------------------- 1 | GET HTTP://www.default304.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/data/www.passthrough.test_get.txt: -------------------------------------------------------------------------------- 1 | GET http://www.passthrough.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/data/www.redirect301.test_get.txt: -------------------------------------------------------------------------------- 1 | GET http://www.redirect301.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/data/www.redirect302.test_get.txt: -------------------------------------------------------------------------------- 1 | GET http://www.redirect302.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/data/www.redirect307.test_get.txt: -------------------------------------------------------------------------------- 1 | GET http://www.redirect307.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/data/www.redirect308.test_get.txt: -------------------------------------------------------------------------------- 1 | GET http://www.redirect308.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/ip_allow/gold/403_h2.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > PUSH /h2_push HTTP/2 3 | `` 4 | < HTTP/2 403`` 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/matchelsestatus.gold: -------------------------------------------------------------------------------- 1 | `` 2 | HTTP/1.1 400 Bad Request 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/header_rewrite/gold/header_rewrite-set_body_from_success.gold: -------------------------------------------------------------------------------- 1 | Custom body found 2 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/polite_hook_wait/curl.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/1.1 3 | `` HTTP/1.1 403 Forbidden 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/regex_remap/gold/regex_remap_simple.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Content-Length: 6128 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/txn_box/basic/multi-cfg.1.yaml: -------------------------------------------------------------------------------- 1 | ua-req-field: "Frank Exchange of Views" 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/skip_remap_quoted_bool.fail.input.txt: -------------------------------------------------------------------------------- 1 | SEND_REQUEST { 2 | skip-remap("true"); 3 | } -------------------------------------------------------------------------------- /ci/apache-rat-0.13-SNAPSHOT.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/ci/apache-rat-0.13-SNAPSHOT.jar -------------------------------------------------------------------------------- /doc/static/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/favicon.ico -------------------------------------------------------------------------------- /doc/static/images/sdk/Uses.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/Uses.jpg -------------------------------------------------------------------------------- /doc/static/images/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/warning.png -------------------------------------------------------------------------------- /plugins/esi/README: -------------------------------------------------------------------------------- 1 | ESI plugin 2 | -------------------- 3 | 4 | This plugin implements the ESI specification. 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/regex_remap/gold/regex_remap_crash.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | `` 3 | uuid: 180 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/regex_remap/gold/regex_remap_smoke.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | `` 3 | uuid: smoke 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo_plugin_log.gold: -------------------------------------------------------------------------------- 1 | Global: event=TS_EVENT_HTTP_SSN_CLOSE 2 | `` 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/tsapi/test_TSVConnPPInfo_plugin_log.gold: -------------------------------------------------------------------------------- 1 | Global: event=TS_EVENT_HTTP_SSN_START 2 | `` 3 | -------------------------------------------------------------------------------- /doc/static/images/admin/alarm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/alarm.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/dash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/dash.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/dash3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/dash3.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/ssl_c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/ssl_c.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/stat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/stat.jpg -------------------------------------------------------------------------------- /doc/static/images/docbook/tip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/docbook/tip.png -------------------------------------------------------------------------------- /doc/static/images/download_ts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/download_ts.png -------------------------------------------------------------------------------- /doc/static/images/grey_paper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/grey_paper.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/txn_sm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/txn_sm.jpg -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.customplugin204.test_get.txt: -------------------------------------------------------------------------------- 1 | GET HTTP://www.customplugin204.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.example.test_get_200.txt: -------------------------------------------------------------------------------- 1 | GET /get200 HTTP/1.1 2 | Host: www.example.test 3 | 4 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.example.test_head_200.txt: -------------------------------------------------------------------------------- 1 | HEAD /head200 HTTP/1.1 2 | Host: www.example.test 3 | 4 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/h2spec_stdout.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Finished in `` seconds 3 | `` tests, `` passed, 0 skipped, 0 failed 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/existscookie.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /cookieexists... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/matchcookie.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /cookiematches... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_cache_info/one.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: one 3 | X-Debug: X-Cache-Info 4 | 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_cache_info/two.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: two 3 | X-Debug: x-cache-info 4 | 5 | -------------------------------------------------------------------------------- /tests/gold_tests/redirect/gold/redirect.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 204 No Content 2 | `` 3 | Age: `` 4 | Connection: keep-alive 5 | 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/http_cntl_quoted_bool.fail.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | http.cntl.LOGGING = "true"; 3 | } -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/assign.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | set-state-flag 1 %{STATE-FLAG:0} 3 | -------------------------------------------------------------------------------- /doc/release-notes/images/roadmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/release-notes/images/roadmap.png -------------------------------------------------------------------------------- /doc/static/images/ATS_Leaf_Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/ATS_Leaf_Logo.png -------------------------------------------------------------------------------- /doc/static/images/admin/cachehrc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/cachehrc.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/configur.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/configur.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/firewall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/firewall.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/httprvs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/httprvs.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/monitor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/monitor.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/revproxy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/revproxy.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/ssl_os.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/ssl_os.jpg -------------------------------------------------------------------------------- /doc/static/images/companies/sic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/sic.png -------------------------------------------------------------------------------- /doc/static/images/companies/vng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/vng.png -------------------------------------------------------------------------------- /doc/static/images/docbook/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/docbook/note.png -------------------------------------------------------------------------------- /doc/static/images/docbook/ts75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/docbook/ts75.png -------------------------------------------------------------------------------- /doc/static/images/press/tsicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/press/tsicon.png -------------------------------------------------------------------------------- /doc/static/images/sdk/SieveLRU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/SieveLRU.png -------------------------------------------------------------------------------- /doc/static/images/sdk/denylist.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/denylist.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/transact75.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/transact75.jpg -------------------------------------------------------------------------------- /plugins/experimental/magick/ts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/plugins/experimental/magick/ts.png -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.customtemplate204.test_get.txt: -------------------------------------------------------------------------------- 1 | GET HTTP://www.customtemplate204.test/ HTTP/1.1 2 | 3 | -------------------------------------------------------------------------------- /tests/gold_tests/chunked_encoding/gold/h2_chunked_POST_200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > POST / HTTP/`` 3 | `` 4 | < HTTP/2``200`` 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/syntax.400.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 400 Invalid HTTP Request 2 | Date: `` 3 | Connection: close 4 | Server: `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/ip_allow/gold/403.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > CONNECT /connect HTTP/1.1 3 | `` 4 | < HTTP/1.1 403 Access Denied 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/regexdoesntmatch.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /regexdoesntmatch... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/wontmatchcookie.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /cookiedoesntmatch... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_cache_info/none.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: none 3 | X-Debug: X-Cache-Info 4 | 5 | -------------------------------------------------------------------------------- /tests/gold_tests/timeout/gold/quic_no_activity_timeout.gold: -------------------------------------------------------------------------------- 1 | `` 2 | ``Poll timed out waiting to read HTTP/3 content. 3 | `` 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/http_cntl_invalid_bool.fail.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | http.cntl.LOGGING = invalid_value; 3 | } -------------------------------------------------------------------------------- /doc/static/images/admin/cache_hit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/cache_hit.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/cache_miss.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/cache_miss.jpg -------------------------------------------------------------------------------- /doc/static/images/companies/akamai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/akamai.png -------------------------------------------------------------------------------- /doc/static/images/companies/devaus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/devaus.png -------------------------------------------------------------------------------- /doc/static/images/companies/frisch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/frisch.png -------------------------------------------------------------------------------- /doc/static/images/companies/guruve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/guruve.png -------------------------------------------------------------------------------- /doc/static/images/companies/omniti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/omniti.png -------------------------------------------------------------------------------- /doc/static/images/companies/suomen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/suomen.png -------------------------------------------------------------------------------- /doc/static/images/companies/taobao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/taobao.png -------------------------------------------------------------------------------- /doc/static/images/companies/yahoo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/yahoo.png -------------------------------------------------------------------------------- /doc/static/images/docbook/caution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/docbook/caution.png -------------------------------------------------------------------------------- /doc/static/images/sdk/event_sys80.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/event_sys80.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/http_headers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/http_headers.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/http_state2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/http_state2.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/protocol_evt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/protocol_evt.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/vconn_buffer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/vconn_buffer.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/vconnection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/vconnection.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/vconnection1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/vconnection1.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/vconnection2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/vconnection2.jpg -------------------------------------------------------------------------------- /tests/fuzzing/fuzz_esi_seed_corpus.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/fuzzing/fuzz_esi_seed_corpus.zip -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/doesntexistcookie.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /cookiedoesntexist... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/matchcookie2.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /cookiematches?a=1&b=2&c=3... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/header_rewrite/gold/plugin-status-test.gold: -------------------------------------------------------------------------------- 1 | GET - 303 header_rewrite 2 | GET 503 502 header_rewrite 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/regex_remap/gold/regex_remap_redirect.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 301 Redirect 2 | Location: https://redirect.com/ 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/regex_revalidate/gold/metrics.gold: -------------------------------------------------------------------------------- 1 | plugin.regex_revalidate.stale 3 2 | plugin.regex_revalidate.miss 0 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_cache_info/three.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: three123 3 | X-Debug: x-cACHE-iNFO 4 | 5 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/early_h2_get.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/gold_tests/tls/early_h2_get.txt -------------------------------------------------------------------------------- /tests/gold_tests/tls/early_h2_post.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/gold_tests/tls/early_h2_post.txt -------------------------------------------------------------------------------- /tests/gold_tests/traffic_ctl/gold/t2_yaml.gold: -------------------------------------------------------------------------------- 1 | records: 2 | diags: 3 | debug: 4 | tags: rpc # default: http|dns 5 | `` -------------------------------------------------------------------------------- /doc/release-notes/images/branch_mgmt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/release-notes/images/branch_mgmt.png -------------------------------------------------------------------------------- /doc/static/images/admin/squid_format.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/squid_format.jpg -------------------------------------------------------------------------------- /doc/static/images/companies/betfair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/betfair.png -------------------------------------------------------------------------------- /doc/static/images/companies/comcast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/comcast.png -------------------------------------------------------------------------------- /doc/static/images/companies/godaddy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/godaddy.png -------------------------------------------------------------------------------- /doc/static/images/companies/internode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/internode.png -------------------------------------------------------------------------------- /doc/static/images/companies/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/linkedin.png -------------------------------------------------------------------------------- /doc/static/images/companies/powerhttp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/powerhttp.png -------------------------------------------------------------------------------- /doc/static/images/docbook/important.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/docbook/important.png -------------------------------------------------------------------------------- /doc/static/images/download_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/download_background.png -------------------------------------------------------------------------------- /doc/static/images/press/tsicon_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/press/tsicon_large.png -------------------------------------------------------------------------------- /doc/static/images/press/tsicon_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/press/tsicon_small.png -------------------------------------------------------------------------------- /doc/static/images/sdk/evt_plugin120.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/evt_plugin120.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/plugin_process.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/plugin_process.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/protocol_sm_big.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/protocol_sm_big.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/transact_hook75.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/transact_hook75.jpg -------------------------------------------------------------------------------- /doc/static/images/trans_logo_148x132.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_148x132.png -------------------------------------------------------------------------------- /doc/static/images/trans_logo_150x30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_150x30.gif -------------------------------------------------------------------------------- /doc/static/images/trans_logo_150x30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_150x30.png -------------------------------------------------------------------------------- /doc/static/images/trans_logo_150x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_150x32.png -------------------------------------------------------------------------------- /doc/static/images/trans_logo_160x35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_160x35.png -------------------------------------------------------------------------------- /doc/static/images/trans_logo_250x49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_250x49.gif -------------------------------------------------------------------------------- /doc/static/images/trans_logo_250x49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_250x49.png -------------------------------------------------------------------------------- /doc/static/images/trans_logo_350x69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_350x69.gif -------------------------------------------------------------------------------- /doc/static/images/trans_logo_350x69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_350x69.png -------------------------------------------------------------------------------- /doc/static/images/trans_logo_420x95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_420x95.png -------------------------------------------------------------------------------- /doc/static/images/trans_logo_603x132.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_603x132.png -------------------------------------------------------------------------------- /src/traffic_logstats/tests/logstats.blog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/src/traffic_logstats/tests/logstats.blog -------------------------------------------------------------------------------- /tests/fuzzing/fuzz_hpack_seed_corpus.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/fuzzing/fuzz_hpack_seed_corpus.zip -------------------------------------------------------------------------------- /tests/fuzzing/fuzz_http_seed_corpus.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/fuzzing/fuzz_http_seed_corpus.zip -------------------------------------------------------------------------------- /tests/fuzzing/fuzz_json_seed_corpus.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/fuzzing/fuzz_json_seed_corpus.zip -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.example.test_head.txt: -------------------------------------------------------------------------------- 1 | HEAD http://www.example.test/ HTTP/1.1 2 | Host: www.example.test 3 | 4 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/via_uds.gold: -------------------------------------------------------------------------------- 1 | Via: http/1.1 = http/1.1 tcp 2 | Via: http/1.0 = http/1.0 tcp 3 | Via: http/1.1 = http/1.1 tcp 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/regex_revalidate/gold/metrics_miss.gold: -------------------------------------------------------------------------------- 1 | plugin.regex_revalidate.stale 1 2 | plugin.regex_revalidate.miss 2 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/remap_stats/gold/metrics.gold: -------------------------------------------------------------------------------- 1 | plugin.remap_stats.one.status_2xx 1 2 | plugin.remap_stats.two.status_4xx 1 3 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/early_h1_post.txt: -------------------------------------------------------------------------------- 1 | POST /early_post HTTP/1.1 2 | Host: 127.0.0.1 3 | Content-Length: 11 4 | 5 | knock knock 6 | 7 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/early_h2_multi1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/gold_tests/tls/early_h2_multi1.txt -------------------------------------------------------------------------------- /tests/gold_tests/tls/early_h2_multi2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/gold_tests/tls/early_h2_multi2.txt -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/bool.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{STATE-FLAG:0} 3 | set-header X-foo "bar" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/vars_size.fail.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | tooBig: int8; 3 | } 4 | 5 | REMAP { 6 | tooBig = 1234; 7 | } 8 | -------------------------------------------------------------------------------- /doc/static/images/admin/proxy-protocol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/proxy-protocol.png -------------------------------------------------------------------------------- /doc/static/images/companies/brainswear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/companies/brainswear.png -------------------------------------------------------------------------------- /doc/static/images/sdk/marshall_buffers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/marshall_buffers.jpg -------------------------------------------------------------------------------- /doc/static/images/sdk/vconn_buf_output.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/vconn_buf_output.jpg -------------------------------------------------------------------------------- /doc/static/images/trans_logo_tm_380x69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/trans_logo_tm_380x69.png -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc1_file.txt: -------------------------------------------------------------------------------- 1 | 2 | include should be up there. 3 | -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc6_file.txt: -------------------------------------------------------------------------------- 1 | should keep the incomplete tag and include nothing 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/four.in: -------------------------------------------------------------------------------- 1 | GET /not_there HTTP/1.1 2 | Host: two 3 | X-Debug: X-Remap, Probe 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/fwd1.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: two 3 | X-Debug: X-Remap, fwd, Probe 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/three.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: three123 3 | X-Debug: X-Remap, Probe 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/redirect/gold/redirect_post.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 204 No Content 2 | Date: `` 3 | Age: `` 4 | Connection: keep-alive 5 | Server: ATS/`` 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/access.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{ACCESS:/tmp/bar} 3 | set-header X-Remap "exists" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/internal.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if internal() { 3 | inbound.req.X-Foo = "Is Internal"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/to-url.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{TO-URL:PATH} /foo/ 3 | set-header To-URL "allowed" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/meth-resp-hdr.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | set-header X-Original-Method "%{METHOD}" 3 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/dscp.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{TRUE} 3 | set-conn-dscp 17 4 | set-conn-mark 1234 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/no-op.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (statement (functionCall no-op ( )) ;)) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/int16.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{STATE-INT16:0} >12345 3 | set-header X-foo "bar" 4 | -------------------------------------------------------------------------------- /doc/static/images/appendix/traffic_top_tiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/appendix/traffic_top_tiny.png -------------------------------------------------------------------------------- /doc/static/images/press/ts_logo_tm_1024x196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/press/ts_logo_tm_1024x196.png -------------------------------------------------------------------------------- /doc/static/images/press/ts_logo_tm_1960x375.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/press/ts_logo_tm_1960x375.png -------------------------------------------------------------------------------- /doc/static/images/sdk/Protocol_state_diagram.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sdk/Protocol_state_diagram.jpg -------------------------------------------------------------------------------- /doc/static/images/sessions/session_hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sessions/session_hierarchy.png -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/gold/http-304.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 304 Not Modified 2 | `` 3 | Connection: keep-alive 4 | `` 5 | Cache-Control: no-store 6 | 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/combo_handler/ctwl.txt: -------------------------------------------------------------------------------- 1 | # test 2 | 3 | text/javascript # test side comment 4 | application/javascript 5 | text/css 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/regexmatches.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /regexmatches?cookies=oreos-chipsahoy-icecream... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_effective_url/none.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: none 3 | X-Debug: X-Effective-URL 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_effective_url/one.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: one 3 | X-Debug: x-effective-url 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_effective_url/two.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: two 3 | X-Debug: X-EFFECTIVE-URL 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/fwd2.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: two 3 | X-Debug: X-Remap, fwd=0, probe 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/fwd3.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: two 3 | X-Debug: X-Remap, fwd= 1, Probe 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/access.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if access("/tmp/bar") { 3 | inbound.req.X-Remap = "exists"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/to-url.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if to.url.path ~ /foo/ { 3 | inbound.req.To-URL = "allowed"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/true_false.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if true || false { 3 | inbound.resp.X-foo = "bar"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/dbg-req.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.X-Debug == "supersekret" { 3 | set-debug(); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/dbg-req.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:X-Debug} ="supersekret" 3 | set-debug 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-conf.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if true { 3 | set-config("proxy.config.http.cache.http", 0); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-conf.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{TRUE} 3 | set-config "proxy.config.http.cache.http" 0 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/skip-remap.input.txt: -------------------------------------------------------------------------------- 1 | SEND_REQUEST { 2 | if inbound.req.path ~ /foo/ { 3 | skip-remap(true); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/skip-remap.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_REQUEST_HDR_HOOK} [AND] 2 | cond %{CLIENT-HEADER:path} /foo/ 3 | skip-remap TRUE 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/assign.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | bool_0: bool; 3 | bool_1: bool; 4 | } 5 | 6 | REMAP { 7 | bool_1 = bool_0; 8 | } 9 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/explicit_slots.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{STATE-FLAG:7} 3 | set-header X-Parent true 4 | -------------------------------------------------------------------------------- /doc/static/images/admin/netscape_common_format.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/netscape_common_format.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/summary-mixt.log_file.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/summary-mixt.log_file.jpg -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc2_file.txt: -------------------------------------------------------------------------------- 1 | include should be between bars || is it ok ? 2 | -------------------------------------------------------------------------------- /plugins/webp_transform/README: -------------------------------------------------------------------------------- 1 | Converting jpeg and png to webp using ImageMagick Magick++ lib 2 | Pre-requisites 3 | 4 | 1. Magick++ api for ImageMagick 5 | -------------------------------------------------------------------------------- /tests/fuzzing/fuzz_proxy_protocol_seed_corpus.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/tests/fuzzing/fuzz_proxy_protocol_seed_corpus.zip -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_3_stdout.gold: -------------------------------------------------------------------------------- 1 | { 2 | `` 3 | "form": { 4 | "key": [ 5 | "value" 6 | ] 7 | }, 8 | `` 9 | } 10 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/syntax.200.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Date: `` 3 | Age: `` 4 | Transfer-Encoding: chunked 5 | Connection: keep-alive 6 | Server: `` 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/collapseslashes.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /i/like/cheetos?.done=http://finance.yahoo.com... Finished 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/esi/gold/esi_headers.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /esi.php HTTP/1.1 3 | `` 4 | < HTTP/1.1 200 OK 5 | < Content-Type: text/html 6 | `` 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/remap_stats/gold/metrics_post.gold: -------------------------------------------------------------------------------- 1 | plugin.remap_stats.127.0.0.1.status_2xx 1 2 | plugin.remap_stats.127.0.0.1.status_4xx 1 3 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_effective_url/four.in: -------------------------------------------------------------------------------- 1 | GET /argh,urgh HTTP/1.1 2 | Host: four 3 | X-Debug: X-effective-url 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_effective_url/three.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: three123 3 | X-Debug: X-effective-url 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_probe_full_json/gold/jq_hex.gold: -------------------------------------------------------------------------------- 1 | "2" 2 | "42696e617279206461746120776974682071756f746573210000" 3 | "binary-data" 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/fwd4.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: two 3 | X-Debug: PROBE, X-Remap, fwd = 999999 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/timeout/gold/client_default_inactivity_timeout.gold: -------------------------------------------------------------------------------- 1 | ``` 2 | ``PARSE_INCOMPLETE 3 | ``Failed HTTP/1 transaction with key: timeout2 4 | `` 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/bad_regex.fail.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.X-Foo ~ /Foo[/ { 3 | inbound.req.X-Foo = ""; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/from-url.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if from.url.path ~ /foo/ { 3 | inbound.req.From-URL = "allowed"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/from-url.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{FROM-URL:PATH} /foo/ 3 | set-header From-URL "allowed" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/internal.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{INTERNAL-TRANSACTION} 3 | set-header X-Foo "Is Internal" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/method.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{METHOD} ("GET","HEAD") 3 | set-header @X-Method "%{METHOD}" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/path-ext.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-URL:PATH} ="php" [NOCASE,EXT] 3 | set-status 403 4 | -------------------------------------------------------------------------------- /doc/static/images/admin/netscape_extended2_format.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/netscape_extended2_format.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/netscape_extended_format.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/netscape_extended_format.jpg -------------------------------------------------------------------------------- /doc/static/images/admin/transaction_states_timers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/transaction_states_timers.png -------------------------------------------------------------------------------- /doc/static/images/sessions/http1_session_objects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sessions/http1_session_objects.png -------------------------------------------------------------------------------- /doc/static/images/sessions/http2_session_objects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sessions/http2_session_objects.png -------------------------------------------------------------------------------- /doc/static/images/sessions/transaction_hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/sessions/transaction_hierarchy.png -------------------------------------------------------------------------------- /plugins/experimental/txn_box/test/yts-2534-config.yaml: -------------------------------------------------------------------------------- 1 | txn_box: 2 | when: creq 3 | do: 4 | set-creq-field-default: [ "Accept-Encoding", "identity" ] 5 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/gold/http-get-200.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | `` 3 | Content-Length: 47 4 | `` 5 | 6 | This body should be returned for a GET request. -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/fwd5.in: -------------------------------------------------------------------------------- 1 | GET /argh HTTP/1.1 2 | Host: two 3 | X-Debug: X-Remap, fwd = 999999xxx, Probe 4 | Connection: close 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/post_slow_server/gold/post_slow_server_max_requests_in_0_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > POST / HTTP/1.1 3 | `` 4 | < HTTP/1.1 502 Broken pipe 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-zero-200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/1.1 3 | > Host: zero.one.two.three.com 4 | `` 5 | < HTTP/1.1 200 OK 6 | < Date: `` 7 | `` 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/true_false.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{TRUE} [OR] 3 | cond %{FALSE} 4 | set-header X-foo "bar" 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rem_org_auth.output.txt: -------------------------------------------------------------------------------- 1 | cond %{READ_RESPONSE_HDR_HOOK} [AND] 2 | rm-header Set-Cookie 3 | rm-header WWW-Authenticate 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/teapots.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{STATUS} =418 3 | counter "plugin.header_rewrite.teapots" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/dscp.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if true { 3 | inbound.conn.dscp = 17; 4 | inbound.conn.mark = 1234; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/bad_var.fail.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | Flag: bool; 3 | Num: int32; 4 | } 5 | 6 | REMAP { 7 | inbound.req.X-foo = "bar"; 8 | } 9 | -------------------------------------------------------------------------------- /doc/static/images/admin/monitor/circonus/metric-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/monitor/circonus/metric-grid.png -------------------------------------------------------------------------------- /doc/static/images/admin/prefetch_plugin_deployment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/prefetch_plugin_deployment.png -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc10_file.txt: -------------------------------------------------------------------------------- 1 | include a big file. 2 | 3 | include should be up there. 4 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/gold/http-204.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 204 No Content 2 | Date: `` 3 | Connection: keep-alive 4 | Server: ATS/`` 5 | Cache-Control: no-store 6 | 7 | -------------------------------------------------------------------------------- /tests/gold_tests/jsonrpc/json/method_call_no_params.json: -------------------------------------------------------------------------------- 1 | { 2 | "id":"0ea2672f-b369-4d99-8d46-98c3fadc152d", 3 | "jsonrpc":"2.0", 4 | "method":"$method" 5 | } -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/impl-expr.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.X-Foo || inbound.req.X-Bar { 3 | inbound.req.X-fie = "123"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/path-ext.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.url.path == "php" with EXT,NOCASE { 3 | inbound.status = 403; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rem_org_auth.input.txt: -------------------------------------------------------------------------------- 1 | READ_RESPONSE { 2 | outbound.resp.Set-Cookie = ""; 3 | outbound.resp.WWW-Authenticate = ""; 4 | } 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-query.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | inbound.url.query = ""; 3 | remove_query("foo,bar"); 4 | keep_query("foo,bar"); 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/invalid_section.fail.input.txt: -------------------------------------------------------------------------------- 1 | FOOBAR { 2 | if inbound.header.Foo == "bar" { 3 | inbound.header.X = "nope"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/send_request.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_REQUEST_HDR_HOOK} [AND] 2 | cond %{HEADER:X-Send-Request} ="yes" 3 | rm-header X-Send-Request 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/bad_var.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/vars/bad_var.fail.input.txt:3:3: error: Invalid type 'int32' 2 | 3 | Num: int32; 3 | | ^ 4 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/data/www.example.test_get_304.txt: -------------------------------------------------------------------------------- 1 | GET /get304 HTTP/1.1 2 | Host: www.example.test 3 | If-Modified-Since: Thu, 1 Jan 1970 00:00:00 GMT 4 | 5 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/http-request-method-metrics.gold: -------------------------------------------------------------------------------- 1 | proxy.process.http.get_requests 4 2 | proxy.process.http.post_requests 11 3 | proxy.process.http.put_requests 0 4 | -------------------------------------------------------------------------------- /tests/gold_tests/logging/gold/custom_uds.gold: -------------------------------------------------------------------------------- 1 | 127.0.0.1 2 | 127.1.1.1 3 | 127.2.2.2 4 | 127.3.3.3 5 | 127.3.0.1 6 | 127.43.2.1 7 | 127.213.213.132 8 | 127.123.32.243 9 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/conf_remap/etc/negative_caching_list.yaml: -------------------------------------------------------------------------------- 1 | records: 2 | http: 3 | negative_caching_enabled: 1 4 | negative_caching_list: "400 404" 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/200_bob_no_sni.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/2 3 | > Host: bob--cert 4 | `` 5 | < HTTP/2 200 6 | < content-length: 0 7 | `` 8 | -------------------------------------------------------------------------------- /tests/gold_tests/redirect/zone.json: -------------------------------------------------------------------------------- 1 | { 2 | "mappings": [ 3 | {"iwillredirect.com.": ["127.0.0.1"]} 4 | ], 5 | 6 | "otherwise": ["127.0.0.1"] 7 | } 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/cidr.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CIDR:8,64} {8.0.0.0/8,6860:d4ff:fe8b:b5c7/64} 3 | set-header X-CIDR "allowed" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/outbound.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_REQUEST_HDR_HOOK} [AND] 2 | cond %{NEXT-HOP:HOST} /foo|bar/ 3 | set-header X-Valid "%{NEXT-HOP:PORT}" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/norm_status.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{STATUS} >399 [AND] 3 | cond %{STATUS} <500 4 | set-status 404 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/read_response.output.txt: -------------------------------------------------------------------------------- 1 | cond %{READ_RESPONSE_HDR_HOOK} [AND] 2 | cond %{HEADER:X-Read-Response} ="yes" 3 | rm-header X-Read-Response 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/send_response.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{HEADER:X-Send-Response} ="yes" 3 | rm-header X-Send-Response 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "*.cript": "cpp", 4 | "*.test.py": "python", 5 | "*.test.ext": "python" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-spans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-spans.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/span-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/span-header.png -------------------------------------------------------------------------------- /doc/developer-guide/core-architecture/HostDB-Data-Layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/core-architecture/HostDB-Data-Layout.png -------------------------------------------------------------------------------- /doc/static/images/admin/monitor/circonus/check-config-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/monitor/circonus/check-config-1.png -------------------------------------------------------------------------------- /doc/static/images/admin/monitor/circonus/check-config-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/monitor/circonus/check-config-2.png -------------------------------------------------------------------------------- /doc/static/images/admin/monitor/circonus/check-config-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/monitor/circonus/check-config-3.png -------------------------------------------------------------------------------- /doc/static/images/admin/monitor/circonus/new-check-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/static/images/admin/monitor/circonus/new-check-button.png -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc9_file.txt: -------------------------------------------------------------------------------- 1 | include an empty file: should be no chars betwwen bars: || 2 | OK ? 3 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/gold/http-get-304.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 304 Not Modified 2 | `` 3 | Warning: 199 `` Proxy received unexpected 304 response; content may be stale 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/chunked.gold: -------------------------------------------------------------------------------- 1 | Response received: 2 | :status: 200 3 | server: `` 4 | date: `` 5 | age: `` 6 | `` 7 | microserverapachetrafficserver 8 | `` 9 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/bad_good_request_header.gold: -------------------------------------------------------------------------------- 1 | ``HTTP/1.1 400 Invalid HTTP Request 2 | ``Connection: close 3 | ``Server: ATS/`` 4 | ``Content-Length: 219 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/origin_connection/gold/two_200_ok.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > CONNECT`` 3 | `` 4 | < HTTP/1.1 200 OK 5 | `` 6 | > CONNECT`` 7 | `` 8 | < HTTP/1.1 200 OK 9 | `` 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/method.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.method in ["GET", "HEAD"] { 3 | inbound.req.@X-Method = "{inbound.method}"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/int-header.input.txt: -------------------------------------------------------------------------------- 1 | # This comment is merely here for testing comments 2 | REMAP { 3 | inbound.req.@PropertyName = "someproperty"; 4 | } 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/teapots.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if inbound.status == 418 { 3 | counter("plugin.header_rewrite.teapots"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/order.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/hooks/order.fail.input.txt:7:0: error: Variable section must be first in a section 2 | 7 | VARS { 3 | | ^ 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/redirect.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.X-Auth-Me !~ /foo/ { 3 | set-redirect(302, "https://example.com/foo"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-destination.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | inbound.url.host = "foo"; 3 | } 4 | 5 | SEND_REQUEST { 6 | outbound.url.path = "foo/bar.txt"; 7 | } 8 | -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/stripe-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/stripe-header.png -------------------------------------------------------------------------------- /lib/yamlcpp/test/main.cpp: -------------------------------------------------------------------------------- 1 | #include "gtest/gtest.h" 2 | 3 | int main(int argc, char** argv) { 4 | ::testing::InitGoogleTest(&argc, argv); 5 | return RUN_ALL_TESTS(); 6 | } 7 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_3_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > POST /post HTTP/2 3 | `` 4 | > Expect: 100-continue 5 | `` 6 | < HTTP/2 100`` 7 | `` 8 | < HTTP/2 200`` 9 | `` 10 | -------------------------------------------------------------------------------- /tests/gold_tests/jsonrpc/json/admin_config_reload_req.json: -------------------------------------------------------------------------------- 1 | { 2 | "id":"71588e95-4f11-43a9-9c7d-9942e017548c", 3 | "jsonrpc":"2.0", 4 | "method":"admin_config_reload" 5 | } -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-ws-upgrade-400.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /chat HTTP/1.1 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 400 Invalid Upgrade Request 7 | `` 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/cidr.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if cidr(8, 64) in {8.0.0.0/8, 6860:d4ff:fe8b:b5c7/64} { 3 | inbound.req.X-CIDR = "allowed"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/outbound.input.txt: -------------------------------------------------------------------------------- 1 | SEND_REQUEST { 2 | if outbound.url.host ~ /foo|bar/ { 3 | outbound.req.X-Valid = "{outbound.url.port}"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/norm_status.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if inbound.status > 399 && inbound.status < 500 { 3 | inbound.status = 404; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/send_request.input.txt: -------------------------------------------------------------------------------- 1 | SEND_REQUEST { 2 | if outbound.req.X-Send-Request == "yes" { 3 | outbound.req.X-Send-Request = ""; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/redirect.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:X-Auth-Me} /foo/ [NOT] 3 | set-redirect 302 "https://example.com/foo" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/bool.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | bool_0: bool; 3 | } 4 | 5 | REMAP { 6 | if bool_0 { 7 | inbound.req.X-foo = "bar"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc12_file.txt: -------------------------------------------------------------------------------- 1 | Server should abort before body is sent 2 | 3 | include should be up there. 4 | -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc13_file.txt: -------------------------------------------------------------------------------- 1 | Server should abort in middle of body 2 | 3 | include should be up there. 4 | -------------------------------------------------------------------------------- /tests/gold_tests/cont_schedule/gold/thread_affinity.gold: -------------------------------------------------------------------------------- 1 | `` 2 | ``pass [affinity thread is not null] 3 | ``pass [affinity thread is cleared] 4 | ``pass [affinity thread is set] 5 | `` 6 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/range-416.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 416 Requested Range Not Satisfiable 2 | Date: `` 3 | Connection: keep-alive 4 | Server: ATS/`` 5 | Cache-Control: no-store 6 | `` 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/esi/gold/esi_private_headers.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /esi_etag.php HTTP/1.1 3 | `` 4 | < HTTP/1.1 200 OK 5 | `` 6 | < Cache-Control: max-age=0, private 7 | `` 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/exceptions.txt: -------------------------------------------------------------------------------- 1 | # Operations tests direction exceptions 2 | # Format: test_name: direction 3 | # 4 | # Implicit = comparisons 5 | implicit-cmp.input: u4wrh 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/in-sets.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-URL:PATH} ("php","php3","php4","php5","phtml") [EXT] 3 | set-header X-Is-PHP "yes" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/read_response.input.txt: -------------------------------------------------------------------------------- 1 | READ_RESPONSE { 2 | if outbound.resp.X-Read-Response == "yes" { 3 | outbound.resp.X-Read-Response = ""; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/send_response.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if inbound.resp.X-Send-Response == "yes" { 3 | inbound.resp.X-Send-Response = ""; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-span-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-span-layout.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/dir-bucket-assign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/dir-bucket-assign.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/dir-segment-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/dir-segment-bucket.png -------------------------------------------------------------------------------- /plugins/experimental/wasm/lib/README.proxy-wasm-cpp-host.md: -------------------------------------------------------------------------------- 1 | # WebAssembly for Proxies (C++ host implementation) 2 | 3 | ## How to Contribute 4 | 5 | See [CONTRIBUTING](CONTRIBUTING.md). 6 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/remap-200.gold: -------------------------------------------------------------------------------- 1 | Response received: 2 | :status: 200 3 | server: `` 4 | date: `` 5 | age: `` 6 | Response fully received: 0 bytes 7 | Content success 8 | `` 9 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/conn-drain.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if !access("/path/to/the/healthcheck/file.txt") { 3 | inbound.resp.Connection = "close"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/conn-drain.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{ACCESS:/path/to/the/healthcheck/file.txt} [NOT] 3 | set-header Connection "close" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/int-header.output.txt: -------------------------------------------------------------------------------- 1 | # This comment is merely here for testing comments 2 | cond %{REMAP_PSEUDO_HOOK} [AND] 3 | set-header @PropertyName "someproperty" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/int8.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | int8_0: int8; 3 | } 4 | 5 | REMAP { 6 | if int8_0 > 123 { 7 | inbound.req.X-foo = "bar"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/typos.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/vars/typos.fail.input.txt:2:7: error: Unknown condition symbol 2 | 2 | if inound.req.X-Foo ~ /foo/ { 3 | | ^ 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/vars_type.fail.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | first: int8; 3 | second: int16; 4 | } 5 | 6 | REMAP { 7 | second = 12345; 8 | first = second; 9 | } 10 | -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-init-sampling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-init-sampling.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-init-selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-init-selection.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-multi-fragment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-multi-fragment.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-stripe-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-stripe-layout.png -------------------------------------------------------------------------------- /tests/gold_tests/headers/hsts.200.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Date:`` 3 | Age: `` 4 | Transfer-Encoding: chunked 5 | Connection: keep-alive 6 | Strict-Transport-Security: max-age=300 7 | Server:`` 8 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/txn_box/basic/multi-cfg.2.yaml: -------------------------------------------------------------------------------- 1 | - with: ua-req-field 2 | select: 3 | - is-empty: 4 | - do: # otherwise 5 | - ua-req-field: "Delain" 6 | -------------------------------------------------------------------------------- /tests/gold_tests/records/gold/records.yaml.cold_test5.gold: -------------------------------------------------------------------------------- 1 | # Document modified by traffic_ctl `` 2 | #`` 3 | --- 4 | records: 5 | cache: 6 | limits: 7 | http: 8 | max_alts: 3 9 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/http-cntl.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{HTTP-CNTL:LOGGING} 3 | set-header X-Foo "Logging on" 4 | set-http-cntl LOGGING false 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-int-hdr.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:X-Debug} ="keep" [NOT] 3 | rm-header X-Debug-Foo 4 | rm-header X-Debug-Bar 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-query.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | rm-destination QUERY 3 | rm-destination QUERY "foo,bar" 4 | rm-destination QUERY "foo,bar" [I] 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/int16.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | int16_0: int16; 3 | } 4 | 5 | REMAP { 6 | if int16_0 > 12345 { 7 | inbound.req.X-foo = "bar"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/vars_count.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/vars/vars_count.fail.input.txt:7:3: error: No available slots for type 'int8' (max 4) 2 | 7 | Five: int8; 3 | | ^ 4 | -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/ats-cache-volume-layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/ats-cache-volume-layout.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/ats-cache-write-cursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/ats-cache-write-cursor.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-doc-layout-3-2-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-doc-layout-3-2-0.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-doc-layout-4-0-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-doc-layout-4-0-1.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-init-rtable-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-init-rtable-setup.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-init-slots-single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-init-slots-single.png -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc11_file.txt: -------------------------------------------------------------------------------- 1 | This body should not be transformed. 2 | include should still be between bars || is it ok ? 3 | -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc5_file.txt: -------------------------------------------------------------------------------- 1 | this is a doc with an include that has no filename 2 | 3 | should remove the tag and include nothing 4 | -------------------------------------------------------------------------------- /lib/Catch2/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('tests', type: 'boolean', value: true, description: 'Build the unit tests') 2 | option('install', type: 'boolean', value: true, description: 'Install the library') 3 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/storage_metrics_0_stdout.gold: -------------------------------------------------------------------------------- 1 | `` 2 | proxy.process.cache.stripes 1 3 | `` 4 | proxy.process.cache.span.online 1 5 | `` 6 | proxy.process.cache.volume_0.stripes 1 7 | `` 8 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/storage_metrics_2_stdout.gold: -------------------------------------------------------------------------------- 1 | `` 2 | proxy.process.cache.stripes 1 3 | `` 4 | proxy.process.cache.span.online 1 5 | `` 6 | proxy.process.cache.volume_1.stripes 1 7 | `` 8 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/access_control/etc/hmac_keys.txt: -------------------------------------------------------------------------------- 1 | key1=PEIFtmunx9 2 | key2=BtYjpTbH6a 3 | key3=SS75kgYonh 4 | key4=qMmCV2vUsu 5 | key5=YfMxMaygax 6 | key6=tVeuPtfJP8 7 | key7=oplEZT5CpB 8 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/4_byte_response_body.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /cache_test HTTP/1.1 3 | `` 4 | < HTTP/1.1 200 OK 5 | < Cache-Control: max-age=300 6 | < Content-Length: 4 7 | `` 8 | -------------------------------------------------------------------------------- /tests/gold_tests/proxy_protocol/gold/access.gold: -------------------------------------------------------------------------------- 1 | 127.0.0.1 127.0.0.1 2 | 127.0.0.1 127.0.0.1 3 | 127.0.0.1 127.0.0.1 4 | 127.0.0.1 127.0.0.1 5 | 127.0.0.1 198.51.100.1 6 | 127.0.0.1 0 7 | 127.0.0.1 0 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/http-cntl.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if http.cntl.LOGGING { 3 | inbound.resp.X-Foo = "Logging on"; 4 | http.cntl.LOGGING = false; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/impl-expr.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:X-Foo} ="" [OR,NOT] 3 | cond %{CLIENT-HEADER:X-Bar} ="" [NOT] 4 | set-header X-fie "123" 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/in-sets.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.url.path in ["php", "php3", "php4", "php5", "phtml"] with EXT { 3 | inbound.req.X-Is-PHP = "yes"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/meth-resp-hdr.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_RESPONSE { (sectionBody (statement inbound.resp.X-Original-Method = (value "{inbound.method}") ;)) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/order.fail.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.X-Foo == "Foo" { 3 | inbound.status = 403; 4 | } 5 | } 6 | 7 | VARS { 8 | foo: bool; 9 | } 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/vars_size.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/vars/vars_size.fail.input.txt:6:3: error: Invalid value '1234' for int8 variable 'tooBig' 2 | 6 | tooBig = 1234; 3 | | ^ 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/vars_type.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/vars/vars_type.fail.input.txt:8:3: error: Type mismatch: VarType.INT8 vs VarType.INT16 2 | 8 | first = second; 3 | | ^ 4 | -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/ats-cache-volume-directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/ats-cache-volume-directory.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-directory-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-directory-structure.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-init-cachehostrecord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-init-cachehostrecord.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-init-rtable-result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-init-rtable-result.png -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/cache-init-slots-minus-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/cache-init-slots-minus-1.png -------------------------------------------------------------------------------- /src/mgmt/rpc/schema/success_response_schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema#", 3 | "title": "Success response schema", 4 | "type": "string", 5 | "enum":["success"] 6 | } -------------------------------------------------------------------------------- /src/traffic_top/README: -------------------------------------------------------------------------------- 1 | Top type program for Apache Traffic Server that displays common 2 | statistical information about the server. Requires the server to be 3 | running the stats_over_http plugin. 4 | 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/ja3_fingerprint/modify-incoming-proxy.gold: -------------------------------------------------------------------------------- 1 | +++++++++ Proxy's Request after hooks +++++++++ 2 | -- State Machine Id`` 3 | POST /some/path/http2`` 4 | `` 5 | x-ja3-sig: `` 6 | `` 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/ja3_fingerprint/modify-sent-proxy.gold: -------------------------------------------------------------------------------- 1 | +++++++++ Proxy's Request after hooks +++++++++ 2 | -- State Machine Id`` 3 | POST /some/path/http2`` 4 | `` 5 | x-ja3-sig: `` 6 | `` 7 | -------------------------------------------------------------------------------- /tests/gold_tests/records/gold/records.yaml.cold_test0.gold: -------------------------------------------------------------------------------- 1 | records: 2 | `` 3 | # Document modified by traffic_ctl `` 4 | #`` 5 | --- 6 | records: 7 | diags: 8 | debug: 9 | tags: http 10 | -------------------------------------------------------------------------------- /tests/gold_tests/records/gold/records.yaml.cold_test2.gold: -------------------------------------------------------------------------------- 1 | records: 2 | `` 3 | # Document modified by traffic_ctl `` 4 | #`` 5 | --- 6 | records: 7 | diags: 8 | debug: 9 | tags: http 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-int-hdr.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.X-Debug != "keep" { 3 | inbound.req.X-Debug-Foo = ""; 4 | inbound.req.X-Debug-Bar = ""; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/uuid.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if !inbound.resp.ATS-SRVR-UUID || cache() == "hit-fresh" { 3 | inbound.resp.ATS-SRVR-UUID = "{id.UNIQUE}"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /doc/developer-guide/cache-architecture/images/ats-cache-volume-definition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/trafficserver/HEAD/doc/developer-guide/cache-architecture/images/ats-cache-volume-definition.png -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc8_file.txt: -------------------------------------------------------------------------------- 1 | tag similar to include but slightly different. 2 | 3 | should not remove the tag and include nothing 4 | -------------------------------------------------------------------------------- /lib/Catch2/mdsnippets.json: -------------------------------------------------------------------------------- 1 | { 2 | "ReadOnly": false, 3 | "TocLevel": 5, 4 | "Exclude": [ 5 | "cmake-build" 6 | ], 7 | "WriteHeader": false, 8 | "Convention": "InPlaceOverwrite" 9 | } 10 | -------------------------------------------------------------------------------- /tests/gold_tests/autest-site/min_cfg/storage.config: -------------------------------------------------------------------------------- 1 | # seems good enough for doing something for playing with. 2 | # not good for production 3 | # File must exist and must have this value in it 4 | storage 256M 5 | -------------------------------------------------------------------------------- /tests/gold_tests/cont_schedule/gold/schedule_on_thread.gold: -------------------------------------------------------------------------------- 1 | `` 2 | ``(TSContSchedule_test.check) pass [should be the same thread] 3 | ``(TSContSchedule_test.check) pass [should not be the same thread] 4 | `` 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/capture.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.url.path ~ /some_path_(.+)_/ && capture.1 in ["foo", "bar"] { 3 | inbound.req.X-Path-Capture = "{capture.1}"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/uuid.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{HEADER:ATS-SRVR-UUID} ="" [OR] 3 | cond %{CACHE} ="hit-fresh" 4 | set-header ATS-SRVR-UUID "%{ID:UNIQUE}" 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-destination.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | set-destination HOST "foo" 3 | 4 | cond %{SEND_REQUEST_HDR_HOOK} [AND] 5 | set-destination PATH "foo/bar.txt" 6 | -------------------------------------------------------------------------------- /plugins/suppression.txt: -------------------------------------------------------------------------------- 1 | leak:CRYPTO_malloc 2 | leak:CRYPTO_zalloc 3 | leak:asn1_enc_save 4 | leak:c2i_ASN1_BIT_STRING 5 | leak:ASN1_STRING_set 6 | leak:BUF_MEM_grow 7 | leak:x509_name_canon 8 | leak:asn1_primitive_new -------------------------------------------------------------------------------- /tests/gold_tests/logging/gold/field-json-test.gold: -------------------------------------------------------------------------------- 1 | {"foo":"ab\td\/ef","foo-slice":"\td"} 2 | {"foo":"-","foo-slice":""} 3 | {"foo":"-","foo-slice":""} 4 | {"foo":"ab\u00c2\u0080d\/ef","foo-slice":"\u00c2\u0080d"} 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/lua/gold/lifecycle.gold: -------------------------------------------------------------------------------- 1 | (global) id: 0 2 | (global) id: 1 3 | (global) id: 2 4 | (global) id: 3 5 | (remap) id: 0 6 | (remap) id: 1 7 | (remap) id: 2 8 | (remap) id: 3 9 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-sni-1.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=0 client_hello=0 client_hello_imm=0 sni=1 cert=0 cert_imm=0 pa_delay=0 2 | `` DIAG: (ssl_hook_test) SNI callback 0 `` 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/traffic_ctl/gold/t3_yaml.gold: -------------------------------------------------------------------------------- 1 | records: 2 | diags: 3 | debug: 4 | enabled: 1 # default: 0 5 | tags: rpc # default: http|dns 6 | throttling_interval_msec: 0 # default: 0 7 | `` -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/exceptions.txt: -------------------------------------------------------------------------------- 1 | # Operations tests direction exceptions 2 | # Format: test_name: direction 3 | # 4 | # Explicit slot assignment syntax cannot be reversed 5 | explicit_slots.input: hrw4u 6 | -------------------------------------------------------------------------------- /lib/Catch2/MODULE.bazel: -------------------------------------------------------------------------------- 1 | module(name = "catch2") 2 | 3 | bazel_dep(name = "bazel_skylib", version = "1.7.1") 4 | bazel_dep(name = "rules_cc", version = "0.1.1") 5 | bazel_dep(name = "rules_license", version = "1.0.0") 6 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/http2_9_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /status/204 HTTP/2 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/2 204`` 8 | < server: ATS/`` 9 | < date: `` 10 | `` 11 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/server_after_headers.gold: -------------------------------------------------------------------------------- 1 | `` 2 | ``Submitting RST_STREAM frame for key 1 after HEADERS frame with error code ENHANCE_YOUR_CALM. 3 | ``Submitted RST_STREAM frame for key 1 on stream 3. 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/combo_handler/combo_handler_files/tr1.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 403 Forbidden 2 | Date: `` 3 | Age: `` 4 | Transfer-Encoding: chunked 5 | Connection: close 6 | Server: ATS/`` 7 | 8 | 0 9 | 10 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/compress/etc/cache-true-remove-range.config: -------------------------------------------------------------------------------- 1 | cache true 2 | range-request remove-range 3 | compressible-content-type application/json 4 | supported-algorithms gzip 5 | minimum-content-length 0 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/header_rewrite/gold/set-redirect-glob.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > HEAD / HTTP/1.1 3 | > Host: 127.0.0.1:`` 4 | `` 5 | < HTTP/1.1 301 Moved Permanently 6 | `` 7 | < Location: http://redirect.com/here 8 | `` 9 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/txn_box/ramp/ramp.logging.yaml: -------------------------------------------------------------------------------- 1 | logging: 2 | formats: 3 | - name: ramp 4 | format: '%' 5 | 6 | logs: 7 | - filename: ramp 8 | format: ramp 9 | mode: ascii 10 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-cert-im-1.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=0 client_hello=0 client_hello_imm=0 sni=0 cert=0 cert_imm=1 pa_delay=0 2 | `` DIAG: (ssl_hook_test) Cert callback 0 ssl_vc=`` 3 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/exceptions.txt: -------------------------------------------------------------------------------- 1 | # Operations tests direction exceptions 2 | # Format: test_name: direction 3 | 4 | # This monster doesn't produce exactly reversible output 5 | all-nonsense.input: hrw4u 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-cc-out.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_REQUEST_HDR_HOOK} [AND] 2 | # Remove the cache-control and Pragma header. Pragma is rare though 3 | rm-header Cache-Control 4 | rm-header Pragma 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/slot_conflict.fail.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | first: bool @5; 3 | second: bool @5; # Error: slot already used 4 | } 5 | 6 | SEND_RESPONSE { 7 | set_header("X-Test", "value"); 8 | } 9 | -------------------------------------------------------------------------------- /.vimrc: -------------------------------------------------------------------------------- 1 | " Basic whitespace rules. If you use vim, set exrc and set secure 2 | " to have it automatically source this file. 3 | set tabstop=2 4 | set softtabstop=2 5 | set shiftwidth=2 6 | set expandtab 7 | set textwidth=132 8 | -------------------------------------------------------------------------------- /example/plugins/c-api/output_header/readme: -------------------------------------------------------------------------------- 1 | A sample internal plugin to use the HdrPrint functions and the TSIOBuffers 2 | that the functions utilize. 3 | 4 | The plugin simply prints all the incoming request headers 5 | 6 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/hit_gen1.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /generation1/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: hit-fresh 7 | < X-Cache-Generation: 1 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/hit_gen2.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /generation2/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: hit-fresh 7 | < X-Cache-Generation: 2 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/miss_default-1.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /default/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: miss 7 | < X-Cache-Generation: -1 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/miss_default77.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /default/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: miss 7 | < X-Cache-Generation: 77 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/miss_gen1.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /generation1/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: miss 7 | < X-Cache-Generation: 1 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/miss_gen2.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /generation2/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: miss 7 | < X-Cache-Generation: 2 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/http1_304.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/`` 3 | > Host: www.default304.test 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/`` 304`` 8 | < date: `` 9 | < server: ATS/`` 10 | `` 11 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/http2_304.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/2 3 | > Host: www.default304.test 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/2 304`` 8 | < date: `` 9 | < server: ATS/`` 10 | `` 11 | -------------------------------------------------------------------------------- /tests/gold_tests/jsonrpc/json/admin_storage_x_device_status_req.json: -------------------------------------------------------------------------------- 1 | { 2 | "id":"9893668b-8c58-477e-a962-39904247557b", 3 | "jsonrpc":"2.0", 4 | "method":"$method", 5 | "params":[ 6 | "$device" 7 | ] 8 | } -------------------------------------------------------------------------------- /tests/gold_tests/origin_connection/gold/two_503_congested.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > CONNECT`` 3 | `` 4 | < HTTP/1.1 503 Origin server congested 5 | `` 6 | > CONNECT`` 7 | `` 8 | < HTTP/1.1 503 Origin server congested 9 | `` 10 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/compress/etc/cache-true-no-compression.config: -------------------------------------------------------------------------------- 1 | cache true 2 | range-request no-compression 3 | compressible-content-type application/json 4 | supported-algorithms gzip 5 | minimum-content-length 0 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/esi/gold/esi_gzipped.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /esi.php HTTP/1.1 3 | `` 4 | > Accept-Encoding: gzip 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | `` 9 | < Content-Encoding: gzip 10 | `` 11 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/lua/gold/metrics.gold: -------------------------------------------------------------------------------- 1 | plugin.lua.global.states 2 | plugin.lua.global.gc_bytes 3 | plugin.lua.global.threads 4 | plugin.lua.remap.states 5 | plugin.lua.remap.gc_bytes 6 | plugin.lua.remap.threads 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/explicit_target.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET http://localhost:``/candy HTTP/1.1 3 | > Host: www.notls.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < Server: ATS/`` 8 | `` 9 | -------------------------------------------------------------------------------- /tests/gold_tests/redirect/gold/number_of_redirections_1.gold: -------------------------------------------------------------------------------- 1 | `` 2 | < HTTP/1.1 302 Redirect 3 | < location: http://c.test:`` 4 | `` 5 | < HTTP/1.1 200 OK 6 | < date: `` 7 | < Age: `` 8 | < Server: ATS/`` 9 | `` 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-cc-out.input.txt: -------------------------------------------------------------------------------- 1 | SEND_REQUEST { 2 | # Remove the cache-control and Pragma header. Pragma is rare though 3 | outbound.req.Cache-Control = ""; 4 | outbound.req.Pragma = ""; 5 | } 6 | -------------------------------------------------------------------------------- /tools/http_load/README: -------------------------------------------------------------------------------- 1 | A ATS version of http_load with added features and now using epoll(). 2 | 3 | Version 1.0.1 (6/28/11) 4 | - Added rpath to LDFLAGS 5 | 6 | Version 1.0.0 (2/22/09) 7 | - First version of http_load. 8 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/hit_default-1.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /default/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: hit-fresh 7 | < X-Cache-Generation: -1 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/hit_default77.gold: -------------------------------------------------------------------------------- 1 | {} 2 | > GET /default/cache/10/{} HTTP/1.1 3 | {} 4 | < Server: ATS/{} 5 | < X-Cache-Key: http://127.0.0.1/cache/10/{} 6 | < X-Cache: hit-fresh 7 | < X-Cache-Generation: 77 8 | {} 9 | -------------------------------------------------------------------------------- /tests/gold_tests/dns/gold/test_case_0_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /foo/ HTTP/1.1 3 | > Host: localhost:`` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 200 OK 7 | < Server: ATS/`` 8 | < Date: `` 9 | < Age: `` 10 | `` 11 | -------------------------------------------------------------------------------- /tests/gold_tests/dns/gold/test_case_1_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /bar/ HTTP/1.1 3 | > Host: localhost:`` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 200 OK 7 | < Server: ATS/`` 8 | < Date: `` 9 | < Age: `` 10 | `` 11 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/esi/gold/nested_include_body.gold: -------------------------------------------------------------------------------- 1 |

2 |

3 |

4 |

5 | 6 |

7 | 8 |

9 | 10 |

11 | 12 |

13 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/capture.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-URL:PATH} /some_path_(.+)_/ [AND] 3 | cond %{LAST-CAPTURE:1} ("foo","bar") 4 | set-header X-Path-Capture "%{LAST-CAPTURE:1}" 5 | -------------------------------------------------------------------------------- /tests/gold_tests/logging/gold/custom.gold: -------------------------------------------------------------------------------- 1 | 127.0.0.1 7F000001 2 | 127.1.1.1 7F010101 3 | 127.2.2.2 7F020202 4 | 127.3.3.3 7F030303 5 | 127.3.0.1 7F030001 6 | 127.43.2.1 7F2B0201 7 | 127.213.213.132 7FD5D584 8 | 127.123.32.243 7F7B20F3 9 | -------------------------------------------------------------------------------- /tests/gold_tests/null_transform/gold/null_transform-200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET ``/ HTTP/1.1 3 | `` 4 | > Host: www.example.com`` 5 | `` 6 | < HTTP/1.1 200 OK 7 | `` 8 | < Content-Length: 26 9 | `` 10 | < Server: ATS/`` 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/post_with_body.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > POST http://localhost:``/post_with_body HTTP/1.1 3 | > Host: www.notls.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < Server: ATS/`` 8 | `` 9 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-client-hello-1.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=0 client_hello=0 client_hello_imm=1 sni=0 cert=0 cert_imm=0 pa_delay=0 2 | `` DIAG: (ssl_hook_test) Client Hello callback 0 `` 3 | `` 4 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-out-start-close-2.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Outbound start callback 0 `` 2 | `` DIAG: (ssl_hook_test) Outbound close callback 0 `` 3 | `` DIAG: (ssl_hook_test) Outbound close callback 1 `` 4 | 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/run-plugin.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.Some-Special-Header == "yes" { 3 | run-plugin("/opt/ats/libexec/trafficserver/rate_limit.so", "--limit=300", "--error=429"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/run-plugin.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:Some-Special-Header} ="yes" 3 | run-plugin "/opt/ats/libexec/trafficserver/rate_limit.so" "--limit=300" "--error=429" 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/slot_conflict.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/vars/slot_conflict.fail.input.txt:3:4: error: Slot @5 already used by variable 'first' 2 | 3 | second: bool @5; # Error: slot already used 3 | | ^ 4 | -------------------------------------------------------------------------------- /doc/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: /en/4.2.x/ 3 | Disallow: /ja/4.2.x/ 4 | Disallow: /en/5.3.x/ 5 | Disallow: /ja/5.3.x/ 6 | Disallow: /en/6.1.x/ 7 | Disallow: /ja/6.1.x/ 8 | Disallow: /en/6.2.x/ 9 | Disallow: /ja/6.2.x/ 10 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/compress/etc/cache-true-remove-accept-encoding.config: -------------------------------------------------------------------------------- 1 | cache true 2 | range-request remove-accept-encoding 3 | compressible-content-type application/json 4 | supported-algorithms gzip 5 | minimum-content-length 0 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/cookie.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{COOKIE:bar} /bar/ 3 | set-cookie mybar "1" 4 | 5 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 6 | cond %{COOKIE:bar} ="" 7 | set-cookie mybar "1" 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/typos.fail.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inound.req.X-Foo ~ /foo/ { 3 | inbound.req.X-Status = "foo"; 4 | } elif outbound.req.X-Bar ~ /bar/ { 5 | inbound.req.X-status = "bar"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc4_file.txt: -------------------------------------------------------------------------------- 1 | 2 includes in the body. One starting down there: 2 | 3 | One other down there: 4 | 5 | that's all folks ! 6 | -------------------------------------------------------------------------------- /plugins/experimental/magick/keys/rsa256-public.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL72a6C93jLI9akQF95QwrtUrbTBJfvU 3 | sUOgZ9vDzgrd6olpvFA76hPama9SXI6kocYQewPPm9QuxGIxW2U3sSsCAwEAAQ== 4 | -----END PUBLIC KEY----- 5 | -------------------------------------------------------------------------------- /tests/gold_tests/body_factory/gold/http-head-no-origin.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 404 Not Found 2 | `` 3 | Connection: keep-alive 4 | `` 5 | Cache-Control: no-store 6 | Content-Type: text/html 7 | Content-Language: en 8 | Content-Length: 297 9 | 10 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/priority_0_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /bigfile HTTP/{} 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/2{} 200 `` 8 | < server:{}ATS/`` 9 | `` 10 | < content-length:{}1048576 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/redirect/gold/redirect_stale.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | X-Obj: obj2 3 | Cache-Control: max-age=2 4 | Content-Length: 0 5 | 6 | HTTP/1.1 200 OK 7 | X-Obj: obj2 8 | Cache-Control: max-age=2 9 | Content-Length: 0 10 | 11 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-preaccept-1.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=1 client_hello=0 client_hello_imm=0 sni=0 cert=0 cert_imm=0 pa_delay=0 2 | `` DIAG: (ssl_hook_test) Pre accept callback 0 `` - event is good 3 | `` 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/hdr-exists.input.txt: -------------------------------------------------------------------------------- 1 | READ_RESPONSE { 2 | if !outbound.resp.Cache-Control && outbound.status > 199 && outbound.status < 300 { 3 | outbound.resp.Cache-Control = "max-age=600, public"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/hdr-exists.output.txt: -------------------------------------------------------------------------------- 1 | cond %{READ_RESPONSE_HDR_HOOK} [AND] 2 | cond %{HEADER:Cache-Control} ="" [AND] 3 | cond %{STATUS} >199 [AND] 4 | cond %{STATUS} <300 5 | set-header Cache-Control "max-age=600, public" 6 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/200_sni_bob.gold: -------------------------------------------------------------------------------- 1 | `` 2 | * Hostname bob was found in DNS cache 3 | `` 4 | > GET / HTTP/2 5 | > Host: bob 6 | `` 7 | < HTTP/2 200 8 | < content-length: 0 9 | `` 10 | < server: ATS/`` 11 | `` 12 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rem_org_auth.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section READ_RESPONSE { (sectionBody (statement outbound.resp.Set-Cookie = (value "") ;)) (sectionBody (statement outbound.resp.WWW-Authenticate = (value "") ;)) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/vars_count.fail.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | Flag: bool; 3 | One: int8; 4 | Two: int8; 5 | Three: int8; 6 | Four: int8; 7 | Five: int8; 8 | } 9 | 10 | REMAP { 11 | inbound.req.X-foo = "bar"; 12 | } 13 | -------------------------------------------------------------------------------- /example/plugins/c-api/disable_http2/readme.txt: -------------------------------------------------------------------------------- 1 | Usage: 2 | 3 | In plugins.config, 4 | 5 | disable_http2 sni_a sni_b [...] 6 | 7 | For connections with any of these SNI values, HTTP/2 will be removed (disabled) from the list of valid next protocols. 8 | -------------------------------------------------------------------------------- /tests/gold_tests/logging/gold/field-test.gold: -------------------------------------------------------------------------------- 1 | Transfer-Encoding:Chunked Content-Type:application/json,%20application/json 2 | Transfer-Encoding:- Content-Type:application/jason,%20application/json 3 | Transfer-Encoding:- Content-Type:application/json 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/ja3_fingerprint/modify-sent-client.gold: -------------------------------------------------------------------------------- 1 | +++++++++ Incoming Request +++++++++ 2 | -- State Machine Id`` 3 | POST https://http2.server.com/some/path/http2`` 4 | Host: `` 5 | Content-Type: `` 6 | uuid: `` 7 | x-request: `` 8 | `` 9 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/prefetch/prefetch_simple.gold: -------------------------------------------------------------------------------- 1 | GET http://``/texts/demo-1.txt HTTP/1.1 2 | GET http://domain.in/texts/demo-2.txt HTTP/1.1 3 | GET http://domain.in/texts/demo-3.txt HTTP/1.1 4 | GET http://domain.in/texts/demo-4.txt HTTP/1.1 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/200_sni_dave.gold: -------------------------------------------------------------------------------- 1 | `` 2 | * Hostname dave was found in DNS cache 3 | `` 4 | > GET / HTTP/2 5 | > Host: dave 6 | `` 7 | < HTTP/2 200 8 | < content-length: 0 9 | `` 10 | < server: ATS/`` 11 | `` 12 | 13 | -------------------------------------------------------------------------------- /tests/gold_tests/records/gold/records.yaml.cold_test4.gold: -------------------------------------------------------------------------------- 1 | records: 2 | `` 3 | # Document modified by traffic_ctl `` 4 | #`` 5 | --- 6 | records: 7 | cache: 8 | limits: 9 | http: 10 | max_alts: ! 1 11 | -------------------------------------------------------------------------------- /tests/gold_tests/records/legacy_config/override_map.config: -------------------------------------------------------------------------------- 1 | CONFIG proxy.config.ssl.client.verify.server.policy STRING DISABLED 2 | CONFIG proxy.config.ssl.client.verify.server.properties STRING ALL 3 | CONFIG proxy.config.ssl.client.verify.server INT 1 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/bad_regex.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/conds/bad_regex.fail.input.txt:2:27: error: Invalid regex: unterminated character set at position 3 2 | 2 | if inbound.req.X-Foo ~ /Foo[/ { 3 | | ^ 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/hsts.input.txt: -------------------------------------------------------------------------------- 1 | READ_RESPONSE { 2 | if !outbound.resp.Strict-Transport-Security && inbound.conn.TLS { 3 | outbound.resp.Strict-Transport-Security = "max-age=63072000; includeSubDomains; preload"; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/bad_path.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/ops/bad_path.fail.input.txt:2:2: error: Invalid suffix 'ATH' for group 'URL_FIELDS'. Must be one of: HOST, PATH, PORT, QUERY, SCHEME, URL 2 | 2 | inbound.url.ath="foo"; 3 | | ^ 4 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/compress/etc/ignore-params-false.config: -------------------------------------------------------------------------------- 1 | cache true 2 | remove-accept-encoding true 3 | compressible-content-type application/json 4 | supported-algorithms gzip 5 | minimum-content-length 0 6 | content_type_ignore_parameters false 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/compress/etc/ignore-params-true.config: -------------------------------------------------------------------------------- 1 | cache true 2 | remove-accept-encoding true 3 | compressible-content-type application/json 4 | supported-algorithms gzip 5 | minimum-content-length 0 6 | content_type_ignore_parameters true 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/gold/substitute.gold: -------------------------------------------------------------------------------- 1 | `` 2 | Serving GET /photos/search?query=magic... Finished 3 | `` 4 | Serving GET /photos/search?query=/theunmatchedpath... Finished 5 | `` 6 | Serving GET /photos/search/magic/foobar... Finished 7 | `` -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/two_transactions.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /first HTTP/1.1 3 | > Host: www.notls.com 4 | `` 5 | < HTTP/1.1 200 OK 6 | `` 7 | > GET /second HTTP/1.1 8 | > Host: www.notls.com 9 | `` 10 | < HTTP/1.1 200 OK 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/records/legacy_config/override_value.config: -------------------------------------------------------------------------------- 1 | 2 | CONFIG proxy.config.ssl.client.verify.server INT 1 3 | CONFIG proxy.config.ssl.client.verify.server.policy STRING DISABLED 4 | CONFIG proxy.config.ssl.client.verify.server.properties STRING ALL 5 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-preaccept-delayed-1.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=0 client_hello=0 client_hello_imm=0 sni=0 cert=0 cert_imm=0 pa_delay=1 2 | `` DIAG: (ssl_hook_test) Pre accept delay callback 0 `` - event is good 3 | `` 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/int-header.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (commentLine # This comment is merely here for testing comments)) (programItem (section REMAP { (sectionBody (statement inbound.req.@PropertyName = (value "someproperty") ;)) })) ) 2 | -------------------------------------------------------------------------------- /example/plugins/c-api/thread_pool/test/SynTest/Tests/Psi/psi_files/tc7_file.txt: -------------------------------------------------------------------------------- 1 | include tag with a file that does not exist.this is a doc with a partial begin for include tag 2 | 3 | should remove the tag and include nothing 4 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/bigfile.gold: -------------------------------------------------------------------------------- 1 | `` 2 | content-length: 191414 3 | `` 4 | Response fully received: 191414 bytes 5 | Content success 6 | `` 7 | content-length: 191414 8 | `` 9 | Response fully received: 191414 bytes 10 | Content success 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_body-hit.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Last-Modified:`` 3 | Cache-Control: max-age=1 4 | Content-Length: 3 5 | Date: `` 6 | Age: `` 7 | Connection: keep-alive 8 | Via: `` 9 | Server: `` 10 | X-Cache: hit-fresh 11 | 12 | xxx -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_body-hit_close.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Last-Modified:`` 3 | Cache-Control: max-age=1 4 | Content-Length: 3 5 | Date: `` 6 | Age: `` 7 | Connection: close 8 | Via: `` 9 | Server: `` 10 | X-Cache: hit-fresh 11 | 12 | xxx -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/bad_good_request_http1.gold: -------------------------------------------------------------------------------- 1 | ``HTTP/1.0 400 Invalid HTTP Request 2 | ``Server: ATS/`` 3 | ``Content-Length: 219 4 | `` 5 | Bad Request 6 | ``

Bad Request

7 | ``Description: Could not process this request. 8 | `` 9 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/configs/collapseconfig.txt: -------------------------------------------------------------------------------- 1 | # This is a test configuration 2 | 3 | # Do a regex against the request url 4 | op: 5 | regex: magic 6 | sendto: http://127.0.0.10:$PORT/i/////////like/cheetos?.done=http://finance.yahoo.com 7 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/esi/gold/esi_body.gold: -------------------------------------------------------------------------------- 1 | `` 2 | 3 | 4 | 5 | Hello, 9 | 10 | 11 | 12 | `` 13 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-close-out-close.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Outbound close callback `` - event is good 2 | `` DIAG: (ssl_hook_test) Close callback 0 `` - event is good 3 | `` DIAG: (ssl_hook_test) Close callback 1 `` - event is good 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-sni-2.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=0 client_hello=0 client_hello_imm=0 sni=2 cert=0 cert_imm=0 pa_delay=0 2 | `` DIAG: (ssl_hook_test) SNI callback 0 `` 3 | `` DIAG: (ssl_hook_test) SNI callback 1 `` 4 | `` 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/remap.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:X-Remap} ="yes" 3 | rm-header X-Remap 4 | add-header X-Appended "HRW4U" 5 | else 6 | set-header X-Remap "It was not yes" 7 | rm-header X-Appended 8 | -------------------------------------------------------------------------------- /tools/traffic_via/tests/short: -------------------------------------------------------------------------------- 1 | Via header is [short], Length is 5 2 | traffic_via: Invalid VIA header character: h 3 | traffic_via: Invalid VIA header character: o 4 | traffic_via: Invalid VIA header character: r 5 | traffic_via: Invalid VIA header character: t 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/hsts.output.txt: -------------------------------------------------------------------------------- 1 | cond %{READ_RESPONSE_HDR_HOOK} [AND] 2 | cond %{HEADER:Strict-Transport-Security} ="" [AND] 3 | cond %{INBOUND:TLS} ="" [NOT] 4 | set-header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" 5 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_error_nobody.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 404 Not Found 2 | Content-Length: 0 3 | Cache-Control: max-age=3 4 | Date: `` 5 | Age: `` 6 | Connection: keep-alive 7 | Via: `` 8 | Server: `` 9 | X-Cache-Key: http://127.0.0.1`` 10 | X-Cache: `` 11 | 12 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/200_get.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /`` HTTP/1.1 3 | > Host: www.notls.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Content-Length: 0 9 | < Date: `` 10 | `` 11 | < Server: ATS/`` 12 | `` 13 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-404.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` HTTP/1.1 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 404 Not Found`` 7 | < Date: `` 8 | < Proxy-Connection: keep-alive 9 | < Server: ATS/`` 10 | `` 11 | < Content-Type: text/html 12 | `` 13 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-hitATS-404.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/1.1 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 404 Not Found on Accelerator 7 | < Date: `` 8 | < Connection: `` 9 | < Server: ATS/`` 10 | < Content-Type: text/html 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-cert-1.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=0 client_hello=0 client_hello_imm=0 sni=0 cert=1 cert_imm=0 pa_delay=0 2 | `` DIAG: (ssl_hook_test) Cert callback 0 ssl_vc=`` 3 | `` DIAG: (ssl_hook_test) Callback reenable ssl_vc=`` 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/cache.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CACHE} ("hit-stale","hit-fresh") 3 | set-header X-Cache "hit" 4 | 5 | cond %{REMAP_PSEUDO_HOOK} [AND] 6 | cond %{CACHE} ="hit-stale" 7 | set-header X-Cache-Specific "hit-stale" 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/useless.input.txt: -------------------------------------------------------------------------------- 1 | READ_RESPONSE { 2 | if inbound.url.port == 8090 && inbound.method == "HEAD" && inbound.req.Accept-Language !~ /es-py/ && outbound.status == 304 || random(500) > 200 { 3 | outbound.status = 403; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-destination.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (statement inbound.url.host = (value "foo") ;)) })) (programItem (section SEND_REQUEST { (sectionBody (statement outbound.url.path = (value "foo/bar.txt") ;)) })) ) 2 | -------------------------------------------------------------------------------- /lib/systemtap/README.md: -------------------------------------------------------------------------------- 1 | This header-only file was pulled in to eliminate any dependencies upon SystemTap 2 | packages. It was pulled from the fossies archive here, published to the public 3 | domain, pursuant to CC0: 4 | https://fossies.org/linux/systemtap/includes/sys/sdt.h 5 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_access.gold: -------------------------------------------------------------------------------- 1 | [``] GET http://127.0.0.1:``/get http/2 `` `` TCP_MISS 200 `` 2 | [``] GET http://127.0.0.1:``/bytes/0 http/2 `` `` TCP_MISS 200 0 3 | [``] GET http://127.0.0.1:``/stream-bytes/102400?seed=0 http/2 `` `` TCP_MISS 200 102400 4 | `` 5 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_nobody-hit-stale.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Content-Length: 0 3 | Cache-Control: max-age=3 4 | Date: `` 5 | Age: `` 6 | Connection: keep-alive 7 | Via: `` 8 | Server: `` 9 | X-Cache-Key: http://127.0.0.1`` 10 | X-Cache: `` 11 | 12 | -------------------------------------------------------------------------------- /tests/gold_tests/jsonrpc/json/admin_plugin_send_basic_msg_req.json: -------------------------------------------------------------------------------- 1 | { 2 | "id":"dd0ac6ad-1afc-4db6-b584-a2a02990940f", 3 | "jsonrpc":"2.0", 4 | "method":"admin_plugin_send_basic_msg", 5 | "params":{ 6 | "tag":"some_tag", 7 | "data":"some_data" 8 | } 9 | } -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/map-with-recv-port-ip.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /`` 3 | > Host: test.example.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Content-Length: 2 9 | < Date: `` 10 | < Age: `` 11 | < Server: ATS/`` 12 | < 13 | `` 14 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/map-with-recv-port-unix.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /`` 3 | > Host: test.example.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Content-Length: 4 9 | < Date: `` 10 | < Age: `` 11 | < Server: ATS/`` 12 | < 13 | `` 14 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/cache.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if cache() in ["hit-stale", "hit-fresh"] { 3 | inbound.req.X-Cache = "hit"; 4 | } 5 | 6 | if cache() == "hit-stale" { 7 | inbound.req.X-Cache-Specific = "hit-stale"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/cookie.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.cookie.bar ~ /bar/ { 3 | inbound.cookie.mybar = "1"; 4 | } 5 | } 6 | 7 | SEND_RESPONSE { 8 | if !inbound.cookie.bar { 9 | inbound.cookie.mybar = "1"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/status.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:X-Allow} ="yes" 3 | set-status 403 4 | set-state-flag 0 true 5 | 6 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 7 | cond %{STATE-FLAG:0} 8 | set-status-reason "Go Away" 9 | -------------------------------------------------------------------------------- /lib/fastlz/ChangeLog: -------------------------------------------------------------------------------- 1 | 2020-02-02: Version 0.5.0 2 | 3 | Minor speed improvement on the decompressor. 4 | Prevent memory violation when decompressing corrupted input. 5 | 6 | 2020-01-10: Version 0.4.0 7 | 8 | Only code & infrastructure clean-up, no new functionality. 9 | -------------------------------------------------------------------------------- /src/traffic_via/tests/short: -------------------------------------------------------------------------------- 1 | traffic_via: Invalid VIA header character: h 2 | traffic_via: Invalid VIA header character: o 3 | traffic_via: Invalid VIA header character: r 4 | traffic_via: Invalid VIA header character: t 5 | Via header is [short], Length is 5 6 | Via Header Details: 7 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/range-200.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Server: ATS/`` 3 | Cache-Control: max-age=`` 4 | Last-Modified: Thu, 10 Feb 2022 00:00:00 GMT 5 | ETag: range 6 | Content-Length: 11 7 | Date: `` 8 | Age: `` 9 | Connection: keep-alive 10 | 11 | 0123456789 12 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/configs/pcollapseconfig.txt: -------------------------------------------------------------------------------- 1 | # This is a test configuration 2 | 3 | # Do a regex against the request url 4 | op: 5 | target: puri 6 | regex: /orig_ 7 | sendto: http://127.0.0.10:$PORT/i/////////like/cheetos?.done=http://finance.yahoo.com 8 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/200_post.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > POST /`` HTTP/1.1 3 | > Host: www.example.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Content-Length: `` 9 | < Date: `` 10 | < Age: `` 11 | < Server: ATS/`` 12 | `` 13 | -------------------------------------------------------------------------------- /tests/gold_tests/traffic_ctl/gold/match.gold: -------------------------------------------------------------------------------- 1 | proxy.config.udp.threads: 1 # default 0 2 | proxy.config.accept_threads: 1 # default 1 3 | proxy.config.task_threads: 2 # default 2 4 | proxy.config.cache.threads_per_disk: 8 # default 8 5 | proxy.config.log.preproc_threads: 1 # default 1 6 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-plugin-cntl.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{TRUE} 3 | set-plugin-cntl TIMEZONE LOCAL 4 | set-plugin-cntl INBOUND_IP_SOURCE PEER 5 | else 6 | set-plugin-cntl TIMEZONE GMT 7 | set-plugin-cntl INBOUND_IP_SOURCE PROXY 8 | -------------------------------------------------------------------------------- /plugins/experimental/access_control/README.md: -------------------------------------------------------------------------------- 1 | The access_control plugin covers common use-cases related to providing access control to the objects stored in CDN cache, for more details please see [Access Control Plugin documentation](../../../doc/admin-guide/plugins/access_control.en.rst) 2 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/via.gold: -------------------------------------------------------------------------------- 1 | Via: http/1.1 = http/1.1 tcp ipv4 2 | Via: http/1.0 = http/1.0 tcp ipv4 3 | Via: https/2 = http/1.1 h2 tls/1.{} tcp ipv4 4 | Via: https/1.1 = http/1.1 tls/1.{} tcp ipv4 5 | Via: http/1.1 = http/1.1 tcp ipv6 6 | Via: https/1.1 = http/1.1 tls/1.{} tcp ipv6 7 | -------------------------------------------------------------------------------- /tests/gold_tests/traffic_ctl/gold/t4_yaml.gold: -------------------------------------------------------------------------------- 1 | records: 2 | diags: 3 | logfile: 4 | filename: diags.log 5 | rolling_enabled: 0 6 | rolling_interval_sec: 3600 7 | rolling_min_count: 0 8 | rolling_size_mb: 10 9 | logfile_perm: rw-r--r-- 10 | `` -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/internal.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (functionCall internal ( )))))) (block { (blockItem (statement inbound.req.X-Foo = (value "Is Internal") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/http_cntl_invalid_bool.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/ops/http_cntl_invalid_bool.fail.input.txt:2:4: error: Invalid boolean value 'invalid_value'. Must be one of: 0, 1, FALSE, NO, OFF, ON, TRUE, YES 2 | 2 | http.cntl.LOGGING = invalid_value; 3 | | ^ 4 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/skip_remap_quoted_bool.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/ops/skip_remap_quoted_bool.fail.input.txt:2:4: error: Invalid boolean value '"true"'. Must be one of: 0, 1, FALSE, NO, OFF, ON, TRUE, YES and must not be quoted 2 | 2 | skip-remap("true"); 3 | | ^ 4 | -------------------------------------------------------------------------------- /lib/yamlcpp/src/null.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/null.h" 2 | 3 | namespace YAML { 4 | _Null Null; 5 | 6 | bool IsNullString(const std::string& str) { 7 | return str.empty() || str == "~" || str == "null" || str == "Null" || 8 | str == "NULL"; 9 | } 10 | } // namespace YAML 11 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/bad_good_request.gold: -------------------------------------------------------------------------------- 1 | ``HTTP/1.1 400 Invalid HTTP Request 2 | ``Connection: close 3 | ``Server: ATS/`` 4 | ``Content-Length: 219 5 | `` 6 | Bad Request 7 | ``

Bad Request

8 | ``Description: Could not process this request. 9 | `` 10 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/configs/matchconfig.txt: -------------------------------------------------------------------------------- 1 | # This is a test configuration 2 | 3 | # Do a regex against the cookie 4 | op: 5 | cookie: fpbeta 6 | match: magic 7 | sendto: http://127.0.0.10:$PORT/cookiematches 8 | else: http://127.0.0.11:$ALTPORT/cookiedoesntmatch 9 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/ja3_fingerprint/modify-incoming-client.gold: -------------------------------------------------------------------------------- 1 | +++++++++ Incoming Request +++++++++ 2 | -- State Machine Id`` 3 | GET https:///some/path/https`` 4 | host: `` 5 | content-length: `` 6 | x-request: `` 7 | uuid: `` 8 | x-ja3-sig: `` 9 | x-ja3-raw: `` 10 | `` 11 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/200_http10.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /`` HTTP/1.0 3 | > Host: www.notls.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.0 200 OK 8 | < Content-Length: 0 9 | < Set-Cookie: classified_not_for_logging 10 | < Date: `` 11 | `` 12 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/http_cntl_quoted_bool.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/ops/http_cntl_quoted_bool.fail.input.txt:2:4: error: Invalid boolean value '"true"'. Must be one of: 0, 1, FALSE, NO, OFF, ON, TRUE, YES and must not be quoted 2 | 2 | http.cntl.LOGGING = "true"; 3 | | ^ 4 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_body-miss.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Last-Modified: `` 3 | Cache-Control: max-age=1 4 | Content-Length: 3 5 | Date: `` 6 | Age: `` 7 | Connection: keep-alive 8 | Via: `` 9 | Server: `` 10 | X-Cache-Key: http://127.0.0.1`` 11 | X-Cache: miss 12 | 13 | xxx -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/configs/existsconfig.txt: -------------------------------------------------------------------------------- 1 | # This is a test configuration 2 | 3 | # Do a regex against the cookie 4 | op: 5 | cookie: fpbeta 6 | operation: exists 7 | sendto: http://127.0.0.10:$PORT/cookieexists 8 | else: http://127.0.0.11:$ALTPORT/cookiedoesntexist 9 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/stats_over_http/gold/stats_over_http_csv_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /_stats``HTTP/1.1 3 | `` 4 | < HTTP/1.1 200 OK 5 | < Content-Type: text/csv 6 | < Cache-Control: no-cache 7 | < Date:`` 8 | < Age:`` 9 | < Transfer-Encoding: chunked 10 | < Connection:`` 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-https-200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/1.1 3 | > Host: www.example.com`` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 200 OK 7 | < Date: `` 8 | < Age: `` 9 | < Transfer-Encoding: chunked 10 | < Connection: keep-alive 11 | < Server: ATS/`` 12 | < 13 | `` 14 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/ssl/signed-foo-ec.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg0df37jtDQnTOn9xJ 3 | S50AztApRKX5aZARB0y3efPDQiihRANCAASpxn76BYsyFxh047+h8IA7IeBi8TJA 4 | RHAVMhUV2di/NbSpiczjsjbBIpoRbCV/Kf3IcNmsveMYsKQRWc3ecFAb 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/ssl/signed-san-ec.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgtMJF9eOvYG6eKBh2 3 | xZZfigBkCz8qIUENOV7Umz+Rha+hRANCAAT7LIsiaQcc+iEzBOXc+zvL0argiEHp 4 | yQUQMSm6ZQY06Nvb992y9EXM+wYbIxWJB1EBkETU9lPvwP0ws5K8Q3HK 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-client-hello-delayed-1.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=0 client_hello=1 client_hello_imm=0 sni=0 cert=0 cert_imm=0 pa_delay=0 2 | `` DIAG: (ssl_hook_test) Client Hello callback 0 `` 3 | `` DIAG: (ssl_hook_test) Callback reenable ssl_vc=`` 4 | `` 5 | -------------------------------------------------------------------------------- /tests/tools/microDNS/sample_zonefile.json: -------------------------------------------------------------------------------- 1 | { 2 | "mappings": [ 3 | {"abc.xyz.com.": ["127.0.0.1","127.0.1.1"]}, 4 | {"yahoo.com.": ["128.0.0.1", "128.0.1.0"]}, 5 | {"yelp.com.": ["34.35.166.23", "129.0.0.1"]} 6 | ], 7 | 8 | "otherwise": ["127.0.0.1", "127.1.1.1"] 9 | } 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/split-if.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | inbound.req.X-Miles = "miles"; 3 | inbound.req.X-Miles-Rank = "IV"; 4 | 5 | if inbound.url.path == "favicon.ico" { 6 | inbound.req.X-Foo = "bar"; 7 | } 8 | 9 | inbound.req.X-Leif = "leif"; 10 | } 11 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/vars/assign.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section (varSection VARS { (variables (variablesItem (variableDecl bool_0 : bool ;)) (variablesItem (variableDecl bool_1 : bool ;))) }))) (programItem (section REMAP { (sectionBody (statement bool_1 = (value bool_0) ;)) })) ) 2 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_1_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /bytes/0 HTTP/2 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/2 200 `` 8 | `` 9 | < content-length: 0 10 | < date: `` 11 | < age: `` 12 | < via: ``ApacheTrafficServer/`` 13 | < server: ATS/`` 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_body-hit-stale-INM.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Cache-Control: max-age=1 3 | Content-Length: 3 4 | Date: `` 5 | Etag: `` 6 | Age: `` 7 | Connection: keep-alive 8 | Via: `` 9 | Server: `` 10 | X-Cache-Key: http://127.0.0.1`` 11 | X-Cache: hit-stale 12 | 13 | xxx -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/prefetch/prefetch_overflow.gold: -------------------------------------------------------------------------------- 1 | GET http://``/texts/demo-3594967639391.txt HTTP/1.1 2 | GET http://domain.in/texts/demo-3594967639392.txt HTTP/1.1 3 | GET http://domain.in/texts/demo-3594967639393.txt HTTP/1.1 4 | GET http://domain.in/texts/demo-3594967639394.txt HTTP/1.1 5 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/stats_over_http/gold/stats_over_http_json_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /_stats``HTTP/1.1 3 | `` 4 | < HTTP/1.1 200 OK 5 | < Content-Type: text/json 6 | < Cache-Control: no-cache 7 | < Date:`` 8 | < Age:`` 9 | < Transfer-Encoding: chunked 10 | < Connection:`` 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-https-200_3.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/1.1 3 | > Host: www.example3.com`` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 200 OK 7 | < Date: `` 8 | < Age: `` 9 | < Transfer-Encoding: chunked 10 | < Connection: keep-alive 11 | < Server: ATS/`` 12 | < 13 | `` 14 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/useless.output.txt: -------------------------------------------------------------------------------- 1 | cond %{READ_RESPONSE_HDR_HOOK} [AND] 2 | cond %{CLIENT-URL:PORT} =8090 [AND] 3 | cond %{METHOD} ="HEAD" [AND] 4 | cond %{CLIENT-HEADER:Accept-Language} /es-py/ [AND,NOT] 5 | cond %{STATUS} =304 [OR] 6 | cond %{RANDOM:500} >200 7 | set-status 403 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/invalid_section.fail.error.txt: -------------------------------------------------------------------------------- 1 | tests/data/hooks/invalid_section.fail.input.txt:1:0: error: Invalid section name: 'FOOBAR'. Valid sections: REMAP, SEND_REQUEST, READ_RESPONSE, SEND_RESPONSE, READ_REQUEST, PRE_REMAP, TXN_START, TXN_CLOSE, VARS 2 | 1 | FOOBAR { 3 | | ^ 4 | -------------------------------------------------------------------------------- /ci/asan_leak_suppression/unit_tests.txt: -------------------------------------------------------------------------------- 1 | # leaks in test_X509HostnameValidator 2 | leak:libcrypto.so.1.1 3 | # for OpenSSL 1.0.2: 4 | leak:CRYPTO_malloc 5 | leak:CRYPTO_realloc 6 | leak:ConsCell 7 | # PR#10295 8 | leak:pcre_jit_stack_alloc 9 | # PR#10541 10 | leak:test_http_hdr_print_and_copy_aux 11 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_body-hit-stale.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 200 OK 2 | Last-Modified: `` 3 | Cache-Control: max-age=1 4 | Content-Length: 3 5 | Date: `` 6 | Age: `` 7 | Connection: keep-alive 8 | Via: `` 9 | Server: `` 10 | X-Cache-Key: http://127.0.0.1`` 11 | X-Cache: hit-stale 12 | 13 | xxx -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/field_name_space.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /`` 3 | > Host: www.example.com`` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 200 OK 7 | < Foo: 123 8 | < Foo: 456 9 | < Content-Length: 3 10 | < Date: `` 11 | < Age: `` 12 | < Connection: keep-alive 13 | < Server: ATS/`` 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/configs/notexistsconfig.txt: -------------------------------------------------------------------------------- 1 | # This is a test configuration 2 | 3 | # Do a regex against the cookie 4 | op: 5 | cookie: fpbeta 6 | operation: not exists 7 | sendto: http://127.0.0.10:$PORT/cookiedoesntexist 8 | else: http://127.0.0.11:$ALTPORT/cookieexists 9 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/200OK_test_uds.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /test`` 3 | > Host: www.testexample.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Connection: keep-alive 12 | < Server: ATS/`` 13 | `` 14 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` 3 | > Host: www.example.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Proxy-Connection: keep-alive 12 | < Server: ATS/`` 13 | < 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-DNS-200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` 3 | > Host: testDNS.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Proxy-Connection: keep-alive 12 | < Server: ATS/`` 13 | < 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-https-200_2.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/1.1 3 | > Host: www.anotherexample.com`` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 200 OK 7 | < Date: `` 8 | < Age: `` 9 | < Transfer-Encoding: chunked 10 | < Connection: keep-alive 11 | < Server: ATS/`` 12 | < 13 | `` 14 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-ws-upgrade.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /chat HTTP/1.1 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | `` 6 | < HTTP/1.1 101 Switching Protocols 7 | < Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= 8 | < Date: `` 9 | < Connection: Upgrade 10 | < Upgrade: websocket 11 | `` 12 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/true_false.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_RESPONSE { (sectionBody (conditional (ifStatement if (condition (expression (expression (term (factor true))) || (term (factor false)))) (block { (blockItem (statement inbound.resp.X-foo = (value "bar") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/dscp.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (term (factor true)))) (block { (blockItem (statement inbound.conn.dscp = (value 17) ;)) (blockItem (statement inbound.conn.mark = (value 1234) ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/exceptions.txt: -------------------------------------------------------------------------------- 1 | # Operations tests direction exceptions 2 | # Format: test_name: direction 3 | 4 | # QSA (Query String Append) is a reverse-only test 5 | qsa.input: u4wrh 6 | # HTTP-CNTL valid bools can not reverse back to the original input 7 | http_cntl_valid_bools.input: hrw4u 8 | -------------------------------------------------------------------------------- /configs/body_factory/default/default: -------------------------------------------------------------------------------- 1 | 2 | 3 | Error 4 | 5 | 6 | 7 |

Error

8 |
9 | 10 | 11 | Description: Could not process this request. 12 | 13 |
14 | 15 | -------------------------------------------------------------------------------- /lib/yamlcpp/src/depthguard.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/depthguard.h" 2 | 3 | namespace YAML { 4 | 5 | DeepRecursion::DeepRecursion(int depth, const Mark& mark_, 6 | const std::string& msg_) 7 | : ParserException(mark_, msg_), m_depth(depth) {} 8 | 9 | } // namespace YAML 10 | -------------------------------------------------------------------------------- /tests/gold_tests/chunked_encoding/gold/chunked_POST_200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > POST / HTTP/1.1 3 | > Host: www.yetanotherexample.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */*`` 6 | `` 7 | `` 8 | < HTTP/1.1 200 OK 9 | < Server: ATS/`` 10 | < Date:`` 11 | < Age:`` 12 | < Transfer-Encoding: chunked`` 13 | `` 14 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-DNS-ipv6-200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` 3 | > Host: testDNS2.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Proxy-Connection: keep-alive 12 | < Server: ATS/`` 13 | < 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-referer-hit.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` 3 | > Host: test4.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Proxy-Connection: keep-alive 12 | < Server: ATS/`` 13 | < 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap2-200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` 3 | > Host: www.example2.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Proxy-Connection: keep-alive 12 | < Server: ATS/`` 13 | < 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/tls_hooks/gold/ts-preaccept-2.gold: -------------------------------------------------------------------------------- 1 | `` DIAG: (ssl_hook_test) Setup callbacks pa=2 client_hello=0 client_hello_imm=0 sni=0 cert=0 cert_imm=0 pa_delay=0 2 | `` DIAG: (ssl_hook_test) Pre accept callback 0 `` - event is good 3 | `` DIAG: (ssl_hook_test) Pre accept callback 1 `` - event is good 4 | `` 5 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/to-url.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable to.url.path) ~ (regex /foo/)))))) (block { (blockItem (statement inbound.req.To-URL = (value "allowed") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/traffic_via/tests/rubbish: -------------------------------------------------------------------------------- 1 | Via header is [rubbish], Length is 7 2 | traffic_via: Invalid VIA header character: r 3 | traffic_via: Invalid VIA header character: b 4 | traffic_via: Invalid VIA header character: b 5 | traffic_via: Invalid VIA header character: i 6 | traffic_via: Invalid VIA header character: h 7 | -------------------------------------------------------------------------------- /src/traffic_layout/README: -------------------------------------------------------------------------------- 1 | traffic_layout is a easy-to-use tool to: 2 | - show the location of various installation paths and resources. 3 | - deal with traffic server runroot. 4 | 5 | For detailed information, please refer to doc/appendices/command-line/traffic_layout.en and doc/developer-guide/layout/runroot.en. 6 | -------------------------------------------------------------------------------- /tests/gold_tests/tls/gold/proxycert2-accesslog.gold: -------------------------------------------------------------------------------- 1 | 200 https://127.0.0.1:``/ 2 0 2 | 502 https://127.0.0.1:``/ 2 0 3 | 200 https://127.0.0.1:``/ 2 0 4 | 502 https://127.0.0.1:``/ 2 0 5 | 404 https://127.0.0.1:``/ 2 0 6 | 502 https://127.0.0.1:``/ 2 0 7 | 502 https://127.0.0.1:``/ 1 0 8 | 502 https://127.0.0.1:``/ 1 0 9 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/access.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (functionCall access ( (argumentList (value "/tmp/bar")) )))))) (block { (blockItem (statement inbound.req.X-Remap = (value "exists") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/from-url.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable from.url.path) ~ (regex /foo/)))))) (block { (blockItem (statement inbound.req.From-URL = (value "allowed") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/ip.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_REQUEST_HDR_HOOK} [AND] 2 | cond %{IP:CLIENT} {192.168.0.0/16,10.0.0.0/8} 3 | set-header Client-IP "%{IP:CLIENT}" 4 | set-header ATS-Inbound-IP "%{IP:INBOUND}" 5 | set-header Server-IP "%{IP:SERVER}" 6 | set-header ATS-Outbound-IP "%{IP:OUTBOUND}" 7 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/remap.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if inbound.req.X-Remap == "yes" { 3 | inbound.req.X-Remap = ""; 4 | inbound.req.X-Appended += "HRW4U"; 5 | } else { 6 | inbound.req.X-Remap = "It was not yes"; 7 | inbound.req.X-Appended = ""; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/expansion.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | set-state-int8 0 17 3 | 4 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 5 | set-header X-Foo "Foo is %{STATE-INT8:0}" 6 | set-header X-Random "Random is %{RANDOM:100}" 7 | set-header X-Hdr "Header is %{CLIENT-HEADER:X-Hdr}" 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-conf.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (term (factor true)))) (block { (blockItem (statement (functionCall set-config ( (argumentList (value "proxy.config.http.cache.http") , (value 0)) )) ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /lib/Catch2/CMake/Catch2Config.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | # Avoid repeatedly including the targets 4 | if(NOT TARGET Catch2::Catch2) 5 | # Provide path for scripts 6 | list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") 7 | 8 | include(${CMAKE_CURRENT_LIST_DIR}/Catch2Targets.cmake) 9 | endif() 10 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_body-hit-stale-206-etag.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 206 Partial Content 2 | Cache-Control: max-age=1 3 | Content-Length: 2 4 | Date: `` 5 | Etag: myetag 6 | Age: `` 7 | Connection: keep-alive 8 | Via: `` 9 | Server: `` 10 | X-Cache-Key: http://127.0.0.1`` 11 | X-Cache: hit-stale 12 | 13 | xx -------------------------------------------------------------------------------- /tests/gold_tests/headers/cache_and_req_body-hit-stale-206.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 206 Partial Content 2 | Last-Modified: `` 3 | Cache-Control: max-age=1 4 | Content-Length: 2 5 | Date: `` 6 | Age: `` 7 | Connection: keep-alive 8 | Via: `` 9 | Server: `` 10 | X-Cache-Key: http://127.0.0.1`` 11 | X-Cache: hit-stale 12 | 13 | xx -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/range-206.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 206 Partial Content 2 | Server: ATS/`` 3 | Cache-Control: max-age=300 4 | Last-Modified: Thu, 10 Feb 2022 00:00:00 GMT 5 | ETag: range 6 | Content-Length: 5 7 | Date: `` 8 | Age: `` 9 | Content-Range: bytes 1-5/11 10 | Connection: keep-alive 11 | 12 | 12345`` 13 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/compress/compress.config: -------------------------------------------------------------------------------- 1 | cache true 2 | remove-accept-encoding true 3 | compressible-content-type text/* 4 | compressible-content-type application/x-javascript* 5 | compressible-content-type application/javascript* 6 | compressible-content-type application/json* 7 | supported-algorithms gzip,br 8 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/lookupTest.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET ``/test`` 3 | > Host: www.testexample.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Proxy-Connection: keep-alive 12 | < Server: ATS/`` 13 | < 14 | `` 15 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/geo.output.txt: -------------------------------------------------------------------------------- 1 | cond %{SEND_RESPONSE_HDR_HOOK} [AND] 2 | cond %{GEO:COUNTRY} ="US" 3 | set-header ATS-Geo-Country "%{GEO:COUNTRY}" 4 | set-header ATS-Geo-Country-ISO "%{GEO:COUNTRY-ISO}" 5 | set-header ATS-Geo-ASN "%{GEO:ASN}" 6 | set-header ATS-Geo-ASN-NAME "%{GEO:ASN-NAME}" 7 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/impl-expr.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (expression (term (factor inbound.req.X-Foo))) || (term (factor inbound.req.X-Bar)))) (block { (blockItem (statement inbound.req.X-fie = (value "123") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/dbg-req.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable inbound.req.X-Debug) == (value "supersekret")))))) (block { (blockItem (statement (functionCall set-debug ( )) ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/qsa.input.txt: -------------------------------------------------------------------------------- 1 | # Note that this also tests the default REMAP hook. We made this a special 2 | # test, because in hrw4u, we don't use QSA. 3 | REMAP { 4 | if geo.COUNTRY == SE { 5 | set-redirect(302, "https://www.example.com/SE/{inbound.url.path}?{inbound.url.query}"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/qsa.output.txt: -------------------------------------------------------------------------------- 1 | # Note that this also tests the default REMAP hook. We made this a special 2 | # test, because in hrw4u, we don't use QSA. 3 | cond %{REMAP_PSEUDO_HOOK} [AND] 4 | cond %{GEO:COUNTRY} =SE 5 | set-redirect 302 "https://www.example.com/SE/%{CLIENT-URL:PATH}?%{CLIENT-URL:QUERY}" 6 | -------------------------------------------------------------------------------- /ci/README: -------------------------------------------------------------------------------- 1 | This directory is used by Apache Build Services (Buildbot) 2 | 3 | Any file listed in the rat-excludes.txt file won't figure in the rat reports 4 | since some files don't need license headers, and can be excluded 5 | Every build by buildbot also produces a rat report and publishes it on the 6 | Build Services website 7 | -------------------------------------------------------------------------------- /tests/gold_tests/chunked_encoding/gold/chunked_GET_200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` HTTP/1.1 3 | > Host: www.example.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Server: ATS/`` 9 | < Date:`` 10 | < Age: `` 11 | < Transfer-Encoding: chunked`` 12 | < Proxy-Connection: keep-alive`` 13 | `` 14 | -------------------------------------------------------------------------------- /tests/gold_tests/chunked_encoding/gold/chunked_GET_200_uds.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` HTTP/1.1 3 | > Host: www.example.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Server: ATS/`` 9 | < Date:`` 10 | < Age: `` 11 | < Transfer-Encoding: chunked`` 12 | < Connection: keep-alive`` 13 | `` 14 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/xdebug/x_remap/x_remap.gold: -------------------------------------------------------------------------------- 1 | X_DEBUG MISSING 2 | - 3 | X_DEBUG MISSING 4 | - 5 | X_DEBUG MISSING 6 | - 7 | X_DEBUG MISSING 8 | - 9 | X-Remap, fwd, Probe 10 | - 11 | X_DEBUG MISSING 12 | - 13 | X-Remap, fwd=0, Probe 14 | - 15 | PROBE, X-Remap, fwd=999998 16 | - 17 | X_DEBUG MISSING 18 | - 19 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-ip-resolve.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET http://testDNS.com/`` 3 | > Host: testDNS.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Server: ATS/`` 9 | < Date: `` 10 | < Age: `` 11 | < Transfer-Encoding: chunked 12 | < Proxy-Connection: keep-alive 13 | < 14 | `` 15 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-plugin-cntl.input.txt: -------------------------------------------------------------------------------- 1 | REMAP { 2 | if true { 3 | set-plugin-cntl(TIMEZONE, "LOCAL"); 4 | set-plugin-cntl(INBOUND_IP_SOURCE, "PEER"); 5 | } else { 6 | set-plugin-cntl(TIMEZONE, "GMT"); 7 | set-plugin-cntl(INBOUND_IP_SOURCE, "PROXY"); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /lib/yamlcpp/src/node.cpp: -------------------------------------------------------------------------------- 1 | #include "yaml-cpp/node/node.h" 2 | #include "nodebuilder.h" 3 | #include "nodeevents.h" 4 | 5 | namespace YAML { 6 | Node Clone(const Node& node) { 7 | NodeEvents events(node); 8 | NodeBuilder builder; 9 | events.Emit(builder); 10 | return builder.Root(); 11 | } 12 | } // namespace YAML 13 | -------------------------------------------------------------------------------- /plugins/cache_range_requests/Changelog: -------------------------------------------------------------------------------- 1 | 2 | 1.1 Fri Sep 18 2015 3 | Modified the plugin to add back the Range request header at the TS_HTTP_SEND_RESPONSE_HDR_HOOK 4 | so that custom logging of range requests works properly. 5 | 6 | 1.1 Fri Sep 18 2015 7 | Removed version information from TSPluginRegister() due to an API change. 8 | -------------------------------------------------------------------------------- /plugins/prefetch/README.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | The purpose of the plugin is to increase the cache-hit ratio for a sequence of 4 | objects which URL paths follow a common pattern. 5 | 6 | # Documentation 7 | Details and examples can be found in [prefetch plugin documentation](../../doc/admin-guide/plugins/prefetch.en.rst). 8 | 9 | -------------------------------------------------------------------------------- /tests/gold_tests/chunked_encoding/gold/verifier_client_chunked.gold: -------------------------------------------------------------------------------- 1 | `` 2 | connection: keep-alive 3 | `` 4 | Connection: close 5 | `` 6 | ``content: 7 | 0000000 0000001 0000002 0000003 8 | `` 9 | connection: keep-alive 10 | `` 11 | Connection: close 12 | `` 13 | ``content: 14 | 0000000 0000001 0000002 0000003 15 | `` 16 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/gold/range-206-revalidated.gold: -------------------------------------------------------------------------------- 1 | HTTP/1.1 206 Partial Content 2 | Server: ATS/`` 3 | Cache-Control: max-age=1 4 | Last-Modified: Thu, 10 Feb 2022 00:00:00 GMT 5 | Content-Length: 5 6 | Date: `` 7 | Etag: range 8 | Age: `` 9 | Content-Range: bytes 1-5/11 10 | Connection: keep-alive 11 | 12 | 12345`` 13 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/cookie_remap/configs/bucketconfig.txt: -------------------------------------------------------------------------------- 1 | # This is a test configuration 2 | 3 | # Do a regex against the cookie 4 | op: 5 | cookie: fpbeta 6 | operation: bucket 7 | bucket: 30/100 8 | sendto: http://127.0.0.10:$PORT/cookiematches 9 | else: http://127.0.0.11:$ALTPORT/cookiedoesntmatch 10 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/traffic_dump/gold/200_get_sensitive_field.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /`` HTTP/1.1 3 | > Host: www.notls.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Content-Length: 0 9 | < Set-Cookie: classified_not_for_logging 10 | < Date: `` 11 | `` 12 | < Server: ATS/`` 13 | `` 14 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-cc-out.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_REQUEST { (sectionBody (commentLine # Remove the cache-control and Pragma header. Pragma is rare though)) (sectionBody (statement outbound.req.Cache-Control = (value "") ;)) (sectionBody (statement outbound.req.Pragma = (value "") ;)) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/set-body.output.txt: -------------------------------------------------------------------------------- 1 | cond %{REMAP_PSEUDO_HOOK} [AND] 2 | cond %{CLIENT-HEADER:X-Foo} ="bar" 3 | set-body "This is a response body" 4 | else 5 | set-state-flag 0 true 6 | 7 | cond %{READ_RESPONSE_HDR_HOOK} [AND] 8 | cond %{STATE-FLAG:0} 9 | set-body-from "https://example.com/body.txt" 10 | -------------------------------------------------------------------------------- /configs/body_factory/default/request#syntax_error: -------------------------------------------------------------------------------- 1 | 2 | 3 | Bad Request 4 | 5 | 6 | 7 |

Bad Request

8 |
9 | 10 | 11 | Description: Could not process this request. 12 | 13 |
14 | 15 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_0_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /get HTTP/2 3 | > Host: `` 4 | > ``ser-Agent: curl/`` 5 | > ``ccept: */* 6 | `` 7 | < HTTP/2 200 `` 8 | `` 9 | < content-type: application/json; ``=utf-8 10 | < date: `` 11 | < content-length: `` 12 | < age: `` 13 | < via: ``ApacheTrafficServer/`` 14 | < server: ATS/`` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/stats_over_http/gold/stats_over_http_prometheus_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /_stats``HTTP/1.1 3 | `` 4 | < HTTP/1.1 200 OK 5 | < Content-Type: text/plain; version=0.0.4; charset=utf-8 6 | < Cache-Control: no-cache 7 | < Date:`` 8 | < Age:`` 9 | < Transfer-Encoding: chunked 10 | < Connection:`` 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/200OK_test.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET http://www.testexample.com/test`` 3 | > Host: www.testexample.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 200 OK 8 | < Date: `` 9 | < Age: `` 10 | < Transfer-Encoding: chunked 11 | < Proxy-Connection: keep-alive 12 | < Server: ATS/`` 13 | `` 14 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/expansion.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | int8_0: int8; 3 | } 4 | 5 | REMAP { 6 | int8_0 = 17; 7 | } 8 | 9 | SEND_RESPONSE { 10 | inbound.resp.X-Foo = "Foo is {int8_0}"; 11 | inbound.resp.X-Random = "Random is {random(100)}"; 12 | inbound.resp.X-Hdr = "Header is {inbound.req.X-Hdr}"; 13 | } 14 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/status.input.txt: -------------------------------------------------------------------------------- 1 | VARS { 2 | bool_0: bool; 3 | } 4 | 5 | REMAP { 6 | if inbound.req.X-Allow == "yes" { 7 | inbound.status = 403; 8 | bool_0 = true; 9 | } 10 | } 11 | 12 | SEND_RESPONSE { 13 | if bool_0 { 14 | http.status.reason = "Go Away"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tests/gold_tests/autest-site/min_cfg/readme.txt: -------------------------------------------------------------------------------- 1 | Contains the minimum set of config file and setting to allow trafficserver to start in a usable way. 2 | The goal is to remove the need for any of these files to exist. 3 | ip_allow.yaml is needed to allow tests the minimum access to traffic_server. 4 | storage.config needs to exist for now. 5 | -------------------------------------------------------------------------------- /tests/gold_tests/h2/gold/httpbin_2_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET /stream-bytes/102400?seed=0 HTTP/2 3 | > Host: `` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/2 200 `` 8 | `` 9 | < content-type: application/octet-stream 10 | < date: `` 11 | < age: `` 12 | < via: ``ApacheTrafficServer/`` 13 | < server: ATS/`` 14 | `` 15 | -------------------------------------------------------------------------------- /tests/gold_tests/jsonrpc/json/admin_host_set_status_req.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "c6d56fba-0cbd-11eb-926d-001fc69cc946", 3 | "jsonrpc": "2.0", 4 | "method": "admin_host_set_status", 5 | "params": { 6 | "operation": "$operation", 7 | "host": ["$host"], 8 | "reason": "manual", 9 | "time": "100" 10 | } 11 | } -------------------------------------------------------------------------------- /tests/gold_tests/jsonrpc/json/admin_lookup_records_req_metric.json: -------------------------------------------------------------------------------- 1 | { 2 | "id":"5dee0f4d-94b9-4132-a6d8-f7924d3a6dac", 3 | "jsonrpc":"2.0", 4 | "method":"admin_lookup_records", 5 | "params":[ 6 | { 7 | "rec_types": [2, 4, 32], 8 | "record_name_regex": "$record_name_regex" 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-redirect.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` 3 | > Host: test3.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 301 Redirect 8 | < Date: `` 9 | < Proxy-Connection: `` 10 | < Server: ATS/`` 11 | < Cache-Control: `` 12 | < Location: http://httpbin.org/ 13 | `` 14 | < Content-Length: `` 15 | `` 16 | -------------------------------------------------------------------------------- /tests/gold_tests/session_sharing/gold/200.gold: -------------------------------------------------------------------------------- 1 | `` 2 | < HTTP/1.1 200 OK 3 | `` 4 | < Content-Length: 0 5 | `` 6 | < Connection: close 7 | `` 8 | < HTTP/1.1 200 OK 9 | `` 10 | < Content-Length: 0 11 | `` 12 | < Connection: close 13 | `` 14 | < HTTP/1.1 200 OK 15 | `` 16 | < Content-Length: 0 17 | `` 18 | < Connection: close 19 | `` 20 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/outbound.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_REQUEST { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable outbound.url.host) ~ (regex /foo|bar/)))))) (block { (blockItem (statement outbound.req.X-Valid = (value "{outbound.url.port}") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/examples/rm-query.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section REMAP { (sectionBody (statement inbound.url.query = (value "") ;)) (sectionBody (statement (functionCall remove_query ( (argumentList (value "foo,bar")) )) ;)) (sectionBody (statement (functionCall keep_query ( (argumentList (value "foo,bar")) )) ;)) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/send_request.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_REQUEST { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable outbound.req.X-Send-Request) == (value "yes")))))) (block { (blockItem (statement outbound.req.X-Send-Request = (value "") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/ops/skip-remap.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_REQUEST { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable inbound.req.path) ~ (regex /foo/)))))) (block { (blockItem (statement (functionCall skip-remap ( (argumentList (value true)) )) ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /ts.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_FULL_LIBEXECDIR@ 3 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ 4 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@ 5 | 6 | Name: trafficserver 7 | Description: Apache Traffic Server 8 | Version: @TS_VERSION_STRING@ 9 | Requires: 10 | Libs: 11 | Cflags: -I${includedir}/ts 12 | -------------------------------------------------------------------------------- /configs/body_factory/default/cache#read_error: -------------------------------------------------------------------------------- 1 | 2 | 3 | Temporary Error 4 | 5 | 6 | 7 |

Temporary Error

8 |
9 | 10 | 11 | Description: Temporary error. Please try again later. 12 | 13 |
14 | 15 | -------------------------------------------------------------------------------- /tests/gold_tests/headers/via_h3.gold: -------------------------------------------------------------------------------- 1 | Via: http/1.1 = http/1.1 tcp ipv4 2 | Via: http/1.0 = http/1.0 tcp ipv4 3 | Via: https/2 = http/1.1 h2 tls/1.{} tcp ipv4 4 | Via: https/3 = http/1.1 h3 quic tls/1.{} udp ipv4 5 | Via: https/1.1 = http/1.1 tls/1.{} tcp ipv4 6 | Via: http/1.1 = http/1.1 tcp ipv6 7 | Via: https/1.1 = http/1.1 tls/1.{} tcp ipv6 8 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/tsapi/test_TSHttpSsnInfo_nghttp0.gold: -------------------------------------------------------------------------------- 1 | `` 2 | [``] send HEADERS frame 3 | ; END_HEADER`` 4 | `` 5 | [``] send DATA frame 6 | ``; END_STREAM 7 | `` 8 | [``] recv (stream_id=``) :status: 431 9 | `` 10 | ``; END_STREAM 11 | `` 12 | -------------------------------------------------------------------------------- /tests/gold_tests/redirect/gold/number_of_redirections_2.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET ``/ping HTTP/1.1 3 | > Host: a.test 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | > uuid: redirect_test_1 8 | `` 9 | < HTTP/1.1 200 OK 10 | < date: `` 11 | < Age: `` 12 | < Transfer-Encoding: chunked 13 | < ``Connection: keep-alive 14 | < Server: ATS/`` 15 | `` -------------------------------------------------------------------------------- /tests/gold_tests/remap/gold/remap-referer-miss.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET `` 3 | > Host: test4.com`` 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | `` 7 | < HTTP/1.1 302 Redirect 8 | < Date: `` 9 | < Proxy-Connection: `` 10 | < Server: ATS/`` 11 | < Cache-Control: `` 12 | < Location: http://httpbin.org 13 | `` 14 | < Content-Length: `` 15 | `` 16 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/geo.input.txt: -------------------------------------------------------------------------------- 1 | SEND_RESPONSE { 2 | if geo.COUNTRY == "US" { 3 | inbound.resp.ATS-Geo-Country = "{geo.COUNTRY}"; 4 | inbound.resp.ATS-Geo-Country-ISO = "{geo.COUNTRY-ISO}"; 5 | inbound.resp.ATS-Geo-ASN = "{geo.ASN}"; 6 | inbound.resp.ATS-Geo-ASN-NAME = "{geo.ASN-NAME}"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/conds/http-cntl.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_RESPONSE { (sectionBody (conditional (ifStatement if (condition (expression (term (factor http.cntl.LOGGING)))) (block { (blockItem (statement inbound.resp.X-Foo = (value "Logging on") ;)) (blockItem (statement http.cntl.LOGGING = (value false) ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/read_response.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section READ_RESPONSE { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable outbound.resp.X-Read-Response) == (value "yes")))))) (block { (blockItem (statement outbound.resp.X-Read-Response = (value "") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /tools/hrw4u/tests/data/hooks/send_response.ast.txt: -------------------------------------------------------------------------------- 1 | (program (programItem (section SEND_RESPONSE { (sectionBody (conditional (ifStatement if (condition (expression (term (factor (comparison (comparable inbound.resp.X-Send-Response) == (value "yes")))))) (block { (blockItem (statement inbound.resp.X-Send-Response = (value "") ;)) })))) })) ) 2 | -------------------------------------------------------------------------------- /plugins/experimental/cookie_remap/README: -------------------------------------------------------------------------------- 1 | ============================================================ 2 | Cookie Based Routing Inside TrafficServer Using cookie_remap 3 | ============================================================ 4 | 5 | ---- 6 | 7 | 8 | For details please read the official documentation in the Admin Guide section. 9 | 10 | -------------------------------------------------------------------------------- /tests/gold_tests/cache/gold/background_fill_2_stderr_H.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > PURGE /drip?duration=4 HTTP/2 3 | `` 4 | < HTTP/2 `` 5 | `` 6 | < via: http/1.1 traffic_server (ApacheTrafficServer/``) 7 | `` 8 | > GET /drip?duration=4 HTTP/2 9 | `` 10 | > GET /drip?duration=4 HTTP/2 11 | `` 12 | < HTTP/2 200`` 13 | `` 14 | < x-cache: hit-fresh 15 | `` 16 | -------------------------------------------------------------------------------- /tests/gold_tests/connect/gold/connect_0_stderr.gold: -------------------------------------------------------------------------------- 1 | `` 2 | * Establish HTTP proxy tunnel to foo.com:80 3 | > CONNECT foo.com:80 HTTP/1.1 4 | > Host: foo.com:80 5 | `` 6 | >`` 7 | < HTTP/1.1 200 OK 8 | `` 9 | <`` 10 | `` CONNECT `` 11 | `` 12 | > GET /get HTTP/1.1 13 | > Host: foo.com 14 | >`` 15 | < HTTP/1.1 200 OK 16 | `` 17 | <`` 18 | `` 19 | -------------------------------------------------------------------------------- /tests/gold_tests/cripts/gold/basic_cript.gold: -------------------------------------------------------------------------------- 1 | `` 2 | > GET / HTTP/1.1 3 | > Host: www.example.com 4 | > User-Agent: curl/`` 5 | > Accept: */* 6 | > 7 | `` 8 | < HTTP/1.1 200 OK 9 | < responseHeader: changed 10 | < Date: `` 11 | < Age: `` 12 | < Connection: keep-alive 13 | < Server: ATS/`` 14 | < criptsResponseHeader: response 15 | < 16 | `` 17 | -------------------------------------------------------------------------------- /tests/gold_tests/jsonrpc/json/admin_config_set_records_req.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "a32de1da-08be-11eb-9e1e-001fc69cc946", 3 | "jsonrpc": "2.0", 4 | "method": "admin_config_set_records", 5 | "params": [ 6 | { 7 | "record_name": "$record_name", 8 | "record_value": "$record_value" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /tests/gold_tests/pluginTest/uri_signing/signer.json: -------------------------------------------------------------------------------- 1 | { 2 | "iss": "issuer", 3 | "token_lifetime": 90, 4 | "keys": [ 5 | { 6 | "alg": "HS256", 7 | "k": "SECRET00", 8 | "kid": "0", 9 | "kty": "oct" 10 | }, 11 | { 12 | "alg": "HS256", 13 | "k": "SECRET01", 14 | "kid": "1", 15 | "kty": "oct" 16 | } 17 | ] 18 | } 19 | --------------------------------------------------------------------------------