[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Mon Jul 22 18:05:02 UTC 2019


The branch, master has been updated
       via  c1e649fd473 s3:rpc_server: Call server exit routines in sigterm handler
       via  ee6fb27c59b s3:rpc_server: Call epmapper RPC shutdown function from server exit routines
       via  63a39ef6051 s3:rpc_server: Call fsrvp RPC shutdown function from server exit routines
       via  7a167b3751c s3:rpc_server: Call server exit routines in sigterm handler
       via  6be10e6d439 s3:rpc_server: Improve debug messages
       via  a2c943f52d3 s3:rpc_server:spoolssd: Move socket creation to its own function
       via  dde08e8f262 s3:rpc_server: Return NTSTATUS in is_known_pipename function
       via  f7529fffce6 s3:rpc_server: Make make_external_rpc_pipe_p and np_proxy_state private
       via  4d42b7cde20 s3:rpc_server: Check pointer before dereference
       via  0c04daf5235 s3:rpc_server: Rename dcesrv_handle struct
       via  cdaf06abadc s3:rpc_server: Unify RPC client disconnect and termination functions
       via  5865cf4dd98 s3:spoolss: Set remote and local address for accepted connections
       via  5d8e13413c3 s3:rpc_server: Return NTSTATUS in make_internal_rpc_pipe_p
       via  6f07f46771a s3:rpc_server: Set debug class in all rpc server related files
       via  01c6602dd25 s3:rpc_server: Initialize auxiliary variable checked in error path
       via  6964348bbfc s3:prefork: Allow to associate private data with listening socket
       via  85201cc76b4 s3:rpc_server: Remove named_pipe_client struct and use dcerpc_ncacn_conn
       via  82759189d16 s3:rpc_server: Check remote address supplied to dcerpc_ncacn_accept
       via  c976d456d2f s3:rpc_server: Make dcerpc_ncacn_packet_process public
       via  2e938e22ac9 s3:rpc_server: Add a function to initialize the dcerpc_ncacn_conn struct
       via  52c3bebd23e s3:rpc_server: Split dcerpc_ncacn_accept to deal with tstream_npa
       via  61fb17f85bf s3:rpc_server: Add termination function and data to dcerpc_ncacn_conn
       via  cc6342e7a5e s3:rpc_server: Move dcerpc_ncanc_conn to header file
       via  d8d7c981218 s3:rpc_server: Set dcerpc_ncacn_connection destructor
       via  fdfa0e0a01a s3:epmapper: Rename conflicting struct
       via  6ac170267ca s3-prefork: Add header inclusion guards
       via  d1d37a0a6e7 s3:rpc_server: Return NTSTATUS in rpc_ep_setup and setup functions
       via  7ee4dff9da2 s3:rpc_server: Fix hidden strict aliasing issues
       via  8cb921d2550 lib:tsocket: New function to build a tsocket_context from samba_address
       via  0a65fa8a9a7 s3:utils: New struct to fix strict aliasing issues with sockets API
       via  60b7b791876 s3:rpc_server: Fix code formatting and improve debug messages
       via  f527964f72a s3:rpc_server: Set the endpoint name to "IP" on ncacn_ip_tcp listener
       via  fd62ab62aed s3:spoolss: Exit if fork call fails
       via  2cb4a9c6e8d s3:rpc_server: Use talloc_zero for dcerpc_ncacn_listen_state
       via  1f2caa4101a s3:rpc_server: Use new debug macros in dcesrv_setup_ncalrpc_socket
       via  5a544864245 s3:rpc_server: Return NTSTATUS for dcesrv_setup_ncalrpc_socket
       via  1a1f31e0820 s3:rpc_server: Rename setup_dcerpc_ncalrpc_socket
       via  cbf497dc095 s3:rpc_server: Use new debug macros in dcesrv_setup_ncacn_ip_tcp_socket
       via  ae14c51080c s3:rpc_server: Return NTSTATUS for dcesrv_setup_ncacn_ip_tcp_socket
       via  a6b5899853c s3:rpc_server: Rename setup_dcerpc_ncacn_tcpip_socket
       via  3f4be0b9dbd s3:rpc_server: Rename rpc_create_tcpip_sockets
       via  edc8ef722c8 s3:rpc_server: Rename dcerpc_ncacn_tcpip_listener
       via  6b2aefc579f s3:rpc_server: Use new debug macros for dcesrv_create_ncacn_ip_tcp_socket
       via  e3999a14daa s3:rpc_server: Return NTSTATUS for dcesrv_create_ncacn_ip_tcp_socket
       via  b7817eaf3d3 s3:rpc_server: Rename create_tcpip_socket
       via  5ed7ee72799 s3:rpc_server: simplify the error checking of create_tcpip_socket() callers
       via  b52d58d6e18 s3:rpc_server: Rename named_pipe_listener
       via  fc3d582ccab s3:rpc_server: Switch to new debug macros for dcesrv_setup_ncacn_np_socket
       via  e05ce7b9e75 s3:rpc_server: Return NTSTATUS for dcesrv_setup_ncacn_np_socket
       via  b6537c15c16 s3:rpc_server: Rename setup_named_pipe_socket
       via  3fdd4dc03ad s3:rpc_server: Switch to new debug macros for dcesrv_create_ncacn_np_socket
       via  4a5c440b089 s3:rpc_server: Return NTSTATUS for dcesrv_create_ncacn_np_socket
       via  7f8f857dfea s3:rpc_server: Rename create_named_pipe_socket
       via  af576d335ad s3:rpc_server: Rename dcerpc_ncalrpc_listener
       via  05507d4d198 s3:rpc_server: Switch to new debug macros for dcesrv_create_ncalrpc_socket
       via  3153814db4a s3:rpc_server: Return NTSTATUS for dcesrv_create_ncalrpc_socket
       via  c0b1884c99e s3:rpc_server: Rename create_dcerpc_ncalrpc_socket
      from  0bcfc550b1a gp_inf: Read/write files with a UTF-16LE BOM in GptTmpl.inf

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit c1e649fd473885c0cb779344fc7089a245c7b17d
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Feb 26 13:38:40 2019 +0100

    s3:rpc_server: Call server exit routines in sigterm handler
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Mon Jul 22 18:04:53 UTC 2019 on sn-devel-184

commit ee6fb27c59ba33967f6c8ea473b6938c501f71b6
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Feb 26 13:35:09 2019 +0100

    s3:rpc_server: Call epmapper RPC shutdown function from server exit routines
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 63a39ef605176f6d6adef7dd95ae430d344a36bb
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Feb 26 13:33:12 2019 +0100

    s3:rpc_server: Call fsrvp RPC shutdown function from server exit routines
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 7a167b3751c5e955d757b7397f4d596e5b93c140
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Feb 26 13:24:33 2019 +0100

    s3:rpc_server: Call server exit routines in sigterm handler
    
    The exit server routines already call rpc shutdown functions
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6be10e6d439dbeadeac7cb8b11c32c13ea6b8b83
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Feb 26 13:59:54 2019 +0100

    s3:rpc_server: Improve debug messages
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit a2c943f52d39cedd5b7d9cbb3ed1f34fe62988fc
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Wed Feb 27 16:52:20 2019 +0100

    s3:rpc_server:spoolssd: Move socket creation to its own function
    
    The function also handles the registration in the endpoint mapper.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit dde08e8f262633c017c8288991c9e894cb72d0d8
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 21:06:02 2019 +0100

    s3:rpc_server: Return NTSTATUS in is_known_pipename function
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit f7529fffce6de70a6914e17f91876d721e02b219
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 21:04:00 2019 +0100

    s3:rpc_server: Make make_external_rpc_pipe_p and np_proxy_state private
    
    This function and struct is not used outside rpc_ncacn_np.c
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 4d42b7cde208982f2344e0519ebbf6de5da2ec32
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Thu Feb 14 14:22:49 2019 +0100

    s3:rpc_server: Check pointer before dereference
    
    The debug message dereference the pointer, but as close_policy_by_pipe
    is called from pipes_struct destructor it may be not initialized yet if
    an error occur in the initialization code.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 0c04daf52351b105fd8e8dd28703c290f369a3cd
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 11 11:47:56 2019 +0100

    s3:rpc_server: Rename dcesrv_handle struct
    
    The name conflicts with the S4 name.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit cdaf06abadc92796d6c84f0e95172519071f1fa5
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 20:28:05 2019 +0100

    s3:rpc_server: Unify RPC client disconnect and termination functions
    
    These functions are used by endpoint mapper to delete the endpoints
    when a NCALRPC connection from an external daemon is lost and by
    preforked childs to accept the next client as soon as the current
    connection terminates. We can use the same function for both purposes.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 5865cf4dd98bfe9c780d4ed4b8fe630a4a9949d0
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 20:27:31 2019 +0100

    s3:spoolss: Set remote and local address for accepted connections
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 5d8e13413c3ce6c68c6bc06f77194e3098ccaf56
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Wed Feb 13 10:48:54 2019 +0100

    s3:rpc_server: Return NTSTATUS in make_internal_rpc_pipe_p
    
    Also make it static as it is not used outside rpc_ncacn_np.c
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6f07f46771a741142f603635d988394de5e17e66
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Feb 5 19:27:58 2019 +0100

    s3:rpc_server: Set debug class in all rpc server related files
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 01c6602dd250b62234e20bd79a46241782863ba0
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Wed Feb 27 16:54:49 2019 +0100

    s3:rpc_server: Initialize auxiliary variable checked in error path
    
    The auxiliary variable is checked in the function's exit code so reset
    it after each usage.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6964348bbfc8781be76ebd6a9f931648843a22f9
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Jan 28 10:57:53 2019 +0100

    s3:prefork: Allow to associate private data with listening socket
    
    Prepare for merger RPC server codebase, where it will be necessary to
    stablish an association between the listening socket and the
    dcesrv_endpoint that the socket is serving.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 85201cc76b4990b287681bd248c3c1b91a9f97be
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 19:38:08 2019 +0100

    s3:rpc_server: Remove named_pipe_client struct and use dcerpc_ncacn_conn
    
    Now NCACN_NP connections run the same loop as NCACN_IP_TCP and NCALRPC
    connections.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 82759189d16449d7e4cb23a353d99e2254437898
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 19:34:38 2019 +0100

    s3:rpc_server: Check remote address supplied to dcerpc_ncacn_accept
    
    Check if the supplied tsocket_address is valid before changing the
    talloc chunk parent to the ncacn_conn struct.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit c976d456d2f564764cd1a12f2d1fe37ae4023d17
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 19:33:29 2019 +0100

    s3:rpc_server: Make dcerpc_ncacn_packet_process public
    
    In preparation to remove the named_pipe_client struct, this function
    will be set as tevent callback from rpc_ncacn_np.c
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 2e938e22ac9484ccefd266ceed590cfbf5c01599
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 19:31:04 2019 +0100

    s3:rpc_server: Add a function to initialize the dcerpc_ncacn_conn struct
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 52c3bebd23e0343dfc1b34bbe2e894ca62974be1
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 19:24:54 2019 +0100

    s3:rpc_server: Split dcerpc_ncacn_accept to deal with tstream_npa
    
    In preparation to remove the named_pipe_client struct split the function
    if two parts and build the tstream context as soon as possible, as it
    will take care of closing the socket when the tstream_context is freed.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 61fb17f85bf7c6a33253d9b34a044d614b733c2b
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 18:48:57 2019 +0100

    s3:rpc_server: Add termination function and data to dcerpc_ncacn_conn
    
    In preparation to remove the named_pipe_client structure, this function
    will be called from ncacn_conn destructor passing the private data pointer
    as argument. It is mainly used by preforked childs in "process model" to
    attend the next client as soon as the previous client ends the connection.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit cc6342e7a5e955c55319021ec3cd2ed5800c40f6
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 18:25:48 2019 +0100

    s3:rpc_server: Move dcerpc_ncanc_conn to header file
    
    Next commits will remove named_pipe_client and dcerpc_ncacn_connection
    will be used in its place. It has to be moved to a header file as it
    will be used by functions in rpc_server.c and rpc_ncacn_np.c.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit d8d7c981218ca2daac3234330b03b011efc9d5ba
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Feb 5 13:34:39 2019 +0100

    s3:rpc_server: Set dcerpc_ncacn_connection destructor
    
    And call disconnection callback from there if it is set.
    Additionally change named_pipe_termination_fn to have * in typedef.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit fdfa0e0a01a4f202a0166f878b160dc7aa430633
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Thu Jan 31 21:57:04 2019 +0100

    s3:epmapper: Rename conflicting struct
    
    Rename an epmapper internal struct which will conflict when merging s3
    and s4 rpc servers.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6ac170267ca269bea80cfa16207b3670f1e4a26d
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Sun Feb 3 22:33:53 2019 +0100

    s3-prefork: Add header inclusion guards
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit d1d37a0a6e79f448fbf7443a4554e16e49b44131
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Thu Jan 31 16:42:35 2019 +0100

    s3:rpc_server: Return NTSTATUS in rpc_ep_setup and setup functions
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 7ee4dff9da219d666a8286623ab556b6b5504bd6
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 17:28:34 2019 +0100

    s3:rpc_server: Fix hidden strict aliasing issues
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 8cb921d2550e4880d29ea7daf13b57fcb7d31936
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 17:27:46 2019 +0100

    lib:tsocket: New function to build a tsocket_context from samba_address
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 0a65fa8a9a720029b20037259e2e76525bcfafef
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 17:09:14 2019 +0100

    s3:utils: New struct to fix strict aliasing issues with sockets API
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit 60b7b791876ef8affce8c770fb6bf11030ab2c50
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Mon Feb 18 17:05:54 2019 +0100

    s3:rpc_server: Fix code formatting and improve debug messages
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit f527964f72af3c31ba16de40756ab468da5924c9
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Wed Feb 20 09:28:55 2019 +0100

    s3:rpc_server: Set the endpoint name to "IP" on ncacn_ip_tcp listener
    
    This matchs what lsasd and mdssd does.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit fd62ab62aed2702c5646242b6400455f9fa4e391
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Wed Feb 6 09:11:47 2019 +0100

    s3:spoolss: Exit if fork call fails
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 2cb4a9c6e8d31249131b0ba19579c5879c956104
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 17:04:32 2019 +0200

    s3:rpc_server: Use talloc_zero for dcerpc_ncacn_listen_state
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 1f2caa4101a29736db38c22036268f0a612420cb
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 17:02:18 2019 +0200

    s3:rpc_server: Use new debug macros in dcesrv_setup_ncalrpc_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 5a544864245d06630684a173d6a27aa605b79f34
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 17:00:30 2019 +0200

    s3:rpc_server: Return NTSTATUS for dcesrv_setup_ncalrpc_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 1a1f31e0820d33edc600d9ad1dc53d63c68f3d4e
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 16:56:17 2019 +0200

    s3:rpc_server: Rename setup_dcerpc_ncalrpc_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit cbf497dc0956f4685c8991b4499d3d6c56a5214a
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 16:50:38 2019 +0200

    s3:rpc_server: Use new debug macros in dcesrv_setup_ncacn_ip_tcp_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit ae14c51080c6b69edb0364b79a9cecde62e2684f
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 16:45:07 2019 +0200

    s3:rpc_server: Return NTSTATUS for dcesrv_setup_ncacn_ip_tcp_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit a6b5899853c95b6b9c3f438af86c5103c0dc4a9d
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 16:39:36 2019 +0200

    s3:rpc_server: Rename setup_dcerpc_ncacn_tcpip_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 3f4be0b9dbdf89d09358ab6897feadad477f0ed1
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jan 22 16:32:51 2019 +0100

    s3:rpc_server: Rename rpc_create_tcpip_sockets
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit edc8ef722c86055abbb5438dc6b4df236a465b96
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jan 22 16:20:38 2019 +0100

    s3:rpc_server: Rename dcerpc_ncacn_tcpip_listener
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6b2aefc579f584c22a4b64c189f883222d8e928c
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 16:20:52 2019 +0200

    s3:rpc_server: Use new debug macros for dcesrv_create_ncacn_ip_tcp_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit e3999a14daa40ccdfab379aa84da615b47e0f447
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 16:16:36 2019 +0200

    s3:rpc_server: Return NTSTATUS for dcesrv_create_ncacn_ip_tcp_socket
    
    Additionally to the fd number, check the port number has been correctly
    assigned. This check was performed by the callers of this function.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit b7817eaf3d3120a41e38d913d41e4fa3433f78d3
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 16:02:54 2019 +0200

    s3:rpc_server: Rename create_tcpip_socket
    
    Additionally move function declaration from proto.h to rpc_server.h
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 5ed7ee7279911fc98b9f81dddc6f396d368ab2c8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jun 4 14:12:56 2019 +0200

    s3:rpc_server: simplify the error checking of create_tcpip_socket() callers
    
    create_tcpip_socket() never returns a valid fd and left port as 0.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andreas Schneider <asn at samba.org>

commit b52d58d6e1841f4c0d3d9f6c386e60e761ef4b1e
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jan 22 15:50:38 2019 +0100

    s3:rpc_server: Rename named_pipe_listener
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit fc3d582ccab2bbb7ca04b2fddf57db1ad7e7016e
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 15:48:27 2019 +0200

    s3:rpc_server: Switch to new debug macros for dcesrv_setup_ncacn_np_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit e05ce7b9e75b8fc36f04c25f51f21dcdc463c737
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 15:46:03 2019 +0200

    s3:rpc_server: Return NTSTATUS for dcesrv_setup_ncacn_np_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit b6537c15c1623c3141e64537b2998ddae8cc6db9
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 15:34:11 2019 +0200

    s3:rpc_server: Rename setup_named_pipe_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 3fdd4dc03adad694f01cf1fb3fe9e3a7cd666dac
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 15:23:22 2019 +0200

    s3:rpc_server: Switch to new debug macros for dcesrv_create_ncacn_np_socket
    
    Additionally messages are improved.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 4a5c440b089d1232fe3c11e42ec39d96c3cc0e0a
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 15:15:11 2019 +0200

    s3:rpc_server: Return NTSTATUS for dcesrv_create_ncacn_np_socket
    
    The 'fd' state struct member is initialized after allocation because it
    is checked in the error path.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 7f8f857dfea7a2474bd109339f3ba7627f0e0e65
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 14:39:03 2019 +0200

    s3:rpc_server: Rename create_named_pipe_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit af576d335adc75a4bca03fd42d9e510eae841e27
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jan 22 14:34:17 2019 +0100

    s3:rpc_server: Rename dcerpc_ncalrpc_listener
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 05507d4d19804dfd57b85dd7e20bdad4b3d9781e
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 14:21:11 2019 +0200

    s3:rpc_server: Switch to new debug macros for dcesrv_create_ncalrpc_socket
    
    Additionally new debug messages are added and the existing ones improved.
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 3153814db4a4ad667218f47ff610c5b43678aabf
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 14:17:03 2019 +0200

    s3:rpc_server: Return NTSTATUS for dcesrv_create_ncalrpc_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit c0b1884c99e1e89f2a7864e72a7064c0c62fad46
Author: Samuel Cabrero <scabrero at suse.de>
Date:   Tue Jun 4 13:59:23 2019 +0200

    s3:rpc_server: Rename create_dcerpc_ncalrpc_socket
    
    Signed-off-by: Samuel Cabrero <scabrero at suse.de>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 lib/tsocket/tsocket.h                       |   27 +
 lib/tsocket/tsocket_bsd.c                   |  118 +--
 lib/util/util_net.h                         |   13 +
 source3/include/proto.h                     |    1 -
 source3/lib/server_prefork.c                |   36 +-
 source3/lib/server_prefork.h                |   25 +-
 source3/printing/spoolssd.c                 |  150 ++--
 source3/rpc_server/dcesrv_auth_generic.c    |    3 +
 source3/rpc_server/epmapper/srv_epmapper.c  |   35 +-
 source3/rpc_server/epmapper/srv_epmapper.h  |    6 +-
 source3/rpc_server/epmd.c                   |   31 +-
 source3/rpc_server/fssd.c                   |   10 +-
 source3/rpc_server/lsasd.c                  |  111 +--
 source3/rpc_server/mdssd.c                  |   53 +-
 source3/rpc_server/mdssvc/srv_mdssvc_nt.c   |    7 +-
 source3/rpc_server/rpc_config.c             |    3 +
 source3/rpc_server/rpc_contexts.c           |    3 +
 source3/rpc_server/rpc_ep_register.c        |    3 +
 source3/rpc_server/rpc_handles.c            |   34 +-
 source3/rpc_server/rpc_modules.c            |    3 +
 source3/rpc_server/rpc_ncacn_np.c           |  194 ++---
 source3/rpc_server/rpc_ncacn_np.h           |   20 -
 source3/rpc_server/rpc_server.c             | 1032 +++++++++++----------------
 source3/rpc_server/rpc_server.h             |   91 ++-
 source3/rpc_server/rpc_service_setup.c      |  334 ++++++---
 source3/rpc_server/rpc_service_setup.h      |   12 +-
 source3/rpc_server/rpc_sock_helper.c        |   75 +-
 source3/rpc_server/rpc_sock_helper.h        |   23 +-
 source3/rpc_server/srv_access_check.c       |    3 +
 source3/rpc_server/srv_pipe.c               |   27 +-
 source3/rpc_server/srv_pipe.h               |    3 +-
 source3/rpc_server/srv_pipe_hnd.c           |    7 +-
 source3/smbd/server.c                       |    4 +-
 source3/smbd/server_exit.c                  |    6 +
 testsuite/unittests/test_sambafs_srv_pipe.c |   12 +-
 35 files changed, 1305 insertions(+), 1210 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/tsocket/tsocket.h b/lib/tsocket/tsocket.h
index 43f8881dbee..edefa7478e7 100644
--- a/lib/tsocket/tsocket.h
+++ b/lib/tsocket/tsocket.h
@@ -26,6 +26,7 @@
 
 #include <tevent.h>
 
+struct samba_sockaddr;
 struct tsocket_address;
 struct tdgram_context;
 struct tstream_context;
@@ -982,6 +983,32 @@ int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx,
 					   __location__)
 #endif
 
