1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-06 08:23:50 +03:00
Commit Graph

206 Commits

Author SHA1 Message Date
Jelmer Vernooij
c722f665c9 r12694: Move some headers to the directory of the subsystem they belong to. 2007-10-10 13:49:39 -05:00
Jelmer Vernooij
73610639b2 r12693: Move core data structures out of smb.h into core.h
torture prototypes in seperate header
2007-10-10 13:49:39 -05:00
Jelmer Vernooij
0aca5fd513 r12542: Move some more prototypes out to seperate headers 2007-10-10 13:47:55 -05:00
Jelmer Vernooij
87f665a1d5 r12528: Add seperate proto headers for ntvfs, tdr, smb_server and nbt_server. 2007-10-10 13:47:51 -05:00
Jelmer Vernooij
c92ace494f r12499: Move smb_build.h out of includes.h 2007-10-10 13:47:45 -05:00
Jelmer Vernooij
b6d2ad4ce0 r12494: Support loading modules from .so files for most subsystems.
We now use a different system for initializing the modules for a subsystem.
Most subsystems now have an init function that looks something like this:

	init_module_fn static_init[] = STATIC_AUTH_MODULES;
	init_module_fn *shared_init = load_samba_modules(NULL, "auth");

	run_init_functions(static_init);
	run_init_functions(shared_init);

	talloc_free(shared_init);

I hope to eliminate the other init functions later on (the
init_programname_subsystems; defines).
2007-10-10 13:47:45 -05:00
Jelmer Vernooij
e3466df6df r12446: Merge mkproto.sh's functionality into mkproto.pl
Allow specifying the _PUBLIC_ keyword on functions to indicate a function
is public.

Public prototypes can now be written to a seperate header, although this
functionality is not used yet.
2007-10-10 13:47:40 -05:00
Jelmer Vernooij
4322962074 r12216: Couple of small fixes: reduce include/includes.h a bit, simplify headers
in build/smb_build/, remove unused pstring macros
2007-10-10 13:47:19 -05:00
Andrew Bartlett
2c537d47ba r10982: Move credentials.h into auth/credentials, and add flags needed by
previous patch.

Andrew Bartlett
2007-10-10 13:39:50 -05:00
Jelmer Vernooij
d2f80c0457 r10588: Remove more unused files, macros 2007-10-10 13:39:08 -05:00
Jelmer Vernooij
540155fad3 r10528: Add credentials.h back into includes.h as some compilers don't
seem to be able to handle incomplete enum types.
2007-10-10 13:39:02 -05:00
Andrew Tridgell
d4af4b11ae r10525: change from AC_CHECK_TYPES() to AC_CHECK_TYPE() for intptr_t, so the
type is always available, which means we need less #ifdefs
2007-10-10 13:39:01 -05:00
Jelmer Vernooij
a5b88bcd42 r10513: Reduce some use of pstring. The main reason some parts of the code still
use pstring is next_token() now.
2007-10-10 13:38:58 -05:00
Jelmer Vernooij
03647e1321 r10510: Decrease the amount of data included by includes.h a bit 2007-10-10 13:38:58 -05:00
Jelmer Vernooij
29919a7105 r10438: Move portability functions to lib/replace/; replace now simply ensures
that a given set of (working) POSIX functions are available (without
prefixes to their names, etc). See lib/replace/README for a list.

Functions that behave different from their POSIX specification
(such as sys_select, sys_read, etc) have kept the sys_ prefix.
2007-10-10 13:38:45 -05:00
Andrew Bartlett
6202267f6e r9728: A *major* update to the credentials system, to incorporate the
Kerberos CCACHE into the system.

This again allows the use of the system ccache when no username is
specified, and brings more code in common between gensec_krb5 and
gensec_gssapi.

It also has a side-effect that may (or may not) be expected: If there
is a ccache, even if it is not used (perhaps the remote server didn't
want kerberos), it will change the default username.

Andrew Bartlett
2007-10-10 13:34:54 -05:00
Jelmer Vernooij
5ee7af26dd r8940: Add TDR (Trivial Data Representation). The aim is to use this later for
NBT/WINS/etc rather then having to depend on NDR.
2007-10-10 13:30:59 -05:00
Jelmer Vernooij
26e1fdf630 r8806: Move data representation-independent data into seperate header 2007-10-10 13:30:06 -05:00
Tim Potter
7b316f119b r8713: Experiment to try and fix warnings on 64-bit machines without breaking
32-bit ones.  Yes, this weird looking macros are part of C99.
2007-10-10 13:29:57 -05:00
Jelmer Vernooij
7384b3c4a1 r8690: Code cleanups, improvements necessary for dependencies (not added yet) 2007-10-10 13:29:54 -05:00
Jelmer Vernooij
c88ee6b61b r8438: - More win32 portability fixes. Now fails on socketwrapper (because
unix domain sockets are not available on win32)
- Update howto
2007-10-10 13:23:02 -05:00
Jelmer Vernooij
d2ea619125 r8434: Win32 portability updates from Steven Edwards <steven_ed4153@yahoo.com>:
- undefine anything in the win32 api or PSDK headers that Samba already defines
 - map BSD error codes to Winsock Error codes
