1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-21 18:04:06 +03:00

742 Commits

Author SHA1 Message Date
Andrew Tridgell
d13e788f20 r7654: - add a timeout to all smb requests (default 60 seconds)
- add a request destructor, to make it safe to destroy a pending
   request with talloc_free()
(This used to be commit 72c6988767249caa585f37fec4c0afbf41557ec2)
2007-10-10 13:18:17 -05:00
Andrew Tridgell
af237084ec r7633: this patch started as an attempt to make the dcerpc code use a given
event_context for the socket_connect() call, so that when things that
use dcerpc are running alongside anything else it doesn't block the
whole process during a connect.

Then of course I needed to change any code that created a dcerpc
connection (such as the auth code) to also take an event context, and
anything that called that and so on .... thus the size of the patch.

There were 3 places where I punted:

  - abartlet wanted me to add a gensec_set_event_context() call
    instead of adding it to the gensec init calls. Andrew, my
    apologies for not doing this. I didn't do it as adding a new
    parameter allowed me to catch all the callers with the
    compiler. Now that its done, we could go back and use
    gensec_set_event_context()

  - the ejs code calls auth initialisation, which means it should pass
    in the event context from the web server. I punted on that. Needs fixing.

  - I used a NULL event context in dcom_get_pipe(). This is equivalent
    to what we did already, but should be fixed to use a callers event
    context. Jelmer, can you think of a clean way to do that?

I also cleaned up a couple of things:

 - libnet_context_destroy() makes no sense. I removed it.

 - removed some unused vars in various places
(This used to be commit 3a3025485bdb8f600ab528c0b4b4eef0c65e3fc9)
2007-10-10 13:18:15 -05:00
Andrew Tridgell
bab977dad7 r7626: a new ldap client library. Main features are:
- hooked into events system, so requests can be truly async and won't
   interfere with other processing happening at the same time

 - uses NTSTATUS codes for errors (previously errors were mostly
   ignored). In a similar fashion to the DOS error handling, I have
   reserved a range of the NTSTATUS code 32 bit space for LDAP error
   codes, so a function can return a LDAP error code in a NTSTATUS

 - much cleaner packet handling
(This used to be commit 2e3c660b2fc20e046d82bf1cc296422b6e7dfad0)
2007-10-10 13:18:14 -05:00
Andrew Tridgell
ec4a99ffe8 r7599: it turns out we were not using the ldif code in libcli/ldap/ at all,
so best to just remove it. If we need it again, then it will be easy
to just use a wrapper around the ldb code.
(This used to be commit b316e1c2d3e4dc09c321ec72b40d78ffb855e101)
2007-10-10 13:18:13 -05:00
Andrew Tridgell
49bc2672f8 r7598: take advantage of struct data_blob and struct ldb_val being the same
structure in a couple of places
(This used to be commit bcd4671acae2be51958cbae23a0ab2dd2b194a5e)
2007-10-10 13:18:13 -05:00
Andrew Tridgell
3e92471d4c r7596: next step in ldap cleanup. I'm aiming to get rid of the cut&pasted
ldif parsing code in libcli/ldap/ldap_ldif.c, and instead use the ldb
ldif code. To do that I have changed the ldap code to use 'struct
ldb_message_element' instead of 'struct ldap_attribute'. They are
essentially the same structure anyway, so by making them really the
same it will be much easier to use the ldb code in libcli/ldap/

I have also made 'struct ldb_val' the same as a DATA_BLOB, which will
simplify data handling in quite a few places (I haven't yet removed
all the code that maps between these two, that will come later)
(This used to be commit 87fc3073392236221a3a6b933284e9e477c24ae5)
2007-10-10 13:18:12 -05:00
Andrew Tridgell
c0947b0d7f r7593: simplified the memory management in the ldap code. Having a mem_ctx
element in a structure is not necessary any more.
(This used to be commit 912d0427f52eac811b27bf7e385b0642f7dc7f53)
2007-10-10 13:18:12 -05:00
Tim Potter
26d35d90a2 r7569: Fix typo in comments.
(This used to be commit 64fb327ccf80d2d501ae559a6c4336a066191df0)
2007-10-10 13:18:10 -05:00
Andrew Tridgell
6426f2a39a r7567: added wire parsing of NOT and extended ldap search requests. This
allows us to parse and handle the complex queries we are getting from
w2k, such as

