Solaris serviceability and nifty tools

Netcat package and code review

As you might know, Netcat implementation
is going to be part of OpenSolaris.
The initial Netcat integration is based on a
reimplementation from
OpenBSD (here's why).

As Jeff Bonwick said, open sourced code is nothing compared to the fact that all design discussions and decisions suddenly happen in the public (loosely paraphrased). This is a great wave to ride and I have jumped on it
when it was not really small so I have at least posted the webrev pointer for initial Netcat integration (CR 4664622) to the opensolaris-code mailing list (which is roughly the equivalent of freebsd-hackers, openbsd-tech or similar mailing lists)
to get some code review comments.

Since then couple of things changed. Thanks to
Dan Price and others
now possible
to upload webrevs to cr.opensolaris.org.
I have started using the service so the new and official place for the Netcat webrev is

The webrev has moved location but what I said in the opensolaris-code post still holds

Any constructive notes regarding the code are welcome. (I am mainly
looking for functional/logic errors, packaging flaws or parts of code
which could mismatch the PSARC case)

The following things could help any potential code reviewer:

  • Summary of the changes done to the original implementation in order to adapt it to Solaris environment..
  • PSARC 2007/389 case covering interfaces delivered by this project. For more information
    about ARCs see Architecture Process and Tools community pages.
  • SUNWnetcat package (x86) which contains /usr/bin/nc binary
  • webrev
    of the differences
    between my version of Netcat and the one which is
    currently in OpenBSD.

    Only the \*.[ch] files matter, of course. (This is very
    easy thing to do with distributed SCM since it only requires one to reparent and
    regenerate webrev against new parent workspace)
  • Updated
    manual page

    This is slightly different from the man page in the PSARC materials because it contains
    new section about using nc with privileges and associated set of examples in the EXAMPLES
    section. The man page in the PSARC materials will not be updated because after a case
    is approved, the man page is updated only in case some architectural changes were
    needed. In the case of privileges, it is only addition describing specific usage,
    no architectural changes.

The conclusion for non code reviewers ? I hope it is clear the in (Open)Solaris land
we value quality and transparency. Peer reviews and architectural reviews are just
(albeit crucial) pieces which help to achieve that goal.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.