Ice Reference Documentation
<<< Previous | Properties | Next >>>

# Glacier2 Properties

## Glacier2.AddUserToAllowCategories

### Synopsis

    Glacier2.AddUserToAllowCategories=num

### Description

Specifies whether to add an authenticated user id to the `Glacier2.AllowCategories` property upon the creation of a new session. The legal values are shown below:

0 | Do not add the user id. (default)
1 | Add the user id.
2 | Add the user id with a leading underscore.

## Glacier2.Admin.Endpoints

### Synopsis

    Glacier2.Admin.Endpoints=endpoints

### Description

Defines the optional administrative endpoints of the Glacier2 admin interface. The administrative endpoints must be accessible to clients that are using the Glacier2 admin interface.

| Allowing access to the Glacier2 admin interface is a security risk! If this property is not defined, the admin interface is disabled.

## Glacier2.Admin.PublishedEndpoints

### Synopsis

    Glacier2.Admin.PublishedEndpoints=endpoints

### Description

Defines the optional administrative published endpoints of the Glacier2 admin interface. The administrative endpoints must be accessible to clients that are using the Glacier2 administrative interface. Refer to the description of the object adapter property `adapter`.PublishedEndpoints for more information.

| Allowing access to the Glacier2 admin interface is a security risk!

## Glacier2.AdminIdentity

### Synopsis

    Glacier2.AdminIdentity=identity

### Description

The identity of the Glacier2 admin interface. If not specified, the default value `Glacier2/admin` is used.

| This property is deprecated and supported only for backward-compatibility. New applications should use Glacier2.InstanceName.

## Glacier2.AllowCategories

### Synopsis

    Glacier2.AllowCategories=list

### Description

Specifies a whitespace-separated list of identity categories. If this property is defined, then the Glacier2 router only allows requests to Ice objects with an identity that matches one of the categories from this list. If `Glacier2.AddUserToAllowCategories` is defined with a non-zero value, the router automatically adds the user id of each session to this list.

| This property is deprecated and supported only for backward-compatibility. New applications should use Glacier2.Filter.Category.Accept.

## Glacier2.Client.AlwaysBatch

### Synopsis

    Glacier2.Client.AlwaysBatch=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router always batches queued oneway requests from clients to servers regardless of the value of their `_fwd` contexts. This property is only relevant when `Glacier2.Client.Buffered=1`. The default value is 0.

## Glacier2.Client.Endpoints

### Synopsis

    Glacier2.Client.Endpoints=endpoints

### Description

Defines the client endpoints of the Glacier2 router. These endpoints must be accessible to router clients. Use of a secure transport is highly recommended.

## Glacier2.Client.PublishedEndpoints

### Synopsis

    Glacier2.Client.PublishedEndpoints=endpoints

### Description

Defines the published client endpoints of the Glacier2 router. These endpoints must be accessible to router clients. Use of a secure transport is highly recommended. Refer to the description of the object adapter property `adapter`.PublishedEndpoints for more information.

## Glacier2.Client.ForwardContext

### Synopsis

    Glacier2.Client.ForwardContext=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router includes the context in forwarded requests from clients to servers. The default value is 0.

## Glacier2.Client.SleepTime

### Synopsis

    Glacier2.Client.SleepTime=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router sleeps for the specified number of milliseconds after forwarding all queued requests from a client. This prevents the client from flooding the router with requests. This property is only relevant when `Glacier2.Client.Buffered=1`. The default value is 0.

## Glacier2.Client.Trace.Override

### Synopsis

    Glacier2.Client.Trace.Override=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router logs a trace message whenever a request was overridden. The default value is 0.

## Glacier2.Client.Trace.Reject

### Synopsis

    Glacier2.Client.Trace.Reject=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router logs a trace message whenever the router's configured filters reject a client's request. The default value is 0.

## Glacier2.Client.Trace.Request

### Synopsis

    Glacier2.Client.Trace.Request=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router logs a trace message for each request that is forwarded from a client. The default value is 0.

## Glacier2.Client.Buffered

### Synopsis

    Glacier2.Client.Buffered=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router queues incoming requests from clients and creates an extra thread for each client connection that processes the queued requests. If `num` is set to zero, the router operates in unbuffered mode in which a request is forwarded in the same thread that received it. The default value is 1.

| In unbuffered mode, twoway requests from a client are serialized, and nested twoway requests are not supported.

## Glacier2.CryptPasswords

### Synopsis

    Glacier2.CryptPasswords=file

### Description

Specifies the filename of a Glacier2 access control list. Each line of the file must contain a username and a password, separated by whitespace. The password must be a 13-character, crypt-encoded string. This property is ignored if Glacier2.PermissionsVerifier is defined.