(|(|(&(!(groupType:1.2.840.113556.1.4.803=1))(groupType:1.2.840.113556.1.4.803=2147483648)(groupType:1.2.840.113556.1.4.804=6))(samAccountType=805306368))(samAccountType=805306369))
(This used to be commit 041bce591306a0fb26bd31fe371e30021ea5c0c1)
2007-10-10 13:18:10 -05:00
Andrew Tridgell
9d6b3e62c2 r7566: added support for LDAPString types in the asn.1 library
(This used to be commit 1a81d28456261ad77181fd12c0b4a9df6aa6a47d)
2007-10-10 13:18:10 -05:00
Andrew Tridgell
4b0e5bd753 r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
instead of a search expression. This allows our ldap server to pass
  its ASN.1 parsed search expressions straight to ldb, instead of going
  via strings.

- updated all the ldb modules code to handle the new interface

- got rid of the separate ldb_parse.h now that the ldb_parse
  structures are exposed externally

- moved to C99 structure initialisation in ldb

- switched ldap server to using ldb_search_bytree()
(This used to be commit 96620ab2ee5d440bbbc51c1bc0cad9977770f897)
2007-10-10 13:18:06 -05:00
Andrew Tridgell
8fd5825a89 r7524: make the ldap ASN.1 filter parse code go via a struct
ldb_parse_tree. This also fixes the error handling.

next step will be to pass the parse tree straight into ldb, avoiding
the string encoding completely.
(This used to be commit 235cf625e20767c8d5d30c5955ae45e1fdf88bf2)
2007-10-10 13:18:06 -05:00
Andrew Tridgell
816f4f7c4a r7519: rip the copy of the ldap expression parser out of libcli/ldap/ and use
the original one in lib/ldb/ instead. Having two copies of this code
is silly.
(This used to be commit 0e9f18c44858b692c724c004f362de9e3dc15db5)
2007-10-10 13:18:04 -05:00
Andrew Tridgell
07b0d86121 r7483: ensure we try reading from a socket if epoll says we can, and don't
just do the write. This is needed because the write could return
-1/EAGAIN for dgram sockets, if the socket buffer is nearly full. The
epoll loop then goes on forever.

This was causing some failures in 'make test'
(This used to be commit b7fefe76a2d3c288611868f41d65af4e13ac460b)
2007-10-10 13:17:58 -05:00
Tim Potter
6412e8eeae r7482: Rename smbcli_send_tconX() to smbcli_tconX() so as not to get it
confused with an async function.
(This used to be commit 340ad67cada15329051c205c5b094ad641718c72)
2007-10-10 13:17:58 -05:00
Tim Potter
302b4db004 r7455: Remove some talloc contexts that aren't used.
(This used to be commit b0ad51f2ce6c3646d664773aaa32fe55172ad88b)
2007-10-10 13:17:54 -05:00
Volker Lendecke
c96492a9dc r7436: As far as I see it, these are the last two "real" ones for Samba4 on AIX to
build. The remaining patch (not now) is to convert the javascript stuff not to
use // style comments.

