1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-29 15:42:04 +03:00
Commit Graph

278 Commits

Author SHA1 Message Date
a46e12d0e0 r18213: don't list LIBREPLACE depdendecies explicit and
always at it as first private dependencies

metze
(This used to be commit 135d096776)
2007-10-10 14:17:50 -05:00
014f70008f r18130: the move to system/ in libreplace broke some things ... should be
happier now
(This used to be commit 18542f184f)
2007-10-10 14:17:37 -05:00
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 f7afa1cb77)
2007-10-10 14:16:54 -05:00
a2eca9174c r17586: merge lib/netif into lib/socket and use -lnsl -lsocket on the
configure check for the interfaces.

should fix the build on some old sun boxes

metze
(This used to be commit f20e251bfd)
2007-10-10 14:15:39 -05:00
cf863ef3e3 r17524: Lets see if we can try and get the socket_wapper includes to be
pre-processed last, and get AIX and some other hosts to pass make test
again (I think the macros were being over-overridden).

Andrew Bartlett
(This used to be commit 650b99b19d)
2007-10-10 14:15:32 -05:00
308abfefb9 r17253: add configure checks for writev/readv to see how portable they're
metze
(This used to be commit b5c06d5b4c)
2007-10-10 14:10:24 -05:00
ba07fa43d0 r17197: This patch moves the encryption of bulk data on SASL negotiated security
contexts from the application layer into the socket layer.

This improves a number of correctness aspects, as we now allow LDAP
packets to cross multiple SASL packets.  It should also make it much
easier to write async LDAP tests from windows clients, as they use SASL
by default.  It is also vital to allowing OpenLDAP clients to use GSSAPI
against Samba4, as it negotiates a rather small SASL buffer size.

This patch mirrors the earlier work done to move TLS into the socket
layer.

Unusual in this pstch is the extra read callback argument I take.  As
SASL is a layer on top of a socket, it is entirely possible for the
SASL layer to drain a socket dry, but for the caller not to have read
all the decrypted data.  This would leave the system without an event
to restart the read (as the socket is dry).

As such, I re-invoke the read handler from a timed callback, which
should trigger on the next running of the event loop.  I believe that
the TLS code does require a similar callback.

In trying to understand why this is required, imagine a SASL-encrypted
LDAP packet in the following formation:

+-----------------+---------------------+
| SASL  Packet #1 | SASL Packet #2      |
----------------------------------------+
| LDAP Packet #1       | LDAP Packet #2 |
----------------------------------------+

In the old code, this was illegal, but it is perfectly standard
SASL-encrypted LDAP.  Without the callback, we would read and process
the first LDAP packet, and the SASL code would have read the second SASL
packet (to decrypt enough data for the LDAP packet), and no data would
remain on the socket.

Without data on the socket, read events stop.  That is why I add timed
events, until the SASL buffer is drained.

Another approach would be to add a hack to the event system, to have it
pretend there remained data to read off the network (but that is ugly).

In improving the code, to handle more real-world cases, I've been able
to remove almost all the special-cases in the testnonblock code.  The
only special case is that we must use a deterministic partial packet
when calling send, rather than a random length.  (1 + n/2).  This is
needed because of the way the SASL and TLS code works, and the 'resend
on failure' requirements.

Andrew Bartlett
(This used to be commit 5d7c9c12cb)
2007-10-10 14:10:18 -05:00
a1a842eb44 r17168: Now that TLS (and soon SASL) is below the socket layer, we need to
make the testnonblock skip some things.  The socket *under* the tls
socket is still tested.

Andrew Bartlett
(This used to be commit 9c33c6a20a)
2007-10-10 14:10:15 -05:00
971d30bb20 r15854: more talloc_set_destructor() typesafe fixes
(This used to be commit 61c6100617)
2007-10-10 14:08:32 -05:00
fd51a5c5bd r15798: shortcut the lookup of "localhost" in the ipv6 backend
(This used to be commit dea82fa615)
2007-10-10 14:08:21 -05:00
172a83d724 r15573: Fix build of systems that have iconv headers in non-standard locations
Split of system/locale.h header from system/iconv.h

Previously, iconv wasn't being used on these systems
(This used to be commit aa6d66fda6)
2007-10-10 14:05:58 -05:00
742c110cd6 r15400: Move the TLS code behind the socket interface.
This reduces caller complexity, because the TLS code is now called
just like any other socket.  (A new socket context is returned by the
tls_init_server and tls_init_client routines).

