Age | Commit message (Collapse) | Author | Files | Lines |
|
QFILEINFO levels in trans2, so they can be shared with SMB2
(This used to be commit 5ca2d609e6a3766ebd07763f850ecc62209a7db7)
|
|
metze
(This used to be commit b1afcced395812477365befad1ed37a7cdafa275)
|
|
(This used to be commit 54fda24379ca1a20d6de2edf64dd79b3fe80a37d)
|
|
before we create the request structure
- move code into one function
metze
(This used to be commit 96345b1c465c6cdf480f6e49d3c437cfe4d93c2c)
|
|
metze
(This used to be commit 838aac5e2020802b18ae34a5fcd85c085fc98501)
|
|
(This used to be commit d760583e388157ff25e317da06c57e5a42f171bd)
|
|
- added a SMB2-SCANGETINFO test for scanning for available info levels
- added names for the info levels I recognise to smb2.h
(This used to be commit fe5986067e2aaca039d70393ccc8761434f18fe6)
|
|
bytes, not 20 bytes (metze, you were right!)
(This used to be commit d3bcc6628cde9ddedf0fd408cbee573f133ce582)
|
|
in the call tho.
(This used to be commit 548fbd86b3b114493943b50669bdcba2f4ed87f2)
|
|
metze
(This used to be commit 653f5ccd61f2555bbd49b81c5cc660962b31aa68)
|
|
connects, giving the following output:
Running SMB2-CONNECT
Negprot reply:
current_time = Fri Nov 11 20:10:42 2005 EST
boot_time = Sat Nov 12 10:34:33 2005 EST
Session setup gave UID 0x40000000071
Session setup gave UID 0x140000000075
Tree connect gave tid = 0x7500000001
Tree connect gave tid = 0x7500000005
SMB2-CONNECT took 0.049024 secs
(This used to be commit a24a4c311005dec4c5638e9c7c10e5e2f9872f4d)
|
|
stage of the session setup, and waits for more.
(This used to be commit 804c229c3ba7f866a7f3d66684e268d5ddc820ce)
|
|
the call definitions will be in smb2_calls.h, which will play a
similar role that smb_interfaces.h plays for the old SMB protocol
(This used to be commit 4ef3902a8a99a0b8caa81a07ba07830d7cbbc32c)
|
|
(This used to be commit 1f97dccd52a051686d436dbbd185146715b41dc8)
|
|
Andrew Bartlett
(This used to be commit 5adaf00e4486f5f4895fd816c9db45133db38f1a)
|
|
Andrew Bartlett
(This used to be commit de83b8cd187b28ecb30550c44f9f84e373df692e)
|
|
sequence, with a 2-millisecond timeout between firing the syn packets. Build
smbcli_sock_connect_send upon that.
Volker
(This used to be commit 5718df44d90d113304c5deed1e2e7f82ff9e928f)
|
|
I'm sure this will not be the final resting place, but it will do for
now.
Use the cracknames code in auth/ for creating a server_info given a
principal name only (should avoid assumtions about spliting a
user@realm principal).
Andrew Bartlett
(This used to be commit c9d5d8e45dd7b7c99b6cf35b087bc18012f31222)
|
|
(This used to be commit 90cf4f8e1a1051a58635e126d56118701875bc5d)
|
|
(This used to be commit b0f11d85214fe83a8ce738cfa597f5cf9f5d3897)
|
|
Andrew Bartlett
(This used to be commit b48c6df60c15ee6134a49d163bed90ea8b85550b)
|
|
(This used to be commit 12a800bc8541c4160a534d1edcaeb6774776e18d)
|
|
initialized, do that
first. And if a request is being processed, queue it. This correctly survived
3 endless loops with wbinfo's doing different things while starting up smbd.
The number of indirections starts to become a bit scary, but what can you do
without a decent programming language that provides closures :-)
One thing that we might consider is to auto-generate async rpc requests that
return composite_context structs instead of rpc_requests. Otherwise I'd have
to write a lot of wrappers like composite_netr_LogonSamLogon_send.
The alternative would be to write two versions of wb_queue_domain_send which I
would like to avoid. This is cluttered enough already.
Volker
(This used to be commit 66c1b674f9870de73cce0e611909caf9eff34baa)
|
|
before the bad merge
metze
(This used to be commit 471c0ca4abb17fb5f73c0efed195c67628c1c06e)
|
|
sorry for the latest spam!
I was testing svk push (wasn't such a good idea...)
metze
(This used to be commit fd5e746d8f6760dcb7a40bfe04201711b77ff24b)
|
|
fix the build for changes from SAMBA_4_0 branch
metze
r10541@SERNOX: metze | 2005-09-27 15:05:33 +0200
use a transaction when we allocate a new version
metze
r10549@SERNOX: metze | 2005-09-27 18:58:37 +0200
- add first start of wins pull replication
- we not yet apply records to our database but we fetch them correct form our partners
(we need conflict handling for this)
- we also need to filter out our own records!
metze
r10568@SERNOX: metze | 2005-09-28 11:33:04 +0200
move composite helpers to a seperate file, create a a seperate file for the conflict resolving logic
metze
r10571@SERNOX: metze | 2005-09-28 12:00:17 +0200
add forward declarations...to fix the build
metze
r10612@SERNOX: metze | 2005-09-29 16:11:06 +0200
we have a nbt_name now, and don't need to parse it
metze
r10614@SERNOX: metze | 2005-09-29 16:38:35 +0200
filter out our own records
metze
r10620@SERNOX: metze | 2005-09-29 18:07:08 +0200
- handle mutliple addresses in WREPL_REPL_SEND_REPLY
- make strings always valid talloc pointers
metze
r10621@SERNOX: metze | 2005-09-29 18:09:41 +0200
use debug level 2
metze
r10622@SERNOX: metze | 2005-09-29 18:48:05 +0200
- add one more debug message when we reply no record
- fix min max logic
metze
r10623@SERNOX: metze | 2005-09-29 20:49:06 +0200
build fixes...
metze
r10629@SERNOX: metze | 2005-09-30 00:11:41 +0200
- use seperate attributes for type, state, nodetype, is_static
... the winserver.c code needs some more updates to correctly,
create special group and multihomed registrations...
metze
r10640@SERNOX: metze | 2005-09-30 04:07:34 +0200
- add some short path for the composite helper functions
they will be used in the next commit
metze
r10642@SERNOX: metze | 2005-09-30 06:29:06 +0200
fix the build
metze
r10655@SERNOX: metze | 2005-09-30 17:36:49 +0200
- implement the WREPL_REPL_UPDATE* and WREPL_REPL_INFORM*
this includes the connection fliping into a client connection
for WREPL_REPL_UPDATE*
NOTE: I not yet found out how to get the w2k server to use INFORM against samba4
it uses inform against w2k and w2k3 but UPDATE against nt4 and samba4
what's left now is to be able to initiate INFORM and UPDATE requests to notify
our pull partners
metze
r10727@SERNOX: metze | 2005-10-05 14:11:05 +0200
fix the build
metze
r10770@SERNOX: metze | 2005-10-06 16:56:01 +0200
- move the table filling to a seperate function, will be reused later
- fix the build, wrepl_nbt_name fixes
- remove state -> update_state
metze
r10771@SERNOX: metze | 2005-10-06 17:04:48 +0200
add a function to create a wreplsrv_in_connection from a client connection
metze
r10772@SERNOX: metze | 2005-10-06 17:13:51 +0200
- make the connection code more generic to handle the pull cached connection,
push cached connection or given connections
- when we don't use a cached connection, disconnection when a pull_cycle is done
- fix the build and use the configured source ip
metze
r10773@SERNOX: metze | 2005-10-06 17:18:49 +0200
- add composite functions for push notification
metze
r10774@SERNOX: metze | 2005-10-06 17:23:46 +0200
- use periodic push notifycation, this is just for now
as it needs to be configurable and and be triggered when the local database
has changes since the last notify
- I also need to work out how to decide if the partner supports
persistent connections and WREPL_REPL_INFORM* messages
metze
r10923@SERNOX: metze | 2005-10-12 16:52:34 +0200
fix the build becuse of conflicts with main SAMBA_4_0 tree
metze
(This used to be commit 6d97dd6e50423758d081459ec551f4e04dfd818d)
|
|
move stuff the belong to incoming connections only
into a seperate file wrepl_in_connection.c
metze
(This used to be commit c2b2b582203d9fe2596ebc9cf2600d52e6f61831)
|
|
make wreplsrv_find_owner public
metze
(This used to be commit 6fa37c0a2bc1d2f0d29c69d8448276c1f1791a45)
|
|
create winsdb_record() and winsdb_message() as public functions
so that they can be used in the wrepl_server/
metze
(This used to be commit b8b48c8aa5f741ad020d0a4debac665f8b2953ab)
|
|
- load our wins partners at start time:
# this is a sample partner record:
dn: name=SERNOX4-1,CN=PARTNERS
objectClass: wreplPartner
name: SERNOX4-9
address: 172.31.1.1
ourAddress: 172.31.9.1
type: 0x3
pullInterval: 3600
- go through all winsdb records in the database and create the wins_owner table,
but don't add ourself to it as out nbt task will update the db too, we refetch
the local max_versiion, each time we need it, (that typicaly onces per replication cycle)
metze
(This used to be commit 4490a2864e21f957547c30675e5f096a4409e5fb)
|
|
- move structs to a seperate header file
- move the code for the wreplsrv_in_call handling to a seperate file
metze
(This used to be commit c9a8544446312d96ecadcf370af76d9dc5b2531a)
|
|
add struct nbt_peer_socket and use it instead of passing const char *addr, uint16 port everyhwere
(tridge: can you review this please, (make test works)
metze
(This used to be commit a599d7a4ae881c94be2c2d908a398838549942bb)
|
|
previous patch.
Andrew Bartlett
(This used to be commit 2c537d47ba99885c6462016342b1cc29df4c54c5)
|
|
(This used to be commit eaf347bdeaaddb655fe72ddb98f3a67ace795937)
|
|
(This used to be commit 295271a329586d0858b6d6b845b8ebba3d035f5f)
|
|
work yet,
but the version before did not either, so we're not worse than before.
One thing this does better is to call the domain init code if it's not there
yet.
Volker
(This used to be commit 35bcfb185b9763a3677d7ac9e748f3a3ba7d2593)
|
|
most of the changes are fixes to make all the ldb code compile without
warnings on gcc4. Unfortunately That required a lot of casts :-(
I have also added the start of an 'operational' module, which will
replace the timestamp module, plus add support for some other
operational attributes
In ldb_msg_*() I added some new utility functions to make the
operational module sane, and remove the 'ldb' argument from the
ldb_msg_add_*() functions. That argument was only needed back in the
early days of ldb when we didn't use the hierarchical talloc and thus
needed a place to get the allocation function from. Now its just a
pain to pass around everywhere.
Also added a ldb_debug_set() function that calls ldb_debug() plus sets
the result using ldb_set_errstring(). That saves on some awkward
coding in a few places.
(This used to be commit f6818daecca95760c12f79fd307770cbe3346f57)
|
|
metze
(This used to be commit b436206c498ea166b8b9fa47638d5f8f6f4752bf)
|
|
Initialize a domain structure properly. Excerpt from wb_init_domain.c:
/*
* Initialize a domain:
*
* - With schannel credentials, try to open the SMB connection with the machine
* creds. Fall back to anonymous.
*
* - If we have schannel creds, do the auth2 and open the schannel'ed netlogon
* pipe.
*
* - Open LSA. If we have machine creds, try to open with ntlmssp. Fall back
* to schannel and then to anon bind.
*
* - With queryinfopolicy, verify that we're talking to the right domain
*
* A bit complex, but with all the combinations I think it's the best we can
* get. NT4, W2k3SP1 and W2k all have different combinations, but in the end we
* have a signed&sealed lsa connection on all of them.
*
* Is this overkill? In particular the authenticated SMB connection seems a
* bit overkill, given that we do schannel for netlogon and ntlmssp for
* lsa later on w2k3, the others don't do this anyway.
*/
Thanks to Jeremy for his detective work, and to the Samba4 team for providing
such a great infrastructure.
Next step is to connect to SAM. Do it via LDAP if we can, fall back to samr
with all we have.
Volker
(This used to be commit 3e69fdc07cd76b4bc01b032148609ee4b59b8be7)
|
|
of the
async helpers.
Volker
(This used to be commit 10585ba4e81e979a03aec747db6fc059978fa566)
|
|
functions
start to look sane.
Question: What about providing all winbind commands as irpc interfaces that
are called from the samba3 compatibility layer? This way it would be easy for
other samba components to access its functionality. Does that make sense?
Volker
(This used to be commit 2a6b8053859ea5690f90a8d2074d2bb4f06551f8)
|
|
(This used to be commit 1afa893506f3d7157e251eec9baeba28dc011587)
|
|
(This used to be commit aa30c16de0405f43ed35a28764ef25e234f3b2a7)
|
|
used for WREPL_REPL_INFORM* messsages
- make it possible to close the connection after a request was send
used for WREPL_ASSOCIATION_STOP
- fix the torture test that tests the assoc context handling
between connections, you can issue a request and get the reply
on another connection, I think we should not implement that in our server
code, as I think it's a security hole, you can cause a windows server
to send the replies to someone another client, that doesn't wait for data,
and as there're no massage_id in the protocol the client would be confused
by a replies that doesn't belong to a query
metze
(This used to be commit dfc95de8fa7ded8ea92cafe58cf86efcc7920156)
|
|
queryinfopolicy. Idea is to get a consistency check between that and our
notion of the domain name and sid, and take the lsa pipe as the holder of the
central smbcli_tree that netlogon and samr use as well.
Volker
(This used to be commit 126c80aefc4f53c4ba79afc12d70602ef9055ddb)
|
|
Tridge, if you have time, you might want to look at the segfault I was still
seeing. Now I store the handle to the netlogon pipe in the global winbind
state and free it on the next entry into check_machacc. The problem seems to
be that talloc_free()ing a pipe struct from within a callback function on that
pipe is not possible. I think I can live with that, but it has been not really
obvious. To reproduce the segfault you might want to look at putting a
talloc_free(state->getcreds->out.netlogon) into
wbsrv_samba3_check_machacc_receive_creds. This is called from a dcerpc
callback function.
In particular if the check failed it would be nice if I could delete the pipe
directly and not post a different event to some winbind queue.
I tried to delete the pipe from a timed event triggered immediately, but this
also fails because the inner loop seems to hit the same event again, calling
it twice.
Volker
(This used to be commit 5436d7764812bb632ba865e633005ed07923b57f)
|
|
rafal
(This used to be commit b3b4059efeb7f5d2795b4bb93cf8ab95aad54c8e)
|
|
once, use the
first one that replies correctly.
Add a talloc context to smb_composite_connect()
Volker
(This used to be commit 6b88de182e40cb00a833c085f801fd47c92bbe94)
|
|
(This used to be commit dc3dc796746de672dbf3ad0e4715e8b30ae4afb7)
|
|
of an existing socket, that is needed to handle WREPL_REPL_UPDATE
in the server, because we need to flig the connection and act as client on it
metze
(This used to be commit 131e5dfe695d427e992b840439743f880b14d82d)
|