2 # Starts the flash policy server on port 843, then outputs an HTML page that
3 # references the flash object
5 BEGIN { push(@INC, ".."); };
10 &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1);
12 # Work out host and port
13 $host = $ENV{'HTTP_HOST'};
15 $telnetport = $config{'telnetport'} || 23;
18 &open_socket($host, $telnetport, TEST, \$err);
19 $err && &error(&text('index_etelnet', $telnetport));
22 # Start the policy file server on port 843
24 $proto = getprotobyname('tcp');
25 socket(MAIN, PF_INET, SOCK_STREAM, $proto) ||
26 &error(&text('index_esocket', "$!"));
27 setsockopt(MAIN, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
28 bind(MAIN, sockaddr_in($port, INADDR_ANY)) ||
29 &error(&text('index_eport', $port));
30 listen(MAIN, SOMAXCONN);
32 # Fork the process that will accept the connection
36 vec($rmask, fileno(MAIN), 1) = 1;
37 $sel = select($rmask, undef, undef, 10);
38 exit(1) if ($sel <= 0);
42 $header = "<policy-file-request/>\000";
43 read(SOCK, $buf, length($header));
44 $buf eq $header || die "Invalid message $buf";
47 <!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
49 <site-control permitted-cross-domain-policies="master-only"/>
50 <allow-access-from domain="$host" to-ports="$telnetport" />
51 </cross-domain-policy>
58 # Output HTML for the flash object
60 <script type="text/javascript" src="swfobject.js"></script>
61 <script type="text/javascript" src="js/global.js"></script>
62 <script type="text/javascript">
65 params.menu = "false";
66 params.bgcolor = "000000";
68 flashvars.settings = 'settings.cgi';
69 swfobject.embedSWF("flashterm.swf", "flash", "650", "440", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
70 function setFocusOnFlash() {
71 var fl = document.getElementById("flash");
74 swfobject.addLoadEvent(setFocusOnFlash);
76 <div id="flashcontainer"><div id="flash"></div></div>
79 &ui_print_footer("/", $text{'index'});