1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-14 01:57:53 +03:00

705 Commits

Author SHA1 Message Date
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.
-
Andrew Tridgell
e78d0a3615 fixed the Makefile so we don't rebuild libsmbclient and build_env.h
(and thus smbd) every time
-
Andrew Bartlett
beff1d2bea Add the ability to display Samba's build options with smbd -b and as a level 4
DEBUG().  Also included are details like build date/time, location and
compiler.

This should get most of the options we set, except those that don't affect
smbd, like WITH_PAM_SMBPASSWD or WITH_WINBINDD.

This work due to Vance Lankhaar <vlankhaar@hotmail.com>

Some work needs to be done to make it only rebuild when needed (ie smbd being
rebuilt) but its in pretty good shape already.

Also fix up some printf() -> d_printf().

Andrew Bartlett
-
Andrew Bartlett
c6df98a1e3 This isn't used anymore -
Andrew Bartlett
3afad9ae01 passdb/pampass.c and passdb/pass_check.c are not passdb related at all,
so don't link them as such.
-
Andrew Bartlett
eecda11eef Kill off the dangerous passwd program default, as its both very
system-dependent and can allow (when unix password sync = yes) the
'syncronisation' of root's password by a normal user :-(

Andrew Bartlett
-
Andrew Tridgell
b8651acb9c - enable MSDFS by default, there seems no reason not to have it enabled
by default in Samba 3.x

- got rid of some unused parameters in Makefile.in

- declare DEBUGLEVEL in debug.h rather than in each file
-
Andrew Tridgell
954adb630d passdb/smbpassfile ain't needed any more - it only provided migration from an ancient file format, not relevant for Samba 3.0 -
Andrew Tridgell
1af8bf34f1 replaced stdio in many parts of samba with a XFILE. XFILE is a cut-down
replacemnt of stdio that doesn't suffer from the 8-bit filedescriptor
limit that we hit with nasty consequences on some systems

I would eventually prefer us to have a configure test to see if we need
to replace stdio, but for now this code needs to be tested widely so
I'm enabling it by default.
-
Andrew Tridgell
266d8e6766 added "display charset" option in smb.conf, along with d_printf()
which should now be used instead of DEBUG(0) or printf() for
interactive messages

I have only converted client.c to use d_printf(), and the code hasn't
had much testing yet. Eventually we want all interactive code to use
d_printf(), plus SWAT
-
Andrew Tridgell
9341e5534d - fixed proto.h build on systems using a parallel make
- changed DENY1 and DENY2 tests to only report errors
-
Tim Potter
4a01e24030 Started a cleanup of smbpasswd related stuff. I've created a new file
lib/smbpasswd.c which will contain routines related to manipulating
smbpasswd entries.

 - renamed and moved pdb_{get,set}hexpwd() functions
 - renamed and moved pdb_{decode,encode}acct_ctrl() functions
 - started hiding references to the cruftalicious
   NEW_PW_FORMAT_SPACE_PADDED_LEN constant
 - started gradual rename of references to acct_ctrl to acb_info which is
   the nomenclature used in MSDN and header files

There's still more work to be done.  Currently there are several places
where smbpasswd entries are iterated etc.  Ideally this should all happen
through the passdb system.
-
Herb Lewis
99b773217c add PROFILE_OBJ to nmbd now -
Tim Potter
9c8276dfec Added additional objects to rpcclient for sam sync/repl support.
Added bin/samsync target.
-
Tim Potter
e6c0fb7575 Fix for make proto when srcdir != cwd. -
Andrew Tridgell
83d9896c1e converted smbd to use NTSTATUS by default
major changes include:

- added NSTATUS type
- added automatic mapping between dos and nt error codes
- changed all ERROR() calls to ERROR_DOS() and many to ERROR_NT()
  these calls auto-translate to the client error code system
- got rid of the cached error code and the writebmpx code

We eventually will need to also:
- get rid of BOOL, so we don't lose error info
- replace all ERROR_DOS() calls with ERROR_NT() calls

but that is too much for one night
-
Tim Potter
84998f1fce Link in smbdes routines for new wbinfo authentication stuff. -
Andrew Bartlett
ea1c547ac8 This patch does a number of things, mostly smaller than they look :-)
In particuar, it moves the domain_client_validate stuff out of
auth_domain.c to somwhere where they (I hope) they can be shared
with winbind better.  (This may need some work)

The main purpose of this patch was however to improve some of the
internal documentation and to correctly place become_root()/unbecome_root()
calls within the code.

Finally this patch moves some more of auth.c into other files, auth_unix.c
in this case.

