Description of problem: The sendmsg handling does never interpret the control message. I miss especially the SCM_RIGHTS handling. There was also a double comma. Version-Release number of selected component (if applicable): strace-4.5.7-2 How reproducible: always Steps to Reproduce: 1.run code using SCM_RIGHTS 2. 3. Actual results: sendmsg(11, {msg_name(0)=NULL, msg_iov(0)=[], msg_controllen=16, msg_control=0xf635b86c, , msg_flags=0}, 0) = 0 Expected results: sendmsg(11, {msg_name(0)=NULL, msg_iov(0)=[], msg_controllen=16, {cmsg_len=16, csmg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {7}}, msg_flags=0}, 0) = 0 Additional info: I'll attach a patch.
Created attachment 103425 [details] Patch to implement printing control message in sendmsg
Created attachment 103454 [details] better patch This is a better patch. It does not hardcode the SOL_ and SCM_ values and also handles SCM_CREDENTIALS. I've also started adding const to a few tables which in turn required adding const to a few function parameters, return values, and local variables. No code changes necessary.
Created attachment 103780 [details] patch with correct cmsg length The control message length was determined incorrectly, which can lead to an incorrect number of file descriptors being printed.
That patch had some random other changes in it, which I did not necessarily use. File those separately with rationale if you want them. The cmsg handling is in now.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2005-131.html