1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-23 00:23:53 +03:00
Commit Graph

47 Commits

Author SHA1 Message Date
Andrew Tridgell
3b0e60e522 fixed 'net ads chostpass' for new ads structures -
Andrew Tridgell
87c34a974a added 'net rpc testjoin' and 'net ads testjoin' commands
unfortuately we don't seem to be able to auto-test the ADS join due to
a rather nasty property of the GSSAPI library.
-
Andrew Tridgell
e358d7b24c This fixes a number of ADS problems, particularly with netbiosless
setups.

- split up the ads structure into logical pieces. This makes it much
  easier to keep things like the authentication realm and the server
  realm separate (they can be different).

- allow ads callers to specify that no sasl bind should be performed
(used by "net ads info" for example)

- fix an error with handing ADS_ERROR_SYSTEM() when errno is 0

- completely rewrote the code for finding the LDAP server. Now try DNS
  methods first, and try all DNS servers returned from the SRV DNS
  query, sorted by closeness to our interfaces (using the same sort code
  as we use in replies from WINS servers). This allows us to cope with
  ADS DCs that are down, and ensures we don't pick one that is on the
  other side of the country unless absolutely necessary.

- recognise dnsRecords as binary when displaying them

- cope with the realm not being configured in smb.conf (work it out
  from the LDAP server)

- look at the trustDirection when looking up trusted domains and don't
  include trusts that trust our domains but we don't trust
  theirs.

- use LDAP to query the alternate (netbios) name for a realm, and make
  sure that both and long and short forms of the name are accepted by
  winbindd. Use the short form by default for listing users/groups.

- rescan the list of trusted domains every 5 minutes in case new trust
  relationships are added while winbindd is running

- include transient trust relationships (ie. C trusts B, B trusts A,
  so C trusts A) in winbindd.

- don't do a gratuituous node status lookup when finding an ADS DC (we
  don't need it and it could fail)

- remove unused sid_to_distinguished_name function

- make sure we find the allternate name of our primary domain when
  operating with a netbiosless ADS DC (using LDAP to do the lookup)

- fixed the rpc trusted domain enumeration to support up to approx
  2000 trusted domains (the old limit was 3)

- use the IP for the remote_machine (%m) macro when the client doesn't
  supply us with a name via a netbios session request (eg. port 445)

- if the client uses SPNEGO then use the machine name from the SPNEGO
  auth packet for remote_machine (%m) macro

- add new 'net ads workgroup' command to find the netbios workgroup
  name for a realm
-
Andrew Tridgell
cffa881092 make sure that 'net ads info' gives info on the server we specify, not
our smb.conf setup.
-
Andrew Tridgell
fc0d5479b5 net ads info now reports the IP of the LDAP server as well as its name - very useful in scripts -
Jim McDonough
f924cb5358 Support utf8 on the wire for ads ldap. DN's are converted, as well as strings,
though it is up to the calling function to decide whether values are
strings or not.  Attributes are not converted at this point, though support
for it would be simple.

I have tested it with users and groups using non-ascii chars, and if the
check for alphanumeric user/domain names is removed form sesssetup.c, even
a user with accented chars can connect, or even login (via winbind).

I have also simplified the interfaces to ads_mod_*, though we will probably
want to expand this by a few functions in the near future.  We just had
too many ways to do the same thing...
-
Andrew Tridgell
55cad87424 added a 'net ads search' command, similar to 'ldapsearch' but using the
Samba LDAP code.