Andrew Bartlett
-
Simo Sorce
fd54412ce9 - avoid possible mem leaks in rpcclient/cmd_*.c (talloc_destroy not performed)
- ported two rpc back from TNG (WINREG: shutdown and abort shutdown)
- some optimizations and changed some DEBUG statement in loadparm.c
- changed rpcclient a bit moved from non reentrant next_token_nr to next_token
- in cmd_reg.c not sure if getopt will work ok on all platforms only setting optind=0
-
Tim Potter
2c73ae4ac7 Link fix for smbpasswd. -
Andrew Bartlett
b30b6202f3 This is my 'Authentication Rewrite' version 1.01, mostly as submitted to
samba-technical a few weeks ago.

The idea here is to standardize the checking of user names and passwords,
thereby ensuring that all authtentications pass the same standards.  The
interface currently implemented in as

nt_status = check_password(user_info, server_info)

where user_info contains (mostly) the authentication data, and server_info
contains things like the user-id they got, and their resolved user name.

The current ugliness with the way the structures are created will be killed
the next revision, when they will be created and malloced by creator functions.

This patch also includes the first implementation of NTLMv2 in HEAD, but which
needs some more testing.  We also add a hack to allow plaintext passwords to be
compared with smbpasswd, not the system password database.

Finally, this patch probably reintroduces the PAM accounts bug we had in
2.2.0, I'll fix that once this hits the tree.  (I've just finished testing
it on a wide variety of platforms, so I want to get this patch in).
-
Tim Potter
109840bb3a Tweaked the installdirs target to ignore errors. This allows RPMS to be
built as non-root user, assuming you have permissions set up properly
in your /usr/src/redhat directory.

Added nsswitch sub-target to all target.
-
Tim Potter
fc83346a43 Fixed up compilation of pam_winbind.so to be consistent with value of
--with-pam passed to configure.

Fixed nsswitch target to compile the sbin and lib winbind targets.

Winbind still doesn't install its lib targets (libnss_winbind.so and
pam_winbind.so) properly - the install script is a big mess.  )-:
-
Andrew Tridgell
e2ab5e09d0 build smbtree by default. It's a very useful utility. -
Tim Potter
09af934c4a Store winbindd in the sbin directory. Make the winbind pam module also as
a sbin program.

Currently the pam and nss modules are installed into @prefix@/sbin - I'm
not sure whether this is a good idea or not.  Perhaps they should be left
in the build tree and copied across as needed by hand or a packaging tool.
-
Richard Sharpe
f4d9abcac7 Make sure that a shared library build of libsmbclient causes build
breakage if there are problems. I will take this out tomorrow if it
causes too many problems.
-
Tim Potter
2484f0fc39 make nsswitch target wasn't building the winbind pam module. -
Richard Sharpe
f214f6b5d5 Fix some fscked up things that I added to the Solaris CC build of shared libs -
Richard Sharpe
d63b03f753 Fix the POOBAD_CC on Slowaris so we can handle things correctly ...
Lets see how this goes.
-
Richard Sharpe
83334fc474 A few tweaks around linking libsmbclient -
Andrew Bartlett
93ff9f6101 I think this was just a typo... If there was some method to the madness then
please yell, but the build has been broken for long enough.

Andrew Bartlett
-
Richard Sharpe
7b392f9f68 A serious set of changes to build libsmbclienmt. Copied much ofthis from
CUPS.
-
Andrew Tridgell
abe01facea removed remnants of libtool -
Andrew Bartlett
8df8e84144 Add backend encryption support for NTLMv2.
The leg-work for this was done by the folks at samba-tng.org, I'm just bringing
it accross to HEAD.

The MD5 implementation is seperatly derived, and does not have the copyright
problems that the one in TNG has.

Also add const to a few places where it makes sence.

Andrew Bartlett
-
Andrew Tridgell
debb471267 The big character set handling changeover!
This commit gets rid of all our old codepage handling and replaces it with
iconv. All internal strings in Samba are now in "unix" charset, which may
be multi-byte. See internals.doc and my posting to samba-technical for
a more complete explanation.
-
Andrew Bartlett
cfd81e62c8 This brings HEAD into line with SAMBA_2_2, they now both use bindir.
Andrew Bartlett
-
Tim Potter
3fd2387a95 Split pam_winbind out of WINBIND progs so it can be build separately
only if --with-pam is specified.
-
Richard Sharpe
09837044a2 Fix another small problem with Makefile.in ... not doing the correct
check for whether or not we should build a shared library.
-