1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-10 12:58:35 +03:00

868 Commits

Author SHA1 Message Date
Stefan Metzmacher
fccbbf3546 r10997: r11980@SERNOX (orig r10037): metze | 2005-09-05 14:21:40 +0200
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)
2007-10-10 13:39:52 -05:00
Andrew Bartlett
f7ff0540d2 r10981: Pull code to decide between and implement NTLMv2, NTLM and LM
authentication out of the various callers and into the kitchen
sink.. err, credentials subsystem.

This should ensure consistant logic, as well as get us one step closer
to security=server operation in future.

Andrew Bartlett
(This used to be commit 09c95763301c0f7770d56462e8af4169b8c171fb)
2007-10-10 13:39:50 -05:00
Andrew Tridgell
a599edf04c r10913: This patch isn't as big as it looks ...
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)
2007-10-10 13:39:41 -05:00
Volker Lendecke
d617556ef5 r10878: Reply to some comments by tridge and metze:
* rename the composite helper functions from comp_* to composite_*

* Move the lsa initialization to wb_connect_lsa.c

* Equip smb_composite_connect with a fallback_to_anonymous

The latter two simplify wb_init_domain.c quite a bit.

Volker
(This used to be commit deb127e04ea01ae93394da5ebffb39d81caeb6d9)
2007-10-10 13:39:39 -05:00
Stefan Metzmacher
b0e342e389 r10867: add WERR_UNKNOWN_REVISION errorcode
metze
(This used to be commit b436206c498ea166b8b9fa47638d5f8f6f4752bf)
2007-10-10 13:39:37 -05:00
Volker Lendecke
9e5d44d567 r10852: Continuation-based programming can become a bit spaghetti...
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)
2007-10-10 13:39:36 -05:00
Jelmer Vernooij
a1f60c9b0d r10848: Fix warning
(This used to be commit 48d22a991024f19eccaa63848566b311524260c8)
2007-10-10 13:39:36 -05:00
Andrew Bartlett
43adda56b6 r10847: Fix up new 'decrypt samlogon reply' routine to be more robust, and use
it in the RPC-SAMLOGON test.

Andrew Bartlett
(This used to be commit 675b7df2eedbcb7ea89c0411f76429d8e2357222)
2007-10-10 13:39:35 -05:00
Andrew Bartlett
8aff6e005e r10845: Add new function to decrypt the session keys in samlogon responses.
Andrew Bartlett
(This used to be commit 6d24d8d12cdc64b180fd6277f0775e943f26e82b)
2007-10-10 13:39:35 -05:00
Stefan Metzmacher
846f4b304c r10836: giving NT_STATUS_NO_MEMORY, when the connection fails wasn't a good idea...
metze
(This used to be commit e7ee73a747a025a66ac6563172e51f160bc28e0a)
2007-10-10 13:39:33 -05:00
Andrew Bartlett
1377cca5f4 r10810: This adds the hooks required to communicate the current user from the
authenticated session down into LDB.  This associates a session info
structure with the open LDB, allowing a future ldb_ntacl module to
allow/deny operations on that basis.

Along the way, I cleaned up a few things, and added new helper functions
to assist.  In particular the LSA pipe uses simpler queries for some of
the setup.

In ldap_server, I have removed the 'ldasrv:hacked' module, which hasn't
been worked on (other than making it continue to compile) since January,
and I think the features of this module are being put into ldb anyway.

I have also changed the partitions in ldap_server to be initialised
after the connection, with the private pointer used to associate the ldb
with the incoming session.

Andrew Bartlett
(This used to be commit fd7203789a2c0929eecea8125b57b833a67fed71)
2007-10-10 13:39:32 -05:00
Stefan Metzmacher
6799fde75d r10766: - make it possible to mark a wrepl_request as send only,
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)
2007-10-10 13:39:28 -05:00
Stefan Metzmacher
03b634042f r10761: we need to use a pointer to a nbt_name to fix compiler warnings, because we can
only use a pointers to unknown types in proto.h

