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

208 Commits

Author SHA1 Message Date
Stefan Metzmacher
d634a78fae remove some unused stuff
metze
-
Stefan Metzmacher
2e57ee884e - 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
-
Stefan Metzmacher
64b5bfcd73 merge:
ldap and krb5 configure tests
libads/*.c and libcli/raw/clikrb5.c from 3.0

metze
-
Stefan Metzmacher
f77990cf24 remove a lot of unused stuff from the header files
and exclude some files from Makefile.in

metze
-
Stefan Metzmacher
e7694095d3 remove autogenerated version.h from CVS
metze
-
Stefan Metzmacher
24dc237e10 merge the version.h autogeneration stuff from 3.0
metze
-
Stefan Metzmacher
e0043693a6 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
-
Andrew Tridgell
a0a51af6b7 added support for big-endian ucs2 strings (as used by big-endian
msrpc).

this was easier than I expected!
-
Andrew Tridgell
bb1af644a5 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.
-
Andrew Tridgell
42dd8d888a more mutex portability. -
Andrew Tridgell
f4abd20b84 more portability fixes. We now almost compile on solaris -
Andrew Tridgell
ac8a23af8c use smb_rwlock_t instead of rwlock_t to avoid conflicts with system
types on some platforms (eg. solaris)
-
Andrew Tridgell
d0bef33ffa make sure we have a value for DEFAULT_PRINTING on all platforms -
Andrew Tridgell
6ee0935afe 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 :)
-
Andrew Tridgell
593bc29bbe 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.
-
Andrew Tridgell
9fb0f03693 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
-
Andrew Tridgell
3f85f9b782 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
-
Andrew Tridgell
46e0a35819 * 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
-
Andrew Tridgell
4929c53bc8 the next step in the dcerpc server code. Added the link between the
IPC IO routines and the dcerpc endpoint servers.
-
Andrew Tridgell
5fb01b0ec0 the rest of the initial rpc server side infrastructure -
Andrew Tridgell
f3eaf270e5 * 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)
-
Andrew Tridgell
126fcd4a76 * 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()
-
Andrew Tridgell
f2d3dc9893 * patch based on work by Jim Myers to unify the ioctl handling to be
more like the other major SMB functions

* added SMBntrename code
-
Andrew Tridgell
d7b6aa1e2e some OSes already have a uint_t -
Andrew Tridgell
2ee5540629 make sure we can expand the critical versions structure without
causing crashes in old modules. Thanks to metze for pointing this out!
-
Andrew Tridgell
75ea276c14 initial netlogon database sync partly works - needs some IDL tweaks -
Andrew Tridgell
fbccf58539 removed more old code -
Andrew Tridgell
2955ce55ee got rid of more group mapping code -
Andrew Tridgell
9b02b486ef * got rid of UNISTR2 and everything that depends on it
* removed a bunch of code that needs to be rewritten using the new
    interfaces
-
Andrew Tridgell
39b726d068 more unused headers -
Andrew Tridgell
7f2ac326f9 got rid of a bunch of unused header files (now replaced with IDL
generated headers)
-
Andrew Tridgell
c18c9b5585 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
-
Jelmer Vernooij
7512b9ab1a 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
-
Andrew Tridgell
48276c768b get rid of some more unused headers -
Andrew Tridgell
04eb12b56c 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.
-
Andrew Tridgell
33bb878562 * add another WERR err code
* use the top-level function argument printing to show more detail in
   RPC-* tests
-
Andrew Tridgell
186ddbbf87 added OpenPrinter and a test function. Note that the Samba3 structure
for OpenPrinter was wrong.
-
Andrew Tridgell
b2ced24fc0 added 9 more info levels to lsa_QueryInfoPolicy -
Andrew Tridgell
6b222d3b65 another major bit of restructuring of rpc in Samba4. Mostly moving
files around, but also added the first bits of auto-generated code for
the lsa pipe.

I haven't updated the Makefile to call pidl yet, so for now the code
was cut-and-pasted into librpc/ndr/ndr_lsa.c manually
-
Andrew Tridgell
8cff335dab started adding RPC-ECHO torture cases -
Andrew Tridgell
e925c315f5 a major revamp of the low level dcerpc code in samba4, We can now do a
successful LSA OpenPolicy using smbtorture
-
Andrew Tridgell
9bf904fc34 - a few portability fixes from Jim Myers
- added SMBD_LISTEN_BACKLOG in local.h

- added the beginnings of a ndr/rpc parsing framework for Samba4. It
  currently correctly parses security descriptors for the nttrans
  QUERY_SECDESC call, but I hope it will become a reasonable framework
  that an idl based generator can work to
-
Tim Potter
35ee9fdeab Add data structures for initial dcerpc support. -
Tim Potter
7d21af3fdf Implement raw SMBtrans by backending the SMBtrans2 send code. Receive is
the same for trans and trans2.
-
Jelmer Vernooij
ac05e976f2 Remove obsolete file -
Andrew Tridgell
b69f54eb02 thanks to ntfsd and some google searches I worked out what the unknown
fields in level 261 and level 262 of directory search are, plus the
names of the levels

the unknown fields are a 64bit unique file id, and match the 64 bit
number from the internal_information qfileinfo level
-
Andrew Tridgell
723af7f097 I think I've finally got the ascii/unicode issues right in trans2 find
first

Also expanded the rename test a little
-
Andrew Tridgell
19acf60fce fixed an enumerated type error found on irix -
Herb Lewis
a019e54a46 IRIX already defines uint_t -
Herb Lewis
5fce80e757 signed bitfields cannot be 1 bit long -