This file is indexed.

/usr/bin/tspush is in trafficserver 5.3.0-2ubuntu2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/env perl

#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

use strict;
use warnings;

use bytes;
use IO::Socket qw( :crlf );
use Getopt::Long;
use URI;


die ("Use --help for options\n") unless GetOptions (
	"f|file=s" => \my $f_name,
        "u|url=s" => \my $url,
	"v|verbose" => \my $debug,
        "h|help" => sub {
		print <<HELP;
Usage: $0 OPTIONS

OPTIONS

	-f|--file     Which file to PUSH
	-u|--url      URL where to PUSH
	-v|--verbose  Print the PUSHed content to stdout

Example
	$0 -f foo.txt -u http://localhost:8080/foo.txt
HELP
		exit;
	}
);

die ("--file and --url must be given!" ) unless ( $f_name && $url) ;

open (my $fh, '<', $f_name) or die $!;
my $uri = URI->new($url);
my $f_type = `file -b --mime $f_name`;

#
# read the file in one go:
#
binmode $fh;
my $f = do { local $/; <$fh> };
my $len_content = length($f) + 2;


my $response = "HTTP/1.0 200 OK${CRLF}Content-type: ${f_type}${CRLF}Content-length: ${len_content}${CRLF}${CRLF}${f}${CRLF}";
my $len_push = length $response;

my $push = "PUSH ${url} HTTP/1.0${CRLF}Content-Length: ${len_push}${CRLF}${CRLF}${response}";
print $push if ($debug);

my $sock = IO::Socket::INET->new(PeerAddr => $uri->host, PeerPort => $uri->port, Proto => 'tcp') or die "Error creating socket: $!";
print $sock $push;
print do { local $/; <$sock> };