1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-14 19:24:43 +03:00

111 Commits

Author SHA1 Message Date
Andrew Bartlett
bd750a77c0 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
(This used to be commit efaf91b9d53c1d9b882c53e069e8e7c15394e0f3)
2007-10-10 15:01:22 -05:00
Andrew Tridgell
0479a2f1cb 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.
(This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10 14:59:12 -05:00
Stefan Metzmacher
42c1ef4025 r23067: use 'const union smb_search_data *file' also in the server code to get rid
of compiler warnings in the cifs backend

metze
(This used to be commit 34ef07b1f5acdad27edd80de8de4c6de7f879f9b)
2007-10-10 14:52:47 -05:00
Andrew Bartlett
4febada51f r22882: It seems entirly reasonable to follow metze's suggestion and check for
a valid file handle first.

Andrew Bartlett
(This used to be commit 3947db3dcbfe97e9ccb9b9bd2b3a69cf7683af9f)
2007-10-10 14:52:28 -05:00
Andrew Bartlett
3a88c56346 r22874: Expand the RPC-QFILEINFO-IPC test, and add a server implementation to match.
This should help with Vista joins.

Andrew Bartlett
(This used to be commit 8f85fb37862044d4b618e4184274bc67432af73b)
2007-10-10 14:52:27 -05:00
Jelmer Vernooij
0329d755a7 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)
(This used to be commit f7afa1cb77f3cfa7020b57de12e6003db7cfcc42)
2007-10-10 14:16:54 -05:00
Simo Sorce
9c66f601f1 r17206: Add a modular API for share configuration.
Commit the classic backwards compatible module which is the default one
(This used to be commit a89cc346b9296cb49929898d257a064a6c2bae86)
2007-10-10 14:10:18 -05:00
Stefan Metzmacher
5468516f9a r16918: the SMB2 Ioctls are sometimes called with a wildcard handle
the operation doesn't need a valid file handle in that case

metze
(This used to be commit d41a83d55945b07020349339888f3a34ac4eff4e)
2007-10-10 14:10:00 -05:00
Stefan Metzmacher
810df68c23 r16890: implement DCERPC over SMB2 in the IPC backend
metze
(This used to be commit 5338699d0cff5da9fe7f9cd622764ea5a6b0d96b)
2007-10-10 14:09:57 -05:00
Stefan Metzmacher
b0bcd8a201 r15970: add a more verbose comment to tridge's fix for bigendian hosts.
tridge: I'm fine with this fix

