Securing access to the Arm Code Advisor web application

Arm Code Advisor displays the results of code analysis in a web application. Arm Code Advisor starts a web server, then users connect to the server with a web browser to see their results. Use configuration options to control who can connect to the web server, and how the connection is secured.

Note for Windows Internet Explorer users

To use the web application of Arm Code Advisor on a Windows 7 machine with Internet Explorer 11 (or respective later versions), you must switch off compatibility mode in the browser. Compatibility mode prevents display of information in Arm Code Advisor.

To turn off compatibility mode in Internet Explorer go to Settings > Compatibility View settings and un-tick the option 'Display intranet sites in Compatibility View'.

Overview

By default, when you call the armcadvisor web command with no options, Arm Code Advisor runs the web server as follows:

  • Access is only allowed from localhost. Access over the network is not allowed.
  • The web server uses port 8080.
  • Access is password-protected by generating a random password for the default username "user".

Configuration options let you customize access to the web server:

Option Description
-e, --everyone Allow access to all without a username or password.
-n, --network Allow access to the server over the network.
-o, --open Attempt to automatically open a browser and connect to the web server.
-u, --user <user:password>

Set the user name and password required to access the server.

The default is "user:"

-p, --port <number> Set the web server port number. The default port is 8080. Specifying 0 (zero) chooses a port number at random.

Network access

By default, Arm Code Advisor only allows access from localhost (that is, a web browser running on the same host as the web server).

To allow access over the network, use the -n option:

% armcadvisor web -n
Open your browser to one of:
  http://foo.arm.com:0
  http://127.0.0.1:0
User: user
Password: vxAqsvOTcKl1

Web server port

When you start the Arm Code Advisor web server, you can decide which port it runs on.

By default, Arm Code Advisor uses port 8080.

Use the -p option to specify a port number:

% armcadvisor web -n -p 8085
Open your browser to one of:
  http://foo.arm.com:8085
  http://127.0.0.1:8085
User: user
Password: 0ZfEkYqhu5VC

Specify -p 0 (zero) to choose a port number at random:

% armcadvisor web -n -p 0
Open your browser to one of:
  http://foo.arm.com:34367
  http://127.0.0.1:34367
User: user
Password: 0ZfEkYqhu5VC

Note: if a port is already occupied, you will receive the error:

[ERROR] Unable to open socket for web server
[ERROR] ... caused by error: listen tcp :8080: bind: address already in use

and you will need to specify a different port to use.

To prevent ports from being unnecessarily unavailable, kill the web server in the terminal when finished running the Arm Code Advisor web application.

User access

When you start the Arm Code Advisor web server, you can decide who is granted access.

By default, Arm Code Advisor generates a random password for the username “user”:

% armcadvisor web -n
Open your browser to one of:
  http://foo.arm.com:8080
  http://127.0.0.1:8080
User: user
Password: _uD!ym5lLtiJ



To specify a different username and password, use the -u option:

% armcadvisor -n -u fred:password
Open your browser to one of:
  http://foo.arm.com:8080
  http://127.0.0.1:8080

When you specify a username and password on the command-line, Arm Code Advisor does not display it in the output for security purposes.