## Glacier2.Filter.AdapterId.Accept

### Synopsis

    Glacier2.Filter.AdapterId.Accept=string

### Description

Specifies a space-separated list of adapter identifiers. If defined, the Glacier2 router only allows requests to Ice objects with an adapter identifier that matches one of the entries in this list.

Identifiers that contain spaces must be enclosed in single or double quotes. Single or double quotes that appear within an identifier must be escaped with a leading backslash.

## Glacier2.Filter.Address.Accept

### Synopsis

    Glacier2.Filter.Address.Accept=string

### Description

Specifies a space-separated list of address-port pairs. When defined, the Glacier2 router only allows requests to Ice objects through proxies that contain network endpoint information that matches an address-port pair listed in this property. If not defined, the value defaults to `*`, which indicates that any network address is permitted. Requests accepted by this property may be rejected by the Glacier2.Filter.Address.Reject property.

Each pair is of the form `address:port`. The address or port number portion can include wildcards ('*') or value ranges or groups. Ranges and groups are in the form of [value1, value2, value3...] and/or [value1-value2]. Wildcards, ranges and groups may appear anywhere in the address-port pair string.

## Glacier2.Filter.Address.Reject

### Synopsis

    Glacier2.Filter.Address.Reject=string

### Description

Specifies a space-separated list of address-port pairs. When defined, the Glacier2 router rejects requests to Ice objects through proxies that contain network endpoint information that matches an address-port pair listed in this property. If not set, the Glacier2 router allows requests to any network address unless the Glacier2.Filter.Address.Accept property is set, in which case requests will be accepted or rejected based on the Glacier2.Filter.Address.Accept property. If both the Glacier2.Filter.Address.Accept and `Glacier2.Filter.Address.Reject` properties are defined, the `Glacier2.Filter.Address.Reject` property takes precedence.

Each pair is of the form `address:port`. The address or port number portion can include wildcards ('*') or value ranges or groups. Ranges and groups are in the form of [value1, value2, value3...] and/or [value1-value2]. Wildcards, ranges and groups may appear anywhere in the address-port pair string.

## Glacier2.Filter.Category.Accept

### Synopsis

    Glacier2.Filter.Category.Accept=string

### Description

Specifies a space-separated list of identity categories. If defined, the Glacier2 router only allows requests to Ice objects with an identity that matches one of the categories in this list. If Glacier2.AddUserToAllowCategories is defined with a non-zero value, the router automatically adds the username of each session to this list.

Categories that contain spaces must be enclosed in single or double quotes. Single or double quotes that appear within a category must be escaped with a leading backslash.

## Glacier2.Filter.Identity.Accept

### Synopsis

    Glacier2.Filter.Identity.Accept=string

### Description

Specifies a space-separated list of identities. If defined, the Glacier2 router only allows requests to Ice objects with an identity that matches one of the entries in this list.

Identities that contain spaces must be enclosed in single or double quotes. Single or double quotes that appear within an identity must be escaped with a leading backslash.

## Glacier2.Filter.ProxySizeMax

### Synopsis

    Glacier2.Filter.ProxySizeMax=num

### Description

If set, the Glacier2 router rejects requests whose stringified proxies are longer than `num`. This helps secure the system against attack. If unset, Glacier2 will accept requests using proxies of any length.

## Glacier2.InstanceName

### Synopsis

    Glacier2.InstanceName=name

### Description

Specifies a default identity category for the Glacier2 objects. If defined, the identity of the Glacier2 admin interface becomes `name``/admin` and the identity of the Glacier2 router interface becomes `name``/router`. The deprecated properties `Glacier2.AdminIdentity` and `Glacier2.RouterIdentity` take precedence.

If not otherwise defined, the default identities of the Glacier2 objects are `Glacier2/admin` and `Glacier2/router`.

## Glacier2.PermissionsVerifier

### Synopsis

    Glacier2.PermissionsVerifier=proxy

### Description

Specifies the proxy of an object that implements the `Glacier2::PermissionsVerifier` interface. The router invokes this proxy to validate the username and password of each new session. Sessions created from a secure connection are verified by the object specified in Glacier2.SSLPermissionsVerifier. For simple configurations, you can specify the name of a password file using Glacier2.CryptPasswords.

## Glacier2.RouterIdentity

### Synopsis

    Glacier2.RouterIdentity=identity

### Description

The identity of the Glacier2 router interface. If not specified, the default value `Glacier2/router` is used.

| This property is deprecated and supported only for backward-compatibility. New applications should use Glacier2.InstanceName.

## Glacier2.RoutingTable.MaxSize

### Synopsis

    Glacier2.RoutingTable.MaxSize=num

