1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

73 Commits

Author SHA1 Message Date
Andrew Tridgell
1b5c28a627 r18211: wct is not a size, so don't use size_t
this should fix a pile of printf format warnings
(This used to be commit fe209e360e3857f39355335e4fa6a43b2db23038)
2007-10-10 14:17:50 -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
8075ce63fd r17084: implement SMB2 Cancel in the server,
that makes it possible for clients to cancel
async requests, like NOTIFY...

metze
(This used to be commit eaccd3c4353833daf584aaea4d7e8f11004a8072)
2007-10-10 14:10:12 -05:00
Stefan Metzmacher
3b36a85798 r16950: remove the smb mid from the ntvfs layer and keep a list of pending
requests on the smbsrv_connection, to be able to match then on
ntcancel

metze
(This used to be commit 04f0d3d03179b6060fd013b867d13caa92ec6460)
2007-10-10 14:10:02 -05:00
Stefan Metzmacher
54fba07f01 r16923: remove unused substitude code
metze
(This used to be commit ea88c8c99eff2203d13f9877e590d9d7f2fbb910)
2007-10-10 14:10:01 -05:00
Stefan Metzmacher
2a3bcdb530 r16450: fix the build...
metze
(This used to be commit 316f3312d228a8c29185bf38c93c7f3aa1c6333e)
2007-10-10 14:09:16 -05:00
Stefan Metzmacher
f8dc3bbf9f r16410: remove some warnings of talloc_steal() usage without target
I only commit this as this is used in a global macro

tridge: we should try to get rid of this warning without using
	(void)talloc_steal(ctx, ptr);
	everywhere!!!

metze
(This used to be commit 3f8ce6d680b0c86abc698b8f9c6d8840da3ffd35)
2007-10-10 14:09:13 -05:00
Stefan Metzmacher
594ae8f9e1 r16023: we don't need a global variable here...
noticed by the Mac OS 10 linker

metze
(This used to be commit 5928112cbc004f59660c8131abccc0f4933c2da3)
2007-10-10 14:08:51 -05:00
Andrew Tridgell
f6c9fbbc50 r15799: fixed the problem with BASE-DISCONNECT after the recent memory leak
was fixed
(This used to be commit 09a9c7fdff8f3cc8d2a98228cede4f8af41a08eb)
2007-10-10 14:08:22 -05:00
Andrew Tridgell
00e772d747 r15796: this talloc_reference() was causing a memory leak on every NTVFS
request. The problem is that the talloc_free() in
smbsrv_send_reply_nosign() frees this reference, but doesn't free the
memory iself, thus leaving it attached to the connection context.

Metze, what was the idea behind this reference? If we need it, then we
need a corresponding talloc_free() to go with it.
(This used to be commit 2e105a32c78384b16a0e6a6dc8ff504593afef2e)
2007-10-10 14:08:21 -05:00
Stefan Metzmacher
e9cf630ec7 r15745: - reorder the elements of smbsrv_request
- move the SMB specific elements to the end

metze
(This used to be commit 0be887c7c6d318cb2990610f353e75b5f6d98c0c)
2007-10-10 14:08:12 -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
Stefan Metzmacher
316269a075 r14739: keep the last request time for the smbsrv_connection,
smbsrv_session and smbsrv_tcon for management tools

metze
(This used to be commit 2c87f210e9e68de42dc45ca6532f3f33f4b6ce95)
2007-10-10 13:59:18 -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
Stefan Metzmacher
61fa658ebc r14541: separate smbsrv_request and ntvfs_request,
with this it's now possible to write a
ntvfs_test programm like the vfstest in samba3

also smb2 support will be possible later

metze
(This used to be commit 7253153691e35cd206346fbd4e9b9f95c042f602)
2007-10-10 13:58:41 -05:00
Jelmer Vernooij
5b0051e032 r14511: Install more headers
(This used to be commit e1f896948fad8cf5a1aec300865c250c5721ee7d)
2007-10-10 13:57:35 -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
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
Stefan Metzmacher
5555e28cab r14447: remove unused stuff
metze
(This used to be commit 4df843658f0cc22af44946fa2d965816ff53df6d)
2007-10-10 13:57:26 -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
dfc517b053 r13658: More moving around of files:
- Collect the generic utility functions into a lib/util/ (a la GLib is
		for the GNOME folks)
 - Remove even more files from include/
