GLINE documentation, last updated on 17 Mar 2007 For an ordinary user, the syntax is: GLINE [] If is given, and if a G-line for that server exists, all the information about that G-line is displayed. If is not given, an error is returned. For an operator, the syntax is: GLINE [[!][+|-|>|<] [] [ [:]]] There are a total of 10 basic forms of the GLINE command. If no arguments are given, all existing G-lines will be listed; if only is given, the behavior is the same as for an ordinary user. The remaining forms allow G-lines to be set, manipulated, or possibly destroyed. * Local G-lines. Opers may set or remove G-lines that only apply to a specific server. When the parameter is not given, the specific server will be the local server; otherwise, it will be taken to be a remote server, and the G-line operations will take place there, if the oper has the GLINE privilege. When is preceded with the '+' character, the G-line will be added, and and are required; when is preceded with the '-' character, the G-line will be removed, and and are not required. The '<' and '>' character prefixes are not valid for local G-lines. * Local modifications to global G-lines. Opers may locally activate or deactivate global G-lines. In this mode, is interpreted as referencing an existing G-line, and will be preceded by either '<' (to locally deactivate the G-line) or '>' (to locally activate the G-line). This local state overrides the global state of the G-line, and persists until there is a global state change to the G-line, or until the G-line expires. The and arguments are not required, but may be given if the oper desires to make the appropriate change on a remote server--note that the oper will need the GLINE privilege for this. * Global G-lines. Opers may, if they have the GLINE privilege, set and manipulate global G-lines on the network. To create a new G-line, the oper must prefix the with either '+' (for globally activated G-lines) or '-' (for globally deactivated G-lines). Additionally, must be given as "*", and the and parameters are required. If the G-line already exists, it will be modified to match the new global status, , and . When the G-line already exists, an oper may activate or deactivate it simply by setting to "*" and prefixing the with either "+" (to activate the G-line) or "-" (to deactivate it). If it is desired to simply modify the expiration time or reason, without changing the activation status, specify without any prefix, set to "*", and provide the updated and optionally an updated . * Privilege notes. Note that, for all locally-restricted G-line changes, such as locally activating a G-line or creating a local G-line, the oper must have the LOCAL_GLINE privilege. For any other G-line change, including locally-restricted changes on remote servers, the server's CONFIG_OPERCMDS privilege must be enabled and the oper must have the GLINE privilege. There are also restrictions to prevent an oper from setting a G-line that is too wide; in some cases, those restrictions may be overridden by prefixing the parameter with the "!" character, IF the operator has the WIDE_GLINE privilege. For a server, the syntax is: GL [!][+|-|>|<] [] [] [] [:] There are a total of 8 basic forms of the GL command. The primary innovation is the addition of the parameter, which specifies a lifetime for the G-line record which may be longer than the expiration time. will be monotonically increasing, enabling to be modified in any way desirable. * Local G-lines. Remote servers, or opers on them, may remotely set local G-lines on the local server. To create a local G-line, will be set to the numeric of the local server, and must be preceded by '+' (optionally preceded by '!' if the origin desires to override some safety settings). The and parameters are required. The and parameters will be ignored if present, allowing backwards compatibility with ircu2.10.12.10 and prior versions. Removing local G-lines is similar-- must be preceded by '-', and all other parameters are ignored to allow backwards compatibility. * Local modifications to global G-lines. Remote servers, or opers on them, may also locally activate or deactivate a global G-line on the local server. The must be set to the numeric of the local server, and must be preceded by either '<' (to locally deactivate the G-line) or '>' (to locally activate the G-line). This local state overrides the global state of the G-line, and persists until there is a global state change to the G-line, or until the G-line expires. No other parameters are necessary in this mode, and will be ignored if present. * Global G-lines. For creation and manipulation of global G-lines, the parameter must be set to "*". If the G-line does not exist, and if is given, the G-line will be created with the specified expiration and (the latter defaulting to "No reason" if not present). Otherwise, the G-line will be updated according to the available parameters. The rules are similar to those for oper-issued global G-lines, with the addition of a parameter, which is a monotonically increasing serial number for the G-line, and an optional parameter that specifies a monotonically increasing lifetime for the G-line record. Note that, for existing G-lines where only state changes (global activation or deactivation) are necessary, only is required; must be specified for all other forms of the GL command.