1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-15 05:57:49 +03:00

392 Commits

Author SHA1 Message Date
Andrew Bartlett
8739d426ca This is another major rework of the 'net' command.
This time, all the existing functionality has been moved into
'net rap', ready for new commands in the 'net ads' and 'net rpc' categories.

In particular, we hope to have the abilty to autoselect the appropriate
backend to use based on smb.conf or other paramaters.

This will allow 'net user' to work no matter what the remote server.

The new 'net rpc' command will soon gain a 'net rpc join' and a
'net rpc user' based on the existing samba code.

Also in this commit, the connection establishment code has been almost entirly
reworked, and now has some minor sense of sainity to it.
In particular, we can now connect to hosts *other* than localhost!

We also have the ability to state on a per-command basis whether the 'localhost'
is a sane default value.  (A net join, for example, would not be sane against
localhost).

Unfortunetly we have had to make the basic paramaters global variables, but
the 'cli' is not opened and closed on a per-command basis.

Andrew Bartlett
-
Andrew Tridgell
2ce7f38fe9 added nsstest target
fixed winbindd_rpc.o typo
-
Andrew Tridgell
e4ccc602ba split winbindd_enum_dom_groups into the new backend structure
also created winbindd_rpc.c which contains the functions that
have been converted to the new structure. There will soon be
a winbindd_ads.c for the ldap backend
-
Jean-François Micouleau
540a6122dc added smbgroupedit to compile by default
J.F.
-
Motonobu Takahashi
7dfde592aa added $(LDFLAGS) to link smbmount/smbmnt/smbumount to make Red Hat Linux
happy
-
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
-
Andrew Bartlett
782835470c This compleats the of the authenticaion subystem into the new 'auth'
subdirectory.

(The insertion of these files was done with some CVS backend magic, hence the
lack of a commit message).

This also moves libsmb/domain_client_validate.c back into auth_domain.c,
becouse we no longer share it with winbind.

Andrew Bartlett
-
Andrew Tridgell
0c1f90402b add popt build dependency -
Andrew Tridgell
db0bee1c68 move popt out of proto objs -
Andrew Tridgell
2f8fa175b1 made a "net ads" command, currently with "net ads join" and "net ads leave" -
Andrew Tridgell
058a5aee90 added "net join" command
this completes the first stage of the smbd ADS support
-
Andrew Bartlett
8d31eae52a This is another rather major change to the samba authenticaion
subystem.

The particular aim is to modularized the interface - so that we
can have arbitrary password back-ends.

This code adds one such back-end, a 'winbind' module to authenticate
against the winbind_auth_crap functionality.  While fully-functional
this code is mainly useful as a demonstration, because we don't get
back the info3 as we would for direct ntdomain authentication.

This commit introduced the new 'auth methods' parameter, in the
spirit of the 'auth order' discussed on the lists.  It is renamed
because not all the methods may be consulted, even if previous
methods fail - they may not have a suitable challenge for example.

Also, we have a 'local' authentication method, for old-style
'unix if plaintext, sam if encrypted' authentication and a
'guest' module to handle guest logins in a single place.

While this current design is not ideal, I feel that it does
provide a better infrastructure than the current design, and can
be built upon.

The following parameters have changed:
 - use rhosts =

  This has been replaced by the 'rhosts' authentication method,
 and can be specified like 'auth methods = guest rhosts'

 - hosts equiv =

  This needs both this parameter and an 'auth methods' entry
  to be effective.  (auth methods = guest hostsequiv ....)

 - plaintext to smbpasswd =

  This is replaced by specifying 'sam' rather than 'local'
  in the auth methods.

The security = parameter is unchanged, and now provides defaults
for the 'auth methods' parameter.

The available auth methods are:

guest
rhosts
hostsequiv
sam (passdb direct hash access)
unix (PAM, crypt() etc)
local (the combination of the above, based on encryption)
smbserver (old security=server)
ntdomain (old security=domain)
winbind (use winbind to cache DC connections)


Assistance in testing, or the production of new and interesting
authentication modules is always appreciated.

Andrew Bartlett
-
Andrew Tridgell
c7f6116919 added the beginnings of ADS support in smbd -
Jeremy Allison
48a848f748 We don't actually use the horror that was lib/util_array.c :-).
More deleted code - hurrah !
Jeremy.
-
Martin Pool
1be6139e14 Do satyr work against a copy of the build farm scripts so as not to
break them.