(This used to be commit ba62880f5b05c2a505dc7f54676b231197a7e707)
2007-10-10 13:52:05 -05:00
Andrew Bartlett
941c1566e5 r13403: Try to better handle a case where SPNEGO isn't available (allow us to
emulate the behaviour of XP standalone if required).

Andrew Bartlett
(This used to be commit 7f821097fbdbc9f35d96e05f85cf008f36c0eea3)
2007-10-10 13:51:53 -05:00
Jelmer Vernooij
5c8447773f r12801: Some more include/ cleanups (remove unused macros + move files
to specific dirs)
(This used to be commit 243cf760b077e155f5ac508aeebf819f7708a84e)
2007-10-10 13:49:57 -05:00
Jelmer Vernooij
78c50015bb r12694: Move some headers to the directory of the subsystem they belong to.
(This used to be commit c722f665c90103f3ed57621c460e32ad33e7a8a3)
2007-10-10 13:49:39 -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
Stefan Metzmacher
e246a06751 r12126: get rid of the local ->terminate hacks, we do that genericly now
metze
(This used to be commit a7baf165c10c00096265b790d5362905c527806a)
2007-10-10 13:47:12 -05:00
Stefan Metzmacher
273f340376 r12102: for SMB2 we need to allocate tcons per session
metze
(This used to be commit 4d527ac005086c2db954578b4126ca128e436e01)
2007-10-10 13:47:09 -05:00
Stefan Metzmacher
ab33c314a4 r11783: - make the VIUD field in smbsrv_session 64bit, as SMB2 needs it
- add an idtree_limit to limit the max VUID we give the clients
  it's UINT16_MAX (0xffff) for the SMB protocol
- add auth_time to the smbsrv_session statistics
- use the session_info as marker for finished and non-finished
  session setups

metze
(This used to be commit 7eb10048b2c4e5ee9c39750dc877514ed9235a76)
2007-10-10 13:46:26 -05:00
Stefan Metzmacher
3f968be9d5 r11782: - make the TID 32bit in the smbsrv_tcon structure, as SMB2 uses
them
- add a idtree_limit to the tcons substructure of smbsrv_connection
  this controls what the highest TID is we give away to the client
  it's UINT16_MAX (0xFFFF) for the SMB protocol

metze
(This used to be commit f3bf5a2c0947e33d4167fa4fa290968204a826e8)
2007-10-10 13:46:26 -05:00
Stefan Metzmacher
509be8d902 r11781: rename tree to tcons to match the sessions substructure of smbsrv_connection
metze
(This used to be commit acd3e644e030a3544ddc6cdcd4e0ec9617732cba)
2007-10-10 13:46:26 -05:00
Stefan Metzmacher
58bf4b160e r11759: fix up the SEC_SHARE handling, when we want to support that later
we need to fake a smbsrv_session for each smbsrv_tcon...

metze
(This used to be commit 5b5fb1772034fbfebbb7174df235c8c11d4819fe)
2007-10-10 13:46:24 -05:00
Andrew Tridgell
5c620048e3 r11607: switched the smb server to use the generic packet send code
(This used to be commit 9eee7bafa12553a894536db8ce5cc2d268e09ae6)
2007-10-10 13:45:58 -05:00
Andrew Tridgell
7e963eb6e7 r11603: converted the smb server to use the new generic packet code
(This used to be commit 0fc496bb6f520ddf6d85cc2f3df80f93b871cfe9)
2007-10-10 13:45:57 -05:00
Andrew Bartlett
372ca26b20 r11200: Reposition the creation of the kerberos keytab for GSSAPI and Krb5
authentication.  This pulls the creating of the keytab back to the
credentials code, and removes the special case of 'use keberos keytab
= yes' for now.

This allows (and requires) the callers to specify the credentials for
the server credentails to GENSEC.  This allows kpasswdd (soon to be
added) to use a different set of kerberos credentials.

The 'use kerberos keytab' code will be moved into the credentials
layer, as the layers below now expect a keytab.

We also now allow for the old secret to be stored into the
credentials, allowing service password changes.

