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

277 Commits

Author SHA1 Message Date
Andrew Bartlett
55ee289f58 As per the 'OK' at CIFS2002, only use the readline headers (and this crasy
#ifdef mess...) in readline.c, we don't need or use them in the rest of Samba.

(This OK was of course conditional on 'if you break it, you better fix it...')

Andrew Bartlett
-
Andrew Bartlett
d3b29b0b2d Detect and use syslog.h or sys/syslog.h corretly. Fixes lack of prototype for
syslog() since Paul Green's POSIX patch.
-
Andrew Bartlett
ed184ed190 Move the fancy NT_STATUS macros to a new file, so we can include them earlier
in includes.h

Andrew Bartlett
-
Andrew Tridgell
b04e91f660 convert the LDAP/SASL code to use GSS-SPNEGO if possible
we now do this:

- look for suported SASL mechanisms on the LDAP server
- choose GSS-SPNEGO if possible
- within GSS-SPNEGO choose KRB5 if we can do a kinit
- otherwise use NTLMSSP

This change also means that we no longer rely on having a gssapi
library to do ADS.

todo:
- add TLS/SSL support over LDAP
- change to using LDAP/SSL for password change in ADS
-
Jelmer Vernooij
6395c34f2f Silly of me to only test this with --with-sam and not without. Doh! -
Jelmer Vernooij
4b7de5ee23 Put in intermediate version of new SAM system. It's not stable yet, code
might be ugly, etc - please don't blame me for anything but instead try to fix
the code :-). Compiling of the new sam system can be enabled with the
configure option --with-sam

Removing passdb/passgrp.c as it's unused
fix typo in utils/testparm.c
-
Jelmer Vernooij
addf29e676 Patch from Paul Green <Paul.Green@stratus.com> to be more POSIX-compatible -
Andrew Tridgell
7dfdb456d4 an initial fix for handling sparse files in smbd
This gets my test code working, where we previously failed with files
above 20G in size.

I'm still not completely happy with this. There are just too many
fields in trans2.c that we don't fill in.
-
Gerald Carter
a43d9788fa virtual registry framework with initial printing hooks. -
Andrew Bartlett
d1ca2b9f23 Kill off codepage related stuff, now we don't use codepages any more.
Andrew Bartlett
-
Gerald Carter
29874f4b8f compile warngin fixes merged from 2.2 -
Andrew Tridgell
1cf3228fdc put the ifdef for HAVE_VA_COPY in one place rather than in lots of
functions
-
Andrew Tridgell
38fd99e841 patch from Alexander Bokovoy needed for dlopen on bsd systems -
Andrew Tridgell
2dde9f7119 prototypes for some systems that don't have them -
Andrew Bartlett
0bdd94cb99 Partly based on the work by mimir (Rafal Szczesniak
<mimir@diament.ists.pwr.wroc.pl>) this patch allows samba to correctly
enumerate its trusted domains - by exaimining the keys in the secrets.tdb file.

This patch has been tested with both NT4 and rpcclient/wbinfo, and adds
some extra functionality to talloc and rpc_parse to allow it to deal with
already unicode strings.

Finally, this cleans up some const warnings that were in net_rpc.c by pushing
another dash of const into the rpc client code.

Andrew Bartlett
-
Andrew Tridgell
be23d87a17 This split the mangling code up to allow for the possibility of multiple
mangling implementation, selectable using "mangling method = " in smb.conf

It also tidies the interface a little, although it is still nasty.
-
Jeremy Allison
74eac41c68 Added sys_adminlog() system for info the appliance admins really
need to know about. Different from the DEBUG system.
Jeremy.
-
Andrew Bartlett
9d25e30232 Remove util_list.h, as its matching .c file has already gone, and nobody is
using it anymore.  This also removes an early #include of smb.h, making it
slightly easier to track whats being included where.

Andrew Bartlett
-
Andrew Bartlett
770c8a31d9 The beginning of trusted and trusting domain support from
Rafal Szczesniak <mimir@diament.ists.pwr.wroc.pl>

This adds the 'net' tools to manipulate the trusted domains.

Andrew Bartlett
-
Tim Potter
6a58c9bd06 Removed version number from file header.
Changed "SMB/Netbios" to "SMB/CIFS" in file header.
-
Andrew Bartlett
ff354c99c5 This is another *BIG* change...
Samba now features a pluggable passdb interface, along the same lines as the
one in use in the auth subsystem.  In this case, only one backend may be active
at a time by the 'normal' interface, and only one backend per passdb_context is
permitted outside that.

This pluggable interface is designed to allow any number of passdb backends to
be compiled in, with the selection at runtime.  The 'passdb backend' paramater
has been created (and documented!) to support this.

As such, configure has been modfied to allow (for example) --with-ldap and the
old smbpasswd to be selected at the same time.

This patch also introduces two new backends:  smbpasswd_nua and tdbsam_nua.
These two backends accept 'non unix accounts', where the user does *not* exist
in /etc/passwd.  These accounts' don't have UIDs in the unix sense, but to
avoid conflicts in the algroitmic mapping of RIDs, they use the values
specified in the 'non unix account range' paramter - in the same way as the
winbind ranges are specifed.

