$ADD PROXY

From VSI OpenVMS Wiki
Jump to: navigation, search

$ADD_PROXY is a system service that adds a new proxy to, or modifies an existing proxy in, the proxy database.

Syntax

SYS$ADD_PROXY rem_node ,rem_user ,local_user ,[flags]

C Prototype:

int sys$add_proxy (void *rem_node, void *rem_user, void *local_user, unsigned int
                  flags);

Arguments

rem_node

OpenVMS usage: char_string
Type: character-coded text string
Access: read only
Mechanism: by descriptor–fixed-length string descriptor

Remote node name of the proxy to be added to or modified in the proxy database. The rem_node argument is the address of a character-string descriptor pointing to the remote node name string. A remote node name consists of 1 to 1024 characters. No specific characters, format, or case are required for a remote node name string. Node names are converted to their DECnet for OpenVMS full name unless the PRX$M_BYPASS_EXPAND flag is set with the flags argument. If you specify a single asterisk ( * ) for the rem_node argument, the user name specified by the rem_user argument on all nodes is served by the proxy.

rem_user

OpenVMS usage: char_string
Type: character-coded text string
Access: read only
Mechanism: by descriptor–fixed-length string descriptor

Remote user name of the proxy to be added to or modified in the proxy database. The rem_user argument is the address of a character-string descriptor pointing to the user name string. A remote user name consists of 1 to 32 alphanumeric characters, including dollar signs ( $ ), underscores ( _ ), and brackets ( [ ] ). Any lowercase characters specified are automatically converted to uppercase. The rem_user argument can be specified in user identification code (UIC) format ( [group, member] ). Brackets are allowed only if the remote user name string specifies a UIC. Group and member are character-string representations of octal numbers with no leading zeros.

If you specify a single asterisk ( * ) for the rem_user argument, all users from the node specified by the rem_node argument are served by the same user names specified by the local_user argument.

local_user

OpenVMS usage: char_string
Type: character-coded text string
Access: read only
Mechanism: by descriptor–fixed-length string descriptor

Local user name to add to the proxy record specified by the rem_node and rem_user arguments in the proxy database as either the default user or local user. The local_user argument is the address of a character-string descriptor pointing to the local user name. A local user name consists of 1 to 32 alphanumeric characters, including dollar signs ( $ ) and underscores ( _ ). Any lowercase characters specified are automatically converted to uppercase. The user name specified by the local_user argument must be a user name known to the local system. If the PRX$M_DEFAULT flag is specified in the flags argument, the user name specified by the local_user argument will be added to the proxy record in the proxy database as the default user. If a default user already exists for the specified proxy record, the default user is placed into the proxy’s local user list and is replaced by the user name specified by the local_user argument. Proxy records can contain no more than 16 local users and 1 default user. To add multiple users to a single proxy, you must call this service once for each local user.

flags

OpenVMS usage: mask_longword
Type: longword (unsigned)
Access: read only
Mechanism: by value

Functional specification for the service and type of user the local_user argument represents. The flags argument is a longword bit mask wherein each bit corresponds to an option. Each flag option has a symbolic name. The $PRXDEF macro defines the following symbolic names:

Symbolic Name Description
PRX$M_BYPASS_EXPAND The service should not convert the node name specified in the rem_node argument to its corresponding DECnet for OpenVMS full name. If this flag is set, it is the caller’s responsibility to ensure that the fully expanded node name is passed into the service.
PRX$M_DEFAULT The user name specified by the local_user argument is the default user for the proxy. If this flag is not specified, the user name specified by the local_user argument is added to the

proxy record’s local user list.

PRX$M_IGNORE_RETURN The service should not wait for a return status from the security server. No return status from the server’s function will be returned to the caller.

Privileges Required

The caller must have either SYSPRV privilege or a UIC group less than or equal to the MAXSYSGRP system parameter.

Condition Values Returned

Value Description
SS$_NORMAL The service completed successfully.
SS$_ACCVIO The rem_node, rem_user, local_user, or flags argument cannot be read by the service.
SS$_BADPARAM An invalid flag was specified in the flags argument.
SS$_BADBUFLEN The length of the rem_node, rem_user, or local_user argument was out of range.
SS$_NOSYSPRV The caller does not have access to the proxy database.

This service can also return any of the following messages passed from the security server, or any OpenVMS RMS error message encountered during operations on the proxy database:

Message Description
SECSRV$_BADLOCALUSERLEN The local user name length is out of range.
SECSRV$_BADNODENAMELEN The node name length is out of range.
SECSRV$_BADREMUSERLEN The remote user name length is out of range.
SECSRV$_DUPLICATEUSER The user name specified by the local_user argument already exists in the proxy record’s local user list.
SECSRV$_PROXYNOTACTIVE Proxy processing is currently stopped. Try the request again later.
SECSRV$_SERVERNOTACTIVE The security server is not currently active. Try the request again later.
SECSRV$_TOOMANYUSERS The specified proxy already has 16 local users and cannot accommodate any more.

See also