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

111 Commits

Author SHA1 Message Date
Andrew Bartlett
efaf91b9d5 r24075: As suggested by metze, match the behaviour of ntvfs_posix, and remove
the backend data (effectivly closing the handle) when we close an IPC
FD.

This should fix #4821.

Andrew Bartlett
2007-10-10 15:01:22 -05:00
Andrew Tridgell
fcf38a38ac r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
2007-10-10 14:59:12 -05:00
Stefan Metzmacher
34ef07b1f5 r23067: use 'const union smb_search_data *file' also in the server code to get rid
of compiler warnings in the cifs backend

metze
2007-10-10 14:52:47 -05:00
Andrew Bartlett
3947db3dcb r22882: It seems entirly reasonable to follow metze's suggestion and check for
a valid file handle first.

Andrew Bartlett
2007-10-10 14:52:28 -05:00
Andrew Bartlett
8f85fb3786 r22874: Expand the RPC-QFILEINFO-IPC test, and add a server implementation to match.
This should help with Vista joins.

Andrew Bartlett
2007-10-10 14:52:27 -05:00
Jelmer Vernooij
f7afa1cb77 r17930: Merge noinclude branch:
* Move dlinklist.h, smb.h to subsystem-specific directories
 * Clean up ads.h and move what is left of it to dsdb/
   (only place where it's used)
2007-10-10 14:16:54 -05:00
Simo Sorce
a89cc346b9 r17206: Add a modular API for share configuration.
Commit the classic backwards compatible module which is the default one
2007-10-10 14:10:18 -05:00
Stefan Metzmacher
d41a83d559 r16918: the SMB2 Ioctls are sometimes called with a wildcard handle
the operation doesn't need a valid file handle in that case

metze
2007-10-10 14:10:00 -05:00
Stefan Metzmacher
5338699d0c r16890: implement DCERPC over SMB2 in the IPC backend
metze
2007-10-10 14:09:57 -05:00
Stefan Metzmacher
f38b042ded r15970: add a more verbose comment to tridge's fix for bigendian hosts.
tridge: I'm fine with this fix

metze
2007-10-10 14:08:45 -05:00
Andrew Tridgell
50246e6282 r15880: the ntvfs_handle changes broke rpc on big-endian boxes, as the
uint16_t fnum was being byte order converted twice in the ipc server.

Metze, can you have a look at this? This change does make rpc work
again, but perhaps you might like to approach it differently
2007-10-10 14:08:37 -05:00
Andrew Tridgell
61c6100617 r15854: more talloc_set_destructor() typesafe fixes 2007-10-10 14:08:32 -05:00
Stefan Metzmacher
fb1debf219 r15772: pass the messaging context and server_id to the dcerpc server subsystem
metze
2007-10-10 14:08:17 -05:00
Stefan Metzmacher
287fc1c22d r15734: This is a major change to the NTVFS subsystem:
- to use a struct ntvfs_handle instead of a uint16_t fnum.
  (to make it independend from the frontend protocol)
- the allocation of handles now is provided by the frontend
  (smbsrv_*) via callbacks and not by each backend module
- this also makes sure that file handles are only passed
  to the ntvfs subsystem when the tcon and session matches,
  so modules can rely on this and need to check this.
- this allows multiple modules in the ntvfs module chain
  to allocate file handles. This can be used for virtual
  files like "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"...
- also this will make SMB2 with 128 bit file handles possible

metze
2007-10-10 14:08:10 -05:00
James Peach
e0ca5ead27 r15188: Restore svn rev. 15183, 15184 and 15185, which I inadvertantly clobbered
in r15186. I don't think I should be allowed to use quilt and svn at the
same time any more :(
2007-10-10 14:04:14 -05:00
James Peach
7e4ad7e8e5 r15186: Introduce ISDOT and ISDOTDOT macros for testing whether a filename is
"." for "..". These express the intention better that strcmp or strequal
and improve searchability via cscope/ctags.
2007-10-10 14:04:14 -05:00
James Peach
95eb558063 r15185: Force all NTVFS modules to provide a critical sizes structure so
the version information can be checked when modules are registered.
2007-10-10 14:04:14 -05:00
Stefan Metzmacher
bac95bb8f4 r14736: - the ntvfs subsystem should not know about smb_server.h
- the process module subsystem should not know about smb_server.h
- the smb_server module should not know about process models

metze
2007-10-10 13:59:17 -05:00
Jelmer Vernooij
51b4270513 r14542: Remove librpc, libndr and libnbt from includes.h 2007-10-10 13:58:42 -05:00
Stefan Metzmacher
10e627032d r14487: split smbsrv_request into two parts, one will be moved to ntvfs_request
but I don't to get the commit to large, to I'll do this tomorrow...

metze
2007-10-10 13:57:32 -05:00
Stefan Metzmacher
56fac3ddbb r14486: remove the need of a stream_connection on a dcesrv_connection,
and let the transport set callbacks for getting the own and peer
socket_address

metze
2007-10-10 13:57:32 -05:00
Jelmer Vernooij
3dd477ca51 r14464: Don't include ndr_BASENAME.h files unless strictly required, instead
try to include just the BASENAME.h files (containing only structs)
2007-10-10 13:57:27 -05:00
Stefan Metzmacher
5709c1c4e1 r14456: don't access the smbsrv_tcon inside the ntvfs modules
metze
2007-10-10 13:57:26 -05:00
Jelmer Vernooij
1a16a6f1df r14380: Reduce the size of structs.h 2007-10-10 13:57:16 -05:00
Stefan Metzmacher
be6d5298a2 r14256: - rename smb_file -> smb_handle
- move it into the in/out substructs again
- allow file.path only on smb_fileinfo/smb_setfileinfo

metze
2007-10-10 13:57:06 -05:00
Stefan Metzmacher
180a79d103 r14205: move smb specific stuff out of includes.h (finally!!!:-)
all this changes really help ccache to speed up the samba4 build:-)

metze
2007-10-10 13:57:03 -05:00
Stefan Metzmacher
2ef3f59709 r14173: change smb interface structures to always use
a union smb_file, to abtract
- const char *path fot qpathinfo and setpathinfo
- uint16_t fnum for SMB
- smb2_handle handle for SMB2

the idea is to later add a struct ntvfs_handle *ntvfs
so that the ntvfs subsystem don't need to know the difference between SMB and SMB2

metze
2007-10-10 13:56:57 -05:00
Stefan Metzmacher
ed9ed1f48f r14157: - pass a struct ntvfs_request to the ntvfs layer
(for now we just do #define ntvfs_request smbsrv_request,
   but it's the first step...)
- rename ntvfs_openfile() -> ntvfs_open()
- fix the talloc hierachie in some places in the ntvfs_map_*() code

metze
2007-10-10 13:56:55 -05:00
Jelmer Vernooij
1228358767 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
2007-10-10 13:52:24 -05:00
Stefan Metzmacher
c6fa9bd15c r13923: make the state_flags per dcesrv_connection
this will may help with a generic named pipe solution

metze
2007-10-10 13:52:24 -05:00
Jelmer Vernooij
c80a8f1102 r13903: Don't generate prototypes for modules and binaries in include/proto.h by
default.
2007-10-10 13:52:21 -05:00
Jelmer Vernooij
26bf2a393b r13652: Move some more stuff out off include/ 2007-10-10 13:52:04 -05:00
Jelmer Vernooij
e3d0676aee r13210: Revert my named pipes patch until it passes not just 'make quicktest' but
also 'make test'
2007-10-10 13:51:35 -05:00
Jelmer Vernooij
898d15acbd r13208: Clearly separate named pipes from the IPC$ NTVFS type.
This allows the easy addition of additional named pipes and removes the
circular dependencies between the CIFS, RPC and RAP servers.

Simple tests for a custom named pipe included.
2007-10-10 13:51:34 -05:00
Stefan Metzmacher
19205b8d89 r13129: fix the memory hierachie
metze
2007-10-10 13:51:28 -05:00
Jelmer Vernooij
70e7449318 r12608: Remove some unused #include lines. 2007-10-10 13:49:03 -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
Andrew Tridgell
bf6558b897 r9794: r11627@blu: tridge | 2005-08-30 22:55:27 +1000
fill in correct error code for zero length and too large IPC reads
2007-10-10 13:35:02 -05:00
Stefan Metzmacher
27ec849718 r9517: fix compiler warning: status.v initialized variable used in line 375
tridge: what should be the correct error code?
        see rev 3239!

metze
2007-10-10 13:34:25 -05:00
Stefan Metzmacher
66d6b1d578 r8036: revert rev 8023/8024 as they have a bugs.
metze
2007-10-10 13:19:01 -05:00
Stefan Metzmacher
078f42bc3f r8024: avoid one memcpy in the ipc_trans dcesrv_output() callback
we now can reference the DATA_BLOB that is used inside the dcesrv subsystem

metze
2007-10-10 13:19:00 -05:00
Stefan Metzmacher
fe483dcd87 r8021: we only need to return STATUS_BUFFER_OVERFLOW for the ipc_trans replies
and not for the ipc_read() replies as here the client explicit says how much data it wants

the write_fn() in dcesrv_output() now returns NTSTATUS

and the ipc specific implementations are moved to the ntvfs_ipc module

metze
2007-10-10 13:19:00 -05:00
Andrew Bartlett
824289dcc2 r5902: A rather large change...
I wanted to add a simple 'workstation' argument to the DCERPC
authenticated binding calls, but this patch kind of grew from there.

With SCHANNEL, the 'workstation' name (the netbios name of the client)
matters, as this is what ties the session between the NETLOGON ops and
the SCHANNEL bind.  This changes a lot of files, and these will again
be changed when jelmer does the credentials work.

I also correct some schannel IDL to distinguish between workstation
names and account names.  The distinction matters for domain trust
accounts.

Issues in handling this (issues with lifetime of talloc pointers)
caused me to change the 'creds_CredentialsState' and 'struct
dcerpc_binding' pointers to always be talloc()ed pointers.

In the schannel DB, we now store both the domain and computername, and
query on both.  This should ensure we fault correctly when the domain
is specified incorrectly in the SCHANNEL bind.

In the RPC-SCHANNEL test, I finally fixed a bug that vl pointed out,
where the comment claimed we re-used a connection, but in fact we made
a new connection.

This was achived by breaking apart some of the
dcerpc_secondary_connection() logic.

The addition of workstation handling was also propogated to NTLMSSP
and GENSEC, for completeness.

The RPC-SAMSYNC test has been cleaned up a little, using a loop over
usernames/passwords rather than manually expanded tests.  This will be
expanded further (the code in #if 0 in this patch) to use a newly
created user account for testing.

In making this test pass test_rpc.sh, I found a bug in the RPC-ECHO
server, caused by the removal of [ref] and the assoicated pointer from
the IDL.  This has been re-added, until the underlying pidl issues are
solved.
2007-10-10 13:11:07 -05:00
Stefan Metzmacher
9ec6c0e977 r5501: check the return of talloc with the NT_STATUS_HAVE_NO_MEMORY()
macro...

metze
2007-10-10 13:10:51 -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
Jelmer Vernooij
ab490c0c88 r5286: Some first steps in making the pidl code somewhat more generic for the
various data types:

Add ndr_flags argument to all ndr push/pull scalar functions
2007-10-10 13:09:36 -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
Tim Potter
e32ade4485 r4980: Copy RAP callno constants from Samba 3 and start to use them. 2007-10-10 13:09:11 -05:00