Age | Commit message (Collapse) | Author | Files | Lines |
|
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 917e45dafd5be4c2cd90ff425b8d6f8403122349)
|
|
(This used to be commit 64cf9b3fd3ad971973f6f1d73b924af225252837)
|
|
(This used to be commit f740b02ac36780740700909da2bcdf672cb146cb)
|
|
(This used to be commit 09d17d705a6e378a7c1a40b29d2e091200b6d757)
|
|
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 9b1c76a8e9e953e051072441f8938ee17a674d35)
|
|
msrpc).
this was easier than I expected!
(This used to be commit a0a51af6b746b1f82faaa49d33c17fea9d708fb0)
|
|
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 bb1af644a5a7b188290ce36232f255da0e5d66d2)
|
|
(This used to be commit f50d4b602af73045e5b15d62fd24224eba849fd1)
|
|
(This used to be commit 42dd8d888a1d4c09aebb199e8636f49df6d2e36a)
|
|
(This used to be commit f4abd20b8437703211676fb12ea23af8f0e4642a)
|
|
types on some platforms (eg. solaris)
(This used to be commit ac8a23af8c67d2e39bb6cfd409c50f1f429cf271)
|
|
(This used to be commit 20458556017f426ab57ca9a9d098cacecefbdcff)
|
|
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 3f85f9b782dc17417baf1ca557fcae22f5b6a83a)
|
|
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 46e0a358198eeb9af1907ee2a29025d3ab23b6d1)
|
|
* 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 f3eaf270e57d8d2e2157a6a36e260860c7f71c19)
|
|
* 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 126fcd4a76ac029ee4f662ed41b84c791406c324)
|
|
(This used to be commit 3d48fa8f37a510959c8958b5c025c7f19f632c54)
|
|
(This used to be commit b11a19cc767e20189710d7d9428168ed74c59d1c)
|
|
(This used to be commit 369a9c1ac1ff94a1d3f51eac20a39577f9cf2155)
|
|
* removed a bunch of code that needs to be rewritten using the new
interfaces
(This used to be commit 9b02b486ef5906516f8cad79dbff5e3dd54cde66)
|
|
* made some functions static
(This used to be commit 829b87f30d5f4cc7174b716f3354982d84af4818)
|
|
(This used to be commit 1c2b8a93c50e3d5485732a2f06847166e883f939)
|
|
(This used to be commit 8fe4058711c12b8116982357723c36e862aa0bef)
|
|
(This used to be commit abbc9993b8f7eb9f57e079db1d0b170d0b9aa443)
|
|
* 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 c18c9b5585a3e5f7868562820c14f7cb529cdbcd)
|
|
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 7512b9ab1a8b3103f7a6c13f736353c46a26b668)
|
|
* allow rpc transport to be specified on command line in smbtorture
(This used to be commit 8a82050fd6f45bcdb31c2c365eaed5fc12599e4f)
|
|
(This used to be commit 40ccaeefed1a3baea356254795c698794cb81384)
|
|
including the termination. Using value(strlen_m((r->name)+1)*2) gives
the wrong answer for the NULL string.
(This used to be commit 7ae329e6630a07d29f83b6dd4572d26ab8a18c71)
|
|
In general I prefer "struct foo" to just "foo" for most
structures. There are exceptions.
(This used to be commit 04eb12b56c653f98801ab29411f47564ab32fa58)
|
|
* added per-field testing of SetUserInfo
* fixed strlen_m()
(This used to be commit 26238b0f8a5752bb0f611c4aa492b964e419209a)
|
|
(This used to be commit 947b9f8ced486d34ee6710a921fb985ea14e2bb1)
|
|
auto-generated code
(This used to be commit 874bf4689d2816474b33eb1ac21530186319ed62)
|
|
functions
cope with servers that return bogus (too large) values in max_xmit
cope with a couple more error conditions in RAW-SFILEINFO
better startup time heuristics in NBENCH
(This used to be commit 89f7261ba589e5760b3cf9c3594eab9d7198dd7e)
|
|
- fix a couple of unicode string errors for ascii clients found by
RAW- tests
(This used to be commit 81c941ba8ae33567d79b4bb0bb5928f5f6077b76)
|
|
(This used to be commit 02d068ba7d81d6db25122144981c63f74ad44025)
|
|
(This used to be commit d32f14959277a5b7d1302638b65ff1fc568f08a9)
|
|
this fixes the samba4 server with ascii clients
(This used to be commit c770603ac6c3331a4ac79a650cbbbeb21c778137)
|
|
(This used to be commit 4059fbcf028e105c9377ec5a302623ae282e33f1)
|
|
include/byteorder.h - fix for IRIX compiler - cannot cast an LVALUE
include/smb_interfaces.h - remove empty structure
source/lib/debug.c - void functions cannot return value
libcli/clifile.c - cannot assign *struct to struct
(This used to be commit 9a724762012f55d21d44ea87add7daf21f7414d1)
|
|
(This used to be commit b0510b5428b3461aeb9bbe3cc95f62fc73e2b97f)
|