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

295 Commits

Author SHA1 Message Date
Jeremy Allison
371f4aca92 Sync up with 3.0 heimdal.
Jeremy.
-
Jeremy Allison
1684719695 Fixup proto generation to not include krb5 specific symbols
if no kerberos selected. Noticed by Metze.
Jeremy.
-
Jeremy Allison
77aeb262ef Merge in more of the SuSE patches for Heimdal. These changes show how
to add a function without an explicit #ifdef HEIMDAL which I'm trying
to avoid.
Jeremy.
-
Jeremy Allison
c3544c119e More Heimdal changes. Still not compiling with Heimdal yet...
Jeremy.
-
Jeremy Allison
a776fbef32 Fist part of fixes to make us compile with Heimdal. Don't explicitly
detect for now, I still have vague hopes of hiding the differences
between MIT and Heimdal with a compatibility layer....
Jeremy.
-
Andrew Bartlett
b6641badcb Updates to our NTLMSSP code:
This tries to extract our server-side code out of sessetup.c, and into a more
general lib.  I hope this is only a temporay resting place - I indend to
refactor it again into an auth-subsystem independent lib, using callbacks.

Move some of our our NTLMSSP #defines into a new file, and add two that I found
in the COMsource docs - we seem to have a double-up, but I've verified from
traces that the NTLMSSP_TARGET_TYPE_{DOMAIN,SERVER} is real.

This code also copes with ASCII clients - not that we will ever see any here,
but I hope to use this for HTTP, were we can get them.  Win2k authenticates
fine under forced ASCII, btw.

Tested with Win2k, NTLMv2 and Samba's smbclient.

Andrew Bartlett
-
Andrew Bartlett
16fe928e68 Add PRINTF_ATTRIBUTE() to a few more printf() style functions. Aids in
compiler-based argument checking.
-
Andrew Bartlett
92a777d0ea BIG patch...
This patch makes Samba compile cleanly with -Wwrite-strings.
 - That is, all string literals are marked as 'const'.  These strings are
always read only, this just marks them as such for passing to other functions.

What is most supprising is that I didn't need to change more than a few lines of code (all
in 'net', which got a small cleanup of net.h and extern variables).  The rest
is just adding a lot of 'const'.

As far as I can tell, I have not added any new warnings - apart from making all
of tdbutil.c's function const (so they warn for adding that const string to
struct).

Andrew Bartlett
-
Jeremy Allison
e789edbb28 Catching up with old patches. Add define for VERITAS quota support.
Check return in ldap.
Jeremy.
-
Simo Sorce
5320d54b90 Uhmm a bad day to commit changes :-(( -
Jeremy Allison
ff3a8d3728 Fixed auth module code. Added VALGRIND defines to reduce spurious warnings.
Jeremy.
-
Jeremy Allison
185804ac94 Fix client large file reporting.
Jeremy
-
Jeremy Allison
fc7d3faed7 Fixed nasty bug where file writes with start offsets in the range
0x80000000 -> 0xFFFFFFFF would fail as they were being cast
from IVAL (uint32) to SMB_OFF_T (off_t or off64_t, both *signed* types).
The sign extension would cause the offset to be treated as negative.
Thanks to Herb for helping me track this one down (IRIX is good for large
file tests :-).
Jeremy.
PS. That horrid EXEXIST thing has broken configure.....
-
Andrew Tridgell
732bc4519f added a timegm() function for systems that don't have it -
Jelmer Vernooij
66ef6b942e Recognize FreeBSD5 correctly (not as being sysv...) -
Gerald Carter
aa52351384 printjob merge from APP_HEAD regarding device modes -
Tim Potter
edb6172abf Added --with-ads option, defaults to yes. If you run ./configure
--with-ads=no or ./configure --without-ads Samba will build without
linking to the various kerberos libraries.
-
Andrew Bartlett
442eb39657 Winbind client-side cleanups.
The global winbind file descriptor can cause havoc in some situations -
particulary when it becomes 0, 1 or 2.  This patch (based on some very nice
work by Hannes Schmidt <mail@schmidt-net.via.t-online.de>) starts to recitfy
the problem by ensuring that the close-on-exec flag is set, and that we move
above 3 in the file descriptor table.

I've also decided that the PAM module can close it's pipe handle on every
request - this isn't performance-critical code.

The next step is to do the same for nss_winbind.  (But things like getent()
might get in our way there).

This also cleans up some function prototypes, puts them in just one place.

Andrew Bartlett
-
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
-