+#ifdef DOXYGEN
+/**
+ * @brief Convert a samba address to a tsocket address.
+ *
+ * @param[in]  mem_ctx  The talloc memory context to use.
+ *
+ * @param[in]  s_addr   The samba address structure to convert.
+ *
+ * @param[out] t_addr   The tsocket pointer to allocate and fill.
+ *
+ * @return              0 on success, -1 on error with errno set.
+ */
+int tsocket_address_bsd_from_samba_sockaddr(TALLOC_CTX *mem_ctx,
+					const struct samba_sockaddr *s_addr,
+					struct tsocket_address **t_addr);
+#else
+int _tsocket_address_bsd_from_samba_sockaddr(TALLOC_CTX *mem_ctx,
+					 const struct samba_sockaddr *s_addr,
+					 struct tsocket_address **t_addr,
+					 const char *location);
+
+#define tsocket_address_bsd_from_samba_sockaddr(mem_ctx, s_addr, t_addr) \
+	_tsocket_address_bsd_from_samba_sockaddr(mem_ctx, s_addr, t_addr, \
+						 __location__)
+#endif
+
 /**
  * @brief Fill a bsd sockaddr structure.
  *
diff --git a/lib/tsocket/tsocket_bsd.c b/lib/tsocket/tsocket_bsd.c
index 708d17edc32..1627051f3ec 100644
--- a/lib/tsocket/tsocket_bsd.c
+++ b/lib/tsocket/tsocket_bsd.c
@@ -28,6 +28,7 @@
 #include "tsocket_internal.h"
 #include "lib/util/iov_buf.h"
 #include "lib/util/blocking.h"
+#include "lib/util/util_net.h"
 
 static int tsocket_bsd_error_from_errno(int ret,
 					int sys_errno,
@@ -211,19 +212,6 @@ static ssize_t tsocket_bsd_pending(int fd)
 
 static const struct tsocket_address_ops tsocket_address_bsd_ops;
 
-struct tsocket_address_bsd {
-	socklen_t sa_socklen;
-	union {
-		struct sockaddr sa;
-		struct sockaddr_in in;
-#ifdef HAVE_IPV6
-		struct sockaddr_in6 in6;
-#endif
-		struct sockaddr_un un;
-		struct sockaddr_storage ss;
-	} u;
-};
-
 int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx,
 				       const struct sockaddr *sa,
 				       size_t sa_socklen,
@@ -231,7 +219,7 @@ int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx,
 				       const char *location)
 {
 	struct tsocket_address *addr;
-	struct tsocket_address_bsd *bsda;
+	struct samba_sockaddr *bsda = NULL;
 
 	if (sa_socklen < sizeof(sa->sa_family)) {
 		errno = EINVAL;
@@ -273,7 +261,7 @@ int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx,
 	addr = tsocket_address_create(mem_ctx,
 				      &tsocket_address_bsd_ops,
 				      &bsda,
-				      struct tsocket_address_bsd,
+				      struct samba_sockaddr,
 				      location);
 	if (!addr) {
 		errno = ENOMEM;
@@ -293,12 +281,24 @@ int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx,
 	return 0;
 }
 
+int _tsocket_address_bsd_from_samba_sockaddr(TALLOC_CTX *mem_ctx,
+					 const struct samba_sockaddr *s_addr,
+					 struct tsocket_address **t_addr,
+					 const char *location)
+{
+	return _tsocket_address_bsd_from_sockaddr(mem_ctx,
+						  &s_addr->u.sa,
+						  s_addr->sa_socklen,
+						  t_addr,
+						  location);
+}
+
 ssize_t tsocket_address_bsd_sockaddr(const struct tsocket_address *addr,
 				     struct sockaddr *sa,
 				     size_t sa_socklen)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 
 	if (!bsda) {
 		errno = EINVAL;
@@ -324,8 +324,8 @@ ssize_t tsocket_address_bsd_sockaddr(const struct tsocket_address *addr,
 
 bool tsocket_address_is_inet(const struct tsocket_address *addr, const char *fam)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 
 	if (!bsda) {
 		return false;
@@ -440,8 +440,8 @@ done:
 char *tsocket_address_inet_addr_string(const struct tsocket_address *addr,
 				       TALLOC_CTX *mem_ctx)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 	char addr_str[INET6_ADDRSTRLEN+1];
 	const char *str;
 
@@ -477,8 +477,8 @@ char *tsocket_address_inet_addr_string(const struct tsocket_address *addr,
 
 uint16_t tsocket_address_inet_port(const struct tsocket_address *addr)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 	uint16_t port = 0;
 
 	if (!bsda) {
@@ -506,8 +506,8 @@ uint16_t tsocket_address_inet_port(const struct tsocket_address *addr)
 int tsocket_address_inet_set_port(struct tsocket_address *addr,
 				  uint16_t port)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 
 	if (!bsda) {
 		errno = EINVAL;
@@ -533,8 +533,8 @@ int tsocket_address_inet_set_port(struct tsocket_address *addr,
 
 bool tsocket_address_is_unix(const struct tsocket_address *addr)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 
 	if (!bsda) {
 		return false;
@@ -582,8 +582,8 @@ int _tsocket_address_unix_from_path(TALLOC_CTX *mem_ctx,
 char *tsocket_address_unix_path(const struct tsocket_address *addr,
 				TALLOC_CTX *mem_ctx)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 	const char *str;
 
 	if (!bsda) {
@@ -606,8 +606,8 @@ char *tsocket_address_unix_path(const struct tsocket_address *addr,
 static char *tsocket_address_bsd_string(const struct tsocket_address *addr,
 					TALLOC_CTX *mem_ctx)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 	char *str;
 	char *addr_str;
 	const char *prefix = NULL;
@@ -648,8 +648,8 @@ static struct tsocket_address *tsocket_address_bsd_copy(const struct tsocket_add
 							 TALLOC_CTX *mem_ctx,
 							 const char *location)
 {
-	struct tsocket_address_bsd *bsda = talloc_get_type(addr->private_data,
-					   struct tsocket_address_bsd);
+	struct samba_sockaddr *bsda = talloc_get_type(addr->private_data,
+					   struct samba_sockaddr);
 	struct tsocket_address *copy;
 	int ret;
 
@@ -925,7 +925,7 @@ static void tdgram_bsd_recvfrom_handler(void *private_data)
 					struct tdgram_bsd_recvfrom_state);
 	struct tdgram_context *dgram = state->dgram;
 	struct tdgram_bsd *bsds = tdgram_context_data(dgram, struct tdgram_bsd);
-	struct tsocket_address_bsd *bsda;
+	struct samba_sockaddr *bsda = NULL;
 	ssize_t ret;
 	int err;
 	bool retry;
@@ -962,7 +962,7 @@ static void tdgram_bsd_recvfrom_handler(void *private_data)
 	state->src = tsocket_address_create(state,
 					    &tsocket_address_bsd_ops,
 					    &bsda,
-					    struct tsocket_address_bsd,
+					    struct samba_sockaddr,
 					    __location__ "bsd_recvfrom");
 	if (tevent_req_nomem(state->src, req)) {
 		return;
@@ -1116,9 +1116,9 @@ static void tdgram_bsd_sendto_handler(void *private_data)
 	bool retry;
 
 	if (state->dst) {
-		struct tsocket_address_bsd *bsda =
+		struct samba_sockaddr *bsda =
 			talloc_get_type(state->dst->private_data,
-			struct tsocket_address_bsd);
+			struct samba_sockaddr);
 
 		sa = &bsda->u.sa;
 		sa_socklen = bsda->sa_socklen;
@@ -1261,10 +1261,10 @@ static int tdgram_bsd_dgram_socket(const struct tsocket_address *local,
 				   struct tdgram_context **_dgram,
 				   const char *location)
 {
-	struct tsocket_address_bsd *lbsda =
+	struct samba_sockaddr *lbsda =
 		talloc_get_type_abort(local->private_data,
-		struct tsocket_address_bsd);
-	struct tsocket_address_bsd *rbsda = NULL;
+		struct samba_sockaddr);
+	struct samba_sockaddr *rbsda = NULL;
 	struct tdgram_context *dgram;
 	struct tdgram_bsd *bsds;
 	int fd;
@@ -1277,7 +1277,7 @@ static int tdgram_bsd_dgram_socket(const struct tsocket_address *local,
 
 	if (remote) {
 		rbsda = talloc_get_type_abort(remote->private_data,
-			struct tsocket_address_bsd);
+			struct samba_sockaddr);
 	}
 
 	switch (lbsda->u.sa.sa_family) {
@@ -1478,9 +1478,9 @@ int _tdgram_inet_udp_socket(const struct tsocket_address *local,
 			    struct tdgram_context **dgram,
 			    const char *location)
 {
-	struct tsocket_address_bsd *lbsda =
+	struct samba_sockaddr *lbsda =
 		talloc_get_type_abort(local->private_data,
-		struct tsocket_address_bsd);
+		struct samba_sockaddr);
 	int ret;
 
 	switch (lbsda->u.sa.sa_family) {
@@ -1506,9 +1506,9 @@ int _tdgram_inet_udp_broadcast_socket(const struct tsocket_address *local,
 				      struct tdgram_context **dgram,
 				      const char *location)
 {
-	struct tsocket_address_bsd *lbsda =
+	struct samba_sockaddr *lbsda =
 		talloc_get_type_abort(local->private_data,
-		struct tsocket_address_bsd);
+		struct samba_sockaddr);
 	int ret;
 
 	switch (lbsda->u.sa.sa_family) {
@@ -1537,9 +1537,9 @@ int _tdgram_unix_socket(const struct tsocket_address *local,
 			struct tdgram_context **dgram,
 			const char *location)
 {
-	struct tsocket_address_bsd *lbsda =
+	struct samba_sockaddr *lbsda =
 		talloc_get_type_abort(local->private_data,
-		struct tsocket_address_bsd);
+		struct samba_sockaddr);
 	int ret;
 
 	switch (lbsda->u.sa.sa_family) {
@@ -2166,13 +2166,13 @@ static struct tevent_req *tstream_bsd_connect_send(TALLOC_CTX *mem_ctx,
 {
 	struct tevent_req *req;
 	struct tstream_bsd_connect_state *state;
-	struct tsocket_address_bsd *lbsda =
+	struct samba_sockaddr *lbsda =
 		talloc_get_type_abort(local->private_data,
-		struct tsocket_address_bsd);
-	struct tsocket_address_bsd *lrbsda = NULL;
-	struct tsocket_address_bsd *rbsda =
+		struct samba_sockaddr);
+	struct samba_sockaddr *lrbsda = NULL;
+	struct samba_sockaddr *rbsda =
 		talloc_get_type_abort(remote->private_data,
-		struct tsocket_address_bsd);
+		struct samba_sockaddr);
 	int ret;
 	bool do_bind = false;
 	bool do_reuseaddr = false;
@@ -2251,7 +2251,7 @@ static struct tevent_req *tstream_bsd_connect_send(TALLOC_CTX *mem_ctx,
 		state->local = tsocket_address_create(state,
 						      &tsocket_address_bsd_ops,
 						      &lrbsda,
-						      struct tsocket_address_bsd,
+						      struct samba_sockaddr,
 						      __location__ "bsd_connect");
 		if (tevent_req_nomem(state->local, req)) {
 			goto post;
@@ -2366,7 +2366,7 @@ static void tstream_bsd_connect_fde_handler(struct tevent_context *ev,
 				 struct tevent_req);
 	struct tstream_bsd_connect_state *state = tevent_req_data(req,
 					struct tstream_bsd_connect_state);
-	struct tsocket_address_bsd *lrbsda = NULL;
+	struct samba_sockaddr *lrbsda = NULL;
 	int ret;
 	int error=0;
 	socklen_t len = sizeof(error);
@@ -2395,7 +2395,7 @@ static void tstream_bsd_connect_fde_handler(struct tevent_context *ev,
 	}
 
 	lrbsda = talloc_get_type_abort(state->local->private_data,
-				       struct tsocket_address_bsd);
+				       struct samba_sockaddr);
 
 	ret = getsockname(state->fd, &lrbsda->u.sa, &lrbsda->sa_socklen);
 	if (ret == -1) {
@@ -2445,9 +2445,9 @@ struct tevent_req * tstream_inet_tcp_connect_send(TALLOC_CTX *mem_ctx,
 					const struct tsocket_address *local,
 					const struct tsocket_address *remote)
 {
-	struct tsocket_address_bsd *lbsda =
+	struct samba_sockaddr *lbsda =
 		talloc_get_type_abort(local->private_data,
-		struct tsocket_address_bsd);
+		struct samba_sockaddr);
 	struct tevent_req *req;
 	int sys_errno = 0;
 
@@ -2485,9 +2485,9 @@ struct tevent_req * tstream_unix_connect_send(TALLOC_CTX *mem_ctx,
 					const struct tsocket_address *local,
 					const struct tsocket_address *remote)
 {
-	struct tsocket_address_bsd *lbsda =
+	struct samba_sockaddr *lbsda =
 		talloc_get_type_abort(local->private_data,
-		struct tsocket_address_bsd);
+		struct samba_sockaddr);
 	struct tevent_req *req;
 	int sys_errno = 0;
 
diff --git a/lib/util/util_net.h b/lib/util/util_net.h
index 29468b4263d..a14f9a95171 100644
--- a/lib/util/util_net.h
+++ b/lib/util/util_net.h
@@ -23,6 +23,19 @@
 
 #include "system/network.h"
 
+struct samba_sockaddr {
+	socklen_t sa_socklen;
+	union {
+		struct sockaddr sa;
+		struct sockaddr_in in;
+#ifdef HAVE_IPV6
+		struct sockaddr_in6 in6;
+#endif
+		struct sockaddr_un un;
+		struct sockaddr_storage ss;
+	} u;
+};
+
 /* The following definitions come from lib/util/util_net.c  */
 
 void zero_sockaddr(struct sockaddr_storage *pss);
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 8b387f7c563..04fab2cd928 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -562,7 +562,6 @@ int get_remote_hostname(const struct tsocket_address *remote_address,
 int create_pipe_sock(const char *socket_dir,
 		     const char *socket_name,
 		     mode_t dir_perms);
-int create_tcpip_socket(const struct sockaddr_storage *ifss, uint16_t *port);
 const char *get_mydnsfullname(void);
 bool is_myname_or_ipaddr(const char *s);
 int poll_one_fd(int fd, int events, int timeout, int *revents);
diff --git a/source3/lib/server_prefork.c b/source3/lib/server_prefork.c
index 52c11ad12fe..d3fb8d1a8bc 100644
--- a/source3/lib/server_prefork.c
+++ b/source3/lib/server_prefork.c
@@ -29,9 +29,8 @@
 #include "../lib/util/tevent_unix.h"
 
 struct prefork_pool {
-
 	int listen_fd_size;
-	int *listen_fds;
+	struct pf_listen_fd *listen_fds;
 
 	prefork_main_fn_t *main_fn;
 	void *private_data;
@@ -57,7 +56,7 @@ static int prefork_pool_destructor(struct prefork_pool *pfp)
 bool prefork_create_pool(TALLOC_CTX *mem_ctx,
 			 struct tevent_context *ev_ctx,
 			 struct messaging_context *msg_ctx,
-			 int listen_fd_size, int *listen_fds,
+			 int listen_fd_size, struct pf_listen_fd *listen_fds,
 			 int min_children, int max_children,
 			 prefork_main_fn_t *main_fn, void *private_data,
 			 struct prefork_pool **pf_pool)
@@ -76,7 +75,8 @@ bool prefork_create_pool(TALLOC_CTX *mem_ctx,
 		return false;
 	}
 	pfp->listen_fd_size = listen_fd_size;
-	pfp->listen_fds = talloc_array(pfp, int, listen_fd_size);
+	pfp->listen_fds = talloc_array(pfp, struct pf_listen_fd,
+				       listen_fd_size);
 	if (!pfp->listen_fds) {
 		DEBUG(1, ("Out of memory!\n"));
 		return false;
@@ -84,7 +84,7 @@ bool prefork_create_pool(TALLOC_CTX *mem_ctx,
 	for (i = 0; i < listen_fd_size; i++) {
 		pfp->listen_fds[i] = listen_fds[i];
 		/* force sockets in non-blocking mode */
-		set_blocking(listen_fds[i], false);
+		set_blocking(listen_fds[i].fd, false);
 	}
 	pfp->main_fn = main_fn;
 	pfp->private_data = private_data;
@@ -498,9 +498,9 @@ struct pf_listen_state {
 	struct pf_worker_data *pf;
 
 	int listen_fd_size;
-	int *listen_fds;
+	struct pf_listen_fd *listen_fds;
 
-	int accept_fd;
+	struct pf_listen_fd accept;
 
 	struct tsocket_address *srv_addr;
 	struct tsocket_address *cli_addr;
@@ -512,6 +512,7 @@ struct pf_listen_ctx {
 	TALLOC_CTX *fde_ctx;
 	struct tevent_req *req;
 	int listen_fd;
+	void *listen_fd_data;
 };
 
 static void prefork_listen_accept_handler(struct tevent_context *ev,
@@ -522,7 +523,7 @@ struct tevent_req *prefork_listen_send(TALLOC_CTX *mem_ctx,
 					struct tevent_context *ev,
 					struct pf_worker_data *pf,
 					int listen_fd_size,
-					int *listen_fds)
+					struct pf_listen_fd *listen_fds)
 {
 	struct tevent_req *req;
 	struct pf_listen_state *state;
@@ -540,7 +541,8 @@ struct tevent_req *prefork_listen_send(TALLOC_CTX *mem_ctx,
 	state->pf = pf;
 	state->listen_fd_size = listen_fd_size;
 	state->listen_fds = listen_fds;
-	state->accept_fd = -1;
+	state->accept.fd = -1;
+	state->accept.fd_data = NULL;
 	state->error = 0;
 
 	fde_ctx = talloc_new(state);
@@ -556,7 +558,8 @@ struct tevent_req *prefork_listen_send(TALLOC_CTX *mem_ctx,
 		}
 		ctx->fde_ctx = fde_ctx;
 		ctx->req = req;
-		ctx->listen_fd = state->listen_fds[i];
+		ctx->listen_fd = state->listen_fds[i].fd;
+		ctx->listen_fd_data = state->listen_fds[i].fd_data;
 
 		fde = tevent_add_fd(state->ev, fde_ctx,
 				    ctx->listen_fd, TEVENT_FD_READ,
@@ -622,7 +625,8 @@ static void prefork_listen_accept_handler(struct tevent_context *ev,
 	}
 	smb_set_close_on_exec(sd);


-- 
Samba Shared Repository



More information about the samba-cvs mailing list