<div dir="ltr"><div>>Hello strace-developers:</div><div>><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>My name is JingPiao Chen. I'am a Computer Science sophomore from</div><div>>Guangdong Pharmaceutical University. I am interested in Netlink socket</div><div>>parsers suggested by Gabriel Laskar and Dmitry V. Levin. I am familiar</div><div>>with C, git, shell script, and gdb.</div><div>></div><div>>My current work base on the code by Fabien Siron</div><div>>(<a href="https://github.com/Saruta/strace/tree/netlink">https://github.com/Saruta/strace/tree/netlink</a>)</div><div>></div><div>>The work I do:</div><div>>(master:<a href="https://github.com/ppiao/strace/tree/master">https://github.com/ppiao/strace/tree/master</a>)</div><div>>1.Merge it into latest main tree.</div><div>>2.Fix coding style.</div><div>>3.Rewrite decode_netlink_flags() and decode_netlink_type().</div><div>>4.Rewrite and rename decode_inet_diag_sockid().</div><div>>5.Rewrite decode_nlattr_data().</div><div>>6.Decode some nested attributes.</div><div>></div><div>>(netlink branch:<a href="https://github.com/ppiao/strace/tree/netlink">https://github.com/ppiao/strace/tree/netlink</a>)</div><div>>7.Rewrite getfdnlproto().</div><div>>8.Do not use optional_data in struct print_iovec_config,</div><div>>when call print_iovec, pass tcp->u_arg[0] as fd.</div><div>>Is this right? Like this:</div><div>></div><div>>diff --git a/io.c b/io.c</div><div>>index a4f6b8e..6b43d7d 100644</div><div>>--- a/io.c</div><div>>+++ b/io.c</div><div>>@@ -94,7 +94,7 @@ print_iovec(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)</div><div>> <span class="gmail-Apple-tab-span" style="white-space:pre">                              </span>len = c->data_size;</div><div>> <span class="gmail-Apple-tab-span" style="white-space:pre">                    </span>if (c->data_size != (kernel_ulong_t) -1)</div><div>> <span class="gmail-Apple-tab-span" style="white-space:pre">                               </span>c->data_size -= len;</div><div>>-<span class="gmail-Apple-tab-span" style="white-space:pre">                   </span>decode_netlink(tcp, iov[0], iov[1]);</div><div>>+<span class="gmail-Apple-tab-span" style="white-space:pre">                      </span>decode_netlink(tcp, tcp->u_arg[0], iov[0], iov[1]);</div><div>> <span class="gmail-Apple-tab-span" style="white-space:pre">                    </span>break;</div><div>> <span class="gmail-Apple-tab-span" style="white-space:pre">            </span>default:</div><div>> <span class="gmail-Apple-tab-span" style="white-space:pre">                  </span>printaddr(iov[0]);</div><div>></div><div>>The work I haven't done:</div><div>>1.Don't merge rtnetlink.c</div><div>>2.Some nested do not decode.</div><div>></div><div>>I want to know the goal of Netlink socket parsers project.</div><div>>Thank you.</div><div>Is this project need to decode all netlink protocols?</div><div>Can you give me some advice?</div><div><br></div><div>Thank you.</div><div>---</div><div>JingPiao Chen</div></div>