gnatsd man page on Alpinelinux

Man page or keyword search:  
man Server   18016 pages
apropos Keyword Search (all sections)
Output format
Alpinelinux logo
[printable version]

gnatsd(8)		GNATS Admininstration Utilities		     gnatsd(8)

NAME
       gnatsd - GNATS network server

SYNOPSIS
       gnatsd [--database database | -d database] [--not-inetd | -n] [--max-
	      access-level level | -m level] [--version | -V] [--help | -h]

DESCRIPTION
       gnatsd is used to service remote GNATS requests such as	querying  PRs,
       PR creation, deletion, and editing, and miscellaneous database queries.
       It uses a simple ASCII-based command protocol (similar to SMTP or POP3)
       for communicating with remote clients.

       It  also provides a security model based either on IP-based authentica‐
       tion (generally a terrible idea) or username/passwords.	Passwords  may
       be encrypted using UNIX crypt() or MD5 (for operating systems that sup‐
       port it).  Plaintext passwords are also supported but strongly discour‐
       aged.

       All of the GNATS clients are capable of communicating via the GNATS re‐
       mote protocol to perform their functions.

       gnatsd should be run by the GNATS user (by default gnats),  and	it  is
       usually started from inetd(8).

OPTIONS
       -V, --version
	    Prints the program version to stdout and exits.

       -h, --help
	    Prints a short help text to stdout and exits.

       -d, --database
	    Specifies the default database which is to be serviced by this in‐
	    vocation of gnatsd.	 (The selected database may be changed via the
	    CHDB command; this is simply the default if no CHDB command is is‐
	    sued.)  If no database is specified, the database named default is
	    assumed.   This  option  overrides	the  database specified in the
	    GNATSDB environment variable.

       --not-inetd, -n
	    As its name suggests, indicates that gnatsd is not	being  invoked
	    from  inetd.  This can be used when testing gnatsd, or if it being
	    run via ssh or some other mechanism.

	    This has the effect of using the local hostname  where  gnatsd  is
	    being  invoked for authentication purposes, rather than the remote
	    address of the connecting client.

       --max-access-level, -m
	    Specifies the maximum access level that the connecting client  can
	    authenticate  to.  Authentication  is as normal but if the user or
	    host authenticates at a higher level, access level is set to  this
	    level.