Volker
(This used to be commit 29f7e430ac4ae43f6844f021be73bf391610ef73)
2007-10-10 13:17:53 -05:00
Volker Lendecke
46c231f1c8 r7435: Another little step, sorry for the spam... :-)
(This used to be commit 96d9b7fc988405a0d771b778e95a9f60b1efe514)
2007-10-10 13:17:53 -05:00
Volker Lendecke
35314f2427 r7433: Another little AIX one...
(This used to be commit c1ccaa0cc9de9c8f781162674bc73ca0ff88fedd)
2007-10-10 13:17:53 -05:00
Volker Lendecke
09753bf20a r7430: Next step in AIX build
(This used to be commit 43e1bd870d9d7ca67e0ce1d2d1a1589aad41d770)
2007-10-10 13:17:52 -05:00
Jelmer Vernooij
7c9d76d30c r7377: Integrate browse service stuff more nicely
Add notes on mailslots
Add TODO list for pidl, including some plans on switching
over to using [string] attributes for pidl.
(This used to be commit fca195ce072bacb0543625aec7f4bce814e278eb)
2007-10-10 13:17:48 -05:00
Andrew Tridgell
4be9b65d77 r7230: use socket_pending() to get rid of the max packet size limits in the
cldap code
(This used to be commit 9da5379048784524eee213d8609f1d96f0058e39)
2007-10-10 13:17:29 -05:00
Andrew Tridgell
665480ffed r7229: use socket_pending() to get rid of the max packet size limits in the
nbt and dgram layers
(This used to be commit 2a9efbdae638a655999e07a7c3da97fd20dc056c)
2007-10-10 13:17:29 -05:00
Tim Potter
9b8c012392 r7010: Merge libcli/libsmb.mk into libcli/config.mk
(This used to be commit d7d48adce9628ee7a0d2f8ac3504745aaeb912b9)
2007-10-10 13:17:05 -05:00
Tim Potter
2b7fe67f4d r6933: Add a couple of helper functions for creating nbt names.
(This used to be commit b896daf11c3efb1b3ca939575da9dab82b395777)
2007-10-10 13:16:58 -05:00
Tim Potter
e4d5dde7c8 r6930: Use NBT_NAME_CLIENT instead of the number 0.
(This used to be commit e6b53ce177d7fea7440656a7bba3dd96fb82e9f3)
2007-10-10 13:16:57 -05:00
Tim Potter
3c6a91069a r6929: LIBCLI_NBT depends on LIB_SECURITY_NDR for various security descriptor
utilities.
(This used to be commit 9b319fc56f08edaf30b1ee671a3448ba10562c62)
2007-10-10 13:16:57 -05:00
Tim Potter
cd8cb33d3a r6851: Typo in comment.
(This used to be commit e1864a7ac91b6bdd49c0cee26b592dc6d963e35d)
2007-10-10 13:16:51 -05:00
Jelmer Vernooij
e73d051e20 r6839: Add support for building subsystems as shared libraries. This can be
done by setting:
OUTPUT_TYPE = SHARED_LIBRARY
in the [SUBSYSTEM::...] section belonging to a subsystem.

The idea is to allow multiple values to OUTPUT_TYPE simultaneously
(e.g. OUTPUT_TYPE = SHARED_LIBRARY, STATIC_LIBRARY, OBJLIST )
(This used to be commit b9d0ae93ba86fec0115f58e7940b2a6c908bc809)
2007-10-10 13:16:50 -05:00
Andrew Tridgell
9469051d5b r6817: - fixed empty ldap search elements in filters
- added support for guids in cldap netlogon searches.

the cldap server now passes the LDAP-CLDAP torture test
(This used to be commit eb7979d9def389942fa1c54693d2dfcb8828f544)
2007-10-10 13:16:47 -05:00
Andrew Tridgell
6f36f7cd25 r6766: some more cldap tests ...
my best guess now is that w2k3 converts the & in the cldap query to an |
for the ldap search. at least it behaves roughly like that.
(This used to be commit 1d6ab9aaefee71e3d0f87c1afae8ccdbae1f0e04)
2007-10-10 13:16:42 -05:00
Andrew Tridgell
06869ce014 r6764: added support for DomainGuid, DomainSid, AAC, and User attributes in
cldap netlogon queries
(This used to be commit 7c1d0f449d3922a309fc86e5d9cb1e962a39805d)
2007-10-10 13:16:42 -05:00
Andrew Tridgell
4029df5e60 r6763: added functions in libcli/ldap/ to binary encode some NDR structures into
ldap friendly filter strings
(This used to be commit 8890dd3ac331cffe83226a356c52df89c917c2b0)
2007-10-10 13:16:42 -05:00
Andrew Tridgell
c956f4f982 r6745: - escape spaces in binary ldap blobs
- expose the ldap filter string parsing outside of ldap.c
(This used to be commit b644ff6fe164fbe359c47e4d34f5ad490ff61d5b)
2007-10-10 13:16:40 -05:00
Andrew Tridgell
ea6943ec79 r6744: added support for reply packets in libcli/cldap/
(This used to be commit 992858e1b91c3ff05077afa8a7abe155198597d4)
2007-10-10 13:16:40 -05:00
Stefan Metzmacher
2542d54e93 r6732: - move sasl send recv code to the ldap lib
- support 'modrdn' ldif