Andrew Bartlett
(This used to be commit 205f77c579ac8680c85f713a76de5767189c627b)
2007-10-10 13:45:00 -05:00
Jelmer Vernooij
49839f356f r10513: Reduce some use of pstring. The main reason some parts of the code still
use pstring is next_token() now.
(This used to be commit a5b88bcd420eb7ae42283293541519e142be36e3)
2007-10-10 13:38:58 -05:00
Andrew Tridgell
1f467c50d9 r8893: fixed the valgrind error on stream termination due to prototol errors
(This used to be commit cf1a7bbe96e8e40ac4df3eaa3e5922a944b45579)
2007-10-10 13:30:15 -05:00
Andrew Tridgell
4327a3f1ba r8658: move use of lp_security() and lp_nt_status_support() into the connection structure.
This massively reduces the number of lp_*() calls made
(This used to be commit b1d577f48d31c0c17ad0b6abd78120087408e58d)
2007-10-10 13:29:50 -05:00
Andrew Tridgell
a32fe0f293 r8577: added management calls to list current tree connects
(This used to be commit 658befc1e4df44bee1f365a730951001f0f36640)
2007-10-10 13:29:40 -05:00
Andrew Tridgell
25428433e3 r8574: added server side irpc calls for listing the current sessions
(This used to be commit 391cfe3c9645a19f8f5ff5c11b1ac03ee0b10f8f)
2007-10-10 13:29:39 -05:00
Andrew Tridgell
2bb9fa2875 r8487: kfixed a typo
(This used to be commit adae47c829fd157afa0011d29e5969d883a0956e)
2007-10-10 13:23:08 -05:00
Andrew Tridgell
3dd67b9746 r7782: fixed an ordering problem with smb requests. I found this when I had "sam database"
set to the internal ldap server over loopback. The following happened:

  - DCERPC_AUTH3 request
     - auth requests calls ldb
     - ldb calls ldap
     - ldap calls our internal ldap server, triggering events
  - samrConnect from client
     - connect refused
  - SMBclose from client
     - causes dcerpc_pipe to be destroyed
  - AUTH3 continues
     - dies on freed pipe

I chose this solution as it provides a guarantee that backends only have to think about
async issues when they mark a request async. When they don't, this code guarantees that
a second request won't happen on the same connection while processing the first one
(This used to be commit 45487e8a1402c64d1c314befe8bd9f65587fd0d6)
2007-10-10 13:18:36 -05:00
Andrew Bartlett
f3e3f3aab6 r6310: Rename password.c to session.c, and remove the linked list of all
outstanding sessions, as we don't use it.

Andrew Bartlett
(This used to be commit 0cbd11a0f2448f2021fa1d8ad85a0a6f52192ee8)
2007-10-10 13:11:30 -05:00
Andrew Bartlett
20841a25ad r6270: Move the VUID handling to a IDR tree. This should avoid O(n)
behaviour on session setups, and because we no longer need do deal
with the linked list as much, the code is much simpiler too.

We may be able to compleatly remove the tid and vuid linked lists, but
I need to check.

This patch also tries to clean up the VUID handling and session setups
in general.  To avoid security issues, we now have a distinction
between VUIDs allocated for the session setup (to tie togeather the
multiple round trips) and those used after authentication.

Andrew Bartlett
(This used to be commit 3e5775146d9ce6f0ac43aecae7e899b5324399ad)
2007-10-10 13:11:29 -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
3b9431ddb9 r4927: parse the NBT session request in the smb server. This gets rid of that
annoying "not parsing session request" message on each SMB connection
(This used to be commit b06b8dd2f4f4fea750b05fd29d68372828159f16)
2007-10-10 13:09:06 -05:00
Stefan Metzmacher
b3b225c604 r4730: remove unused struct elements
part of this went in in the last commit...

metze
(This used to be commit 9ea9e1ced59e7962164972b1dc2d53e0277d4449)
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
9327ec51d1 r4728: split up server_services into:
- stream_socket services
  the smb, ldap and rpc service which sets up a srtam socket end then
  waits for connections
and
- task services
  which this you can create a seperate task that do something
  (this is also going through the process_model subsystem
  so with -M standard a new process for this created
  with -M thread a new thread ...

I'll add datagram services later when we whave support for datagram sockets in lib/socket/

see the next commit as an example for service_task's

metze
(This used to be commit d5fa02746c6569b09b6e05785642da2fad3ba3e0)
2007-10-10 13:08:49 -05:00
Stefan Metzmacher
592fce7fb1 r4726: - use the name tcon and tid instead of conn and cnum
- make use of talloc destructors

metze
(This used to be commit 8308da6ce4a95f8c10e22949ef00e9e64f2dbb85)
2007-10-10 13:08:48 -05:00