COMMAND PROTOCOL
       Commands	 are  issued to gnatsd as one or more words followed by a car‐
       riage-return/linefeed pair.  For example, the CHDB  (change  databases)
       command is sent as
	      CHDB database<CR><LF>
       [the CRLF will not be explicitly written for future examples]

       Replies from gnatsd are returned as one or more response lines contain‐
       ing a 3-digit numeric code followed by  a  human-readable  string;  the
       line is terminated with a <CR><LF> pair.	 For example, one possible re‐
       sponse to the CHDB command above would be:
	      210 Now accessing GNATS database 'database'.

       The three-digit code is normally	 followed  by  a  single  ASCII	 space
       (character  0x20).  However, if additional response lines are to be re‐
       turned from the server, there will be a single dash  (`-')  instead  of
       the space character after the three-digit code.

       Response code values are divided into ranges.  The first digit reflects
       the general type of response (such as "successful" or "error"), and the
       subsequent digits identify the specific type of response.

       Codes 200-299
	      Positive	response  indicating  that the command was successful.
	      No subsequent data will be transmitted with the  response.   [In
	      particular,  code	 210  (CODE_OK) is used as the positive result
	      code for most simple commands.]

	      Commands that expect additional data from the  client  (such  as
	      SUBM  or	VFLD)  use  a two-step mechanism for sending the data.
	      The server will respond to the initial command with either a 211
	      (CODE_SEND_PR)  or 212 (CODE_SEND_TEXT) response line, or an er‐
	      ror code if an error occurred with  the  initial	command.   The
	      client  is  then	expected  to send the remaining data using the
	      same quoting mechanism as described for server responses in  the
	      300-349  range.  The server will then send a final response line
	      to the command.

       Codes 300-399
	      Positive response indicating that the query request was success‐
	      ful, and that a PR or other data will follow.  Codes 300-349 are
	      used when transmitting PRs, and 350-399 are used for  other  re‐
	      sponses.

	      Codes in the 300-349 range are followed by a series of CRLF-ter‐
	      minated lines containing the command  response,  usually	a  PR.
	      The  final  line of the result is a single period (`.').	Result
	      lines that begin with a period have an extra period prepended to
	      them.

	      Codes  in	 the  350-399 range use a different scheme for sending
	      their responses.	The three-digit numeric code will be  followed
	      by  either  a dash (`-') or a single space.  If the code is fol‐
	      lowed by a dash, that indicates that another response line  will
	      follow.  The final line of the response has a single space after
	      the three-digit code.

	      In previous versions  of	the  protocol  the  first  line	 of  a
	      CODE_INFORMATION	(310)  response was to be ignored.  This is no
	      longer the case.	Instead, any lines marked with	code  CODE_IN‐
	      FORMATION_FILLER (351) are to be ignored.	 This allows the serv‐
	      er to transmit additional headers or other  human-readable  text
	      that can be safely ignored by the clients.

       Codes 400-599
	      An error occurred, usually because of invalid command parameters
	      or invalid input from the client, missing arguments to the coma‐
	      mand,  or a command was issued out of sequence.  The human-read‐
	      able message associated with the	response  line	describes  the
	      general problem encountered with the command.

	      Multiple	error messages may be returned from a command; in this
	      case the `-' continuation character is used on all but the  last
	      response line.

       Codes 600-799
	      An  internal  error  occurred  on the server, a timeout occurred
	      reading data from the client, or	a  network  failure  occurred.
	      These  errors  are  of  the  "this should not occur" nature, and
	      retrying the operation may resolve  the  problem.	  Fortunately,
	      most  GNATS  transactions are idempotent; unfortunately, locking
	      the database or a PR are not repeatable actions (we  cannot  de‐
	      termine  if an existing lock is the one we originally requested,
	      or someone else's).

COMMANDS
       Note that the set of GNATS commands and their responses is somewhat in‐
       consistent  and is very much in flux.  At present the GNATS clients are
       rather simple-minded and not very strict	 about	processing  responses.
       For example, if the server were to issue a code 300 (CODE_PR_READY) re‐
       sponse to a CHDB command, the client would happily expect to see	 a  PR
       appear (and would print it out if one was sent).

       It  is  thus  suggested that any clients that use the GNATS protocol be
       equally flexible about the way received responses are handled; in  par‐
       ticular, only the first digit of the response code should be assumed to
       be meaningful, although subsequent digits  are  needed  in  some	 cases
       (codes 300-399). No attempt should be made to parse the message strings
       on error response lines; they are only intended to be read  by  humans,
       and will be changed on a regular basis.

       Almost  every  command may result in the response 440 (CODE_CMD_ERROR).
       This indicates that there was a problem	with  the  command  arguments,
       usually because of insufficient or too many arguments being specified.

       USER [<userid> [<password>]]
	    Specifies  the  userid  and	 password for database access.	Both a
	    username and a password may be given, only a username may be  giv‐
	    en,	 or  both may be omitted; if both are omitted, the current ac‐
	    cess level is returned.

	    The possible server responses are:

	    350 (CODE_INFORMATION)
		   The current access level is specified.

	    422 (CODE_NO_ACCESS)
		   A matching username and password could not be found.

	    200 (CODE_OK)
		   A matching username and password was found, and  the	 login
		   was successful.

       QUIT Requests that the connection be closed.  Possible responses:

	    201 (CODE_CLOSING)
		   Normal exit.

	    The	 quit  command	has  the dubious distinction of being the only
	    command that cannot fail.

       LIST <list type>
	    Describes various aspects of the database.	The lists are returned
	    as	a list of records, one per line.  Each line may contain a num‐
	    ber of colon-separated fields.

	    Possible values for list type include

	      Categories
		     Describes the legal categories for the database.

	      Submitters
		     Describes the set of submitters for the database.

	      Responsible
		     Lists the names in the responsible	 administrative	 file,
		     including their full names and email addresses.

	      States Lists the states listed in the state administrative file,
		     including the state type (usually blank for most  states;
		     the closed state has a special type).

	      FieldNames
		     Lists the entire set of PR fields.

	      InitialInputFields
		     Lists the fields that should be present when a PR is ini‐
		     tially entered.

	      InitialRequiredFields
		     Lists fields that have to be present and nonempty when  a
		     PR	 is  initially	entered	 (fields containing only blank
		     characters such as spaces or newlines are considered emp‐
		     ty.)

	      Databases
		     Lists the set of databases.

	    The possible responses are:

	    301 (CODE_TEXT_READY)
		   Normal response, followed by the records making up the list
		   as described above.

	    416 (CODE_INVALID_LIST)
		   The requested list does not exist.

       FTYP <field> [<field> ...]
	    Describes the type of data held in the field(s) specified with the
	    command.  The currently-defined data types are:

	    Text   A plain text field, containing exactly one line.

	    MultiText
		   A text field possibly containing multiple lines of text.

	    Enum   An  enumerated  data	 field; the value is restricted to one
		   entry out of a list of values associated with the field.

	    MultiEnum
		   The field contains one or more enumerated  values.	Values
		   are separated with spaces or colons (:).

	    Integer
		   The field contains an integer value, possibly signed.

	    Date   The field contains a date.

	    TextWithRegex
		   The	value  in the field must match one or more regular ex‐
		   pressions associated with the field.

	    The possible responses are:

	    350 (CODE_INFORMATION)
		   The normal response; the supplied text is the data type.

	    410 (CODE_INVALID_FIELD_NAME)
		   The specified field does not exist.

	    If multiple field names were given, multiple response  lines  will
	    be	sent, one for each field, using the standard continuation pro‐
	    tocol; each response except the last will have a dash (`-')	 imme‐
	    dately after the response code.

       FTYPINFO <field> <property>
	    Provides  field-type-related  information.	 Currently,  only  the
	    property `separators' for MultiEnum	 fields	 is  supported.	  When
	    `separators' is specified, the possible return codes are:

	    350 (CODE_INFORMATION)
		   A  proper  MultiEnum	 field	was specified and the returned
		   text is the string of separators specified for the field in
		   the dbconfig file, quoted within ''.

	    435 (CODE_INVALID_FTYPE_PROPERTY)
		   The	`separators'  property	is not defined for this field,
		   i.e. the specified field is not of type MultiEnum.

	    Currently, specifying a different property than  `separators'  re‐
	    sults in return code 435 as above.

       FDSC <field> [<field> ... ]
	    Returns  a human-readable description of the listed field(s).  The
	    possible responses are:

	    350 (CODE_INFORMATION)
		   The normal response; the supplied text  is  the  field  de‐
		   scription.

	    410 (CODE_INVALID_FIELD_NAME)
		   The specified field does not exist.

	    Like  the FVLD command, the standard continuation protocol will be
	    used if multiple fields were specified with the command.

       FIELDFLAGS <field> [<field> ... ]
	    Returns a set of flags describing  the  specified  field(s).   The
	    possible responses are either 410 (CODE_INVALID_FIELD_NAME), mean‐
	    ing that  the  specified  field  is	 invalid  or  nonexistent,  or
	    350 (CODE_INFORMATION)  which  contains  the  set of flags for the
	    field.  The flags may be blank, which  indicate  that  no  special
	    flags have been set for this field.

	    Like the FDSC and FTYP commands, multiple field names may be list‐
	    ed with the command, and a response line will be returned for each
	    one in the order that the fields appear on the command line.

	    The flags include:

	    textsearch
		   The	field will be searched when a text field search is re‐
		   quested.

	    allowAnyValue
		   For fields that contain enumerated values, any legal	 value
		   may	be used in the field, not just ones that appear in the
		   enumerated list.

	    requireChangeReason
		   If the field is edited, a reason for	 the  change  must  be
		   supplied  in	 the new PR text describing the reason for the
		   change.  The reason must be	supplied  as  a	 multitext  PR
		   field  in the new PR whose name is field-Changed-Why (where
		   field is the name of the field being edited).

	    readonly
		   The field is read-only, and cannot be edited.

       FVLD <field>
	    Returns one or more regular expressions or strings	that  describe
	    the valid types of data that can be placed in field.  Exactly what
	    is returned is dependent on the type of data that can be stored in
	    the	 field.	 For most fields a regular expression is returned; for
	    enumerated fields, the returned  values  are  the  list  of	 legal
	    strings that can be held in the field.

	    The possible responses are:

	    301 (CODE_TEXT_READY)
		   The	normal response, which is followed by the list of reg‐
		   exps or strings.

	    410 (CODE_INVALID_FIELD_NAME)
		   The specified field does not exist.

       VFLD <field>
	    VFLD can be used to validate a given value	for  a	field  in  the
	    database.  The client issues the VFLD command with the name of the
	    field to validate as an argument.  The server will either  respond
	    with 212 (CODE_SEND_TEXT), or 410 (CODE_INVALID_FIELD_NAME) if the
	    specified field does not exist.

	    Once the 212 response is received  from  the  server,  the	client
	    should  then  send	the line(s) of text to be validated, using the
	    normal quoting mechanism described for PRs.	  The  final  line  of
	    text  is  followed	by a line containing a single period, again as
	    when sending PR text.

	    The server will then either respond with 210 (CODE_OK), indicating
	    that the text is acceptable, or one or more error codes describing
	    the problems with the field contents.

       INPUTDEFAULT <field> [<field> ... ]
	    Returns the suggested default value for a field when a PR is  ini‐
	    tially  created.   The  possible responses are either 410(CODE_IN‐
	    VALID_FIELD_NAME), meaning that the specified field is invalid  or
	    nonexistent,  or 350 (CODE_INFORMATION) which contains the default
	    value for the field.

	    Like the FDSC and FTYP commands, multiple field names may be list‐
	    ed with the command, and a response line will be returned for each
	    one in the order that the fields appear on the command line.

       RSET Used to reset the internal server state.  The  current  query  ex‐
	    pression  is cleared, and the index of PRs may be reread if it has
	    been updated since the start of the session.
	    The possible responses are:

	    200 (CODE_OK)
		   The state has been reset.

	    440 (CODE_CMD_ERROR)
		   One or more arguments were supplied to the command.

	    6xx (internal error)
		   There were problems resetting the  state  (usually  because
		   the	index could not be reread).  The session will be imme‐
		   diately terminated.

       LKDB Locks the main GNATS database.  No subsequent database locks  will
	    succeed until the lock is removed.	Sessions that attempt to write
	    to the database will fail.
	    The possible responses are:

	    200 (CODE_OK)
		   The lock has been established.

	    440 (CODE_CMD_ERROR)
		   One or more arguments were supplied to the command.

	    431 (CODE_GNATS_LOCKED)
		   The database is already locked, and the lock could  not  be
		   obtained after 10 seconds.

	    6xx (internal error)
		   An  internal	 error occurred, usually because of permission
		   or other filesystem-related problems.  The lock may or  may
		   not have been established.

       UNDB Unlocks  the  database.  Any session may steal a database lock; no
	    checking of any sort is done.
	    The possible responses are:

	    200 (CODE_OK)
		   The lock has been removed.

	    432 (CODE_GNATS_NOT_LOCKED)
		   The database was not locked.

	    440 (CODE_CMD_ERROR)
		   One or more arguments were supplied to the command.

	    6xx (internal error)
		   The database lock could not be removed, usually because  of
		   permissions or other filesystem-related issues.

       LOCK <PR> <user> [<pid>]
	    Locks  the	specified  PR, marking the lock with the name user and
	    the optional pid.  (No checking is done that the user or pid argu‐
	    ments  are	valid  or  meaningful;	they  are  simply  treated  as
	    strings.)

	    The EDIT command requires that the PR be locked before it  may  be
	    successfully executed.  However, it does not require that the lock
	    is owned by the editing session, so the usefulness of the lock  is
	    simply as an advisory measure.

	    The	 APPN  and  REPL  commands  lock the PR as part of the editing
	    process, and they do not require that the PR be locked before they
	    are invoked.

	    The possible responses are:

	    440 (CODE_CMD_ERROR)
		   Insufficient	 or  too  many arguments were specified to the
		   command.

	    300 (CODE_PR_READY)
		   The lock was successfully obtained; the text of the PR (us‐
		   ing the standard quoting mechanism for PRs) follows.

	    400 (CODE_NONEXISTENT_PR)
		   The PR specified does not exist.

	    430 (CODE_LOCKED_PR)
		   The PR is already locked by another session.

	    6xx (internal error)
		   The	PR  lock could not be created, usually because of per‐
		   missions or other filesystem-related issues.

       UNLK <PR>
	    Unlocks PR.	 Any user may unlock a PR, as no checking is  done  to
	    determine if the requesting session owns the lock.

	    The possible responses are:

	    440 (CODE_CMD_ERROR)
		   Insufficient	 or  too  many arguments were specified to the
		   command.

	    200 (CODE_OK)
		   The PR was successfully unlocked.

	    433 (CODE_PR_NOT_LOCKED)
		   The PR was not locked.

	    6xx (internal error)
		   The PR could not be unlocked, usually because of permission
		   or other filesystem-related problems.

       DELETE <PR>
	    Deletes  the  specified PR.	 The user making the request must have
	    admin privileges.  If successful,  the  PR	is  removed  from  the
	    filesystem and the index file; a gap will be left in the numbering
	    sequence for PRs.  No checks are made that the PR is closed.

	    The possible responses are:

	    200 (CODE_OK)
		   The PR was successfully deleted.

	    422 (CODE_NO_ACCESS)
		   The user requesting the delete does not have	 admin	privi‐
		   leges.

	    430 (CODE_LOCKED_PR)
		   The PR is locked by another session.

	    431 (CODE_GNATS_LOCKED)
		   The database has been locked, and no PRs may be updated un‐
		   til the lock is cleared.

	    6xx (internal error)
		   The PR could not be successfully deleted,  usually  because
		   of permission or other filesystem-related problems.

       CHEK [initial]
	    Used  to  check  the  text of an entire PR for errors.  Unlike the
	    VFLD command, it accepts an entire PR at once instead of the  con‐
	    tents of an individual field.

	    The	 initial  argument indicates that the PR text to be checked is
	    for a PR that will be newly created, rather than an	 edit  or  re‐
	    placement of an existing PR.

	    After the CHEK command is issued, the server will respond with ei‐
	    ther a 440 (CODE_CMD_ERROR) response indicating that  the  command
	    arguments  were  incorrect,	 or a 211 (CODE_SEND_PR) response code
	    will be sent.

	    Once the 211 response is received  from  the  server,  the	client
	    should  send the PR using the normal PR quoting mechanism; the fi‐
	    nal line of the PR is then followed by a line containing a	single
	    period, as usual.

	    The server will then respond with either a 200 (CODE_OK) response,
	    indicating there were no problems with the supplied text,  or  one
	    or more error codes listing the problems with the PR.

       EDIT <PR>
	    Verifies  the replacement text for PR.  If the command is success‐
	    ful, the contents of PR are completely replaced with the  supplied
	    text.  PR must previously have been locked with the LOCK command.

	    The possible responses are:

	    431 (CODE_GNATS_LOCKED)
		   The database has been locked, and no PRs may be updated un‐
		   til the lock is cleared.

	    433 (CODE_PR_NOT_LOCKED)
		   The PR was not previously locked with the LOCK command.

	    400 (CODE_NONEXISTENT_PR)
		   The specified PR does not currently exist.  The  SUBM  com‐
		   mand should be used to create new PRs.

	    211 (CODE_SEND_PR)
		   The	client should now transmit the replacement PR text us‐
		   ing the normal PR quoting mechanism.	 After the PR has been
		   sent,  the  server will respond with either a 200 (CODE_OK)
		   response indicating the edit was successful, or one or more
		   error  codes listing problems with either with the replace‐
		   ment PR text, or errors encountered while updating  the  PR
		   file or index.

       APPN <PR> <field>

       REPL <PR> <field>
	    Appends  to	 or replaces the contents of field in PR with the sup‐
	    plied text.	 The command returns a 201 (CODE_SEND_TEXT)  response;
	    the	 client	 should then transmit the new field contents using the
	    standard PR quoting mechanism.  After the server has read the  new
	    contents, it then attempts to make the requested change to the PR.

	    The possible responses are:

	    200 (CODE_OK)
		   The PR field was successfully changed.

	    400 (CODE_NONEXISTENT_PR)
		   The PR specified does not exist.

	    410 (CODE_INVALID_FIELD_NAME)
		   The specified field does not exist.

	    402 (CODE_UNREADABLE_PR)
		   The PR could not be read.

	    431 (CODE_GNATS_LOCKED)
		   The database has been locked, and no PRs may be updated un‐
		   til the lock is cleared.

	    430 (CODE_LOCKED_PR)
		   The PR is locked, and may not be altered until the lock  is
		   cleared.

	    413 (CODE_INVALID_FIELD_CONTENTS)
		   The	supplied  (or  resulting) field contents are not valid
		   for the field.

	    6xx (internal error)
		   An internal error occurred, usually because	of  permission
		   or  other  filesystem-related  problems.  The PR may or may
		   not have been altered.

       SUBM Submits a new PR into the database.	 The supplied text is verified
       for correctness, and if no problems are found a new PR is created.

	    The possible responses are:

	    431 (CODE_GNATS_LOCKED)
		   The	database  has been locked, and no PRs may be submitted
		   until the lock is cleared.

	    211 (CODE_SEND_PR)
		   The client should now transmit the new PR  text  using  the
		   normal  quoting mechanism.  After the PR has been sent, the
		   server will respond with either a  200  (CODE_OK)  response
		   indicating  that the new PR has been created (and mail sent
		   to the appropriate persons), or one	or  more  error	 codes
		   listing problems with the new PR text.

       CHDB <database> [<userid> [<password>]]
	      Switches	the current database to the name specified in the com‐
	      mand.  An optional username or an optional username and password
	      may be given.

	    The possible responses are:

	    422 (CODE_NO_ACCESS)
		   The	user  does not have permission to access the requested
		   database.

	    417 (CODE_INVALID_DATABASE)
		   The database specified does not exist, or one or more  con‐
		   figuration errors in the database were encountered.

	    210 (CODE_OK)
		   The	current database is now database.  Any operations per‐
		   formed will now be applied to that database.	 The user  ac‐
		   cess level for the new database is also returned.

       DBLS   Lists the known set of databases.

	    The possible responses are:

	    6xx (internal error)
		   An  internal	 error	was encountered while trying to obtain
		   the list of available databases, usually  due  to  lack  of
		   permissions	or  other  filesystem-related problems, or the
		   list of databases is empty.

	    301 (CODE_TEXT_READY)
		   The list of databases follows,  one	per  line,  using  the
		   standard  quoting  mechanism.   Only the database names are
		   sent.

       DBDESC <databasename>
	      Returns a human-readable description of the specified  database.
	      Responses include:

	    6xx (internal error)
		   An  internal error was encountered while trying to read the
		   list of available databases, usually due to lack of permis‐
		   sions  or other filesystem-related problems, or the list of
		   databases is empty.

	    350 (CODE_INFORMATION)
		   The normal response; the supplied text is the database  de‐
		   scription.

	    417 (CODE_INVALID_DATABASE)
		   The specified database name does not have an entry.

       EXPR <query expression>
	      Specifies	 a  query  expression  used to limit which PRs are re‐
	      turned from the QUER command.  The expression  uses  the	normal
	      query  expression	 syntax,  as described in the manual entry for
	      query-pr(1).

	    Multiple EXPR commands may be issued; the expressions are  boolean
	    ANDed together.

	    Expressions are cleared by the RSET command.

	    Possible responses include:

	    415 (CODE_INVALID_EXPR)
		   The	specified  expression  is  invalid,  and  could not be
		   parsed.

	    200 (CODE_OK)
		   The expression has been accepted, and will be used to limit
		   the results returned from QUER.

       QFMT <query format>
	    Use	 the  specified	 query format to format the output of the QUER
	    command.  The query format may be either the name of a query  for‐
	    mat known to the server, or an actual query format.
	    The possible responses are:

	    200 (CODE_OK)
		   The	normal response, which indicates that the query format
		   is acceptable.

	    440 (CODE_CMD_ERROR)
		   No query format was supplied.

	    418 (CODE_INVALID_QUERY_FORMAT)
		   The specified query format does not exist, or could not  be
		   parsed.

       QUER [PR] [PR] [...]
	    Searches  the contents of the database for PRs that match the (op‐
	    tional) specified expressions with the EXPR command.   If  no  ex‐
	    pressions  were  specified with EXPR, the entire set of PRs is re‐
	    turned.

	    If one or more PRs are specified on the  commandline,  only	 those
	    PRs will be searched and/or output.

	    The	 format	 of  the  output from the command is determined by the
	    query format selected with the QFMT command.

	    The possible responses are:

	    418 (CODE_INVALID_QUERY_FORMAT)
		   A valid format was not specified with the QFMT command pri‐
		   or to invoking QUER.

	    300 (CODE_PR_READY)
		   One	or  more  PRs will be output using the requested query
		   format.  The PR text is quoted  using  the  normal  quoting
		   mechanisms for PRs.

	    220 (CODE_NO_PRS_MATCHED)
		   No PRs met the specified criteria.

       ADMV <field> <key> [<subfield>]
	    Returns  an	 entry from an adm file associated with field.	key is
	    used to look up the entry in the data file.	 If subfield is speci‐
	    fied,  only the value of that subfield is returned; otherwise, all
	    of the fields in the adm data  file	 are  returned,	 separated  by
	    colons (`:').

	    The responses are:

	    410 (CODE_INVALID_FIELD_NAME)
		   The specified field does not exist.

	    221 (CODE_NO_ADM_ENTRY)
		   An  adm  entry matching the key was not found, or the field
		   does not have an adm file associated with it.

	    350 (CODE_INFORMATION)
		   The normal response; the supplied  text  is	the  requested
		   field(s).

ENVIRONMENT VARIABLES
       The GNATSDB environment variable is used to determine which database to
       use.  For a local database, it contains the name of the database to ac‐
       cess.   gnatsd  cannot service remote databases (tho it might be inter‐
       esting if it could) so the database is always assumed to be local.

       If GNATSDB is not set and the --database option is not supplied, it  is
       assumed that the database is local and that its name is default.

SEE ALSO
       Keeping	Track: Managing Messages With GNATS (also installed as the GNU
       Info file gnats.info)

       databases(5), dbconfig(5), delete-pr(8), edit-pr(1) file-pr(8), gen-in‐
       dex(8),	gnats(7),  gnatsd(8),  mkcat(8),  mkdb(8),  pr-edit(8), query-
       pr(1), queue-pr(8), send-pr(1).

COPYING
       Copyright (c) 2000, 2003 Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim  copies  of  this
       manual  provided	 the  copyright	 notice and this permission notice are
       preserved on all copies.

       Permission is granted to copy and distribute modified versions of  this
       manual under the conditions for verbatim copying, provided that the en‐
       tire resulting derived work is distributed under the terms of a permis‐
       sion notice identical to this one.

       Permission is granted to copy and distribute translations of this manu‐
       al into another language, under the above conditions for modified  ver‐
       sions,  except  that this permission notice may be included in transla‐
       tions approved by the Free Software Foundation instead of in the origi‐
       nal English.

GNATS				  August 2003			     gnatsd(8)
[top]

List of man pages available for Alpinelinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net