2007-10-10 13:23:02 -05:00
Andrew Tridgell
59c3de6ca8 r8420: slowly getting my way through some more heimdal portability fixes 2007-10-10 13:23:01 -05:00
Andrew Tridgell
7d4e309f02 r8313: moved PRINTF_ATTRIBUTE to replace.h to try to get irix building with heimdal 2007-10-10 13:20:05 -05:00
Andrew Tridgell
575413fc86 r8306: some more heimdal configure checks 2007-10-10 13:20:04 -05:00
Andrew Tridgell
3f77b879a0 r7668: - setup HAVE_ILDAP to enable the ildap backend in ldb
- fixed a bug in socket_connect_ev()
2007-10-10 13:18:20 -05:00
Andrew Tridgell
d4648249b2 r7352: the internal heimdal build change. This changes quite a few things:
- if you want kerberos now, you need to unpack a lorikeet heimdal
   tree in source/heimdal/. If source/heimdal/ does not exist at
   configure time then all kerberos features are disabled. You cannot
   use an external kerberos library for now. That may change later.

 - moved lib/replace/ config stuff to lib/replace/ and create a
   lib/replace/replace.h. That allows the heimdal build to use our
   portability layer, and prevenets duplicate definitions of functions
   like strlcat()

 - if you do enable heimdal, then you will need to do 'make
   HEIMDAL_EXTERNAL' before you build Samba. That should be fixed once
   I explain the problem to jelmer (the problem is the inability to
   set a depend without also dragging in the object list of the
   dependency. We need this for building the heimdal asn1 compiler and
   et compiler.

 - disabled all of the m4 checks for external kerberos libraries. I
   left them in place in auth/kerberos/, but disabled it in
   configure.in

some of the heimdal_build/ code is still very rough, for example I
don't correctly detect the correct awk, flex, bison replacements for
heimdal_build/build_external.sh. I expect to fix that stuff up over
the next few days.
2007-10-10 13:17:45 -05:00
Jelmer Vernooij
8d63cd33a2 r6752: Patch by Steven Edwards to improve portability to mingw32 2007-10-10 13:16:41 -05:00
Andrew Bartlett
8ee208a926 r6565: Cludge, cludge, cludge...
We need to pass the 'secure channel type' to the NETLOGON layer, which
must match the account type.

(Yes, jelmer objects to this inclusion of the kitchen sink ;-)

Andrew Bartlett
2007-10-10 13:16:26 -05:00
Jelmer Vernooij
1d49b57c50 r5917: First step in using the new cli_credentials structure. This patch
puts support for it into popt_common, adds a few utility functions
(in lib/credentials.c) and the callback functions for the command-line
(lib/cmdline/credentials.c). Comments are welcome :-)
2007-10-10 13:11:08 -05:00
Jelmer Vernooij
26d5a0b92c r5674: - Re-enable DCOM support.
- Always put IID in vtables (useful for asserts)
- Add table to keep track of DCOM proxy classes
- Bunch of smaller bug fixes
2007-10-10 13:10:59 -05:00
Jelmer Vernooij
71fd3e5c3a r5490: The big (D)COM commit! :-) Contains most of the changes described in the
DCOM paper in lorikeet. This is the result of 1.5 months work (mainly
figuring out how things *really* work) at the end of 2004.

In general:
- Clearer distinction between COM and DCOM. DCOM is now merely
  the glue between DCE/RPC+ORPC and COM. COM can also work without
  DCOM now. This makes the code a lot clearer.
- Clearer distinction between NDR and DCOM. Before, NDR had a couple of
  "if"s to cope with DCOM, which are now gone.
- Use "real" arguments rather then structures for function arguments in
  COM, mainly because most of these calls are local so packing/unpacking
  data for every call is too much overhead (both speed- and code-wise)
- Support several mechanisms to load class objects:
  - from memory (e.g. part of the current executable, registered at start-up)
  - from shared object files
  - remotely
- Most things are now also named COM rather then DCOM because that's what it
  really is. After an object is created, it no longer matters whether it
  was created locally or remotely.

There is a very simple example class that contains
both a class factory and a class that implements the IStream interface.
It can be tested (locally only, remotely is broken at the moment)
by running the COM-SIMPLE smbtorture test.

Still to-do:
 - Autogenerate parts of the class implementation code (using the coclass definitions in IDL)
 - Test server-side
 - Implement some of the common classes, add definitions for common interfaces.
2007-10-10 13:10:50 -05:00
Andrew Bartlett
a28ca320dc r5334: Bah, it's all to hard...
Andrew Bartlett
2007-10-10 13:09:43 -05:00
Andrew Bartlett
34b1da7303 r5330: Remove #include <sys/time.h> from includes.h.
Add #include "system/time.h" back (it was removed in some of these
places because the definitions were provided by <sys/time.h> on tridge's
platform.)

