Quantcast

Deprecate the 'socket address' parameter and remove special handling?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Deprecate the 'socket address' parameter and remove special handling?

Andrew Bartlett
I've been looking over our parameters, as I try to merge the loadparm
systems.

I started by proposing removing the special behaviour that allows
'socket address = ' to mean 'socket address = 0.0.0.0' (attached) in the
bug that created the current behaviour:
https://bugzilla.samba.org/show_bug.cgi?id=5944

However, I've been thinking about the broader context, and I'm a bit
lost as to what this parameter is for exactly.  It seems to be a very
old parameter from the earliest days of Samba.

Specifically, it seems to be duplicated by 'interfaces = 1.2.3.5' and
'bind interfaces only = yes'.  The code in nmbd.c says:  'The parameter
'socket address' is now deprecated.' but the manpage fails to mention
this.

There is no rush to remove this parameter, but I would like to remove it
in 4.1, so we have only one way to configure the interfaces we bind to.

(Or we could remove it for 4.0 if that were the view of the list).

What do you think?

Thanks,

Andrew Bartlett
--
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org


0001-docs-Mark-socket-address-as-deprecated.patch (1K) Download Attachment
0001-param-Make-socket_address-common-Revert-611ef42053eb.patch (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Deprecate the 'socket address' parameter and remove special handling?

Jeremy Allison
On Mon, Jul 23, 2012 at 07:07:27PM +1000, Andrew Bartlett wrote:

> I've been looking over our parameters, as I try to merge the loadparm
> systems.
>
> I started by proposing removing the special behaviour that allows
> 'socket address = ' to mean 'socket address = 0.0.0.0' (attached) in the
> bug that created the current behaviour:
> https://bugzilla.samba.org/show_bug.cgi?id=5944
>
> However, I've been thinking about the broader context, and I'm a bit
> lost as to what this parameter is for exactly.  It seems to be a very
> old parameter from the earliest days of Samba.
>
> Specifically, it seems to be duplicated by 'interfaces = 1.2.3.5' and
> 'bind interfaces only = yes'.  The code in nmbd.c says:  'The parameter
> 'socket address' is now deprecated.' but the manpage fails to mention
> this.
>
> There is no rush to remove this parameter, but I would like to remove it
> in 4.1, so we have only one way to configure the interfaces we bind to.
>
> (Or we could remove it for 4.0 if that were the view of the list).

+1 on removal for me. I think it's been superceeded.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Deprecate the 'socket address' parameter and remove special handling?

simo
On Tue, 2012-07-24 at 10:44 -0700, Jeremy Allison wrote:

> On Mon, Jul 23, 2012 at 07:07:27PM +1000, Andrew Bartlett wrote:
> > I've been looking over our parameters, as I try to merge the loadparm
> > systems.
> >
> > I started by proposing removing the special behaviour that allows
> > 'socket address = ' to mean 'socket address = 0.0.0.0' (attached) in the
> > bug that created the current behaviour:
> > https://bugzilla.samba.org/show_bug.cgi?id=5944
> >
> > However, I've been thinking about the broader context, and I'm a bit
> > lost as to what this parameter is for exactly.  It seems to be a very
> > old parameter from the earliest days of Samba.
> >
> > Specifically, it seems to be duplicated by 'interfaces = 1.2.3.5' and
> > 'bind interfaces only = yes'.  The code in nmbd.c says:  'The parameter
> > 'socket address' is now deprecated.' but the manpage fails to mention
> > this.
> >
> > There is no rush to remove this parameter, but I would like to remove it
> > in 4.1, so we have only one way to configure the interfaces we bind to.
> >
> > (Or we could remove it for 4.0 if that were the view of the list).
>
> +1 on removal for me. I think it's been superceeded.

I would vote for removing it in 4.0 and not wait till 4.1

Simo.

--
Simo Sorce
Samba Team GPL Compliance Officer <[hidden email]>
Principal Software Engineer at Red Hat, Inc. <[hidden email]>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Deprecate the 'socket address' parameter and remove special handling?

Jelmer Vernooij-4


simo <[hidden email]> wrote:

>On Tue, 2012-07-24 at 10:44 -0700, Jeremy Allison wrote:
>> On Mon, Jul 23, 2012 at 07:07:27PM +1000, Andrew Bartlett wrote:
>> > I've been looking over our parameters, as I try to merge the
>loadparm
>> > systems.
>> >
>> > I started by proposing removing the special behaviour that allows
>> > 'socket address = ' to mean 'socket address = 0.0.0.0' (attached)
>in the
>> > bug that created the current behaviour:
>> > https://bugzilla.samba.org/show_bug.cgi?id=5944
>> >
>> > However, I've been thinking about the broader context, and I'm a
>bit
>> > lost as to what this parameter is for exactly.  It seems to be a
>very
>> > old parameter from the earliest days of Samba.
>> >
>> > Specifically, it seems to be duplicated by 'interfaces = 1.2.3.5'
>and
>> > 'bind interfaces only = yes'.  The code in nmbd.c says:  'The
>parameter
>> > 'socket address' is now deprecated.' but the manpage fails to
>mention
>> > this.
>> >
>> > There is no rush to remove this parameter, but I would like to
>remove it
>> > in 4.1, so we have only one way to configure the interfaces we bind
>to.
>> >
>> > (Or we could remove it for 4.0 if that were the view of the list).
>>
>> +1 on removal for me. I think it's been superceeded.
>
>I would vote for removing it in 4.0 and not wait till 4.1
+1. A new major release seems like a good moment to do this.

Cheers, jelmer

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

RE: Deprecate the 'socket address' parameter and remove special handling?

Dewayne Geraghty
I'm all for increasing simplicity, but isn't the purpose of "socket
address=x.y.z.t" to enable samba to respond/listen to a specific address,
particularly where there are many aliases on an interface. And the
"interface=" statement to specify which of the interfaces, or ip/masks that
a particular samba instance will service?

Currently we run authentication services (heimdal/openldap) in one virtual
machine(vm), and samba3 in another. I plan to insert samba4 onto the
authentication server (no fileservices) and retain the samba3 server, and
both running on the same physical machine. I'm concerned, with the removal
of "socket address", will this approach be inhibited?

Regards, Dewayne.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Deprecate the 'socket address' parameter and remove special handling?

simo
On Wed, 2012-07-25 at 12:06 +1000, Dewayne Geraghty wrote:

> I'm all for increasing simplicity, but isn't the purpose of "socket
> address=x.y.z.t" to enable samba to respond/listen to a specific address,
> particularly where there are many aliases on an interface. And the
> "interface=" statement to specify which of the interfaces, or ip/masks that
> a particular samba instance will service?
>
> Currently we run authentication services (heimdal/openldap) in one virtual
> machine(vm), and samba3 in another. I plan to insert samba4 onto the
> authentication server (no fileservices) and retain the samba3 server, and
> both running on the same physical machine. I'm concerned, with the removal
> of "socket address", will this approach be inhibited?

Dewayne,
as pointed out in the previous emails, you can put ip address in the
'interfaces' parameter, and then use 'bind interfaces only = yes' to
limit samba to talk on those addresses only.

socket address is simply redundant and can be implemented by the above
options which is why we want to remove it.

Simo.

--
Simo Sorce
Samba Team GPL Compliance Officer <[hidden email]>
Principal Software Engineer at Red Hat, Inc. <[hidden email]>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Deprecate the 'socket address' parameter and remove special handling?

David Collier-Brown-2
On 07/25/2012 10:47 AM, simo wrote:

> On Wed, 2012-07-25 at 12:06 +1000, Dewayne Geraghty wrote:
>> I'm all for increasing simplicity, but isn't the purpose of "socket
>> address=x.y.z.t" to enable samba to respond/listen to a specific address,
>> particularly where there are many aliases on an interface. And the
>> "interface=" statement to specify which of the interfaces, or ip/masks that
>> a particular samba instance will service?
>>
>> Currently we run authentication services (heimdal/openldap) in one virtual
>> machine(vm), and samba3 in another. I plan to insert samba4 onto the
>> authentication server (no fileservices) and retain the samba3 server, and
>> both running on the same physical machine. I'm concerned, with the removal
>> of "socket address", will this approach be inhibited?
>
> Dewayne,
> as pointed out in the previous emails, you can put ip address in the
> 'interfaces' parameter, and then use 'bind interfaces only = yes' to
> limit samba to talk on those addresses only.
>
> socket address is simply redundant and can be implemented by the above
> options which is why we want to remove it.
>
> Simo.
>

And one's config parser can, in principle, then say
printf("Sorry, that's obsolete, use interfaces=%s, and bind interfaces
only = yes to gain the same functionality\n", ip)

--dave

--
David Collier-Brown,         | Always do right. This will gratify
System Programmer and Author | some people and astonish the rest
[hidden email]           |                      -- Mark Twain
(416) 223-8968
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Deprecate the 'socket address' parameter and remove special handling?

Andrew Bartlett
In reply to this post by simo
On Wed, 2012-07-25 at 10:47 -0400, simo wrote:

> On Wed, 2012-07-25 at 12:06 +1000, Dewayne Geraghty wrote:
> > I'm all for increasing simplicity, but isn't the purpose of "socket
> > address=x.y.z.t" to enable samba to respond/listen to a specific address,
> > particularly where there are many aliases on an interface. And the
> > "interface=" statement to specify which of the interfaces, or ip/masks that
> > a particular samba instance will service?
> >
> > Currently we run authentication services (heimdal/openldap) in one virtual
> > machine(vm), and samba3 in another. I plan to insert samba4 onto the
> > authentication server (no fileservices) and retain the samba3 server, and
> > both running on the same physical machine. I'm concerned, with the removal
> > of "socket address", will this approach be inhibited?
>
> Dewayne,
> as pointed out in the previous emails, you can put ip address in the
> 'interfaces' parameter, and then use 'bind interfaces only = yes' to
> limit samba to talk on those addresses only.
>
> socket address is simply redundant and can be implemented by the above
> options which is why we want to remove it.
The attached 4 patches work on this.  The first two I'm autobuilding
now, which just remove the use of 'socket address' as a fallback to our
recommended 'bind interfaces only = ' and 'interfaces = ' and renames
'socket address' to a more specific name.

The second two patches try to eliminate this altogether (which will
eliminate the nmbd bind on 0.0.0.0 when bind interfaces only is set),
but these need more work.

Andrew Bartlett

--
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org

0004-s3-nmbd-Do-not-use-nbt-client-socket-address-in-nmbd.patch (7K) Download Attachment
0003-lib-param-Always-support-explicit-binding-to-broadca.patch (9K) Download Attachment
0002-lib-param-Rename-socket-address-to-nbt-client-socket.patch (6K) Download Attachment
0001-lib-param-Remove-use-of-lp-cfg-_socket_address-outsi.patch (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Deprecate the 'socket address' parameter and remove special handling?

Andrew Bartlett
On Fri, 2012-07-27 at 18:12 +1000, Andrew Bartlett wrote:

> On Wed, 2012-07-25 at 10:47 -0400, simo wrote:
> > On Wed, 2012-07-25 at 12:06 +1000, Dewayne Geraghty wrote:
> > > I'm all for increasing simplicity, but isn't the purpose of "socket
> > > address=x.y.z.t" to enable samba to respond/listen to a specific address,
> > > particularly where there are many aliases on an interface. And the
> > > "interface=" statement to specify which of the interfaces, or ip/masks that
> > > a particular samba instance will service?
> > >
> > > Currently we run authentication services (heimdal/openldap) in one virtual
> > > machine(vm), and samba3 in another. I plan to insert samba4 onto the
> > > authentication server (no fileservices) and retain the samba3 server, and
> > > both running on the same physical machine. I'm concerned, with the removal
> > > of "socket address", will this approach be inhibited?
> >
> > Dewayne,
> > as pointed out in the previous emails, you can put ip address in the
> > 'interfaces' parameter, and then use 'bind interfaces only = yes' to
> > limit samba to talk on those addresses only.
> >
> > socket address is simply redundant and can be implemented by the above
> > options which is why we want to remove it.
>
> The attached 4 patches work on this.  The first two I'm autobuilding
> now, which just remove the use of 'socket address' as a fallback to our
> recommended 'bind interfaces only = ' and 'interfaces = ' and renames
> 'socket address' to a more specific name.
>
> The second two patches try to eliminate this altogether (which will
> eliminate the nmbd bind on 0.0.0.0 when bind interfaces only is set),
> but these need more work.

The second two patches were fine, the make test failures were caused by
the talloc_tos() assertion in other unrelated tests.  From here we just
need to be sure we haven't lost any intended behaviours.

Andrew Bartlett

--
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org

Loading...