I have found using 'ldapsearch' rather frustrating, particularly with
kerberos authentication. Using 'net ads search' makes it easier to
track down ADS problems.
-
Jim McDonough
033faaa8cb Allow initial password set on net ads user add. I need to do this on
rpc and rap too.  Anyone know what key I'm supposed to use to encrypt
it for the rap one?
-
Jim McDonough
fde62de7a1 Add ads group add and delete, allowing converged net group command.
Also update some of the help info.
-
Andrew Tridgell
3e58a1ee83 fixed the fallback to a BDC for ADS connections -
Jim McDonough
b69f11170c Rename of ads_do_search_all2() to ads_do_search_all() and removal of
server sort controls.  Also put option externs in the net.h include.
-
Jim McDonough
e3a8138312 Use the new ads_do_search_all2 function. It provides sorted results. We now
also filter out users that end in '$', which gives us the same results as
the net rpc user and net rap user.
-
Jim McDonough
9daa5788c8 Lots more net consistency work:
- Added net_help.c for unified help when possible
- Added net rpc user listing, delete, info commands
- Unified net user command to autodetect ads/rpc/rap (try in that order)
- Added generic routine for detecting rpc (protocol > PROTOCOL_NT1)
- I'm sure I forgot something.
-
Jim McDonough
093297a27d More updates for auto-detecting server connection method. Added net_ads_check()
to make a connection (which stores the password in a global so it can be
used by rpc or rap function if ads fails) and close it to verify if ads
method should be used.
-
Jim McDonough
dd7c20e533 Add non-ads version of net_ads_help for build on non-ads machines. -
Jim McDonough
d7317ca8da Correct error string function call to ads_errstr() -
Jim McDonough
f6eb7c0c7e Add net ads user subcommands: add delete info. Also make user listing format
consistent with rap version.
-
Jim McDonough
4cf42c07ec Re-implemented net ads user and net ads group to use the new
ads_process_results function.  Also made sure net rap user and net ads
user display the same thing, to make auto-transport-detection smoother.
-
Andrew Tridgell
57645fd85b make net ads info work with -S -
Andrew Tridgell
98769f08e7 make "net ads user" and "net ads group" also use the new paged interface -
Jim McDonough
7ba235c0fb Fix build for non-ads case -
Jim McDonough
87ee483231 Expose net_ads_join to allow for auto-transport-detection for net join -
Jim McDonough
9c447920df Add paged search requests to net ads user and net ads group commands, allowing more than 1000 (or whatever the query limit is on the server) objects to be returned. Printers will come next. -
Andrew Tridgell
2a42e91397 try to use our workstation account password for ADS leave -
Andrew Bartlett
0511589088 dont strdup() possibly null values. -
Andrew Bartlett
a21a951ff9 Subject:
[PATCH] net ads error
    Date:
         Fri, 15 Feb 2002 20:03:32 +0200
   From:
         Alexander Bokovoy <a.bokovoy@sam-solutions.net>
     To:
         samba-technical@samba.org

Greetings!

Attached patch fixes a problem with non-working 'net ads -Uuser%pass'
in CVS HEAD.
-
Jim McDonough
1d326f8b7e Add support for net ads printer to publish, remove, or display printer info in the directory. Only publishes required fields right now. -
Tim Potter
6a58c9bd06 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
-
Jim McDonough
7e5d7dfa83 Enable net ads commands to use existing tickets if the user doesn't specify a username on the commandline. Also don't continue past the kinit if a password is entered and fails because existing tickets would be used, which may not be desired if the username was specified. -
Andrew Tridgell
7e876057d5 much better support for organisational units in ADS join -
Andrew Tridgell
dfbe442c66 make sure we store the domain sid when joining a ADS domain -
Andrew Tridgell
412e79c448 net ads password and net ads chostpass commands from Remus Koos -
Andrew Tridgell
05a90a2884 much better ADS error handling system -
Andrew Tridgell
ee1c3e1f04 - added initial support for trusted domains in winbindd_ads
- gss error code patch from a.bokovoy@sam-solutions.net
- better sid dumping in ads_dump
- fixed help in wbinfo
-
Andrew Tridgell
f1231c2b54 allow selection of the organisational unit when joining a realm -
Andrew Tridgell
b107ecef70 added "net ads info" to fetch basic ADS info without any auth -
Andrew Tridgell
435fdf276a added internal sasl/gssapi code. This means we are no longer dependent on cyrus-sasl which makes the code much less fragile. Also added code to auto-determine the server name or realm -
Andrew Bartlett
575897e879 OK. Smbpasswd -j is DEAD.
This moves the rest of the functionality into the 'net rpc join' code.

Futhermore, this moves that entire area over to the libsmb codebase, rather
than the crufty old rpc_client stuff.

I have also fixed up the smbpasswd -a -m bug in the process.

We also have a new 'net rpc changetrustpw' that can be called from a
cron-job to regularly change the trust account password, for sites
that run winbind but not smbd.

With a little more work, we can kill rpc_client from smbd entirly!
(It is mostly the domain auth stuff - which I can rework - and the
spoolss stuff that sombody else will need to look over).

Andrew Bartlett
-
Andrew Tridgell
7d94f1b736 added a REALLY gross hack into kerberos_kinit_password so that
winbindd can do a kinit
this will be removed once we have code that gets a tgt
and puts it in a place where cyrus-sasl can see it
-
Andrew Bartlett
ea76a687fc Follow herb's suggestion and don't strdup a string to itself. -
Andrew Bartlett
8f9ce71781 Make better use of the ads_init() function to get the kerberos relam etc.
This allows us to use automagically obtained values in future, and the value
from krb5.conf now.

Also fix mem leaks etc.

Andrew Bartlett
-
Tim Potter
8227f6909c More compiler warnings fixed. Some minor reformatting. -
Andrew Tridgell
b390d6eef9 better help -
Andrew Tridgell
720c50a751 use generate_random_str() -
Andrew Tridgell
f482583139 added "net ads user" and "net ads group" commands -
Andrew Tridgell
ae0eabd04c added "net ads status" command -
Andrew Tridgell
2f8fa175b1 made a "net ads" command, currently with "net ads join" and "net ads leave" -