Andrew Bartlett
2007-10-10 13:09:43 -05:00
Andrew Tridgell
196c45b834 r5309: removed ads.h from includes.h 2007-10-10 13:09:40 -05:00
Andrew Tridgell
826baec7b3 r5307: removed db_wrap.h from includes.h 2007-10-10 13:09:40 -05:00
Andrew Tridgell
cfee0fb02e r5306: removed all the unused mutex functions from mutex.c. When (if?) we
decide to reinstate the mutex code for the threads process model, I'd
like to do it a little differently. At least this gets it out of
includes.h for now.
2007-10-10 13:09:40 -05:00
Andrew Tridgell
0df3fdd817 r5305: removed libcli/ldap/ldap.h from includes.h 2007-10-10 13:09:39 -05:00
Andrew Tridgell
b902ea546d r5304: removed lib/socket/socket.h from includes.h 2007-10-10 13:09:39 -05:00
Andrew Tridgell
9db6c79e90 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
2007-10-10 13:09:38 -05:00
Andrew Tridgell
6f79432fe6 r5296: - only include the tdb headers where they are needed
- removed the u32 hack in events.c as I think this was only needed as
  tdb.h defines u32. Metze, can you check that this hack is indeed no
  longer needed on your suse system?
2007-10-10 13:09:38 -05:00
Andrew Tridgell
72048e3717 r5155: define ipv4address as a based IDL type, mapped to a "const char *" in
the header, and defined on the wire as a 4 byte network byte order
IP. This means the calling code doesn't have to worry about network
byte order conversions.
2007-10-10 13:09:28 -05:00
Stefan Metzmacher
abacbc9192 r5145: define struct ipv4_addr in misc.idl,
so we can use it in nbt.idl and
get a nicer debug output

metze
2007-10-10 13:09:27 -05:00
Andrew Tridgell
cf6a46c3cb r5102: This is a major simplification of the logic for controlling top level
servers in smbd. The old code still contained a fairly bit of legacy
from the time when smbd was only handling SMB connection. The new code
gets rid of all of the smb_server specific code in smbd/, and creates
a much simpler infrastructures for new server code.

Major changes include:

 - simplified the process model code a lot.

 - got rid of the top level server and service structures
   completely. The top level context is now the event_context. This
   got rid of service.h and server.h completely (they were the most
   confusing parts of the old code)

 - added service_stream.[ch] for the helper functions that are
   specific to stream type services (services that handle streams, and
   use a logically separate process per connection)

 - got rid of the builtin idle_handler code in the service logic, as
   none of the servers were using it, and it can easily be handled by
   a server in future by adding its own timed_event to the event
   context.

 - fixed some major memory leaks in the rpc server code.

 - added registration of servers, rather than hard coding our list of
   possible servers. This allows for servers as modules in the future.

 - temporarily disabled the winbind code until I add the helper
   functions for that type of server

 - added error checking on service startup. If a configured server
   fails to startup then smbd doesn't startup.

 - cleaned up the command line handling in smbd, removing unused options
2007-10-10 13:09:22 -05:00
Andrew Tridgell
ec32b22ed5 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
2007-10-10 13:09:15 -05:00
Andrew Tridgell
f86521677d r5034: - added a type mapping function in pidl, so the type names in our IDL
files don't need to match the type names in the generated headers

- with this type mapping we no longer need definitions for the
  deprecated "int32", "uint8" etc form of types. We can now force
  everyone to use the standard types int32_t, uint8_t etc.

- fixed all the code that used the deprecated types

- converted the IDL types "int64" and "uint64" to "dlong" and
  "udlong". These are the 4 byte aligned 64 bit integers that
  Microsoft internally define as two 32 bit integers in a
  structure. After discussions with Ronnie Sahlberg we decided that
  calling these "int64" was confusing, as it implied a true 8 byte
  aligned type

- fixed all the cases where we incorrectly used things like
  "NTTIME_hyper" in our C code. The generated API now uses a NTTIME for
  those. The fact that it is hyper-aligned on the wire is not relevant
  to the API, and should remain just a IDL property
2007-10-10 13:09:15 -05:00
Andrew Tridgell
f6ff9e6f39 r4900: build fix for IRIX 6.5 2007-10-10 13:09:05 -05:00
Andrew Tridgell
1c83c80ef2 r4892: we don't need nameserv.h any more 2007-10-10 13:09:03 -05:00
Andrew Tridgell
520cff73c6 r4817: ccache was being made ineffective on all the build farm machines
because the version number was being auto-updated and included in all
C files. With this change it is only included where needed.
2007-10-10 13:08:59 -05:00
Andrew Tridgell
6534ce650b r4781: the tolower() in schema.c is a premature optimisation. I suspect the
"distinguishedName" checking in that module is incorrect and should be
removed, but meanwhile, lets not make it slow down the compile of
every other module.
2007-10-10 13:08:54 -05:00