Subject: BIRD 1.0.0beta is released

From: Cengiz Alaettinoglu <[email-masked]>
Date: Wed, 8 Dec 1999 16:37:47 -0800 (PST)

We are happy to release our RPSL, rps-auth, and rps-dist compliant
registry software, BIRD.  You can find source and select binary
distributions in:
       ftp://ftp.isi.edu/ra/BIRD

This is a beta release. It has been heavily tested at home. It has
been running for several weeks without a problem for us. Please let us
know of any bugs/problems you may face. We are looking of early
adaptors/evaluators of bird so that we can fine tune and enhance it to
make it more practical.

We also created a mailing list for Bird. You may join/leave
[email-masked] by sending email to [email-masked] containing
'subscribe bird' or 'unsubscribe bird' in the body of the email.

Bird Features
=============

- RPSL Syntax Checking and extensible schema

  Bird comes pre-configured with the RPSL schema and it is RFC 2622
  compliant. Because our language schema is not pre-compiled into Bird, it
  is easy to add new attributes and classes to the schema, and the syntax
  of these additions can be defined so that registrations can be checked
  for syntactic correctness without requiring coding or re-compiling bird.

- Authorization/Authentication

  Bird supports authentication using PGP, crypt password, or everyone's
  favorite mail-from. 

  Bird supports three authorization modes: none, legacy, and rps.  In the
  none mode, no authorization checks are made (mainly for testing and for
  internal repositories). In the legacy mode, the current IRR
  authorization model is mimicked, that is any non-existing object can be
  created by anyone, yet updates and deletes require authorization of the
  current maintainer.

  In the rps mode, Bird implements draft-ietf-rps-auth-04.txt (soon to be
  RFC 2725). This mode can provide the desired routing security to route
  exchanging between ASes. However, it does require cooperation from the
  address registries, and needs to be turned on top-to-bottom order.

- Data Distribution

  Bird supports both legacy and rps data distribution.

  In the legacy mode, Bird can daily ftp current IRR repositories, or
  real-time mirror them if the registries support it. To enable this, no
  external cron jobs or scripts are necessary. The setup is done through
  Bird's config file.

  In the rps mode, Bird implements draft-ietf-rps-dist-05.txt (under IETF
  Proposed Standard consideration). This mode uses configured unicast
  flooding tcp connections to distribute repository transactions. Since
  the configured connections form a flooding topology, Bird can be
  configured to autodetect and accept (or reject) new repositories. This
  mode enables current IRR to scale to large number of participants. This
  mode can interact with rps-auth so that remote transactions can be
  reverified for authorization (if desired depending on the paranoia
  level).

- Transaction Support

  A transaction is a locally-atomic operation and can contain more than
  one object. For a transaction to succeed, all objects need to pass
  syntax and authorization checks.

  Bird locally commits all transactions using Berkeley DB; this allows
  efficient crash recovery as well.

- Query Language

  Bird implements a RIPE-157 compatible human-friendly query language. In
  addition we have tuned Bird to be efficient when answering queries from
  tools, in particular RAToolSet.

- Versioning

  Bird keeps older versions of objects around. Although these versions
  cannot be retrieved via the server (yet), they can be accessed via a
  database dump, and provide a history of changes to an object.

- Multiple repository support

  One bird daemon can serve multiple repositories. Some of these
  repositories can be marked private (i.e. not be redistributed to
  external peers).

- Highly Configurable

  Bird configuration syntax is in RPSL. Special classes such as "bird",
  "class", "local-repository", "remote-repository", and
  "legacy-repository" are used to configure bird.  Bird is distributed
  with an example configuration file. Using this file, one can start
  mirroring RADB (or any other repository), by activating the
  corresponding legacy-repository object for it.

  In addition, you can select the attributes of your choice for indexing
  and cross referencing. For example, you can mark mnt-by attribute to be
  cross referenced and enable a new query to look for all objects with a
  given maintainer.

Cengiz Alaettinoglu <[email-masked]>
Ramesh Govindan <[email-masked]>
Fabio Silva <[email-masked]>