1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-31 17:18:04 +03:00
Commit Graph

815 Commits

Author SHA1 Message Date
Stefan Metzmacher
c61089219b - we now specify the object files in the subsystems config.m4 file
I plan to convert all objectfile group to use SMB_SUBSYSTEM
  later I'll add a SMB_BINARY() and SMB_LIBRARY(), then there will be no more need
  to touch Makefile.in, because all make rules will be autogenerated by configure

- convert the PROCESS_MODEL subsystem to this new scheme
  and move the pthread test to smbd/process_model.m4

- convert the CHARSET subsystem to this new scheme
  and move the iconv test to lib/iconv.m4
(This used to be commit 2e57ee884e)
2004-02-02 13:43:03 +00:00
Stefan Metzmacher
894e02f80c some DEBUG and comment fixes
metze
(This used to be commit 5ac4f87868)
2004-02-02 13:28:29 +00:00
Stefan Metzmacher
ada1de721a some compilers don't like the #warning preprocessing directive
so just do a DEBUG(0,("..."));

metze
(This used to be commit c087ff38b0)
2004-02-02 12:15:25 +00:00
Stefan Metzmacher
ac7d38c3f9 remove unused files
we maybe need the util_smbd.c code later but this should not be in the lib/ dir

metze
(This used to be commit 2149d41407)
2004-02-02 07:23:29 +00:00
Stefan Metzmacher
8468164b98 remove unused .cvsignore file
(This used to be commit 64e064c497)
2004-02-02 07:11:30 +00:00
Stefan Metzmacher
ec5d556a12 some systems doesn't have ./ in PATH
so use ./build/pidl/pidl.pl

metze
(This used to be commit 7aab10d507)
2004-02-02 07:06:28 +00:00
Stefan Metzmacher
bfb86c49ea fix PROTO_OBJS ... fix make proto on some platforms
metze
(This used to be commit ae37d9bb3f)
2004-02-02 07:02:15 +00:00
Stefan Metzmacher
9b736c3d9e Makefile.in cleanups:
lib/util_smbd.c is not used anymore

reorder the SMB_MODULE() parameters the goal is to autogenerate the
make rules for shared modules:

dnl SMB_MODULE(1:name,2:subsystem,3:default_build,
		4:object_files,5:shared_object,6:libs
		7:whatif-static,8:whatif-shared,9:whatif-not)

and generate <SUBSYSTEM>_LIBS and MODULE_<name>_LIBS with the SMB_MODULE() macro