metze
(This used to be commit 2f46e54e1bcf43f1bee062ff9a21e646cc3676e9)
2007-10-10 13:39:28 -05:00
Andrew Tridgell
97e8c5bcec r10754: fixed a valgrind error for unmatched SMB replies
(This used to be commit b714ab64fd79d5cabc39779774fae7c3861a84da)
2007-10-10 13:39:26 -05:00
Andrew Bartlett
49dd5e4b1d r10712: Use data_blob_talloc, thanks to valgrind for finding the errors.
Andrew Bartlett
(This used to be commit 1f6fec8e6b0845ae6000eeda65641435fb18c9e3)
2007-10-10 13:39:23 -05:00
Volker Lendecke
68c70ef396 r10677: Add smb_composite_connectmulti: Send out multiple SYN packets at once, use the
first one that replies correctly.

Add a talloc context to smb_composite_connect()

Volker
(This used to be commit 6b88de182e40cb00a833c085f801fd47c92bbe94)
2007-10-10 13:39:17 -05:00
Andrew Tridgell
67762d7965 r10668: added a ildap_search_bytree() function
(This used to be commit fd6d895ebdb201ac6afaf5c8ec84d003765cdff6)
2007-10-10 13:39:16 -05:00
Tim Potter
cc8af00a93 r10646: Hey Jelmer what do you think of this? The SConscript for the libcli
directory now looks like the config.mk file but with different
punctuation.

The only weird bit is that it creates a proto.h file for each subsystem.
(This used to be commit 09d4abecb01fa9159243cfcb33051092f92cef3b)
2007-10-10 13:39:14 -05:00
Stefan Metzmacher
bb77c2aa1e r10638: - add wrepl_socket_merge() function that creates a wrepl_socket on top
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)
2007-10-10 13:39:14 -05:00
Rafal Szczesniak
9bc38ce65f r10636: Formatting for better readability.
rafal
(This used to be commit ef29863d999089c47140bd37731c60659a200421)
2007-10-10 13:39:13 -05:00
Rafal Szczesniak
65271095d0 r10635: Formatting for better readability.
rafal
(This used to be commit 7b3a4096b5922e4a98ea0a74c0b92bc10d18cddd)
2007-10-10 13:39:13 -05:00
Stefan Metzmacher
c2d7914428 r10627: - use a wrepl specific enum for the node type
- the unknown flag 0x10 seems to mean that this name was localy registered on this
  currently asked server, that flag is not present in replica records

metze
(This used to be commit ba3685c41dc934692bd653f4fe9c0ee451146c40)
2007-10-10 13:39:13 -05:00
Stefan Metzmacher
08f16292a0 r10608: - fix hierachical memory handling in ndr_pull_nbt_name
- add wrepl_nbt_name scalar type and do the pull/push in the ndr layer
  instead of the caller
- give the flags and group_flag in the wrepl_name a meaning

metze
(This used to be commit b98efc2905e1147eb97111b46a877bdb9d8dd154)
2007-10-10 13:39:12 -05:00
Andrew Bartlett
f9fea8ba77 r10598: Factor out common code, in preperation for a move elsewhere.
Andrew Bartlett
(This used to be commit 0d757b169a3d521a0d228bed51aa96cf199d5c42)
2007-10-10 13:39:10 -05:00
Jelmer Vernooij
5058f4b9e8 r10586: Add MergedObject() builder. Default to Library() rather
then StaticLibrary()
(This used to be commit b53313dc517986c69a4e4cb8fe3885b696f8faa1)
2007-10-10 13:39:08 -05:00
Stefan Metzmacher
f7c5e5a398 r10569: add all info that we have to wrepl_name, as we need it for replication :-)
metze
(This used to be commit bfd548ca10134d5a17b87a0507917721aa251223)
2007-10-10 13:39:06 -05:00
Stefan Metzmacher
0b2c6aec92 r10547: - add wrepl_request timeout handling
- when we got an unexpected READ event, we need to do a socket_recv() to find connection errors
  and we need to mark the socket as dead (and remove the fde_event) to prevent,
  endless loops on broken connections