metze
(This used to be commit f38b042ded6ec9b243c15d7710261708f208d289)
2007-10-10 14:08:45 -05:00
Andrew Tridgell
f719eb9598 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
(This used to be commit 50246e6282087fdf7050ea052ad516dc620d6c7e)
2007-10-10 14:08:37 -05:00
Andrew Tridgell
971d30bb20 r15854: more talloc_set_destructor() typesafe fixes
(This used to be commit 61c6100617589ac6df4f527877241464cacbf8b3)
2007-10-10 14:08:32 -05:00
Stefan Metzmacher
e941cc3003 r15772: pass the messaging context and server_id to the dcerpc server subsystem
metze
(This used to be commit fb1debf219089188d1a8233ab3ff4ff314f7df0b)
2007-10-10 14:08:17 -05:00
Stefan Metzmacher
9ef33f5f5c 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
(This used to be commit 287fc1c22d670f6e568014b420f7f4cb31dc7958)
2007-10-10 14:08:10 -05:00
James Peach
7baa8a13aa 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 :(
(This used to be commit e0ca5ead27743c84f5d9310a05d6d718862ead1d)
2007-10-10 14:04:14 -05:00
James Peach
6ab33938d5 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.
(This used to be commit 7e4ad7e8e5ec266b969e3075c4ad7f021571f24e)
2007-10-10 14:04:14 -05:00
James Peach
f380d365ea r15185: Force all NTVFS modules to provide a critical sizes structure so
the version information can be checked when modules are registered.
(This used to be commit 95eb55806339fc5409c0adf137ebd5bffd7098ac)
2007-10-10 14:04:14 -05:00
Stefan Metzmacher
ad06a8bd65 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
(This used to be commit bac95bb8f4ad35a31ee666f5916ff9b2f292d964)
2007-10-10 13:59:17 -05:00
Jelmer Vernooij
35349a58df r14542: Remove librpc, libndr and libnbt from includes.h
(This used to be commit 51b4270513752d2eafbe77f9de598de16ef84a1f)
2007-10-10 13:58:42 -05:00
Stefan Metzmacher
d3087451c4 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
(This used to be commit 10e627032d7d04f1ebf6efed248c426614f5aa6f)
2007-10-10 13:57:32 -05:00
Stefan Metzmacher
a949db7c6d 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
(This used to be commit 56fac3ddbbeecb834e5c7a439df344e11fe12a7b)
2007-10-10 13:57:32 -05:00
Jelmer Vernooij
8528016978 r14464: Don't include ndr_BASENAME.h files unless strictly required, instead
try to include just the BASENAME.h files (containing only structs)
(This used to be commit 3dd477ca5147f28a962b8437e2611a8222d706bd)
2007-10-10 13:57:27 -05:00
Stefan Metzmacher
2e7df84576 r14456: don't access the smbsrv_tcon inside the ntvfs modules
metze
(This used to be commit 5709c1c4e1a561dd9af98cfefbbbdac9b18765b7)
2007-10-10 13:57:26 -05:00
Jelmer Vernooij
e3f2414cf9 r14380: Reduce the size of structs.h
(This used to be commit 1a16a6f1dfa66499af43a6b88b3ea69a6a75f1fe)
2007-10-10 13:57:16 -05:00
Stefan Metzmacher
a1b295ed48 r14256: - rename smb_file -> smb_handle
- move it into the in/out substructs again
- allow file.path only on smb_fileinfo/smb_setfileinfo

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

metze
(This used to be commit 180a79d1036e54fc0c50572b820818e9aafa28e9)
2007-10-10 13:57:03 -05:00
Stefan Metzmacher
307e43bb56 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
(This used to be commit 2ef3f5970901b5accdb50f0d0115b5d46b0c788f)
2007-10-10 13:56:57 -05:00
Stefan Metzmacher
86497db611 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
(This used to be commit ed9ed1f48f602354810937c0b0de850b44322191)
2007-10-10 13:56:55 -05:00
Jelmer Vernooij
4ac2be9958 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
(This used to be commit 122835876748a3eaf5e8d31ad1abddab9acb8781)
2007-10-10 13:52:24 -05:00
Stefan Metzmacher
45c92c9cf0 r13923: make the state_flags per dcesrv_connection
this will may help with a generic named pipe solution

metze
(This used to be commit c6fa9bd15cdb096c3dfc7a4109d9298933981255)
2007-10-10 13:52:24 -05:00
Jelmer Vernooij
ba564a901e r13903: Don't generate prototypes for modules and binaries in include/proto.h by
default.
(This used to be commit c80a8f1102caf744b66c13bebde38fba74983dc4)
2007-10-10 13:52:21 -05:00
Jelmer Vernooij
10d88a02d7 r13652: Move some more stuff out off include/
(This used to be commit 26bf2a393b90acc098be0b30886dbba34d348a01)
2007-10-10 13:52:04 -05:00
Jelmer Vernooij
713b296441 r13210: Revert my named pipes patch until it passes not just 'make quicktest' but
also 'make test'
(This used to be commit e3d0676aee84e96e5c87bed4cd0cde75a4191953)
2007-10-10 13:51:35 -05:00
Jelmer Vernooij
ad6303f82f 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.
(This used to be commit 898d15acbd18e3b302a856c847e08c22c5024792)
2007-10-10 13:51:34 -05:00
Stefan Metzmacher
5497dfe64a r13129: fix the memory hierachie
metze
(This used to be commit 19205b8d89d3d7e99a65938f59412e0c4e8ac5fe)
2007-10-10 13:51:28 -05:00
Jelmer Vernooij
d4de4c2d21 r12608: Remove some unused #include lines.
(This used to be commit 70e7449318aa0e9d2639c76730a7d1683b2f4981)
2007-10-10 13:49:03 -05:00
Jelmer Vernooij
2cd5ca7d25 r12542: Move some more prototypes out to seperate headers
(This used to be commit 0aca5fd5130d980d07398f3291d294202aefe3c2)
2007-10-10 13:47:55 -05:00
Jelmer Vernooij
0a3c167f6b r12528: Add seperate proto headers for ntvfs, tdr, smb_server and nbt_server.
(This used to be commit 87f665a1d5ba74289974bf9d8f9441c162e6f1b1)
2007-10-10 13:47:51 -05:00
Andrew Tridgell
89e550ba34 r9794: r11627@blu: tridge | 2005-08-30 22:55:27 +1000
fill in correct error code for zero length and too large IPC reads
(This used to be commit bf6558b8971ccda080d463753ddae977967e7093)
2007-10-10 13:35:02 -05:00
Stefan Metzmacher
e987658582 r9517: fix compiler warning: status.v initialized variable used in line 375
tridge: what should be the correct error code?
        see rev 3239!

metze
(This used to be commit 27ec849718b97df2d6f30e2fbacaa0423e918862)
2007-10-10 13:34:25 -05:00
Stefan Metzmacher
8ab3f59a10 r8036: revert rev 8023/8024 as they have a bugs.
metze
(This used to be commit 66d6b1d5783cba98f2f8e1c8eed1bdc26a5bad4f)
2007-10-10 13:19:01 -05:00
Stefan Metzmacher
4e2ac8b458 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
(This used to be commit 078f42bc3f74c66b69c7f76005812b221d691f7a)
2007-10-10 13:19:00 -05:00
Stefan Metzmacher
8a300c9248 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
(This used to be commit fe483dcd874b7243d61e9623840c672b4ea06b2c)
2007-10-10 13:19:00 -05:00
Andrew Bartlett
df64302213 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.
(This used to be commit 824289dcc20908ddec957a4a892a103eec2da9b9)
2007-10-10 13:11:07 -05:00
Stefan Metzmacher
218f289ed7 r5501: check the return of talloc with the NT_STATUS_HAVE_NO_MEMORY()
macro...

metze
(This used to be commit 9ec6c0e97765e60ef195296f17d6a27b5d0dcca9)
2007-10-10 13:10:51 -05:00
Andrew Tridgell
e82aad1ce3 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.
(This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10 13:09:38 -05:00
Jelmer Vernooij
632acd9bc7 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
(This used to be commit ab490c0c882bb13de190546c50a0631ecb8255ad)
2007-10-10 13:09:36 -05:00
Andrew Tridgell
55d4d36993 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
(This used to be commit cf6a46c3cbde7b1eb1b86bd3882b953a2de3a42e)
2007-10-10 13:09:22 -05:00
Andrew Tridgell
759da3b915 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.
(This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10 13:09:15 -05:00
Tim Potter
051c7b5e0c r4980: Copy RAP callno constants from Samba 3 and start to use them.
(This used to be commit e32ade44858b869001d2990c788a7e34fb70b121)
2007-10-10 13:09:11 -05:00