metze
(This used to be commit b6a1734699953964fcde6fe6ea7048496492eb33)
2007-10-10 13:16:39 -05:00
Andrew Tridgell
49304e965f r6726: support binary search elements in ldap_decode()
(This used to be commit 2b36f1dfdd6cf3ab89f63b541ae4cd905fb03c8d)
2007-10-10 13:16:38 -05:00
Andrew Tridgell
a8c26fa4ac r6724: added "cldap port" smb.conf parameter
(This used to be commit 04af0e7c5de467a24b965ce1de2fb07621133164)
2007-10-10 13:16:37 -05:00
Andrew Tridgell
2f2fc84a7c r6720: added support for the remaining 2 types of CLDAP netlogon
response.

To work around the fact that the type of the returned data is not
encoded in the packet, this required adding ndr_pull_union_blob()
which allows us to pull a blob into a union with a specified switch
value, in this case the switch value comes from the calling NtVer field.
(This used to be commit bd27e626c27be72913d1a1569ee6e2e2711df84e)
2007-10-10 13:16:37 -05:00
Rafal Szczesniak
5cbfca2967 r6708: Another type of monitor message.
rafal
(This used to be commit f7aaa0bfcae7fd4518256a703ad237693ff0c295)
2007-10-10 13:16:36 -05:00
Andrew Bartlett
1cf8396db4 r6702: Revert -r 6699, as I think this is a win2k v win2k3 issue.
Andrew Bartlett
(This used to be commit 77b67da5b8187951ba8c25af85bbf716cf5b3561)
2007-10-10 13:16:36 -05:00
Andrew Bartlett
493cab3dbc r6699: Windows clients seem to ask for CIFS/, ie in upper case, so match it.
Andrew Bartlett
(This used to be commit 6d7f1daaf2a521864994e06b013c36287f27a129)
2007-10-10 13:16:35 -05:00
Andrew Tridgell
0ac02ed7c3 r6693: first version of cldap client library, with async interface
(This used to be commit cbeffe830b2d3aee2ba346034548fa273a08f409)
2007-10-10 13:16:35 -05:00
Andrew Tridgell
489a6b5591 r6692: used idr_get_new_random() in the nbt client library
(This used to be commit a3f64357af75587a855cfedb58ce2583658c7d04)
2007-10-10 13:16:35 -05:00
Andrew Tridgell
c8177de955 r6691: fixed a comment
(This used to be commit a0fa871c3fda9fce7da0b110ed313c930a677a80)
2007-10-10 13:16:34 -05:00
Andrew Tridgell
f6c0bee791 r6689: minor ldap client library work
- added support for binary encoded search filters
 - fixed some const handling
 - changed the message type to an enum, to help debugging
(This used to be commit d5353b63428698d1ce95c50e2626f1841fa637e3)
2007-10-10 13:16:34 -05:00
Rafal Szczesniak
aefd5df199 r6614: Basic approach to monitoring messages for composite functions.
rafal
(This used to be commit 47a7a6c3fcfd1ab159a6baa71cd5c7984334fddb)
2007-10-10 13:16:30 -05:00
Andrew Bartlett
0501a440be r6462: Move the arcfour sbox state into it's own structure, and allocate it
with talloc() for the NTLMSSP system.

Andrew Bartlett
(This used to be commit 7a93ac49c28d433ccf0f077294f473fe728b9995)
2007-10-10 13:11:39 -05:00
Andrew Bartlett
874cd2db86 r6460: Push the client credentials into NTLMSSP, allowing logins of the form
user@REALM for the first time.

Fix the build for smbencrypt.c

Andrew Bartlett
(This used to be commit 5a6a57cd93e22e612bfbb8a8f7bc29269a9a3ac6)
2007-10-10 13:11:39 -05:00
Alexander Bokovoy
9779e6d670 r6352: Two new composite calls:
- qfsinfo (query file system information)
- appendacl (append an ACL to existing file's security descriptor and get new
full ACL)

The second one also includes an improvement to security descriptor handling
which allows to copy security descriptor. Written by Peter Novodvorsky
<peter.novodvorsky@ru.ibm.com>

Both functions have corresponding torture tests added. Tested under valgrind and
work against Samba 4 and Windows XP.

ToDo: document composite call creation process in prog_guide.txt
(This used to be commit 441cff62ac75ed16851ce7b8daf9d03eb4c3ec79)
2007-10-10 13:11:34 -05:00