### Description

This property sets the size of the router's routing table to `num` entries. If more proxies are added to the table than this value, proxies are evicted from the table on a least-recently used basis.

Clients based on Ice version 3.1 and later automatically retry operation calls on evicted proxies and transparently re-add such proxies to the table. Clients based on Ice versions earlier than 3.1 receive an `ObjectNotExistException` for invocations on evicted proxies. For such older clients, `num` must be set to a sufficiently large value to prevent these clients from failing.

The default size of the routing table is 1000.

## Glacier2.Server.AlwaysBatch

### Synopsis

    Glacier2.Server.AlwaysBatch=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router always batches queued oneway requests from servers to clients regardless of the value of their `_fwd` contexts. This property is only relevant when `Glacier2.Server.Buffered=1`. The default value is 0.

## Glacier2.Server.Endpoints

### Synopsis

    Glacier2.Server.Endpoints=endpoints

### Description

Defines the server endpoints of the Glacier2 router. These endpoints must be accessible to back end servers.

## Glacier2.Server.PublishedEndpoints

### Synopsis

    Glacier2.Server.PublishedEndpoints=endpoints

### Description

Defines the published server endpoints of the Glacier2 router. These endpoints must be accessible to back end servers. Refer to the description of the object adapter property `adapter`.PublishedEndpoints for more information.

## Glacier2.Server.ForwardContext

### Synopsis

    Glacier2.Server.ForwardContext=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router includes the context in forwarded requests from servers to clients. The default value is 0.

## Glacier2.Server.SleepTime

### Synopsis

    Glacier2.Server.SleepTime=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router sleeps for the specified number of milliseconds after forwarding all queued requests from a server. This prevents the server from flooding the router with requests. This property is only relevant when `Glacier2.Server.Buffered=1`. The default value is 0.

## Glacier2.Server.Trace.Override

### Synopsis

    Glacier2.Server.Trace.Override=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router logs a trace message whenever a request was overridden. The default value is 0.

## Glacier2.Server.Trace.Request

### Synopsis

    Glacier2.Server.Trace.Request=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router logs a trace message for each request that is forwarded from a server. The default value is 0.

## Glacier2.Server.Buffered

### Synopsis

    Glacier2.Server.Buffered=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router queues incoming requests from servers and creates an extra thread for each servers connection that processes the queued requests. If `num` is set to zero, the router operates in unbuffered mode in which a request is forwarded in the same thread that received it. The default value is 1.

| In unbuffered mode, twoway requests from a server are serialized, and nested twoway requests are not supported.

| Unbuffered mode for server requests is susceptible to a denial-of-service attack from hostile clients. Use caution!

## Glacier2.SessionManager

### Synopsis

    Glacier2.SessionManager=proxy

### Description

Specifies the proxy of an object that implements the `Glacier2::SessionManager` interface. The router invokes this proxy to create a new session for a client, but only after the router validates the client's username and password.

## Glacier2.SSLSessionManager

### Synopsis

    Glacier2.SSLSessionManager=proxy

### Description

Specifies the proxy of an object that implements the `Glacier2::SSLSessionManager` interface. The router invokes this proxy to create a new session for a client that has called `createSessionFromSecureConnection`.

## Glacier2.SSLPermissionsVerifier

### Synopsis

    Glacier2.SSLPermissionsVerifier=proxy

### Description

Specifies the proxy of an object that implements the `Glacier2::SSLPermissionsVerifier` interface. The router invokes this proxy to verify the credentials of clients that attempt to create a session from a secure connection. Sessions created with a username and password are verified by the object specified in Glacier2.PermissionsVerifier.

## Glacier2.SessionTimeout

### Synopsis

    Glacier2.SessionTimeout=num

### Description

If `num` is set to a value larger than zero, a client's session with the Glacier2 router expires after the specified `num` seconds of inactivity. The default value is 0, meaning sessions do not expire due to inactivity.

| It is important that `num` be chosen so that client sessions do not expire prematurely.

## Glacier2.Trace.RoutingTable

### Synopsis

    Glacier2.Trace.RoutingTable=num

### Description

The routing table trace level:

0 | No routing table trace. (default)
1 | Logs a message for each proxy that is added to the routing table.
2 | Logs a message for each proxy that is evicted from the routing table (see Glacier2.RoutingTable.MaxSize).
3 | Combines the output for trace levels 1 and 2.

## Glacier2.Trace.Session

### Synopsis

    Glacier2.Trace.Session=num

### Description

If `num` is set to a value larger than zero, the Glacier2 router logs trace messages about session-related activities. The default value is 0.

<<< Previous | Home | Next >>>
IceStorm Properties | Up | Freeze Properties