tridge: we should look carefull at other protocol, to handle broken connections without spinning

metze
(This used to be commit ff1272347739696dcdf2fd191b8f47ca82c205de)
2007-10-10 13:39:04 -05:00
Stefan Metzmacher
5880f79f4f r10545: map ECONNRESET to NT_STATUS_CONNECTION_RESET
metze
(This used to be commit e753114e863ff0ea32b35ef30a6f0056cfa7c902)
2007-10-10 13:39:04 -05:00
Stefan Metzmacher
1c701527ff r10542: if the transport is dead we need to return
tridge: I think this is correct, comments?

metze
(This used to be commit e06ca726f3df013d869d943338bc6b7a151cdd3f)
2007-10-10 13:39:03 -05:00
Stefan Metzmacher
38e43be7b8 r10537: - we now use a much nicer way to handle talloc_free(timed_event)
the events code replaces a destructor to one that returns allways -1
  while it's calling the event handler
- we don't need the composite and winsrepl specific fixes any more
- this also fixes the problem with smbcli, dcerpc, cldap, ldap and nbt
  request timeouts

metze
(This used to be commit 495996cfc49a1c6eefde6ff04fc75e0739be3aab)
2007-10-10 13:39:03 -05:00
Stefan Metzmacher
4d024ddfb5 r10530: - fix some crash bugs when we lost the connection...
metze
(This used to be commit 0983452bf8b0922f6df7af4aa16b14835d39d036)
2007-10-10 13:39:02 -05:00
Stefan Metzmacher
fa70d1d0c2 r10529: fix a crash bug in full async code the uses the composite_trigger_done() code
the event subsystem wants to free timed_events!

metze
(This used to be commit dc5d5953b60662b895ad148525e84d82882d62a8)
2007-10-10 13:39:02 -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
Stefan Metzmacher
ab4d635b92 r10504: - seperate implementation specific stuff, from the generic composite
stuff.
- don't use SMBCLI_REQUEST_* state's in the genreic composite stuff
- move monitor_fn to libnet.

NOTE: I have maybe found some bugs, in code that is dirrectly in DONE or ERROR
      state in the _send() function. I haven't fixed this bugs in this
      commit! We may need some composite_trigger_*() functions or so.
      And maybe some other generic helper functions...

metze
(This used to be commit 4527815a0a9b96e460f301cb1f0c0b3964c166fc)
2007-10-10 13:38:57 -05:00
Tim Potter
f51e98212f r10499: Export cli_ldap library.
(This used to be commit 3c9c3a52e3999f15df747bbd69479896bbec3a6b)
2007-10-10 13:38:56 -05:00
Volker Lendecke
9593101ec1 r10491: First step towards wbinfo -t: This issues a name request for the primary
domain and gets the DC's name via a mailslot call.

Metze, I renamed wbsrv_queue_reply to wbsrv_send_reply in accordance with
irpc_send_reply. Having _queue_ here and _send_ there is a bit confusing. And
as everything is async anyway, the semantics should not be too much of a
problem.

Volker
(This used to be commit 4637964b19c6e9f7d201b287e2d409d029fced01)
2007-10-10 13:38:54 -05:00
Tim Potter
b0de111292 r10482: Add files to proto_files enough to build libcli and librpc directories.
(This used to be commit 4a03773c99f81d706307d69cb14af731dc8a8783)
2007-10-10 13:38:53 -05:00
Jelmer Vernooij
3d4ea18d4d r10478: More work on proto headers; we now generate a couple of smaller ones
that are then included by include/proto.h
(This used to be commit 703ffbaaaca11f3d8781cfe9e7542fcaa626d991)
2007-10-10 13:38:52 -05:00
Jelmer Vernooij
f3b412fbd6 r10438: Move portability functions to lib/replace/; replace now simply ensures
that a given set of (working) POSIX functions are available (without
prefixes to their names, etc). See lib/replace/README for a list.

