The Authorizer Modify Command
m -- The Authorizer Modify Command The I2A2 authorizer DBM will make changes to
an existing PUID's information via modification command requests.
The authorizer modify command is a restricted command.
(See DBM ACLs.)
Symbol
The puidnetd.h symbol for the modify command is PUIDNETD_CMD_MODIFY.
Keys
These keys may be used to identify a PUID whose information is to be modified. The field identifier symbols come from puidnetd.h
- a -- alias (PUIDNETD_DATA_AKA); do an exact match on the alias field value.
- p -- PUID (PUIDNETD_DATA_PUID); do an exact match on the PUID field value.
Reply
A positive acknowledgement (ACK) reflector reply message signifies the modification was made.
A negative acknowledgement (NAK) reply will contain these fields.
Modification Values
Modification values must be supplied in modification field records whose field identifier is PUIDNETD_DATA_MDFY ('Y').
Accompanying the first modification field identifier must be the field identifier for the information being modified. These
are the fields that can be modified:
- a -- alias (PUIDNETD_DATA_AKA)
- i -- attributes (PUIDNETD_DATA_ATTR)
- E -- authorization characteristics (PUIDNETD_DATA_AUTHZ_CH)
- N -- common name
Information on each of these modification types follows as examples.
Modifying the Alias
Alias modifications are done in a modify field record (PUIDNETD_DATA_MDFY) whose
secondary field identifier is PUIDNETD_DATA_AKA ('a').
Here's an example that shows the form of a modify command to change the alias
for PUID 26 to "barfoo33".
m p18 Ya nfoobar3 Y
Where:
m -- is the modify command, PUIDNETD_CMD_MODIFY.
p26 -- identifies the PUID.
Ya -- starts the modification field record and declares an alias modification.
nbarfoo33 -- gives a new alias value of "barfoo33".
Y -- ends the modification field record.
Modifying Attributes
There is currently no useful purpose in changing attributes.
The attribute value is a bit mask for which no external protocol values are
currently assigned. The only internal protocol value currently used is
disable, PUID_ATTR_P_DIS (0x2), and its alteration is reserved for an internal
protocol command.
Modify Authorization Characteristics
When authorized to make modifications by an authorizer
DBM ACL a client application may
set characteristics for a PUID.
The characteristics a client application sets are called
private characteristics.
They are in contrast to global
characteristics that are set from official University data. When a private characteristic has been set and a
corresponding global characteristics appears, the private one's type changes to global.
Thus the fundamental purpose of a private characteristic is to allow it to be set temporarily until official University
data confirms it. Private characteristics that are never confirmed may be removed after a time.
Characteristics are set in a modification field record (PUIDNETD_DATA_MDFY) whose secondary field identifier is
PUIDNETD_DATA_AUTHZ_CH ('E'). (See
Characteristics Field Value for more information on how characteristics are coded in the PUIDNETD_DATA_AUTHZ_CH field.)
Here's an example of how a client application would set characteristic 12345 for PUID 26:
m p26 YE np12345 \Y
Where:
m -- is the modify command, PUIDNETD_CMD_MODIFY.
p26 -- identifies the PUID.
YE -- starts the modification field record and declares an authorization characteristic modification.
np12345 -- sets private characteristic 12345.
Y -- ends the modification field record.
Substantial additional information on the format of the PUIDNETD_DATA_NEW field of an authorization characteristic modification record may be found in puidnetd.h
Modify Common Name
External protocol client applications, even when authorized to do so, generally should not make common name modifications
to authorizer records.
Common name modifications should be made in the I2A2 PUID Oracle database and propagated to the DBMs through channels
reserved for their updating.