installcheck has to find smbd in SBINDIR, not BINDIR.
-
Martin Pool
d51ef6bfa3 Move all other paths into dynconfig -
Martin Pool
868999ad3c LIBDIR and LOCKDIR are dynamically configured too. -
Martin Pool
a779710fff LMHOSTSFILE is now dynamically configured too. -
Martin Pool
10022753d1 Disable "installcheck" -- it's still too likely to clobber somebody's
installation.
-
Martin Pool
79ec88f0da Store some path names in global variables initialized to configure
default, rather than in preprocessor macros.
-
Jeremy Allison
d70674312d Fixed detection of RedHat headers. Removed another file !
Jeremy.
-
Jeremy Allison
c17bfe7c36 Removed SMBD_RPC_CLIENT_OBJ temporary I was using.
Jeremy.
-
Jeremy Allison
6bf2505cce I *love* removing code :-). Removed 4 files that weren't being used.
All this stuff was being pulled in due to *one* unneeded call to
fetch a domain SID which smbpasswd already puts in the database...
Jeremy.
-
Jeremy Allison
a7b45bfb71 Tidyups in the merge process.
Jeremy.
-
Martin Pool
f07915072f Clean up message. -
Martin Pool
7d8610c4fe Too much of samba depends on finding files in their installed
locations, so we can't do "make check" yet, only "make installcheck".
-
Martin Pool
7b5b5693f4 Add basic "make check" and "make installcheck" targets, using the
Satyr framework from the buildfarm.  This will eventually be copied
into the Samba source tree, but it is not yet.   See
cvs://samba.org:/data/cvs/satyr

Add "make showlayout" target to show where installation will put
things.
-
Tim Potter
cd9334bd57 Added delheaders as a dependency for clean. -
Tim Potter
d85aa1ce83 Use cli_nt_login_network() instead of domain_client_validate() to perform
pam authentication.  This allows us to link in less other crap.

Authenticating with a challenge/response doesn't seem to work though - we
always get back NT_STATUS_WRONG_PASSWORD.
-
Jeremy Allison
ee5e7ca547 Added NT_USER_TOKEN into server_info to fix extra groups problem.
Got "medieval on our ass" about const warnings (as many as I could :-).
Jeremy.
-
Andrew Bartlett
f70fb819b2 This is a farily large patch (3300 lines) and reworks most of the AuthRewrite
code.

In particular this assists tpot in some of his work, becouse it provides the
connection between the authenticaion and the vuid generation.

Major Changes:
	- Fully malloc'ed structures.
	  - Massive rework of the code so that all structures are made and destroyed
	    using malloc and free, rather than hanging around on the stack.
	- SAM_ACCOUNT unix uids and gids are now pointers to the same, to allow them
	   to be declared 'invalid' without the chance that people might get ROOT by
	   default.

	- kill off some of the "DOMAIN\user" lookups.  These can be readded at a more
	  appropriate place (probably domain_client_validate.c) in the future. They
	  don't belong in session setups.

	- Massive introduction of DATA_BLOB structures, particularly for passwords.

	- Use NTLMSSP flags to tell the backend what its getting, rather than magic
	  lenghths.

	- Fix winbind back up again, but tpot is redoing this soon anyway.

	- Abstract much of the work in srv_netlog_nt back into auth helper functions.

This is a LARGE change, and any assistance is testing it is appriciated.

Domain logons are still broken (as far as I can tell) but other functionality
seems
intact.

Needs testing with a wide variety of MS clients.

Andrew Bartlett
-
Andrew Bartlett
a228e9b39f Fix up the Makefile for now (thanks herb).
I understand that Vance is reworking the build_options stuff, so maybe we can
have better way of regenerating this in future.

Andrew Bartlett
-
Andrew Bartlett
8c0cb50387 Restore the intended behaviour for .headers.stamp
We don't want a 'make headers' (aka make proto) to force a rebuild
of the entire tree.

