WIP: Samba's client command line UI

Rowland penny rpenny at samba.org
Wed Aug 19 21:13:58 UTC 2020


On 19/08/2020 09:02, Andreas Schneider via samba-technical wrote:
> Hi,
>
> I'm working to cleaning up the mess we have with our client cmdline UI [1].
>
> Currently we have a source3 and a source4 parsing implementation. I have
> rewritten the command line parsing code. The only real difference between the
> two is only how the config file is loaded. So I created a s3 and s4 config
> loader and that's it.
>
> The big change is that we need new options to fix a lot of issues face: The
> biggest change is probably about Kerberos:
>
> 	--use-kerberos=yes|auto|no
>
> New is that we have options to correctly request signing and encryption:
>
>        --gensec-client-protection=plain|sign|seal
>
>        --smb-signing=off|if_required|desired|required
>        --smb-ipc-signing=off|if_required|desired|required
>        --smb-encryption=off|if_required|desired|required
>
> You can find the code at [2].
>
>
> 	NOTE that this is still work in progress and no all the stuff is
> 	wired correctly yet!
>
>
> But I wanted to show you what I'm working on and you can comment. Using that
> parser will break the command line options for **all** client tools. But I
> think it is worth the effort, see [1].
>
> Attached is the output of
>
> 	smbclient --help
>
> which I just migrated to give you a full example of the new parser.
>
>
> Feedback is welcome :-)
>
>
> 	Andreas
>
>
> [1] https://sambaxp.org/archive_data/sxp19/SambaXP2019-SLIDES/dbagnall-what-should-we-do-with-our-ui.pdf
> [2] https://git.samba.org/?p=asn/samba.git;a=shortlog;h=refs/heads/master-cli-creds
>
Why do we use 'auto' ? what does it mean ?

For instance samba-tool user create --help prints (amongst other things) 
this:

     -k KERBEROS, --kerberos=KERBEROS
                         Use Kerberos

If you check the code, 'KERBEROS' is actually 'yes', 'auto' or 'no'

What is 'auto' in this context ? surely using kerberos is binary, you 
either want to use it, or you don't, 'yes' or 'no', so what does 'auto' 
actually mean and do ?

Do we really need 'auto', can we not decide what the parameter defaults 
(for instance) should be and remove 'auto' ?

Rowland





More information about the samba-technical mailing list