<div>Hello everyone, :-)</div><div><br></div><div>My name is Zubin Mithra and I am a B.Tech student; I have an idea I would like to propose for GSoC 2010. </div><div><br></div><div>Currently, managing iptables is a difficult task; iptable rules are read from a static configuration file and are applied. Many tools have been developed which provide a front-end for iptables management making the task slightly easier. Nevertheless, there is no tool which can find out if a packet with certain attributes can be received or sent by a particular machine.</div>
<div><br></div><div>What I am proposing is a library which can parse iptable rules using appropriate data structures and figure out if a packet with certain attributes can be sent/received from the local machine. The implementation of this library could be done in two ways:-</div>
<div>1. a. Write a C-library. I could also develop Python bindings for the same. Interested developers could take on the task of writing bindings for the the C-library after the Summer Of Coding period. In this manner, different applications could use the library and avail itself of such features.</div>
<div>    b. Also, once the Python bindings are developed, command line tools for modifying the iptable rules, in order to allow/deny a packet with certain attributes to be sent/received, could be easily developed.</div><div>
BOON - does`nt have the BANE of method two given below. ;-)</div><div>BANE - string parsing in C will not be that easy. Also, different language bindings need to be developed so that the library could be really useful.</div>
<div><br></div>2. a. A python module is developed for parsing the iptable rules which has the appropriate data structures required. <div>    b. Make a service which exposes the methods made available by the Python module. This way other applications can avail themselves of this feature using d-bus. </div>
<div>BOON - String parsing is tremendously easy in Python; implementation will be loads easier</div><div>BANE - Not many users would want a service running for a task such as iptables management, which is not done on a regular basis.</div>
<div><br></div><div>The main benifit of the project would be:-</div><div>1. Admins would find it very useful.</div><div>2. Better user experience - Applications could use this library to tell the user where exactly the fault behind a failing network connection could be.</div>
<div><br></div><div>I would love to have reviews and criticisms. Thank you for spending your time reading up this idea.</div><div><div><br></div><div>Have a nice day. :-)<br clear="all">Zubin Mithra<br><br><a href="http://zubin71.wordpress.com">http://zubin71.wordpress.com</a><br>

</div></div>