Functions that behave different from their POSIX specification
(such as sys_select, sys_read, etc) have kept the sys_ prefix.
(This used to be commit 29919a71059b29fa27a49b1f5b84bb8881de65fc)
2007-10-10 13:38:45 -05:00
Andrew Bartlett
51cbc188df r10402: Make the RPC-SAMLOGON test pass against Win2k3 SP0 again.
I still have issues with Win2k3 SP1, and Samba4 doesn't pass it's own
test for the moment, but I'm working on these issues :-)

This required a change to the credentials API, so that the special
case for NTLM logins using a principal was indeed handled as a
special, not general case.

Also don't set the realm from a ccache, as then it overrides --option=realm=.

Andrew Bartlett
(This used to be commit 194e8f07c0cb4685797c5a7a074577c62dfdebe3)
2007-10-10 13:38:39 -05:00
Volker Lendecke
e0febb258a r10395: While playing with winbind, I found a segfault because I had given
resolve_name_send a stack-allocated method list. Duplicate it.

Volker
(This used to be commit 17dbbf965bcf038be7450781e28acb5e061eb295)
2007-10-10 13:38:39 -05:00
Jelmer Vernooij
6812c73534 r10348: Add scons scripts for remaining subsystems. Most subsystems build now,
but final linking still fails (as does generating files asn1, et, idl and proto
files)
(This used to be commit 4f0d7f75b99c7f4388d8acb0838577d86baf68b5)
2007-10-10 13:38:30 -05:00
Jelmer Vernooij
5b02ee9b9d r10336: Add sconscript for a couple more subsystems.
(This used to be commit 59d4450453c25f5cce9b67b808ff0c4433c1d194)
2007-10-10 13:38:29 -05:00
Andrew Tridgell
a129ad36eb r10213: fixed a memory leak in the ldap client and server code spotted by Karl
Melcher. ldap_encode() now takes a memory context to use for the data
blob
(This used to be commit 09948a59336a7f02bf2b4605f2d4d886e65b85f2)
2007-10-10 13:38:09 -05:00
Andrew Tridgell
45f760973d r10200: added a composite_trigger_done() call that allows a composite function
to cause an event to happen immediately. This allows metzes patch for
recognising IPs in resolve_name() to work, and also allows us to
remove some of the other code where we currently do specific checks
for is_ipaddress().
(This used to be commit 9cc000d868e1257ef6429f6f6f1f9d3c28ca330f)
2007-10-10 13:38:08 -05:00
Tim Potter
f642fd96d0 r10185: Fix another two sets of unhandled enumeration warnings, plus correct some awful indentation. (-:
(This used to be commit 2f24fc7a7a195c04f88a25d52efc02ddf491126c)
2007-10-10 13:38:06 -05:00
Stefan Metzmacher
9cd63ddb5d r10129: fix sinple ip's in wins replication, packets
metze
(This used to be commit 7492afa48db68ee29048f8e1a56ccff712a3d162)
2007-10-10 13:38:01 -05:00
Stefan Metzmacher
13f7e6a0c6 r10115: bind client connection to the best interface, to the partner
metze
(This used to be commit e44aca0a8eb41abbaa494d379dd61713dc57c4f3)
2007-10-10 13:38:00 -05:00
Stefan Metzmacher
63ef3c7fdc r10113: rename libcli/wins to libcli/wrepl
metze
(This used to be commit d8b84112bb40605b07a77ab5f7a44ac1807ccc59)
2007-10-10 13:38:00 -05:00
Tim Potter
561a02d646 r10103: Put an #ifdef guard around ENOTSUP to fix systems that don't have it
(OpenBSD 3.7).
(This used to be commit cc24af6545b19ad7710c43399c396e1807f80eeb)
2007-10-10 13:37:59 -05:00