When TLS is not available, the original socket is returned.

Andrew Bartlett
(This used to be commit 09b2f30dfa)
2007-10-10 14:05:32 -05:00
46f627ea7a r15384: Improve naming of socket library, disable Requires(.private)? fields in pkg-config files for now as
they break external projects.
(This used to be commit f919fd6655)
2007-10-10 14:05:30 -05:00
a4a2a4b833 r15376: Add detection of -lnsl, required for building on SUN boxes.
(This used to be commit 49bac12767)
2007-10-10 14:05:29 -05:00
6275553bae r15373: Rename SOCKET to LIBSAMBA-SOCKET to prevent name clashes with -lsocket on SUN
boxes.
(This used to be commit c95ad11307)
2007-10-10 14:05:28 -05:00
c2cc10c786 r15356: Remove unused 'flags' argument from socket_send() and friends.
This is in preperation for making TLS a socket library.

Andrew Bartlett
(This used to be commit a312812b92)
2007-10-10 14:05:25 -05:00
f4e403440a r15349: Integrate set_socket_options() into the socket library
(This used to be commit 598ea173cd)
2007-10-10 14:05:24 -05:00
1f5a8f892f r15344: Fix shared library build
(This used to be commit 7113a16309)
2007-10-10 14:05:21 -05:00
a99b9d72b2 r15329: I'm sick of this patch being in my local tree...
Use inet_ntop to convert IPv6 names to strings.  Don't do a reverse
lookup.

Andrew Bartlett
(This used to be commit bf57b213c2)
2007-10-10 14:05:17 -05:00
0199eac20d r15314: Fix recursive dependency hack for static libs. Should fix the build
on most systems.
(This used to be commit c0ab0f4ed4)
2007-10-10 14:05:09 -05:00
9220144604 r15313: Fix some dependencies in dso mode
(This used to be commit f0afe9e2ff)
2007-10-10 14:05:09 -05:00
b00c236906 r15301: Use static libraries internally. This required a few hacks in the build
system - these should be removed later on.
(This used to be commit 0654739166)
2007-10-10 14:05:07 -05:00
620d759f49 r15298: Fix the build using a few hacks in the build system.
Recursive dependencies are now forbidden (the build system
will bail out if there are any).

I've split up auth_sam.c into auth_sam.c and sam.c. Andrew,
please rename sam.c / move its contents to whatever/wherever you think suits
best.
(This used to be commit 6646384aaf)
2007-10-10 14:05:04 -05:00
8d137d9785 r15295: Fix some dependencies
Move unistr-specific code to lib/charset/. Remove _m from some places where it's not needed.
(This used to be commit 03224e1124)
2007-10-10 14:05:03 -05:00
0d5587b5d1 r15274: Drop default EXT_LIB_ prefix for external libraries. Fixes issues with local
(empty) libpopt.a overriding global one
(This used to be commit 2f06305e53)
2007-10-10 14:05:00 -05:00
61ff97e360 r15271: Fix --enable-dso
(This used to be commit 8de11ec244)
2007-10-10 14:04:59 -05:00
69b51f702a r15207: Introduce PRIVATE_DEPENDENCIES and PUBLIC_DEPENDENCIES as replacement
for REQUIRED_SUBSYSTEMS.
(This used to be commit adc8a019b6)
2007-10-10 14:04:18 -05:00
35349a58df r14542: Remove librpc, libndr and libnbt from includes.h
(This used to be commit 51b4270513)
2007-10-10 13:58:42 -05:00
71b4fd9792 r14477: Remove the NOPROTO property - it's no longer used as proto.h is gone.
(This used to be commit 9c37f847d3)
2007-10-10 13:57:30 -05:00
cd63d287df r14307: fixed dereference of my_address->addr when NULL
(This used to be commit e017246f10)
2007-10-10 13:57:10 -05:00
bdfbcf5d8a r13956: make more functions public
metze
(This used to be commit d099282d49)
2007-10-10 13:52:31 -05:00
4ac2be9958 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
(This used to be commit 1228358767)
2007-10-10 13:52:24 -05:00
57a55df196 r13662: Typo fix, add more public headers
(This used to be commit d98948716f)
2007-10-10 13:52:05 -05:00
b156fb83db r12959: hopefully fix bug #3365 this time
metze
(This used to be commit 8fc2b68aa8)
2007-10-10 13:51:12 -05:00
c582cb23f7 r12911: try to fix bug #3365
metze
(This used to be commit e70ca698ce)
2007-10-10 13:51:02 -05:00
f55ea8bb3d r12804: This patch reworks the Samba4 sockets layer to use a socket_address
structure that is more generic than just 'IP/port'.