Andrew Bartlett
-
Herb Lewis
8134908553 .headers.stamp not getting touched if file already existed.
Not sure what the original intent was with the [ -f $@ ] test but this
prevented the touch from happening. Could whoever originally added this
target check this out?
-
Jim McDonough
df34e11d84 Add popt for parsing commandline options -
Andrew Tridgell
d23772c306 fixed LDSHFLAGS when using non-standard lib locations -
Jim McDonough
53247f5880 Add build of net utility -
Andrew Tridgell
38a43d75e2 split session setup code out of reply.c in preparation for adding
NTLMSSP and kerberos support in smbd
-
Andrew Tridgell
dd3ad91724 include more libs needed for kerberos5 on some systems (eg. solaris)
removed some no longer needed i18n stuff from configure.in
-
Andrew Tridgell
076aa97bee added NTLMSSP authentication to libsmb. It seems to work well so I have enabled it by default if the server supports it. Let me know if this breaks anything. Choose kerberos with the -k flag to smbclient, otherwise it will use SPNEGO/NTLMSSP/NTLM -
Andrew Tridgell
ab7f67677a first step in converting the head branch to use lang_tdb.c instead
of gettext for internationalisation support. There is more to do
-
Andrew Tridgell
d330575856 initial kerberos/ADS/SPNEGO support in libsmb and smbclient. To
activate you need to:

- install krb5 libraries
- run configure
- build smbclient
- run kinit to get a TGT
- run smbclient with the -k option to choose kerberos auth
-
Andrew Bartlett
154d0ea4df move libsmb/domain_client_validate.o around in the makefile again, it really is
an authenticaion object that happens to also be used by winbind.  We need to
fix this up at some stage.

In the end it will probably be best if winbind does the login over its own
internally managed connections, not a new one per authenticiaon.  Then this
would no longer be an issue, as it could call cli_nt_login_network() directly.

Andrew Bartlett
-
Tim Potter
4ea67aeede Remove winbindd_glue.c dodgy hack and add winbindd_cm.c for managing
connections within winbindd.
-
Andrew Tridgell
1c221994f1 switched over to a new method of handling uppercase/lowercase mappings
for unicode strings. The new method relies on 3 files that are mmap'd
at startup to provide the mapping tables. The upcase.dat and
lowcase.dat tables should be the same on all systems. The valid.dat
table says what characters are valid in 8.3 names, and differs between
systems. I'm committing the japanese valid.dat here, in future we need
some way of automatically installing and choosing a appropriate table.

This commit also adds my mini tdb based gettext replacement in
intl/lang_tdb.c. I have not enabled this yet and have not removed the
old gettext code as the new code is still being looked at by Monyo.

Right now the code assumes that the upcase.dat, lowcase.dat and
valid.dat files are installed in the Samba lib directory. That is not
a good choice, but I'll leave them there until we work out the new
install directory structure for Samba 3.0.

simo - please look at the isvalid_w() function and think about using
it in your new mangling code. That should be the final step to
correctly passing the chargen test code from monyo.
-
Gerald Carter
d0628d0d2d Don't build make_printerdef in HEAD. This tool is not needed except
to support 2.0.x style WIn9x driver download.
-
Jeremy Allison
611bf806d5 Fixup passdb stuff to add new nisplus and ldap backends.
Jeremy.
-
Motonobu Takahashi
9ec2d5e96e now --with-i18n-swat works to install some international files
used by SWAT into $swatdir/$ln/{help,images,include}

we have still points which needs to discuss, that is how to archive
and install lots of HTML help files and Using Samba files.

-- monyo
-
Andrew Tridgell
eb668b54af added a little smbtorture test for dumping the unicode table of a
server. This is just a framework right now - I want this to eventually
replace the win32 test code from monyo

The interesting this about this test is that it shows up a really
horrible performance bug in our stat cache code. I'll see if I can fix
it.
-
Motonobu Takahashi
486b79a6fc Added SWAT i18n feature:
TO enable configure with --with-i18n-swat
  to support this gettext is integrated
  and a new directories name "po" and "intl" are created.

  now these languages are supported:

  en - English (default)
  ja - Japanese
  po - Polish
  tr - Turkish

  To add your language,
  to create ${your_language}.po by translating source/po/en.po
  into your language is needed.

  some of html and image files of various language version are not
  included yet, though message catalogue files are installed.
  you need to copy files manually under
  ${swatdir}/lang/$ln/{help,images,included,using_samba}


And also added a option to intall manual pages:
of various lang version
  To enable configure with --with-manlangs
  but manual pages themself are not included yet.
-