[LWN Logo]
[Timeline]
Date:         Sun, 10 Sep 2000 16:18:42 +0200
From: Gigi Sullivan <sullivan@SIKUREZZA.ORG>
Subject:      ANNOUNCE: Librnet Release
To: BUGTRAQ@SECURITYFOCUS.COM

Aiee :)

   Hello!

   I'm pleased to announce the first `librnet' RELEASE.

   Librnet, Library for Raw Networking, aims to provide powerfull and
   easy-to-use raw networking to the programmers who wish to develop
   their own `low-level' network related software, without thinking too
   much at the underlay layers [1].

   Obviously little TCP/IP knowledge is required to write network related
   programs and thus, to use this library.

   Main Librnet's feautures are:

      *) Layers concept.
         In every course/book about neworking, we talk about layers.
         We talk about the ISO/OSI model and about its `mapping' on
         TCP/IP protocol suite, for example.

         So, why don't we try to exploit this concept and thus applying it
         on the top core of Librnet?

         e.g.  struct rnet_layers layers = {
                                     NULL,
                                     rnet_build_ip,
                                     rnet_build_icmp
                                  };

               rnet_init(&pkt, &layers, pktlen);

         We tie together layers `layers' to the packet `pkt' which we're
         gonna build.
         With those layers, we're trying to build up an ICMP packet with
         out own-custom IP header.


      *) Variable parameters support.
         This way we are able to `push' to the right build routines, only
         those parameters that make sense to us, in any order we wish.

         e.g.  RNET_PUTP(pkt, param_name, value);

         (This make sense since many header's fields could hold default
         values).


      I tried to develop this library, having look at the internal core
      implementation too.
      Infact, it wouldn't be too much hard to add/handle some new protocols,
      at any layers.

   Even if not explicitly said, this project with all its source code, is
   under the GNU Public Licence.

   Many things will change (trying to keep consistent the API, however),
   several bugs will be fixed (I hope ;)) and it'll be improvement and
   new features in the near future.

   Actually the library leaks of some usefulll things.
   But I guess it should be useful to release the library at this stage
   to get also feedbacks :)

   A Mailing List was created for this project.
   Please visit http://www.sikurezza.org/sullivan for further informations.
   (Please keep in mind the the site will be on line ASAP (on monday I hope),
   however a complete tarball was already sent to Librnet's Mailing List
   (see the last post - in italian, but look at the bottom for the
   attachment) http://www.egroups.com/list/librnet).

   As stated above, Librnet is far from being complete and stable.

bye bye

                           -- gg sullivan


[1]: Something similar to Librnet was created some time ago.
The project I'm referring is Libnet and it's maintained by Mile D. Shiffman
also known as route|daemon9 at infonexus dot com.
So the main difference amongst this two library is the implementation idea.
I have to say, however, that Libnet (Mike's work - really good and cool!) is
really much more tested used and complete than Librnet.

--
Lorenzo Cavallaro	`Gigi Sullivan' <sullivan@sikurezza.org>

Until I loved, life had no beauty;
I did not know I lived until I had loved. (Theodor Korner)