While I was at it, I cleaned up some of the code in pdb_tdb (code copied
directly from smbpasswd and not really considered properly).  Most of this was
to do with % macro expansion on stored data.  It isn't easy to get the macros
into the tdb, and the first password change will 'expand' them.  tdbsam needs
to use a similar system to pdb_ldap in this regard.

This patch only makes minor adjustments to pdb_nisplus and pdb_ldap, becouse I
don't have the test facilities for these.  I plan to incoroprate at least
pdb_ldap into this scheme after consultation with Jerry.

Each (converted) passdb module now no longer has any 'static' variables, and
only exports 1 init function outside its .c file.

The non-unix-account support in this patch has been proven!  It is now possible
to join a win2k machine to a Samba PDC without an account in /etc/passwd!

Other changes:

Minor interface adjustments:
pdb_delete_sam_account() now takes a SAM_ACCOUNT, not a char*.

pdb_update_sam_account() no longer takes the 'override' argument that was being
ignored so often (every other passdb backend).  Extra checks have been added in
some places.

Minor code changes:
smbpasswd no longer attempts to initialise the passdb at startup, this is
now done on first use.

pdbedit has lost some of its 'machine account' logic, as this behaviour is now
controlled by the passdb subsystem directly.

The samr subsystem no longer calls 'local password change', but does the pdb
interactions directly.  This allow the ACB_ flags specifed to be transferred
direct to the backend, without interference.

Doco:

I've updated the doco to reflect some of the changes, and removed some paramters
no longer applicable to HEAD.
-
Jeremy Allison
6210d4aa19 Getting ready to add UNIX extensions in HEAD also.
Jeremy
-
Martin Pool
b29775d442 Add UNUSED(paramname) macro to be used in parameter lists, to quieten
gcc warnings about unused parameters.
-
Martin Pool
a57e13b8b6 Fix macro name controlling inclusion of DMALLOC. -
Andrew Tridgell
d0ba307032 renamed ans1.h to asn_1.h to prevent conflict caused by krb5 headers
on some platforms using "" instead of <> in include statements
-
Andrew Tridgell
c4d928e55f cope with systems that don't have full gssapi libs -
Andrew Bartlett
14407c87e2 Make Samba compile on RH 6.2 again.
We now include the libber.h file if required, but currently we just don't use
ldap.  (I'll chase this up).

In the meantime, I've moved the ads_status code about, its now in its own file,
and has a couple of #ifdefs to allow smbd to link - becouse the lack of LDAP
caused HAVE_ADS to be undefined. (I hope its not too ugly).

Andrew Bartlett
-
Martin Pool
e76d27fcdb Add --enable-dmalloc to link against the dmalloc malloc debugger.
It's not as strong as Insure, but it's free, reasonably efficient and
works on every platform.
-
Martin Pool
5b6c22a209 Doc. -
Andrew Tridgell
838fbac7a0 check for gssapi_generic.h -
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 Tridgell
17e2f38973 added test for krb5.h
this was causing the kerberos stuff to fail compilation on several
platforms
-
Andrew Tridgell
4b89fdecfc sigh.
some systems have libkrb5 but not krb5.h
-
Tim Potter
36630f3984 Fixed compiler warning.
Why do people keep adding stuff to includes.h (OK I am guilty of this too)?
It's getting really huge and full of random junk.  )-:

I've noticed TNG have started to split stuff up in to individual header
files included as needed.
-
Andrew Tridgell
a1304be045 added HAVE_LDAP_H check -
Andrew Tridgell
058a5aee90 added "net join" command
this completes the first stage of the smbd ADS support
-
Andrew Tridgell
c7f6116919 added the beginnings of ADS support in smbd -
Martin Pool
d761a3860b Fix obvious typo. -
Martin Pool
79ec88f0da Store some path names in global variables initialized to configure
default, rather than in preprocessor macros.
-
Jeremy Allison
9c8439f25b Tidyups and things I discovered during the merge...
Jeremy.
-
Jeremy Allison
44fb1992c9 Fix for broken-as-shipped RedHat 7.2 system headers. Now we have
to detect this in configure.
Jeremy.
-
Jim McDonough
df34e11d84 Add popt for parsing commandline options -
Jim McDonough
3545de4773 Add rap.h for net utility and libsmb -
Andrew Tridgell
353c290f05 the beginnings of kerberos support in smbd. It doesn't work yet, but
it should give something for others to hack on and possibly find what
I'm doing wrong.
-
Andrew Tridgell
5296b20ad8 the next step in the intl changeover. This should get us compiling agian,
and also completes the switch to lang_tdb.c. SWAT should now work
with a po file in the lib/ directory

also removed useless SYSLOG defines in many files
-
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
-
Jeremy Allison
b4b891279b Use structure copy to fix unaligned accesses on 64bit architectures on
Linux.
Jeremy.
-
Andrew Tridgell
f41c3bb80f declare dbf in one spot -
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
865e0507e6 fixed missing const on d_printf declaration -