socket-wrapper fd-passing

Stefan Metzmacher metze at
Fri Aug 28 08:05:39 UTC 2020

Hi Anoop,

>>>>> I guess it means we would need to undo some of the changes we
>>>>> made
>>>>> to one array of socket_info structures.
>>>>> I'll let you know if I get the basic passing of information via
>>>>> the
>>>>> tmp
>>>>> pipe working...
>>>> As Samba does not require that the socket is usable from two
>>>> processes
>>>> at the same time, I guess we can take a short cut and just pass
>>>> the socket_info structure (an array of them) through the pipe.
>>>> That would allow us to have multichannel tested in
>>>> gitlab/autobuild.
>>> I am looking through your changes and will let you know in case I
>>> need
>>> more clarifications.
>>>> I'll see if I can get this to work. Once we have these basics,
>>>> we can try to improve the design to be more generic with shared
>>>> structures, when we really need it.
>> I made good progress, see
>> And for Samba:
> Is this still the up-to-date branch with socket_wrapper changes pulled
> in along with multichannel tests enabled?

Basically yes, but it also has some unrelated stuff in it.

Here's a subset of it just for socket_wrapper and multichannel tests:

>> I'll add some more tests tomorrow and debug why some samba tests are
>> failing...
> Were you able to complete a successful Samba CI run with fd-passing
> changes?

If I remember correctly, yes.

I just started a new pipeline here:

There are two main items left to do:
1. cleanup the socket_wrapper.c:
  - struct swrap_unix_scm_rights => adding a uint64 magic
    (if possible the magic should be derived from the
    definition of swrap_unix_scm_rights_payload,
    see profile_setup() in source3/profile/profile.c
    where we do something similar.
  - we need to remove some #if 0 code

2. Find a way to keep the test running
   - We may only activate multichannel support on a few test environments
     instead of all, it's still off by default and we should mainly test
     the default behavior of smbd

   - And/or we need to rewrite the test to use multiple user sessions
     and %U in 'path =' instead of %R. Or two tcons to the same share (on a single connection)
     and using %t (together with a root preexec script) instead of %R.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the samba-technical mailing list