It now passes make test, and has been reviewed and updated by
metze. (Thankyou *very* much).

This passes 'make test' as well as kerberos use (not currently in the
testsuite).

The original purpose of this patch was to have Samba able to pass a
socket address stucture from the BSD layer into the kerberos routines
and back again.   It also removes nbt_peer_addr, which was being used
for a similar purpose.

It is a large change, but worthwhile I feel.

Andrew Bartlett
(This used to be commit 88198c4881)
2007-10-10 13:49:57 -05:00
37bc6b5f81 r12728: Revive testparm.
It needs work to not dump defaults from loadparm.c, but otherwise it works.

Andrew Bartlett
(This used to be commit 1260fcf465)
2007-10-10 13:49:46 -05:00
bc4aebfaec r12670: Make a couple of dependencies stricter
Re-introduce and use the OUTPUT_TYPE property for MODULEs to force
specific modules to always be included
(This used to be commit f9eede3d40)
2007-10-10 13:49:35 -05:00
d4de4c2d21 r12608: Remove some unused #include lines.
(This used to be commit 70e7449318)
2007-10-10 13:49:03 -05:00
46aa296cc9 r12592: Remove some useless dependencies
(This used to be commit ca8db1a0cd)
2007-10-10 13:49:00 -05:00
d8e35f8828 r12498: Eliminate INIT_OBJ_FILES and ADD_OBJ_FILES. We were not using
the difference between these at all, and in the future the
fact that INIT_OBJ_FILES include smb_build.h will be sufficient to
have recompiles at the right time.
(This used to be commit b24f2583ed)
2007-10-10 13:47:45 -05:00
bdc2a850da r12239: as we only get error from our events system when we wait for read events,
we need to initialy ask for read events too, otherwise we'll never get an
error back from socket_connect()

metze
(This used to be commit 7d94054d0f)
2007-10-10 13:47:23 -05:00
111a920fdb r12116: got rid of composite_trigger_done() and composite_trigger_error(), and
instead make the normal composite_done() and composite_error()
functions automatically trigger a delayed callback if the caller has
had no opportunity to setup a async callback

this removes one of the common mistakes in writing a composite function
(This used to be commit f9413ce792)
2007-10-10 13:47:11 -05:00
93e83f4086 r11823: make the socket_connect_send() context a child of the local state
this fixes a valgrind error
(This used to be commit db9c0887bd)
2007-10-10 13:46:34 -05:00
eeb093f6a9 r11822: reworked the socket_connect_multi() code so it is built on top of
socket_connect_send() rather than the lower level socket code. Also
simplified the state structures a fair bit, and added name resolution,
fixing a bug where the multi-port connect code did a separate name
resolution for each port being tried.
(This used to be commit 3e6888156c)
2007-10-10 13:46:34 -05:00
8486606576 r11821: got rid of two more unnecessary variables and made the variable names
a bit more consistent
(This used to be commit 4b6e9c7c97)
2007-10-10 13:46:33 -05:00
37279b1363 r11820: fixed some problems with the socket socket.c code.
- removed the duplicate calls to socket_connect(), instead creating a
   common function socket_send_connect() used by both code paths

 - fixed some NULL ptr checks (probably was cut-and-paste bugs)

 - ensure we use the result of the name resolution

 - added a few comments

 - use 'fde' for the file description event. The variable name
  'connect_ev' immediately made me think of an event context, not a
  fde. Using common variable name conventions makes code a bit easier
  to read
(This used to be commit 37b73521b4)
2007-10-10 13:46:33 -05:00
b31fe2d42b r11811: Revert 11808, this broke the selftest. No idea why though. Why do we to the
resolve_name if it's not used?

I know this is my code, but I don't understand why it breaks tests.

Volker
(This used to be commit 577a5639d3)
2007-10-10 13:46:31 -05:00
218ea5a5c7 r11808: Fix socket_connect_ev
(This used to be commit 95bd3ffaf7)
2007-10-10 13:46:31 -05:00
a4e7bf3a89 r11382: Require number of required M4 macros
Make MODULE handling a bit more like BINARY, LIBRARY and SUBSYSTEM
Add some more PUBLIC_HEADERS
(This used to be commit 875eb8f4cc)
2007-10-10 13:45:29 -05:00