1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-19 04:23:48 +03:00
Commit Graph

1056 Commits

Author SHA1 Message Date
Stefan Metzmacher
e6eb0fd2c2 r11649: - add support for ntcancel replies (they only happen in error cases,
e.g when you supply an invalid TID or VUID)
- as we don't yet understand how to check the smb_signing of this
  replies, we just ignore the whole packet

abartlet,jra,tridge:
can someone try to find out how to create and verify
the signatures for this replies.
what I noticed is that still use the increment by one for the request,
and later requests are still generated fine, only the generating and verifying
of the ntcancel replies make problems

metze
2007-10-10 13:46:08 -05:00
Stefan Metzmacher
356e7d037c r11647: add smbcli_ prefix
metze
2007-10-10 13:46:07 -05:00
Stefan Metzmacher
16f2d92618 r11644: free the buffer when it's not used
metze
2007-10-10 13:46:07 -05:00
Andrew Tridgell
ba7864b07e r11636: a bit neater solution to the nt_cancel problem 2007-10-10 13:46:03 -05:00
Stefan Metzmacher
97cd824e44 r11635: fix a handling of packet_send in the smb client lib
this was cause of the PANIC on the build farm on metze01

as we use req->out.buffer from the old request in the smb_raw_ntcancel()
and send a 0 TID, that causes our server code to crash
(a fix for the server code will follow)

metze
2007-10-10 13:46:03 -05:00
Andrew Tridgell
fa904afed9 r11632: removed 2 unused functions 2007-10-10 13:46:02 -05:00
Tim Potter
03c7da27a0 r11626: Fix unhandled enum in case statement warnings by noting appropriately
that some values aren't handled.  The remaining warnings I think are
actual bugs or required functionality that is missing (mostly lack of
server side Unix extensions).
2007-10-10 13:46:01 -05:00
Andrew Tridgell
1d29ad2a27 r11620: switch the ldap client code over to using the generic packet code 2007-10-10 13:45:59 -05:00
Andrew Tridgell
d2b568a111 r11609: fixed handling of one way requests with new send code 2007-10-10 13:45:58 -05:00
Andrew Tridgell
0bcea45b15 r11606: use the generic packet send code in libcli/raw/ 2007-10-10 13:45:57 -05:00
Andrew Tridgell
f8d43f1f67 r11596: switched the libcli/raw/ code over to using the lib/stream/ generic
packet parsing code. This simplifies the logic in the raw client
library a fair bit
2007-10-10 13:45:56 -05:00
Stefan Metzmacher
6375a9a95d r11546: add more errno ntstatus mappings, to get more usefull errors from socket_wrapper
metze
2007-10-10 13:45:52 -05:00
Volker Lendecke
f341c8b4c8 r11533: Be a bit less intrusive 2007-10-10 13:45:50 -05:00
Volker Lendecke
f0e4075db5 r11532: Enable kerberos session setup for winbind smb connections 2007-10-10 13:45:50 -05:00
Volker Lendecke
d14948fdf6 r11528: Separate finding dcs from initializing a domain. Makes it easier to possibly
support cldap and other stuff in the future.

This temporarily disables wbinfo -t, but that will come back soon.

Try an ldap bind using gss-spnego. This got me krb5 binds against "our" w2k3
and a trusted w2k, although with some memleaks from krb5 and a BAD_OPTION
tgs-rep error.

Volker
2007-10-10 13:45:49 -05:00
Andrew Bartlett
eba652ecc8 r11523: Working towards having Samba3 join Samba4, this allows the SASL
credentials to be NULL, where the client is requesting a CIFS style
server-first negTokenInit.

Andrew Bartlett
2007-10-10 13:45:48 -05:00
Andrew Bartlett
130eb9bb9a r11521: Add in client support for checking supportedSASLmechanisms, and then
determining a mechanism to use.

Currently it doesn't to fallbacks like SPNEGO does, but this could be
added (to GENSEC, not to here).

This also adds a new function to GENSEC, which returns a list of SASL
names in our preference order (currently determined by the build
system of all things...).

Also make the similar function used for OIDs in SPNEGO do the same.

This is all a very long-winded way of moving from a hard-coded NTLM to
GSS-SPNEGO in our SASL client...

Andrew Bartlett
2007-10-10 13:45:48 -05:00
Stefan Metzmacher
f04001f280 r11487: thanks to make test I noticed a dead lock bug, in the last change,
this only happens with socket_wrapper as socket_connect() returns NT_STATUS_OK
instead of NT_STATUS_MORE_PROCESSING_REQUIRED, and we missed to replace the
fde event handler...

metze
2007-10-10 13:45:44 -05:00
Stefan Metzmacher
bf0b96f057 r11485: prevent us from calling the request handler recursiv when
the handler calls talloc_free(wrepl_socket)

metze
2007-10-10 13:45:43 -05:00
Andrew Bartlett
6535959fd7 r11466: Clear up some memory leaks in smbclient.
Andrew Bartlett
2007-10-10 13:45:40 -05:00
Volker Lendecke
fed26bc4fd r11424: Fix an uninitialized variable warning 2007-10-10 13:45:36 -05:00
Andrew Bartlett
de83b8cd18 r11404: Another torture test and a new WERR.
Andrew Bartlett
2007-10-10 13:45:32 -05:00
Jelmer Vernooij
0b54405685 r11377: Add support for building LIBRARY elements as shared libraries:
- Adds -rpath bin/ so you don't have to install Samba in order to use compiled binaries.
 - Writes out pkg-config files when building shared libs
 - Supports automatic fallback to MERGEDOBJ (which is the default) or
   OBJ_LIST (if ld -r is not supported)

