Aw universe ejection add
|Added in version 2.1|
int aw_universe_ejection_add (void)
Blocks all access to the universe from a specific IP address or computer.
For SDK build 14 and later, and universe server build 22 and later: The behaviour of this method has been changed from SDK build 13 and earlier. Previous versions had no callback and specified the address in host byte order. It now has a callback and takes the address to block in network byte order, in order to be consistent with other methods in the API that manipulate IP addresses.
Only instances owned by the root account (citizen #1 - universe administrators) may use this method.
- Specifies the IP address (in network byte order) to be ejected. If the least significant byte of the address is zero then the entire class C IP address is blocked.
- Specifies when the ejection will expire. If it is set to zero then the ejection never expires.
- AW_EJECTION_COMMENT (1)
- (Optional) Comment to associate with the ejection record. This can be set to "serial=0x%x" to add an ejection by computer ID %x. For example, "serial=0x1A1B1C1D" would eject a computer with ID #1A1B1C1D (hexadecimal). It is checked separately from the address.
(1) Added in SDK build 16, universe server build 23.
- RC_SUCCESS (1) (2)
- RC_NOT_INITIALIZED (1)
- RC_NO_INSTANCE (1)
- RC_NO_CONNECTION (1)
- The connection to the universe is down.
- RC_DATABASE_ERROR (2)
(1) Possible return values when a callback is installed.
(2) Returned by the universe server.
Block a class C address from accessing the universe for one week.
aw_int_set (AW_EJECTION_ADDRESS, inet_addr ("241.197.54.0")); aw_int_set (AW_EJECTION_EXPIRATION_TIME, time (NULL) + 7 * 24 * 60 * 60); aw_string_set (AW_EJECTION_COMMENT, "Keep 'em out for a week"); if (aw_universe_ejection_add () != RC_SUCCESS) printf ("Unable to add ejection\n");