metze
(This used to be commit 904ce91ed9)
2004-02-01 12:16:26 +00:00
Stefan Metzmacher
670ccc7d64 merge:
ldap and krb5 configure tests
libads/*.c and libcli/raw/clikrb5.c from 3.0

metze
(This used to be commit 64b5bfcd73)
2004-02-01 11:26:25 +00:00
Stefan Metzmacher
0d90f4b47b remove unused configure checks and options
--with-acl-support
 --with-sendfile-support
 --with-manpages-langs
 --with-utmp
 --with-quotas
 --with-nisplus-home
 --with-profiling-data
 --with-syslog
 --with-pam_smbpass
 --with-pam
 --with-smbmount
 --with-automount
 --with-dce-dfs
 --with-afs
 --with-smbwrapper
poll and poll.h

I'm sure we need some of this but e.g. acl, sendfile and quotas belong
only to the posix ntvfs module, so the tests will to into a seperate config.m4
file, when we need them...

metze
(This used to be commit 9bf405dd40)
2004-01-29 16:08:19 +00:00
Stefan Metzmacher
04376e44b6 add find_unused_options.sh
this script finds unused lp_*() functions

use it like this:
   user@host:~/samba/source>./script/find_unused_options.sh

metze
(This used to be commit 350fbe3440)
2004-01-29 09:54:42 +00:00
Stefan Metzmacher
1aceddaec4 remove a lot of unused smb.conf options
I think we should remove a view more,
but step by step:-)

metze
(This used to be commit 534ccc5332)
2004-01-29 09:47:39 +00:00
Stefan Metzmacher
a5ece462ab remove a lot of unused stuff from the header files
and exclude some files from Makefile.in

metze
(This used to be commit f77990cf24)
2004-01-28 18:54:36 +00:00
Stefan Metzmacher
607d6948f2 - cosmetic fix in configure.in
- fix mem leak in process.c

metze
(This used to be commit d82ada1137)
2004-01-28 15:47:20 +00:00
Stefan Metzmacher
7de61be924 - remove all STFS related stuff
(which were already removed in revision 1.37 and
   readded by mistake in revision 1.39)

- change the SMB_MODULE() macro a bit
  Now we have:

dnl Specify the default build method of this module
dnl SMB_MODULE_DEFAULT(name,default_build)
AC_DEFUN(SMB_MODULE_DEFAULT,...

dnl Mark specified module as shared
dnl SMB_MODULE(name,default_build,static_files,shared_files,subsystem,whatif-static,whatif-shared,whatif-not)

  this let us specify the default build method inside of the included config.m4
  files

metze
(This used to be commit 92a3eb83d4)
2004-01-28 15:43:18 +00:00
Stefan Metzmacher
d70b4a07bf remove autogenerated version.h from CVS
metze
(This used to be commit e7694095d3)
2004-01-28 12:49:32 +00:00
Stefan Metzmacher
e06687eb17 merge the version.h autogeneration stuff from 3.0
metze
(This used to be commit 24dc237e10)
2004-01-28 12:47:52 +00:00
Jelmer Vernooij
2ffa2fe165 Remove testing utility for removed SAM system
(This used to be commit dee59bec84)
2004-01-24 19:21:08 +00:00
Andrew Bartlett
0ea253d728 (merge from 3.0)
Fix for debian Bug#225328 by LaMont Jones <lamont@debian.org>, where
the failure of our LFS test on ia64 caused the _GNU_SOURCE define not to be
added, causeing strndup() not to be defined...

This was due to strdup() bein implicitly declared, and casting
pointer->int->pointer.

I'll into when we really should define _GNU_SOURCE shortly, but the
fix is correct anyway.

Andrew Bartlett
(This used to be commit f1cf5b8aa9)
2004-01-22 10:22:03 +00:00
Stefan Metzmacher
da93724637 - move the vars used by the backtrace stuff into the #ifdef
- handle SIBABRT with a backtrace

metze
(This used to be commit e9f584143d)
2004-01-22 02:28:17 +00:00
Stefan Metzmacher
3c310c7aa2 fix last commit, which went in by mistake
('cvs ci filename' should be my friend:-)

get rid of some more global unconst vars.
I didn't find a referenz of this vars:
SIG_ATOMIC_T reload_after_sighup = 0;
SIG_ATOMIC_T got_sig_term = 0;

tridge: is it ok to remove them?
it compiles for me

metze
(This used to be commit b34a3104c6)
2004-01-22 02:13:13 +00:00
Stefan Metzmacher
b1d8f234bf sorry, the last commit went in by mistake:-(
- implement the interface_by_name() and interface_by_uuid() hooks
  for the autogenerated dcerpc server boilerplates.

metze
(This used to be commit 0b6a291eb4)
2004-01-22 02:02:27 +00:00
Stefan Metzmacher
55dfa23e41 initilize ev->maxfd = EVENT_INVALID_MAXFD; before the while() loop.
metze
(This used to be commit 61ec710518)
2004-01-22 01:56:31 +00:00
Stefan Metzmacher
d8ee9d7a0e - make the recalculation of ev->maxfd a bit more efficient.
- fix the case when we have no fd_events left on the event_context
  we now exit after doing the timed events and not block in select()
  waiting for no fd's to become ready...

metze
(This used to be commit 857e76ef6b)
2004-01-22 01:35:51 +00:00
Stefan Metzmacher
0831b8b9f5 make dcerpc_pipes[] completely const.
so it now apears in the text section of
'size librpc/gen_ndr/tables.o'

metze
(This used to be commit f3b917402a)
2004-01-22 01:29:44 +00:00
Andrew Tridgell
fb15b95bc5 added a little bit of const magic to get rid of the data in librpc/gen_ndr/*.o
(This used to be commit 866ef2edab)
2004-01-22 01:12:43 +00:00
Stefan Metzmacher
aafd0efc58 let the event_add_XXX() function return a pointer of the allocated event structure
and NULL on allacation error.

metze
(This used to be commit fffc6cfb6b)
2004-01-21 23:19:59 +00:00
Andrew Tridgell
0593fd96fb cope with a wider range of broken servers in the RAW-QFILEINFO test
(This used to be commit eb6fc29caf)
2004-01-21 03:30:03 +00:00
Andrew Tridgell
53382d54f4 check for the correct fault code when the server fails a use of a
incorrect policy handle
(This used to be commit 8cd6e90eb8)
2004-01-20 06:10:15 +00:00
Andrew Tridgell
8ae5b50a6e added code to the RPC-SPOOLSS test that demonstrates that policy
handles are not shared between open dcerpc connections, even when
those connections are on the same SMB socket. I have tested this with
w2k3, w2k and NT4. It seems that policy handles have a strict scope of
the dcerpc connection on which they were opened.

I realise that this goes against existing folk-law in the team, but it
seems that the previous testing (I'm not sure who did this?) was
wrong. Perhaps clients do send us policy handles from other
connections, but if they do then the correct thing to do is to fail
the operation with a dcerpc fault. I suspect that failing it with
exactly the right dcerpc fault code is important.
(This used to be commit 2ed24d29ba)
2004-01-20 06:07:09 +00:00
Andrew Tridgell
7a4da9654e dcerpc server output now copes with the client blocking part way
through a read. This happens to also avoid a memcpy on output for
dcerpc over tcp.
(This used to be commit e7c53ad185)
2004-01-20 05:54:17 +00:00
Andrew Tridgell
4d39861f99 avoid a copy of the data being input to the dcerpc server in the most
common case of there being no pending partial data and a full dcerpc
packet being received.

We should use this same model for the smb server. It gives us
efficient memory usage while allowing for completely async socket
operations.
(This used to be commit 9aab321fb6)
2004-01-20 04:32:17 +00:00
Stefan Metzmacher
1e1428605b add make [un]installtorture
and let this be called by make [un]install

we can later change this and the make all
to not do the torture stuff, but for know only developers will
use samba4...

metze
(This used to be commit cb5f1e581f)
2004-01-19 14:57:56 +00:00
Stefan Metzmacher
8a102d1aae remove all unused stuff from Makefile.in
and some stuff from configure.in and dynconfig.[ch]

make all

makes
bin/gentest   bin/masktest   bin/smbd
bin/locktest  bin/smbclient  bin/smbtorture
bin/ndrdump

now

metze
(This used to be commit e0043693a6)
2004-01-19 14:22:32 +00:00
Simo Sorce
dc5f5d8a1b Add test to set single fields in fields_present with info21.
(This used to be commit 2372321eed)
2004-01-19 08:59:14 +00:00
Andrew Tridgell
d858a2ceee make sure we initialise r.out.handle in openeventlog
(This used to be commit 6319166420)
2004-01-17 00:16:18 +00:00
Andrew Tridgell
ff4a146168 * fixed a segv when -U is not used in smbtorture.
* fixed the handling of anonymous logins
(This used to be commit 7cbc4ad871)
2004-01-15 23:19:07 +00:00
Stefan Metzmacher
e0469838c8 a script which find unused or undefined vars in Makefile or Makefile.in
call it like:

script/find_unused_makefilevars.pl Makefile

or

script/find_unused_makefilevars.pl Makefile.in


metze
(This used to be commit ebecb6d05b)
2004-01-13 22:24:56 +00:00
Jelmer Vernooij
17b5c26819 Add script for finding unused function checks in configure.in
(This used to be commit 7c6a261871)
2004-01-13 22:22:43 +00:00
Jelmer Vernooij
d753c5a669 Fix --with-fhs for swatdir
(This used to be commit 5c8abbcbe5)
2004-01-11 13:40:06 +00:00
Andrew Tridgell
b827102934 added dom_sid_string() function
(This used to be commit 399f95536b)
2004-01-11 05:16:07 +00:00
Stefan Metzmacher
ae2164093e Update Copyright to 1992-2004
Jerry should I change this in 3_0 and HEAD as well?

metze
(This used to be commit 664f1e30f8)
2004-01-09 06:59:48 +00:00
Andrew Tridgell
8fb8c40d3b fixed the rpc epmapper server. This fixes rpc over tcp.
(This used to be commit 6ac547fa5f)
2004-01-09 02:43:23 +00:00
Stefan Metzmacher
7e6cf43756 This patch adds a better dcerpc server infastructure.
1.) We now register endpoint servers add startup via register_backend()
    and later use the smb.conf 'dcerpc endpoint servers' parameter to setup the dcesrv_context

2.) each endpoint server can register at context creation time as much interfaces as it wants
    (multiple interfaces on one endpoint are supported!)
    (NOTE:  there's a difference between 'endpoint server' and 'endpoint'!
	    for details look at rpc_server/dcesrv_server.h)

3.) one endpoint can have a security descriptor registered to it self
    this will be checked in the future when a client wants to connect
    to an smb pipe endpoint.

4.) we now have a 'remote' endpoint server, which works like the ntvfs_cifs module
    it takes this options in the [globals] section:

    dcerpc remote:interfaces = srvsvc, winreg, w32time, epmapper
    dcerpc remote:binding = ...
    dcerpc remote:user = ...
    dcerpc remote:password = ...

5.) we currently have tree endpoint servers: epmapper, rpcecho and remote

    the default for the 'dcerpc endpiont servers = epmapper, rpcecho'

    for testing you can also do
    dcerpc endpoint servers = rpcecho, remote, epmapper
    dcerpc remote:interfaces = srvsvc, samr, netlogon

6,) please notice the the epmapper now only returns NO_ENTRIES
    (but I think we'll find a solution for this too:-)

7.) also there're some other stuff left, but step by step :-)

This patch also includes updates for the
register_subsystem() , ntvfs_init(), and some other funtions
to check for duplicate subsystem registration


metze

(hmmm, my first large commit...I hope it works as supposed :-)
(This used to be commit 917e45dafd)
2004-01-08 22:55:27 +00:00
Stefan Metzmacher
8364fd2853 remove a useless assignment
metze
(This used to be commit 189ef6e73d)
2004-01-08 06:48:54 +00:00
Jelmer Vernooij
0172920e16 Add note about new configure structure.
(This used to be commit 43130f370b)
2004-01-02 13:47:13 +00:00
Tim Potter
7db3bbc048 Autodetect service_type in cli_tree_full_connection() if the caller
passes in NULL.
(This used to be commit b63ebaa770)
2004-01-02 01:04:59 +00:00
Andrew Tridgell
2558f81a8d the endpoint mapper now works in bigendian mode
(This used to be commit 1f89d89954)
2003-12-31 01:32:33 +00:00
Andrew Tridgell
f4307200ac "subsystems" should be static
(This used to be commit 64cf9b3fd3)
2003-12-30 22:55:12 +00:00
Andrew Tridgell
bab78d286b remove some unused files
(This used to be commit a6f43de7f8)
2003-12-22 02:52:33 +00:00
Andrew Tridgell
932bcc4a3c minor updates to make the srvsvc test compile
(This used to be commit 564e505e92)
2003-12-21 07:57:49 +00:00
Andrew Tridgell
8068c5a9f0 wkssvc test updates from metze
(This used to be commit 9d3e06f0e3)
2003-12-21 07:53:57 +00:00
Andrew Tridgell
25fe9bc2a1 latest srvsvc and wkssvc IDL from metze
(This used to be commit 59557a557d)
2003-12-20 21:50:51 +00:00
Andrew Tridgell
8a960cfdc5 tim, I'm guessing you really didn't want to add this :)
(This used to be commit a65edfbcd7)
2003-12-20 21:09:04 +00:00
Tim Potter
8b952ae237 Remove Makefile targets for old python extensions.
(This used to be commit 9355538a92)
2003-12-20 09:23:48 +00:00
Andrew Tridgell
77fb98ac7c addition of samr_SetSecurity() from kai
we needed to adjust the alignment of [relative] buffers for this to
work. I wonder if they are always 4 byte aligned?
(This used to be commit 9cd0a0b8b9)
2003-12-19 23:44:26 +00:00
Andrew Tridgell
a8400ce610 fixed removal of moe than one ncacn_* option from option list
(This used to be commit 09a9b25c8d)
2003-12-19 04:26:26 +00:00
Andrew Tridgell
98e66d0449 fixed the AddAliasMem test code
(This used to be commit abe7ffcece)
2003-12-19 04:13:39 +00:00
Andrew Tridgell
db22c0c5f9 added a bunch of alias functions in samr.idl based on work by Kai.
(This used to be commit f740b02ac3)
2003-12-19 03:59:27 +00:00
Andrew Tridgell
f46072d223 added code to the IDL validator to check for common errors with
pointers are arrays
(This used to be commit e67cbfff6c)
2003-12-19 00:40:40 +00:00
Andrew Tridgell
8369293090 fixed a segv in RPC-* when debug level > 2
thanks to Kai for spotting this!
(This used to be commit 0fc42c33d3)
2003-12-17 21:37:34 +00:00
Tim Potter
a2ec4b990d Fix typo.
(This used to be commit 3f1b781c56)
2003-12-17 03:38:06 +00:00
Andrew Tridgell
aa4aa0f99f fixed a bug in the acct_flags checking on CreateUser2 in the RPC-SAMR test
(This used to be commit 2c9a999c54)
2003-12-17 02:35:04 +00:00
Tim Potter
f9b522cfad Delete old python bindings.
(This used to be commit d7b680899f)
2003-12-17 02:18:36 +00:00
Andrew Tridgell
7efa19cd22 added a smb.conf flag "rpc big endian" that tells our rpc server to
send packets in bigendian format.
(This used to be commit 44df662960)
2003-12-17 02:06:44 +00:00
Andrew Tridgell
938eef5beb removed some unused functions
(This used to be commit 09d17d705a)
2003-12-16 12:59:20 +00:00
Andrew Tridgell
60deb10a2c fixed formatting of uuids in debug output
(This used to be commit 7895796ef8)
2003-12-16 12:11:00 +00:00
Andrew Tridgell
b3b10bce33 added a define for the DCERPC little-endian data representation flag
(This used to be commit 691f9c1c44)
2003-12-16 11:24:28 +00:00
Andrew Tridgell
6ba28732ec fixed the RPC-MGMT and RPC-SCANNER tests to work with the new
dcerpc_binding_string code
(This used to be commit 1fa68c18fa)
2003-12-16 10:57:17 +00:00
Andrew Tridgell
ecc2519594 no longer require the pipe name or tcp port number to be the first
option in the ncacn_* syntax
(This used to be commit 74f36d32bb)
2003-12-16 10:15:21 +00:00
Andrew Tridgell
68d84436a1 use bigendian mode to fix the idl for samr_LogonHours
(This used to be commit 1056618b6a)
2003-12-16 10:09:02 +00:00
Andrew Tridgell
6f12e4ace1 it turns out that a wire policy handle isn't a blob either, its a
uint32 followed by a GUID. I needed to fix this to support running in
mixed-mode rpc (where smbtorture is bigendian and w2k3 is
little-endian). Otherwise when you send back a policy handle the
server doesn't recognise it.
(This used to be commit 9b1c76a8e9)
2003-12-16 09:50:49 +00:00
Andrew Tridgell
7779b1e000 added support for big-endian ucs2 strings (as used by big-endian
msrpc).

this was easier than I expected!
(This used to be commit a0a51af6b7)
2003-12-16 09:20:34 +00:00
Andrew Tridgell
24c22aef90 a fairly large commit!
This adds support for bigendian rpc in the client. I have installed
SUN pcnetlink locally and am using it to test the samba4 rpc
code. This allows us to easily find places where we have stuffed up
the types (such as 2 uint16 versus a uint32), as testing both
big-endian and little-endian easily shows which is correct. I have now
used this to fix several bugs like that in the samba4 IDL.

In order to make this work I also had to redefine a GUID as a true
structure, not a blob. From the pcnetlink wire it is clear that it is
indeed defined as a structure (the byte order changes). This required
changing lots of Samba code to use a GUID as a structure.

I also had to fix the if_version code in dcerpc syntax IDs, as it
turns out they are a single uint32 not two uint16s.

The big-endian support is a bit ugly at the moment, and breaks the
layering in some places. More work is needed, especially on the server
side.
(This used to be commit bb1af644a5)
2003-12-16 09:02:58 +00:00
Andrew Tridgell
1413faae58 the out substructure is not empty if there is a return from the
function
(This used to be commit d18a08a870)
2003-12-16 04:15:51 +00:00
Andrew Tridgell
b2b9ea5429 enable rep_inet_ntoa() for non-pthread builds
(This used to be commit f50d4b602a)
2003-12-16 04:10:47 +00:00
Andrew Tridgell
1abd0be41e more mutex portability.
(This used to be commit 42dd8d888a)
2003-12-16 03:45:04 +00:00
Andrew Tridgell
e2ffb64d7a some compilers can't handle structures with no elements. Generate
dummy elements if need be.
(This used to be commit b6fdc98402)
2003-12-16 03:44:32 +00:00
Andrew Tridgell
2c6b585f2d more portability fixes. We now almost compile on solaris
(This used to be commit f4abd20b84)
2003-12-16 03:34:23 +00:00
Andrew Tridgell
ff6478bb4a use smb_rwlock_t instead of rwlock_t to avoid conflicts with system
types on some platforms (eg. solaris)
(This used to be commit ac8a23af8c)
2003-12-16 03:27:36 +00:00
Andrew Tridgell
6deece83dc don't rely on the ability of perl 5.6.x to remove elements from arrays
using delete(). This makes pidl portable back to perl 5.0.
(This used to be commit 9175293535)
2003-12-16 03:21:34 +00:00
Andrew Tridgell
727c3bfdeb make sure we have a value for DEFAULT_PRINTING on all platforms
(This used to be commit d0bef33ffa)
2003-12-16 02:59:30 +00:00
Andrew Tridgell
c35b032180 remove a redundent second check for PAM
(This used to be commit dbc6f31df8)
2003-12-16 01:10:03 +00:00
Andrew Tridgell
d313dab5ee cope with different cpp formatting on some systems, and make sure we
don't loop forever if we get a cpp format line we don't understand
(This used to be commit 003c6c493b)
2003-12-16 00:38:33 +00:00
Andrew Tridgell
c0149d86c5 use the @CPP@ value from configure if possible when determining cpp in
pidl
(This used to be commit c47e88dabf)
2003-12-15 22:06:18 +00:00
Andrew Tridgell
65c8e3685a lets see if "cc -E" keeps more of the build farm happy then "cpp"
We'll probably need a configure entry for this
(This used to be commit 66e648f20f)
2003-12-15 21:55:42 +00:00
Andrew Tridgell
2b5bc1b252 lots of shells don't have the -nt test, so use hackish find command
instead
(This used to be commit 2d57346c2d)
2003-12-15 12:13:34 +00:00
Andrew Tridgell
43e52cc177 added "pidl.pl --template" to dump a rough template to save typing
when starting a pipe. Thanks to metze for a script that gave the idea.

do something like this to use it:

  pidl.pl --parse --template librpc/idl/XXX.idl > rpc_server/XXX/rpc_XXX.c

then fill in the functions in rpc_XXX.c
(This used to be commit 68e71d7497)
2003-12-15 10:55:10 +00:00
Andrew Tridgell
5b03596529 fixed srvsvc DiskEnum call
strangely, the output doesn't seem to contain an info level. Some
programmer stuffed up the IDL :)
(This used to be commit a39ee5d003)
2003-12-15 10:21:09 +00:00
Andrew Tridgell
0a61036257 patch from metze with updates to srvsvc and changes to pidl to allow
for the server rpc boilerplate to correctly generate for multiple
interfaces on an endpoint
(This used to be commit 56143689ec)
2003-12-15 09:18:53 +00:00
Andrew Tridgell
6a3ef87d3e make sure we allow clients to negotiate ntlmssp seal if they want it
(This used to be commit a1275c1e89)
2003-12-15 08:59:25 +00:00
Andrew Tridgell
a90db73efd make pidl no longer dependent on Data::Dumper, which isn't installed
on some systems
(This used to be commit a4aa9168c0)
2003-12-15 08:58:00 +00:00
Andrew Tridgell
3289579812 fixed a typo in the m4 file
(This used to be commit e472053bcc)
2003-12-15 08:37:42 +00:00
Andrew Tridgell
e7721c0021 "make idl" is now incremental and "make idl_full" is a full idl build
(This used to be commit 113e772e37)
2003-12-15 05:41:05 +00:00
Andrew Tridgell
64352f9ef1 a script fix for the build farm
(This used to be commit 5f6b0baa30)
2003-12-15 05:37:15 +00:00
Andrew Tridgell
807a701f7c disable pam in samba4 until someone fixes it (hi andrew!)
(This used to be commit 1012c6e3f7)
2003-12-15 04:35:56 +00:00
Andrew Tridgell
e0dc5a0ff3 don't try and build the libclient stuff in samba4 yet
(This used to be commit 65d2bda950)
2003-12-15 04:07:16 +00:00
Andrew Tridgell
8431335ec5 more flexible handling of [] in binding strings
(This used to be commit edc67fffea)
2003-12-15 03:41:08 +00:00
Andrew Tridgell
71f81d1d3e allow the specification of full dcerpc endpoint binding strings on the
command line. This allows you to (for example) control signing/sealing
of smbtorture RPC sessions
(This used to be commit a73825eb49)
2003-12-15 03:29:55 +00:00
Andrew Tridgell
f1ceef6c84 switch off the default of ntlmssp on rpc on smb as some windows pipes
can't handle it (I'd switched it on while experimenting, and forgot to
switch it off before committing)
(This used to be commit 837d8f73a9)
2003-12-15 01:09:45 +00:00
Andrew Tridgell
ba523d895a fixed the handling of zero-length top level arrays in pidl
(This used to be commit fa45529af7)
2003-12-15 01:07:08 +00:00
Andrew Tridgell
a22917260c zero length echo is not an error
(This used to be commit f21d6351d0)
2003-12-15 01:06:01 +00:00
Andrew Tridgell
79990c727c fixed the transfer syntax in the dcerpc bind reply
(This used to be commit 39a7c660f4)
2003-12-15 00:40:57 +00:00
Andrew Tridgell
f6eb8342cb added auto-generation of the server side boilerplate code for each
pipe.

The server side code gets generated as librpc/gen_ndr/ndr_NAME_s.c and
gets included in the pipe module
(This used to be commit bd3dcfe582)
2003-12-14 13:22:12 +00:00
Simo Sorce
4cd6b8a64b typo
(This used to be commit 2afbd1e000)
2003-12-14 12:27:51 +00:00
Andrew Tridgell
a05882b34b fixed fragmented signed connections to our rpc server over SMB
(This used to be commit f5df126c25)
2003-12-14 12:21:21 +00:00
Simo Sorce
b356f3e43e reduce double explanation of FIXED ARRAYS
(This used to be commit 6f33109b10)
2003-12-14 12:04:55 +00:00
Andrew Tridgell
d009dc61f9 ntlmssp over rpc over tcp now fully works
I needed to hack the ntlmssp code a little, as the auth code in samba4
is out of date relative to the samba3 auth code. I need to do a merge :)
(This used to be commit 6ee0935afe)
2003-12-14 10:45:50 +00:00
Andrew Tridgell
e2898c098f fix _ptr_ declaration
(This used to be commit 5fed4681ed)
2003-12-14 08:44:38 +00:00
Andrew Tridgell
089ae5e435 fixed some memory leaks in the rpc server code
(This used to be commit 2045855601)
2003-12-14 03:51:48 +00:00
Andrew Tridgell
8f6b3eb1a9 fixed a bug handling multiple PDUs being read from a socket at one
time in the rpc server.

started on the framework for the dcerpc authentication server code
(This used to be commit 74041b6a0a)
2003-12-14 01:09:10 +00:00
Andrew Tridgell
346a4af6f0 add the ntlmssp calls back into smbtorture on rpc over tcp. The samba4
rpc server doesn't do ntlmssp yet, so this breaks the tests, but that
is the next step.
(This used to be commit ebe29305af)
2003-12-13 23:30:43 +00:00
Andrew Tridgell
d262b8c3c7 completed the linkage between the endpoint mapper and the dcerpc
server endpoints. We can now successfully setup listening endpoints on
high ports, then use our endpoint mapper redirect incoming clients to
the right port.

also greatly cleanup the rpc over tcp session handling.
(This used to be commit 593bc29bbe)
2003-12-13 23:25:15 +00:00
Andrew Tridgell
8d79eb52f1 make the IO in the dcerpc over TCP server completely async, handling
partial packets on both input and output
(This used to be commit 4f46606af8)
2003-12-13 11:44:28 +00:00
Andrew Tridgell
d4705378ce dcerpc over tcp in the samba4 server now works to some extent. It
needs quite a bit more work to get it finished. The biggest missing
feature is the lack of NTLMSSP which is needed for basic
authentication over tcp
(This used to be commit 9fb0f03693)
2003-12-13 10:58:48 +00:00
Andrew Tridgell
8faa77f177 rpcdump.exe now works fine against a Samba4 server
for some reason the epm_Lookup replies can't be parsed by ethereal,
although w2k parses then fine as does the Samba4 NDR code.
(This used to be commit 097e7ca99d)
2003-12-13 04:46:50 +00:00
Andrew Tridgell
da86d3af31 added the epm_Map() call.
the RPC-EPMAPPER torture test now passes
(This used to be commit fbdcf9ef54)
2003-12-13 03:23:41 +00:00
Andrew Tridgell
340d9b71f9 added a basic dcerpc endpoint mapper to Samba4. Currently only
implements the epm_Lookup() call, I'll add the other important calls
soon. I was rather pleased to find that epm_Lookup() worked first
time, which is particularly surprising given its complexity.

This required quite a bit of new infrastructure:

  * a generic way of handling dcerpc policy handles in the rpc server

  * added type checked varients of talloc. These are much less error
    prone. I'd like to move to using these for nearly all uses of
    talloc.

  * added more dcerpc fault handling code, and translation from
    NTSTATUS to a dcerpc fault code

  * added data_blob_talloc_zero() for allocating an initially zero
    blob

  * added a endpoint enumeration hook in the dcerpc endpoint server
    operations
(This used to be commit 3f85f9b782)
2003-12-13 02:20:40 +00:00
Andrew Tridgell
f7065cc0a5 after chatting with jeremy I decided to use a separate directory for
each rpc endpoint implementation, so we will have rpc_server/samr/
rpc_server/lsa/ etc.

this should encourage each pipe to be written in a more complete
manner, as it gives easy ways to split the pipe into multiple modules.
(This used to be commit 30a996b682)
2003-12-12 22:48:57 +00:00
Tim Potter
a79be6e377 Small cleanup of test code. Rename enum indexes to be the same name
for EnumKey and EnumValue.
(This used to be commit 817a2fe2e5)
2003-12-12 11:49:29 +00:00
Tim Potter
6fba6f5ca3 Got winreg_EnumValue working - what a mess!
(This used to be commit cc494086e7)
2003-12-12 06:29:21 +00:00
Tim Potter
d68d1558f7 Added routines for arrays of uint16s.
(This used to be commit 370512f664)
2003-12-12 06:26:34 +00:00
Andrew Tridgell
fece5b7aba added support for sending bind_nak replies in the rpc server
(This used to be commit 6e7c50bcd9)
2003-12-12 06:12:41 +00:00
Andrew Tridgell
fcd86aa59e added the echo pipe test calls
(This used to be commit 8ad47eff49)
2003-12-12 05:40:26 +00:00
Andrew Tridgell
9d8ef74eac we now support pdu fragmentation on both input and output in the rpc
server code
(This used to be commit 4dac951718)
2003-12-12 05:30:00 +00:00
Andrew Tridgell
dab0deae83 added handling of fragmented requests in the rpc server
now we just need to handle fragmented replies ....
(This used to be commit 14005c95d7)
2003-12-12 05:01:41 +00:00
Andrew Tridgell
869df3adbd handle the auto-allocation of [ref] output arrays in pidl. This
can simplify rpc servers a lot.
(This used to be commit 28fa62d63d)
2003-12-12 04:18:21 +00:00
Andrew Tridgell
16309de71d * the RPC-ECHO pipe now works in smbd, as long as the data sizes
don't cause fragmented pdus (I'll add fragments shortly)

 * change data_blob_talloc() to not zero memory when the 2nd argument
   is NULL. The zeroing just masks bugs, and can't even allow a DOS
   attack

 * modified pidl to ensure that [ref] arguments to the out side of
   functions are allocated when parsing the in side. This allows rpc
   backends to assume that [ref] variables are all setup. Doesn't work
   correctly for [ref] arrays yet

 * changed DLIST_ADD_END() to take the type instead of a tmp
   variable. This means you don't need to declare a silly tmp variable in
   the caller
(This used to be commit 46e0a35819)
2003-12-12 03:59:09 +00:00
Andrew Tridgell
fcc4efd1ea the next step in the dcerpc server code. Added the link between the
IPC IO routines and the dcerpc endpoint servers.
(This used to be commit 4929c53bc8)
2003-12-11 09:07:45 +00:00
Andrew Tridgell
e5ed18db65 more portable array of endpoints code from pidl
(This used to be commit c598590a11)
2003-12-10 23:49:55 +00:00
Andrew Tridgell
2bde98c0ee the rest of the initial rpc server side infrastructure
(This used to be commit 5fb01b0ec0)
2003-12-10 22:24:33 +00:00
Andrew Tridgell
188b2054a8 initial rpc server side infrastructure
(This used to be commit 3706af7a6c)
2003-12-10 22:21:04 +00:00
Andrew Tridgell
3c76426f2e * removed some unused code
* updated tdb to latest version from Samba3

 * removed some extraneous ';' in tdbutil.c (Thanks to Erlend Aasland
   for pointing this out)
(This used to be commit f3eaf270e5)
2003-12-10 03:02:12 +00:00
Andrew Tridgell
303454cae1 remove the tdbsam code for now. I have other plans for SAM backends :)
(This used to be commit bbd35e7c31)
2003-12-08 08:21:04 +00:00
Andrew Tridgell
8fa36b1fbc some systems don't have "which" and some systems don't have the "-nt"
flag to test. It's amazing that systems like that are ever sold.
(This used to be commit fe91635da8)
2003-12-08 07:37:38 +00:00
Andrew Tridgell
696c70c2f4 fixed shell scripting error
(This used to be commit b18dce549d)
2003-12-08 04:05:57 +00:00
Andrew Tridgell
86d0e4b7f1 cope with yapp not being installed
(This used to be commit e41d95acc0)
2003-12-08 03:57:03 +00:00
Andrew Tridgell
989788a7e8 "make proto" now depends on "make idl_test"
this should give the build farm a fighting chance
(This used to be commit 9246b4a331)
2003-12-08 03:54:30 +00:00
Andrew Tridgell
2773e54c98 commit idl.pm now, as many build farm machines don't have 'yapp'
(This used to be commit 2b1300386d)
2003-12-08 02:55:28 +00:00
Andrew Tridgell
58714e6bda * reduced the number of grammer conflicts a lot using (arbitrary)
precedence rules

 * build a standalone parser. When we come to distributing Samba4 we
   can just include idl.pm and other developers won't need Parse::Yapp
   installed

 * avoid the recursive make in most cases in build_idl.sh
(This used to be commit be2c2be459)
2003-12-08 02:24:40 +00:00
Andrew Tridgell
daeffe3f11 don't save the intermediate form to disk unless we need to
(This used to be commit 4e1a5a21a4)
2003-12-07 23:47:35 +00:00
Andrew Tridgell
dbf4b65d49 a bit more speed and better line matching in errors
(This used to be commit 788f6c44db)
2003-12-07 13:51:23 +00:00
Andrew Tridgell
4e1bac41f4 make pidl a little less verbose
(This used to be commit 76f48affe5)
2003-12-07 13:39:45 +00:00
Andrew Tridgell
55d2c54e03 re-wrote pidl to use Parse::Yapp instead of Parse::RecDescent, This
makes pidl about 3x faster, and also gives us much better error
reporting and a more standard grammer definition that will be much
easier to code in lex/yacc if we want to do so at a later
date. (Parse::Yapp uses essentially the same grammer file as lex/yacc)

It also means we no longer need Parse::RecDescent, which should make
pidl much more portable.
(This used to be commit 4bbaffeb44)
2003-12-07 13:38:07 +00:00
Andrew Tridgell
e10859fd0a removed an unused file
(This used to be commit 77c622c3ac)
2003-12-04 11:02:22 +00:00
Andrew Tridgell
42c6a2548a merged more updates from Jim Myers
(This used to be commit 03bf306596)
2003-12-04 11:01:58 +00:00
Andrew Tridgell
2e5ae6f065 * added a debug thread id hook from jim myers
* change to select() from sys_select() in events.c, as sys_select() is
  not thread safe. We need a new unified signal handling scheme for
  Samba4, but for now just use select()
(This used to be commit 126fcd4a76)
2003-12-04 09:52:14 +00:00
Andrew Tridgell
926240428c * patch based on work by Jim Myers to unify the ioctl handling to be
more like the other major SMB functions

* added SMBntrename code
(This used to be commit f2d3dc9893)
2003-12-04 02:03:06 +00:00
Andrew Tridgell
b8cbd9181e don't use c++ comments
(This used to be commit 3d48fa8f37)
2003-12-04 01:59:24 +00:00
Andrew Tridgell
cdd782782f we can't have two functions with the same name
(This used to be commit 5f1cdc4839)
2003-12-04 01:19:03 +00:00
Andrew Tridgell
0e958fbe47 don't use c++ style comments
(This used to be commit b11a19cc76)
2003-12-04 01:18:34 +00:00
Andrew Tridgell
eaa02c7e0d some OSes already have a uint_t
(This used to be commit d7b6aa1e2e)
2003-12-04 01:17:59 +00:00
Andrew Tridgell
2bd7a626a6 my debian unstable box uses "autoconf2.50" - i wish there were a
better way than this!
(This used to be commit ad52fd9baf)
2003-12-04 01:17:00 +00:00
Tim Potter
61a2a79105 Updated some of the function names in the IDL.
(This used to be commit 718ee8bccc)
2003-12-03 11:31:29 +00:00
Andrew Bartlett
ec92e2f9a2 My first stab at Samba4 IDL!
This patch adds the samr_CreateUser2 function, which is create_user
in Samba 3.0.

This also adds a torture suite that checks for various valid and invalid
account flags, and that they are persistant.

Also, a patch by Anthony Liguori to fix the build

Andrew Bartlett
(This used to be commit 53e657b745)
2003-12-03 03:10:10 +00:00
Andrew Tridgell
ea507ee605 added netr_LogonControl2Ex()
I also added IDL for netr_DatabaseRedo() but I don't yet know how it
works

thats the last of the netlogon IDL !
(This used to be commit 387d8f25ff)
2003-12-02 12:16:08 +00:00
Andrew Tridgell
de32d669c6 added netr_DatabaseSync2()
(This used to be commit 0f6af0c4bd)
2003-12-02 12:01:10 +00:00
Andrew Tridgell
9ebe4489e7 added netr_LogonControl2() and netr_ServerAuthenticate2()
(This used to be commit cc4123db4b)
2003-12-02 11:43:09 +00:00
Jelmer Vernooij
47702c8552 Initial step at cleaning and splitting up configure.in.
(This used to be commit 369a9c1ac1)
2003-12-02 11:10:56 +00:00
Andrew Tridgell
10ad200350 added netr_LogonControl() and netr_GetAnyDCName()
(This used to be commit 17b2be4e85)
2003-12-02 10:34:06 +00:00
Jelmer Vernooij
8af907950f Add script useful for finding checks for headers that are never used
(This used to be commit 0e5fdbc01b)
2003-12-02 10:13:18 +00:00
Andrew Tridgell
02df116352 added netr_GetDcName() - quite a useful call
(This used to be commit 63f46b223e)
2003-12-02 10:08:26 +00:00
Andrew Tridgell
16c688c9ea added netr_AccountSync(), another NT_STATUS_NOT_IMPLEMENTED call
according to w2k3
(This used to be commit b2ca00ebc5)
2003-12-02 10:04:10 +00:00
Andrew Tridgell
9ec4269760 added netr_AccountDeltas(), which w2k3 gives
"NT_STATUS_NOT_IMPLEMENTED" for
(This used to be commit aaf776a1c1)
2003-12-02 09:52:15 +00:00
Andrew Tridgell
c290906b3f make sure we can expand the critical versions structure without
causing crashes in old modules. Thanks to metze for pointing this out!
(This used to be commit 2ee5540629)
2003-12-02 09:16:53 +00:00
Andrew Tridgell
cea22e94fc netr_DatabaseDeltas() now works. We ask for the deltas associated with
the last two sequence numbers on each database.
(This used to be commit f9377c8603)
2003-12-02 08:04:37 +00:00
Tim Potter
64b7cdfc81 Hide gcc error message if using a compiler that can't precompile headers.
(This used to be commit 13d073d805)
2003-12-02 05:38:27 +00:00
Andrew Tridgell
a11727b930 * made some field names more consistent, and worked out that
unknown1 is profile_path

If we are going to use automatic backend database generation then we
are going to have to move to really consistent field names in all our
IDL. Thats the only way we are going to be able to automate it a
lot. That will take a couple of days to do when we get to it.
(This used to be commit 1732aae562)
2003-12-02 05:37:49 +00:00
Andrew Tridgell
c7a1a69d2c don't pollute the structure name space so much
(This used to be commit 107307b4c6)
2003-12-02 05:17:02 +00:00
Andrew Tridgell
399496d9d9 netr_DatabaseSync() now works fully for databases 0, 1 and 2
(This used to be commit c4c09e9413)
2003-12-02 04:59:18 +00:00
Andrew Tridgell
9632db5a19 netr_DatabaseSync() now works fully for database 0
(This used to be commit 360d03bb56)
2003-12-02 04:33:57 +00:00
Andrew Tridgell
f9419900d3 initial netlogon database sync partly works - needs some IDL tweaks
(This used to be commit 75ea276c14)
2003-12-02 04:05:05 +00:00
Andrew Tridgell
d65f0095c9 added netr_DatabaseSync(). It doesn't work as I haven't done schannel
yet, but at least the request is understood by w2k3

Also modified pidl to allow multiple branches in a union to have the
same element. This is used in netlogon.
(This used to be commit 983c0e9683)
2003-12-02 03:06:21 +00:00
Andrew Tridgell
2e70035f87 another big improvement in the credentials API. I think it now
actually makes sense, and as a nice side effect it matches the debug
output of the w2k3 netlogon.log
(This used to be commit 3c7287c24e)
2003-12-02 02:15:33 +00:00
Andrew Tridgell
06ae424835 * netr_ServerPasswordSet() now works - the test suite changes the
machine account password.

  * neater handling on value() options in IDL. The auto-print code
    will now display the right value so you don't need to initialise
    it in your C code
(This used to be commit 3dd978b12b)
2003-12-02 00:31:54 +00:00
Andrew Tridgell
8b30b0071c * another small API change in the credentials code
* don't use static variables in the smbdes code
(This used to be commit e6e0906464)
2003-12-01 22:13:11 +00:00
Andrew Tridgell
f9e2a8af39 neater credentials handling in netlogon client code
(This used to be commit b7d748f499)
2003-12-01 12:41:54 +00:00
Andrew Tridgell
232d6480a7 fixed NTLMSSP_SIGN_VERSION (which I broke earlier today)
(This used to be commit c8ef040774)
2003-12-01 10:07:24 +00:00
Andrew Tridgell
a6cf6cada9 added netr_LogonSamLogon() and test code
(This used to be commit 4fa3ad3ecb)
2003-12-01 09:28:10 +00:00
Andrew Tridgell
b4b0177fdb added netr_ServerAuthenticate() and test code
I would like the netlogon test suite to eventually do a new domain
join using a fake workstation name, then remove itself afterwards, but
for now I'm assuming we are already joined to the domain when the
testsuite runs. This means you need to use the Samba3 net command to
do a join before running RPC-NETLOGON
(This used to be commit 8c7a9446a0)
2003-12-01 04:13:43 +00:00
Andrew Tridgell
5b46116923 added netr_ServerReqChallenge and cleaned up byte array printing
(This used to be commit bb42107dcc)
2003-12-01 03:19:43 +00:00
Andrew Tridgell
b0531a38cc started adding netlogon IDL and test suite
(This used to be commit 3d64eefb46)
2003-12-01 01:41:38 +00:00
Andrew Tridgell
cfd41af814 removed more old code
(This used to be commit fbccf58539)
2003-12-01 00:38:30 +00:00
Andrew Tridgell
8d92b0a392 got rid of more group mapping code
(This used to be commit 2955ce55ee)
2003-12-01 00:29:13 +00:00
Andrew Tridgell
7602aa50fd * got rid of UNISTR2 and everything that depends on it
* removed a bunch of code that needs to be rewritten using the new
    interfaces
(This used to be commit 9b02b486ef)
2003-12-01 00:17:30 +00:00
Andrew Tridgell
fa062af11a * removed a bunch of unused code
* made some functions static
(This used to be commit 829b87f30d)
2003-11-30 23:40:04 +00:00
Tim Potter
d944b9780a Added EnumPrinterDriver, GetPrinterDriver (still in progress)
(This used to be commit a818439b59)
2003-11-30 11:57:40 +00:00
Andrew Tridgell
c95ae2d890 more unused headers
(This used to be commit 39b726d068)
2003-11-30 11:45:08 +00:00
Andrew Tridgell
e01b018359 got rid of a bunch of unused header files (now replaced with IDL
generated headers)
(This used to be commit 7f2ac326f9)
2003-11-30 11:39:03 +00:00
Tim Potter
2bb7ff5915 GetPrinterDataEx, SetPrinterDataEx, DeletePrinterDataEx.
(This used to be commit e8367f5735)
2003-11-28 11:50:33 +00:00
Tim Potter
d55fc1c9f2 Add SetPrinterData, DeletePrinterData.
(This used to be commit ea534f82d0)
2003-11-28 10:34:58 +00:00
Andrew Tridgell
f83f0cb060 fixed some warnings
(This used to be commit 1c2b8a93c5)
2003-11-28 09:05:44 +00:00
Andrew Tridgell
7ec0ead48a the beginnings of an automated tool for working out IDL properties of
a pipe. I'm not sure how possible this will be without lots of human
intervention, but its an interesting thing to try.
(This used to be commit d5afe7c6a8)
2003-11-28 08:51:09 +00:00
Tim Potter
b0ba0462a4 Fix bug in EnumPrinterData test.
Implement GetPrinterData RPC.
(This used to be commit 270c4fe389)
2003-11-28 06:39:06 +00:00
Andrew Tridgell
606514b077 make sure there is at least one valid interface in an IDL file
(This used to be commit 86ab394806)
2003-11-28 05:32:40 +00:00
Andrew Tridgell
ba33beec05 * added a bunch of placeholder IDL files
* allow for an interface to list its endpoints in the IDL file, so we
   can automatically make the server listen on the right pipes, and
   can scan pipes more easily (I don't take advantage of this yet,
   just putting the infrastructure in place)
(This used to be commit c8b8480244)
2003-11-28 05:20:11 +00:00
Tim Potter
d419464d87 Added EnumJobs, GetJob, SetJob RPCs.
(This used to be commit a06cbbbf1f)
2003-11-28 05:02:32 +00:00
Andrew Tridgell
07fdc2c73e * support multiple interfaces in one IDL file in pidl
* make far more generated functions static

 * get rid of gen_rpc, and include the client calls in ndr_*.c

 * added placeholder IDL for a number of intefaces (dcom, wzcsvc, browser etc)
(This used to be commit a2bdf0be01)
2003-11-28 03:47:45 +00:00
Andrew Tridgell
df5949efb4 added auto-generation of the IDL interface tables. This makes two less
places that need to be edited when someone adds a new IDL file.
(This used to be commit ccd9ddeed6)
2003-11-28 00:48:05 +00:00
Tim Potter
abff8aac56 Implemented SetForm RPC.
(This used to be commit bdb0dfc370)
2003-11-27 20:55:13 +00:00
Tim Potter
6aee8274ef Add DeleteForm, start cleaning up tests.
(This used to be commit 10b31623fd)
2003-11-27 09:50:25 +00:00
Andrew Tridgell
c7c9e61987 more epmapper and mgmt magic
protocol 0x1f is interesting - its ncacn_http !
(This used to be commit e3d40e3da6)
2003-11-27 07:28:46 +00:00
Tim Potter
4884a97f3b Implemented AddForm RPC. The mystery of the useless_ptr has been
solved.  It was a pointer in a union member.

RPC-SPOOLSS tests a bit messy and could do with a cleanup.
(This used to be commit cf8cd44852)
2003-11-27 06:15:06 +00:00
Andrew Tridgell
ab3d728b7e added an rpc scanner. This prints messages like this:
uuid 82273fdc-e32a-18c3-3f78-827929dc23ea  version 0x0000:0x0000  'eventlog'
        24 calls available
        WARNING: local IDL defines 4 calls

when all the WARNINGs are gone then we know we have all the calls :)
(This used to be commit f5821b2468)
2003-11-27 05:34:28 +00:00
Andrew Tridgell
61bb3c865c use EPMAPPER_PORT constant instead of 135
(This used to be commit 953ab587dc)
2003-11-27 04:04:31 +00:00
Andrew Tridgell
a9203bf02b a couple of tidyups
* don't try to map the epmapper uuid !

 * some preliminary support for alter context pdus
(This used to be commit f9857e5685)
2003-11-27 04:02:15 +00:00
Andrew Tridgell
1cab707f0b switched to WERROR return codes in the management IDL
(This used to be commit a81f659e9e)
2003-11-27 04:01:18 +00:00
Andrew Tridgell
0b1b3850a0 added -m for 'max protocol' as a standard option
(This used to be commit 8fe4058711)
2003-11-27 04:00:21 +00:00
Andrew Tridgell
3e0501082c fixed default port handling pointed out by Tom Jansen
(This used to be commit 8246e6ca0b)
2003-11-26 21:57:29 +00:00
Andrew Tridgell
1ca1b85c4c by default sign RPC over TCP but not RPC over SMB. I will add command line control soon
(This used to be commit 215852116c)
2003-11-26 12:29:08 +00:00
Tim Potter
ee67d68f1c Implemented EnumForms and GetForm.
(This used to be commit 822750592c)
2003-11-26 06:26:18 +00:00
Andrew Tridgell
2edb73fbe9 added a link to opengroup PDU definitions
(This used to be commit 939d832e5e)
2003-11-26 04:32:39 +00:00
Andrew Tridgell
d49d528618 show an error when the epmapper fails to find an interface
(This used to be commit 448dead14d)
2003-11-26 04:32:04 +00:00
Tim Potter
33844ade40 Add bind nak to dcerpc_payload.
(This used to be commit 0deb9179f0)
2003-11-26 04:23:24 +00:00
Andrew Tridgell
c168ca2157 transfer syntax V2 isn't as magic as I thought
(This used to be commit bb3bb5dc8d)
2003-11-26 03:43:04 +00:00
Andrew Tridgell
fca5f78032 use the IDL defined NDR version number
(This used to be commit 00e0c14b76)
2003-11-26 03:41:06 +00:00
Andrew Tridgell
fffd741a7a added auto-determination of the DCERPC over TCP port number by asking
the servers endpoint mapper
(This used to be commit 4abf5376b0)
2003-11-26 03:36:17 +00:00
Andrew Tridgell
c123c84541 fixed some memory leaks in the dcerpc use of ntlmssp signing
(This used to be commit abbc9993b8)
2003-11-26 02:08:41 +00:00
Andrew Tridgell
e0ac659917 signed DCERPC over TCP now works !
* moved ntlmssp code into libcli/auth/, and updated to latest ntlmssp
   code from samba3 (thanks Andrew! the new interface is great)

 * added signing/ntlmssp support in the dcerpc code

 * added a dcerpc_auth.c module for the various dcerpc auth mechanisms
(This used to be commit c18c9b5585)
2003-11-26 01:16:41 +00:00
Andrew Tridgell
06942f3ddb added some paranoid checking for enums
(This used to be commit 3492f37b0b)
2003-11-26 01:13:00 +00:00
Tim Potter
49a85dc890 Spoolss functions return WERROR not NTSTATUS.
Start writing idl for forms RPCs.
(This used to be commit 9274ef60b6)
2003-11-25 11:24:49 +00:00
Jelmer Vernooij
a846e59205 CVS: ----------------------------------------------------------------------
CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: 	Makefile.in configure.in include/includes.h include/ntvfs.h
CVS: 	include/smb.h lib/iconv.c lib/module.c ntvfs/ntvfs_base.c
CVS: 	ntvfs/cifs/vfs_cifs.c ntvfs/ipc/vfs_ipc.c
CVS: 	ntvfs/posix/vfs_posix.c ntvfs/print/vfs_print.c
CVS: 	ntvfs/reference/vfs_ref.c ntvfs/simple/vfs_simple.c
CVS: 	passdb/pdb_interface.c
CVS: Added Files:
CVS: 	include/module.h
CVS: ----------------------------------------------------------------------
Update to the modules system. Fixed:
 - get rid of smb_probe_module
 - merge older updates from 3.0
 - introduced register_subsystem() and register_backend() functions
 - adapt ntvfs and charset to use new register functions
 - made smb_load_modules() work recursively (e.g. 'preload modules = /usr/lib/samba')
 - got rid of some old remains

Things that still need work:
 - Did I break tankFS? I don't think so, but I can't test it here :-(
 - Add 'postload modules = ' (for modules that need to be loaded after fork() in smbd, if applicable)
 - Convert RPC, auth, passdb, etc to use new register_{subsystem,backend}() functions
 - Accept wildcards in 'preload modules' option, instead of loading recursively
(This used to be commit 7512b9ab1a)
2003-11-25 03:15:26 +00:00
Jelmer Vernooij
97dbe926ec Update to the modules system. Fixed:
- get rid of smb_probe_module
 - merge older updates from 3.0
 - introduced register_subsystem() and register_backend() functions
 - adapt ntvfs and charset to use new register functions
 - made smb_load_modules() work recursively (e.g. 'preload modules = /usr/lib/samba')
 - got rid of some old remains

Things that still need work:
 - Did I break tankFS? I don't think so, but I can't test it here :-(
 - Add 'postload modules = ' (for modules that need to be loaded after fork() in smbd, if applicable)
 - Convert RPC, auth, passdb, etc to use new register_{subsystem,backend}() functions
 - Accept wildcards in 'preload modules' option, instead of loading recursively
(This used to be commit 3433c4c71f)
2003-11-25 02:09:40 +00:00
Andrew Tridgell
f4e485117a * fixed byte order in epmapper parsing
* allow rpc transport to be specified on command line in smbtorture
(This used to be commit 8a82050fd6)
2003-11-24 13:19:00 +00:00
Andrew Tridgell
7befc0648e initial implementation of dcerpc over tcp. RPC-EPMAPPER works, now to
add epm_Map calls and support the rest of the pipes
(This used to be commit 39add48158)
2003-11-24 12:40:47 +00:00
Andrew Tridgell
bbb11d4a0d * prepared the dcerpc subsystem for adding the RPC over TCP transport
* fixed a uninitialised variable bug in pidl (found by valgrind)
(This used to be commit 8bce61b8af)
2003-11-24 11:45:33 +00:00
Andrew Tridgell
5e64ecac2f removed the STFS specific flags in the Makefile.
Jim, we are going to need to redo the STFS backend as a module, as
otherwise maintaining it outside of the samba.org tree will become too
awkward.
(This used to be commit 0fedafd7a0)
2003-11-24 10:37:24 +00:00
Andrew Tridgell
f5fe95abd2 added tests for epm_Map endpointer map calls
(This used to be commit 570ad78525)
2003-11-24 10:15:17 +00:00
Andrew Tridgell
7d36545d33 give far more detail in the EPMAPPER results
(This used to be commit 4203019698)
2003-11-24 05:28:10 +00:00
Andrew Tridgell
3114289c64 make sure we don't try to update a constant
(This used to be commit 4a6034f2e3)
2003-11-24 03:31:03 +00:00
Andrew Tridgell
e4773b184c added tests for the remaining calls on the rpc management interface
(This used to be commit 00f9b0e120)
2003-11-24 03:21:49 +00:00
Andrew Tridgell
c7fd83d0b2 added the dcerpc remote management interfaces as mgmt.idl, and wrote a
test suite. The test suite dumps all of the interfaces available on
all pipes. There sure are a lot more interfaces on w2k3 than w2k !
(This used to be commit f94bc07990)
2003-11-24 01:24:29 +00:00
Andrew Tridgell
27b1dbaea6 * better diagnostics in ndrdump
* added samr_Connect2()
(This used to be commit 6b262ca37c)
2003-11-23 21:51:24 +00:00
Andrew Tridgell
3d0e6b3835 added a tool called 'ndrdump' that allows you to dump NDR data
according to the current IDL taking the data from a file. In
combination with a little hack to ethereal to extract data this is a
quite powerful IDL development tool.
(This used to be commit 229a325c3c)
2003-11-23 13:44:19 +00:00
Tim Potter
66694c571f Modify WINREG test program to recursively enumerate keys in all known
hives.  Limit the recursion depth to ensure the test doesn't run too long.
(This used to be commit 152af383b8)
2003-11-23 11:57:15 +00:00
Tim Potter
c32a03ad12 Removed unused variable.
(This used to be commit 40ccaeefed)
2003-11-23 11:05:31 +00:00
Tim Potter
29ee36d0c9 Check NT_STATUS code from dcerpc call function before checking the
WERROR code.
(This used to be commit b4792b7b31)
2003-11-23 10:51:39 +00:00
Tim Potter
c071301a77 Add a strlen_m_term() function for returning the length of a string
including the termination.  Using value(strlen_m((r->name)+1)*2) gives
the wrong answer for the NULL string.
(This used to be commit 7ae329e663)
2003-11-23 10:50:52 +00:00
Andrew Tridgell
1b9452ffc5 fixed the handling of value() attributes on scalars in IDL that
reference other elements of the same structure
(This used to be commit d8d17be290)
2003-11-23 07:14:17 +00:00
Tim Potter
03eda90641 Actually call right function name.
(This used to be commit 634ea43720)
2003-11-23 06:54:18 +00:00
Tim Potter
8cd945501b Call enumkey for tridge.
(This used to be commit cc71bd2a90)
2003-11-23 06:38:37 +00:00
Tim Potter
136c2d7961 String termination fix.
Re-arrange winreg tests - currently it's failing with an input validation
error on tridge's test pull/push test code.
(This used to be commit 8f154f8b9f)
2003-11-23 06:31:10 +00:00
Tim Potter
aa42dd6269 Strings in the winreg pipe are terminated.
(This used to be commit 1f56d4cd04)
2003-11-23 06:29:11 +00:00
Andrew Tridgell
800d3e0134 ooh, this is fun!
I have recoded the core dcerpc packet structures (all the PDUs etc) in
terms of IDL, which means we now use pidl to generate all the code for
handling the most basic dcerpc packets. This is not normally possible
as it isn't completely valid NDR, but pidl has a number of extensions
that make it quite easy.

This also means we get the server side dcerpc
marshalling/unmarshalling code for free.
(This used to be commit 92bcad0258)
2003-11-23 06:28:12 +00:00
Andrew Tridgell
02dc7536dd save about 35% of the time for "make idl" by processing multiple IDL
files at once, which means less perl startup time.
(This used to be commit 64b2c67e47)
2003-11-23 03:42:20 +00:00
Andrew Tridgell
231ae2430e get rid of some more unused headers
(This used to be commit 48276c768b)
2003-11-23 03:10:50 +00:00
Andrew Tridgell
11e9184895 by using a single proto.h we gain another factor of 4 in the speed of
"make proto"
(This used to be commit f6bb118799)
2003-11-23 03:03:27 +00:00
Andrew Tridgell
1bd5a8ac1a final bit of tidyup and speedup
(This used to be commit 1c980e6c4e)
2003-11-23 02:44:23 +00:00
Andrew Tridgell
5577992f25 much faster inner loop and neater code
(This used to be commit 9ea02c51d4)
2003-11-23 02:33:46 +00:00
Andrew Tridgell
b9dd8d34a0 fixed loadparm handling properly
(This used to be commit 945ada7e7e)
2003-11-23 02:11:55 +00:00
Andrew Tridgell
4df03a8921 nicer base type handling
(This used to be commit e58384eb53)
2003-11-23 02:00:40 +00:00
Andrew Tridgell
d47d14f2ff reduced the number of magic types we need in mkproto.pl
In general I prefer "struct foo" to just "foo" for most
structures. There are exceptions.
(This used to be commit 04eb12b56c)
2003-11-23 01:53:54 +00:00
Andrew Tridgell
7ab05c2ffa we don't need awk now
(This used to be commit db6d7daaef)
2003-11-23 01:31:40 +00:00
Andrew Tridgell
5052c65fd3 get rid of our awk scripts
(This used to be commit f11f757c87)
2003-11-23 01:30:58 +00:00
Andrew Tridgell
fec4b5b0cc changed to perl for mkproto, patch from vance
(This used to be commit 9386326868)
2003-11-23 01:29:42 +00:00
Andrew Tridgell
868555bca5 added support for enumerated types in IDL files. This makes unions
easier to work with.
(This used to be commit 60be15d306)
2003-11-22 22:53:08 +00:00
Andrew Tridgell
e79e6bc472 added support for 'const' in IDL files. This makes it easy to define
symbolic names for bitfields etc.
(This used to be commit 344a6e1682)
2003-11-22 22:09:10 +00:00
Andrew Tridgell
277322b9d4 added the beginnings of an IDL validator, to give clearer errors when
IDL is not valid
(This used to be commit c1b708708e)
2003-11-22 12:25:20 +00:00
Andrew Tridgell
be77d9c60d * fixed null terminated string handling
* fixed nested relative offsets in push functions

the spoolss torture test now passes!
(This used to be commit 60ced76160)
2003-11-22 11:49:22 +00:00
Andrew Tridgell
677fb26deb * fixed handling of relative subcontext unions
* fixed GetPrinter in spoolss after OpenPrinter
(This used to be commit 4aea2d79dd)
2003-11-22 10:37:00 +00:00
Andrew Tridgell
0b0ca9f754 dfs torture test now passes
(This used to be commit 201cb6116d)
2003-11-22 09:45:40 +00:00
Andrew Tridgell
4666ec9301 * fixed NDR flag inheritance across push subcontexts
* don't consider not doing lsa_QueryInfoPolicy level 11 a failure
   (w2k3 doesn't have this level, w2k does)

 * on a NDR validation failure dump the failed data at level 3
(This used to be commit 9d5078962f)
2003-11-22 09:32:35 +00:00
Andrew Tridgell
175e947579 * enable RPC/NDR validation in all smbtorture code
* allow us to distinguish between null arrays and zero length arrays,
   by making the allocation size a minimum of 1 on array pull
(This used to be commit 11c0fe548e)
2003-11-22 08:41:40 +00:00
Andrew Tridgell
86a604429e a fairly major upgrade to the dcerpc system
* added a NDR validator. The way it works is that when the
   DCERPC_DEBUG_VALIDATE_* flags are set the dcerpc system will
   perform NDR buffer validation. On sending a request the packet is
   first marshalled, then unmarahslled, then marshalled again, and it is
   confirmed that the two marshalling results are idential. This
   ensures that our pull and push routines are absolutely in sync, so
   that we can be very confident that if a routine works in the client
   then the corresponding routine must work on the server side. A
   similar validation is performed on all replies.

 * a result of this change is that pidl is fussier about the [ref]
   tag. You can only use it on pointers (which is the only place it
   makes sense)

 * fixed a basic alignment bug in the push side of the NDR code

 * added server side pull/push support. Our dcerpc system is now fully
   ready to be used on the server side.

 * fixed the relative offset pointer list. It must be traversed in
   reverse order on push

 * added automatic value setting for the size parameter in outgoing
   SdBuf structures.

 * expanded the ndr debugging code to always give a message on any
   failure

 * fixed the subcontext push code

 * fixed some memory leaks in smbtorture RPC tests
(This used to be commit 8ecf720206)
2003-11-22 08:11:32 +00:00
Andrew Tridgell
5950020266 * you can't have two parameters with the same name (pidl doesn't enforce
that currently, but will in a couple of hours when I've finished my
   NDR validator code)

 * only a pointer can be [ref]
(This used to be commit 4e174564ae)
2003-11-22 06:10:32 +00:00
Tim Potter
c674672a08 Convert all NTSTATUS return codes to WERROR.
Implement all OpenXXX calls, EnumKey, OpenKey, QueryInfoKey.

Started EnumValue but it doesn't work yet.
(This used to be commit 5cba48252a)
2003-11-22 05:34:25 +00:00
Andrew Tridgell
3f2598abad added Parse::RecDescent module into pidl to ensure we all use the same
version. This should fix the problems Richard was seeing.
(This used to be commit 76c24a5cb0)
2003-11-22 01:40:24 +00:00
Andrew Tridgell
2ca65a99c7 added some explanations for epmapper IDL and dom_sid2
(This used to be commit 5962f1cffa)
2003-11-22 01:27:40 +00:00
Andrew Tridgell
0a0f8b5e3a fixed a bug with pushing non-pointer unions
(This used to be commit bc2fbc79cc)
2003-11-21 22:34:45 +00:00
Andrew Tridgell
32831d5af9 fix a smbtorture memory leak
(This used to be commit 0eff7c519b)
2003-11-21 22:00:38 +00:00
Andrew Tridgell
0739d3dafd cleaner handling of relative pointers to strings
(This used to be commit 4022e71075)
2003-11-21 22:00:00 +00:00
Andrew Tridgell
7c5f6ead80 don't ignore .h files here
(This used to be commit b1863f897f)
2003-11-21 21:25:48 +00:00
Andrew Tridgell
e1260ef0eb forgot to commit this, sorry
(This used to be commit ff883d1cba)
2003-11-21 21:25:03 +00:00
Andrew Tridgell
55410a073f print out the UUIDs from the end point mapper
(This used to be commit f90e5db8f9)
2003-11-21 13:27:58 +00:00
Andrew Tridgell
a465add90f * changed the way strings are handled in pidl to a much more general
interface. We now support an arbitrary set of flags to each parser,
  and these can be used to control the string types. I have provided
  some common IDL string types in librpc/idl/idl_types.h which needs to
  be included in every IDL file.

* added IDL for the endpoint mapper. Added a test suite that enumerates
  all endpoints on the server.
(This used to be commit d2665f36a7)
2003-11-21 13:14:17 +00:00
Tim Potter
82d6f5587b Implement DeleteKey, DeleteValue, FlushKey.
(This used to be commit 49f1654510)
2003-11-21 06:14:14 +00:00
Tim Potter
49c02c6634 Start of winreg idl. Implement OpenHKLM, GetVersion and CloseKey.
(This used to be commit c8b87f5feb)
2003-11-21 05:28:36 +00:00
Tim Potter
a20352959e More work on eventlog - still doesn't work. (-:
(This used to be commit 9109cb832a)
2003-11-21 03:07:02 +00:00
Andrew Tridgell
1d7534efd7 avoid calling the print routines completely if debug level < 2
(This used to be commit 63b9d2803c)
2003-11-21 02:50:40 +00:00
Andrew Tridgell
236e44c65a only display really verbose packet dumps when smbtorture is run at
debug level 2 or above. This is more useful for checking that
something hasn't broken without swamping yourself with output.
(This used to be commit 53ff3a572a)
2003-11-21 02:44:31 +00:00
Andrew Tridgell
38ce2ef4bb added 4 more levels to samr_QueryDisplayInfo()
(This used to be commit f4cc593a5c)
2003-11-21 02:19:47 +00:00
Andrew Tridgell
9fc7be869b added support for 'ascstr', a ascii string in MSRPC !
(This used to be commit a5eeb3be05)
2003-11-21 02:19:09 +00:00
Andrew Tridgell
d869d8c8eb ignore generated idl.pm
(This used to be commit e9d18ecc2d)
2003-11-20 22:51:02 +00:00
Andrew Tridgell
4fd867a240 Todd Sabin pointed out that a couple of the values I marked as hyper_t
are in fact 4 byte aligned. Create a ULONG8 type in samr for
those. This type should probably be made global later.
(This used to be commit e7dd116138)
2003-11-20 22:47:20 +00:00
Andrew Tridgell
15776970a5 we now use a copy of pidl inside the samba4 source tree at
source/build/pidl/

I imported the code using direct respository manipulation to preserve
the commit history
(This used to be commit 2ed87a52cc)
2003-11-20 22:46:01 +00:00
Tim Potter
20730626af Add initial work on eventlog - doesn't quite work yet.
(This used to be commit 99fff7b1e2)
2003-11-20 21:52:40 +00:00
Andrew Tridgell
ddd2f9ced0 added samr_QueryDisplayInfo() (only level 1 so far)
(This used to be commit 8601305c81)
2003-11-20 12:10:41 +00:00
Andrew Tridgell
b1e5882eb3 * fixed libndr.h header
* "make clean" now removed the generated files
(This used to be commit 683259a4dd)
2003-11-20 11:17:06 +00:00
Andrew Tridgell
b008369175 moved the pidl auto-generated files out of CVS
(This used to be commit 49c72d4276)
2003-11-20 11:09:53 +00:00
Andrew Tridgell
fe6fd991ee extensive samr_SetUserInfo/samr_QueryUserInfo testing, with
cross-checking of all settable fields
(This used to be commit 3337906d52)
2003-11-20 10:53:08 +00:00
Andrew Tridgell
d4dfcda78e * fixed level2 of QueryUserInfo
* added per-field testing of SetUserInfo

 * fixed strlen_m()
(This used to be commit 26238b0f8a)
2003-11-20 10:29:54 +00:00
Andrew Tridgell
5d77cda1dc make sure we don't try to use c++ style variable declaration
(This used to be commit 9fee737931)
2003-11-20 07:28:59 +00:00
Andrew Tridgell
f3a4d83711 started on samr_SetUserInfo()
cope with the 'samrtorturetest' user already existing in the samr test
(to cope with previously failed runs)
(This used to be commit 47128b3d50)
2003-11-20 07:20:59 +00:00
Andrew Tridgell
e2254cc18f fixed pushing structures containing pointers inside unions
(This used to be commit bb30f42cd4)
2003-11-20 07:07:09 +00:00
Andrew Tridgell
08026ca1e0 a bit neater way of emitting code
(This used to be commit 964c323721)
2003-11-20 06:34:18 +00:00
Andrew Tridgell
0b0295c232 fixed a comment
(This used to be commit d996c880f4)
2003-11-20 05:46:45 +00:00
Andrew Tridgell
9fb8ee5765 * cope with pidl not being in $HOME/pidl
* cope with empty structures in unions
(This used to be commit a706ff7893)
2003-11-20 05:39:54 +00:00
Andrew Tridgell
a6e5654b3d fixed srvsvc_NetShareEnumAll()
(This used to be commit ab4056e25c)
2003-11-20 05:34:02 +00:00
Richard Sharpe
4730469cd8 Add a 1004 level for srvsvc.
(This used to be commit 9810e6f180)
2003-11-20 04:45:16 +00:00
Andrew Tridgell
b2fd4284b6 use a precompiled grammer in pidl. This speeds up pidl by about a
factor of 2 on my system.
(This used to be commit a291dd835f)
2003-11-20 04:36:09 +00:00