Monday May 04, 2009
Monday May 04, 2009
I have just integrated couple of changes which I believe are the first contributed externally to the Testing community as an open-source contribution. The changes add couple of new tests to the nc test suite to cover the enhancement described in PSARC/2008/680 (which is present in Nevada since build 106). This is the stuff which allows you to run nc(1) in client mode with complex portlist specifications. Previously it was possible only to use simple port ranges like 22-80, with this change one can connect to e.g. 22,24,50-80,66,1024-2048. Little example how it might be useful:
$ nc -v -z grok.czech 22,25,80-88,8080 Connection to grok.czech 22 port [tcp/ssh] succeeded! nc: connect to 129.157.71.49 port 25 [host grok.czech] (tcp) failed: Connection refused Connection to grok.czech 80 port [tcp/*] succeeded! nc: connect to 129.157.71.49 port 81 [host grok.czech] (tcp) failed: Connection refused nc: connect to 129.157.71.49 port 82 [host grok.czech] (tcp) failed: Connection refused nc: connect to 129.157.71.49 port 83 [host grok.czech] (tcp) failed: Connection refused nc: connect to 129.157.71.49 port 84 [host grok.czech] (tcp) failed: Connection refused nc: connect to 129.157.71.49 port 85 [host grok.czech] (tcp) failed: Connection refused nc: connect to 129.157.71.49 port 86 [host grok.czech] (tcp) failed: Connection refused nc: connect to 129.157.71.49 port 87 [host grok.czech] (tcp) failed: Connection refused nc: connect to 129.157.71.49 port 88 [host grok.czech] (tcp) failed: Connection refused Connection to grok.czech 8080 port [tcp/*] succeeded!
Back to the testing part. The putback (yes, stcnv-gate is still using Teamware) log for this change looks like this (I have modified Erik's e-mail a bit):
6786859 portranges_complex_spec is missing the listener 6754842 extended port list specification needs to be tested Code contributed by Erik Trauschke <erik.trauschke AT freenet.de>
I think this is really nice example of the ideal state - the contributor not only did the feature part but also the testing part. It shows a great degree of responsibility - not just throwing some code "over the fence" but fully participating in the process to ensure the quality even in the long term.
The tests are both positive and negative. Each purpose in portranges directory is numbered and the following numbers match the test purpose numbers:
To be able to do such integration there is now a Test development process. It's similar to the process used in ON community but it's more lightweight. The main difference is that the request-sponsor part is done informally via the testing-discuss mailing list and there is no list of bugs to pick up from. But don't be shy, whether you're adding new functionality or completely new program, the Testing community is here to help you.
tags:
contribute
contributions
nc
netcat
opensolaris
solaris
testing
Linkage:
Technorati cosmos
Saturday Dec 01, 2007
CR 4664622 has been integrated into Nevada and will be part of build 80 (which means it will not be part of next SXDE release but I can live with that :)).
During the course of getting the process done I have stumbled upon several interesting obstacles. For example, during ingress Open Source Review I was asked by our open-source caretaker what will be the "support model" for Netcat once it is integrated. I was puzzled. Because, for Netcat, support is not really needed since it has been around for ages (ok, since 1996 according to wikipedia) and is pretty stable piece of code which is basically no longer developed. Nonetheless, this brings some interesting challenges with move to a community model where more and more projects are integrated by people outside Sun (e.g. ksh93 project).
The nc(1) man page will be delivered in build 81. In the meantime you can read
Netcat review blog entry which contains the link to updated man page.
The older version of the man page is contained in the mail communication for PSARC 2007/389.
Note: I have realized that the ARC case directory does not have to include most up-to-date man page at the time of integration.
Only when something _architectural_ changes, then the man page has to be updated (which was not the case with Netcat since we only added new section describing how to setup nc(1) with RBAC). Thanks to Jim for the explanation.
I have some ideas how to make Netcat in Solaris even better and will work to get them done over time. In particular, there are following RFEs: 6515928, 6573202. However, this does not mean that there is only single person who can work on nc(1). Since it is now part of ONNV, anyone is free to hack it.
So, I'd like to invite everyone to participate - if you have an idea how to extend Netcat, what features to add, it is sitting in ONNV waiting for new RFEs (or bugs) and sponsor requests (be sure to read Jayakara Kini's explanation of how to contribute if you're not OpenSolaris contributor yet).
Also, if you're Netcat user and use Netcat in a cool way, I want to hear that !
tags:
contribute
nc
netcat
opensolaris
opensource
participate
solaris
Linkage:
Technorati cosmos