Building with shared libs reduces the size of the Samba binaries from
197 Mb to 60 Mb (including libraries) on my system (GCC4, with debugging).

To build with shared libraries support enabled, run:

LIBRARY_OUTPUT_TYPE=SHARED_LIBRARY ./config.status

init functions don't get called correctly yet when using shared libs, so
you won't be able to actually run anything with success :-)

Once init functions are done, I'll look at support for loading shared
modules once again.

Based on a patch by Peter Novodvorsky (nidd on IRC).
2007-10-10 13:45:28 -05:00
Volker Lendecke
5718df44d9 r11369: Implement socket_connect_multi: Connect to multiple ipv4 tcp ports in
sequence, with a 2-millisecond timeout between firing the syn packets. Build
smbcli_sock_connect_send upon that.

Volker
2007-10-10 13:45:27 -05:00
Andrew Bartlett
3b5ef4208d r11334: Print error status in debug.
Andrew Bartlett
2007-10-10 13:45:21 -05:00
Jelmer Vernooij
b4745032a2 r11303: Support defining and installing public headers for libraries.
Support installing libraries.
Get rid of pkg-config file (will be autogenerated later on).
2007-10-10 13:45:16 -05:00
Volker Lendecke
bcc71fc1de r11274: Start a connection attempt to the DC's port 389. To do this properly, make
socket_connect and ldap_connect properly async.

Volker
2007-10-10 13:45:12 -05:00
Volker Lendecke
7bc855359a r11271: Fix a warning and an infinite recursion 2007-10-10 13:45:11 -05:00
Volker Lendecke
c26b432c27 r11264: Winbind does not rely on the hostname resolution mechanisms of
composite_connect, so in io.in.dest_host I'm setting the IP address. Gensec
does not like that as a target hostname, so if a called name is present, use
that. So we can session setup using kerberos now.

Volker
2007-10-10 13:45:10 -05:00
Volker Lendecke
13ebdea115 r11248: Fix anon fallback with spnego 2007-10-10 13:45:07 -05:00
Jelmer Vernooij
24e1030090 r11244: Relative path names in .mk files 2007-10-10 13:45:06 -05:00
Jelmer Vernooij
7fffc5c917 r11214: Remove scons files (see http://lists.samba.org/archive/samba-technical/2005-October/043443.html) 2007-10-10 13:45:03 -05:00
Andrew Bartlett
24dbf34352 r11198: The recent changes to netlogon changed this from a RID to a SID.
Andrew Bartlett
2007-10-10 13:45:00 -05:00
Andrew Tridgell
5ec486bb81 r11114: - fixed error handling on bad bind in ildap client
- added nicer error display, giving a string version of the error code
2007-10-10 13:44:52 -05:00
Volker Lendecke
3e535cce74 r11095: Implement wb_getuserdomgroups.
Tridge, if you have the time, you might want to look at a problem I'm having
with unix domain stream sockets. From a comment in this commit:

	/* Using composite_trigger_error here causes problems with the client
	 * socket. Linux 2.6.8 gives me a ECONNRESET on the next read after
	 * writing the reply when I don't wait the 100 milliseconds. */

This is in winbind/wb_cmd_userdomgroups.c:93.

The problem I have is that I can not *immediately* send an error reply to the
client because the next receive fails. Waiting 100 milliseconds helps. It
might also be a problem with epoll(), I don't really know.

I'd appreciate if you took a brief look at this, maybe I'm doing something
wrong.

Thanks,

Volker
2007-10-10 13:44:48 -05:00
Stefan Metzmacher
3f7b09a308 r11090: we need this to run correct under socket_wrapper
metze
2007-10-10 13:44:47 -05:00
Stefan Metzmacher
471c0ca4ab r11052: bring samba4 uptodate with the samba4-winsrepl branch,
before the bad merge

metze
2007-10-10 13:44:43 -05:00
Stefan Metzmacher
6913e33840 r11037: 2007-10-10 13:42:33 -05:00
Stefan Metzmacher
a599d7a4ae 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
2007-10-10 13:39:52 -05:00
Andrew Bartlett
09c9576330 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
2007-10-10 13:39:50 -05:00
Andrew Tridgell
f6818daecc 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.
2007-10-10 13:39:41 -05:00
Volker Lendecke
deb127e04e 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
2007-10-10 13:39:39 -05:00
Stefan Metzmacher
b436206c49 r10867: add WERR_UNKNOWN_REVISION errorcode
metze
2007-10-10 13:39:37 -05:00
Volker Lendecke
3e69fdc07c 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
2007-10-10 13:39:36 -05:00
Jelmer Vernooij
48d22a9910 r10848: Fix warning 2007-10-10 13:39:36 -05:00
Andrew Bartlett
675b7df2ee r10847: Fix up new 'decrypt samlogon reply' routine to be more robust, and use
it in the RPC-SAMLOGON test.

Andrew Bartlett
2007-10-10 13:39:35 -05:00
Andrew Bartlett
6d24d8d12c r10845: Add new function to decrypt the session keys in samlogon responses.
Andrew Bartlett
2007-10-10 13:39:35 -05:00
Stefan Metzmacher
e7ee73a747 r10836: giving NT_STATUS_NO_MEMORY, when the connection fails wasn't a good idea...
metze
2007-10-10 13:39:33 -05:00
Andrew Bartlett
fd7203789a 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
2007-10-10 13:39:32 -05:00
Stefan Metzmacher
dfc95de8fa 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
2007-10-10 13:39:28 -05:00