Restricting Users, by Agent

This article describes how to add an NTRIP Agent Restriction to user accounts in the SNIP NTRIP Caster.

The NTRIP Agent Restrictions tab

This tab is used to control which User Agents (NTRIP Client software) the User Account is allowed to connect with. Use this feature to restrict the list of approved devices (hardware or software) this user account can use to connect to your Caster.

All well constructed NTRIP Clients provide a “User agent” string as part of the HTTP header used when they connect to your Caster.  The precise format varies between the NTRIP Rev1 and Rev2 connection protocols (this article summarizes the main differences with examples).

Want a quick look at some common NTRIP Client agents?
Click here to see what has connected to the RTK2go.com:2101 Public Caster recently.

But the primary take-away is that well behaved NTRIP Clients identify the software (and often the version) they are using when they connect.  And therefore this can also be used as yet another way to control how your user accounts are allowed to connect to your Caster.

The checking method used by SNIP performs a simple string search using the “root name” of the agent name in a case sensitive sub-string match.  NTRIP Clients using an agent that matches the sub-string are either allowed to prohibited (depending on which list the matching sub-string was in).

In the below image the Select None button has been pressed, resulting in a listing all the known Agents from which the user can select the ones of interest.  The “root name” of over 80 common agents are currently loaded, and the operator can add items (or edit and extend an existing item) with the Add… button in the normal way.

The check box Case Sensitive Matches should in general be left checked to prevent false positive matches.

The checkbox called Hide those Not Selected is used to hide agents which are not checked.  This has value for clutter reduction so that the operator can clearly see which agents have been selected.

When a user with this account connects, the agent is checked against the Allowed and Prohibited lists, if the Activate checkbox is enabled.   If the user is not allowed to connect due to this restriction, an entry in the console log is added to inform the operator.

The most typical use case is a Caster operator that wishes to ensure that a given user account connects only with the NTRIP Client software they are authorized to be using.

On sub-string matching

Care should be taken when adding new Agents to avoid a false match.  Short strings are always a concern in this regard.  For example; entering only the term “NTRIP” would match nearly every agent, which is probably not the desired outcome.

By the same logic, strings which are too long may match on a very specific version of the agent when perhaps less specificity is required.

As an example, consider the following fifteen NTRIP Client agents:

NTRIP RTKLIB/2.4.1  
NTRIP RTKLIB/2.4.2  
NTRIP RTKLIB/2.4.3  
NTRIP RTKLIB/2.4.3 Emlid 
NTRIP RTKLIB/2.4.3 demo5  
NTRIP RTKLIB/2.4.3_b33  
NTRIP RTKLIB/demo5_b30  
NTRIP RTKLIB/demo5_b31  
NTRIP RTKLIB/demo5_b31a  
NTRIP RTKLIB/demo5_b33a  
NTRIP RTKLIB/demo5_b33b2  
NTRIP RTKLIB/demo5_b33c  
NTRIP RTKLIB/demo5_b33d 
NTRIP RTKLIB/demo5_b33e  
NTRIP RTKLIB/demo5_b33f

And then consider the following possible agent strings and their outcomes.

  • The agent string “NTRIP RTKLIB/” would match all of these
  • The agent string “NTRIP RTKLIB/2” would match 6 of these
  • The agent string “NTRIP RTKLIB/d” would match 9 of these
  • The agent string “NTRIP RTKLIB/demo5” would match 9 of these
  • The agent string “NTRIP RTKLIB/2.4.3 demo” would match 1 of these
  • The agent string “NTRIP RTKLIB/demo5_b3” would match 9 of these
  • The agent string “NTRIP RTKLIB/demo5_b33” would match 6 of these
  • The agent string “NTRIP RTKLIB/demo5_b33c” would match 1 of these
  • The agent string “NTRIP RTKLIB/demo5_b33cc” would match None of these

 

Note also that this restriction does not operate on browsers or bots (SNIP logic detects browser agent connections and deals with this suitably, typically by returning a Caster table).  So there no need to enter agent strings for these connection types.

 

Note:  The NTRIP Agent Restrictions tab is an advanced feature. It requires a Pro license  and depends on the presences of an active “Enhanced User Management” Plug-In to be used.

About other user account restrictions.

Was this article helpful?

Related Articles