1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-15 16:23:49 +03:00
Commit Graph

31 Commits

Author SHA1 Message Date
Jelmer Vernooij
5e814287ba r25522: Convert to standard bool types. 2007-10-10 15:07:47 -05:00
Andrew Tridgell
fcf38a38ac r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
2007-10-10 14:59:12 -05:00
Andrew Bartlett
a312812b92 r15356: Remove unused 'flags' argument from socket_send() and friends.
This is in preperation for making TLS a socket library.

Andrew Bartlett
2007-10-10 14:05:25 -05:00
Andrew Tridgell
e017246f10 r14307: fixed dereference of my_address->addr when NULL 2007-10-10 13:57:10 -05:00
Andrew Bartlett
88198c4881 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
2007-10-10 13:49:57 -05:00
Andrew Tridgell
10ac273288 r9705: r9685@blu: tridge | 2005-08-27 19:43:44 +1000
set the backend_name on socket_accept() too
2007-10-10 13:34:52 -05:00
Andrew Tridgell
4bb3d36fe6 r9704: r9684@blu: tridge | 2005-08-27 19:38:31 +1000
don't try to call the name resolver on non-ipv4 names!
2007-10-10 13:34:52 -05:00
Stefan Metzmacher
fdbf822f1c r8044: give a better error code
metze
2007-10-10 13:19:02 -05:00
Andrew Tridgell
f6993db31d r7227: added a socket_pending() call to abstract away the FIONREAD ioctl. It
will be interesting to see if this causes any portability problems, as
it is a less commonly used call.
2007-10-10 13:17:28 -05:00
Andrew Tridgell
35ef6e3b15 r7205: added support for sendto() on unix domain sockets 2007-10-10 13:17:26 -05:00
Andrew Tridgell
23b2046dcb r6562: added support for datagram unix domain sockets in the socket library 2007-10-10 13:16:25 -05:00
Jelmer Vernooij
7fe77cd659 r6070: Fix typo's and fallback to "" as default user name if no
other username could be guessed.
2007-10-10 13:11:17 -05:00
Andrew Tridgell
b902ea546d r5304: removed lib/socket/socket.h from includes.h 2007-10-10 13:09:39 -05:00
Andrew Tridgell
9db6c79e90 r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
less likely that anyone will use pstring for new code

 - got rid of winbind_client.h from includes.h. This one triggered a
   huge change, as winbind_client.h was including system/filesys.h and
   defining the old uint32 and uint16 types, as well as its own
   pstring and fstring.
2007-10-10 13:09:38 -05:00
Andrew Tridgell
ec32b22ed5 r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for the
large commit. I thought this was worthwhile to get done for
consistency.
2007-10-10 13:09:15 -05:00
Andrew Tridgell
9f12a45a05 r4831: added udp support to our generic sockets library.
I decided to incorporate the udp support into the socket_ipv4.c
backend (and later in socket_ipv6.c) rather than doing a separate
backend, as so much of the code is shareable. Basically this adds a
socket_sendto() and a socket_recvfrom() call and not much all.

For udp servers, I decided to keep the call as socket_listen(), even
though dgram servers don't actually call listen(). This keeps the API
consistent.

I also added a simple local sockets testsuite in smbtorture,
LOCAL-SOCKET
2007-10-10 13:08:59 -05:00
Andrew Tridgell
b787dd166f r4753: added the ability for the generic socket library to handle async
connect(). This required a small API change (the addition of
a socket_connect_complete() method)
2007-10-10 13:08:50 -05:00
Jelmer Vernooij
7a8244761b r3586: Fix some of the issues with the module init functions.
Both subsystems and modules can now have init functions, which can be
specified in .mk files (INIT_FUNCTION = ...)

The build system will define :
 - SUBSYSTEM_init_static_modules that calls the init functions of all statically compiled modules. Failing to load will generate an error which is not fatal
 - BINARY_init_subsystems that calls the init functions (if defined) for the subsystems the binary depends on

This removes the hack with the "static bool Initialised = " and the
"lazy_init" functions
2007-10-10 13:05:36 -05:00
Andrew Tridgell
8ec3cf8b2b r3482: fixed a warning and an error from the IRIX 6.4 build 2007-10-10 13:05:20 -05:00
Andrew Tridgell
ced1a0fcdc r3450: portability fixes
- fix rep_inet_ntoa() for IRIX
 - lib/signal.c needs system/wait.h
 - some systems define a macro "accept", which breaks the lib/socket/ structures.
   use fn_ as a prefix for the structure elements to avoid the problem
2007-10-10 13:05:13 -05:00
Andrew Tridgell
406d356e69 r3314: added a option "socket:testnonblock" to the generic socket code. If
you set this option (either on the command line using --option or in
smb.conf) then every socket recv or send will return short by random
amounts. This allows you to test that the non-blocking socket logic in
your code works correctly.

I also removed the flags argument to socket_accept(), and instead made
the new socket inherit the flags of the old socket, which makes more
sense to me.
2007-10-10 13:04:53 -05:00
Andrew Tridgell
a2d92aa431 r3313: in socket_accept() make the new socket non-blocking unless SOCKET_FLAG_BLOCK is set. 2007-10-10 13:04:53 -05:00
Andrew Tridgell
a16e4756cd r3304: changed the API to lib/socket/ a little.
The main change is to make socket_recv() take a pre-allocated buffer,
rather than allocating one itself. This allows non-blocking users of
this API to avoid a memcpy(). As a result our messaging code is now
about 10% faster, and the ncacn_ip_tcp and ncalrpc code is also
faster.

The second change was to remove the unused mem_ctx argument from
socket_send(). Having it there implied that memory could be allocated,
which meant the caller had to worry about freeing that memory (if for
example it is sending in a tight loop using the same memory
context). Removing that unused argument keeps life simpler for users.
2007-10-10 13:04:52 -05:00
Andrew Tridgell
b8a2afae67 r3279: Removed MSG_DONTWAIT flags as many platform don't have it.
If a socket is non-blocking then adding MSG_DONTWAIT is pointless (it
does nothing), so all we lose is the ability to set non-blocking on a
packet-by-packet basis, which is not a very useful thing to have
anyway

if the socket is blocking then the code already adds MSG_WAITALL, so
MSG_DONTWAIT is also not needed in that case.
2007-10-10 13:04:49 -05:00
Andrew Tridgell
7f2c771b0e r3278: - rewrote the client side rpc connection code to use lib/socket/
rather than doing everything itself. This greatly simplifies the
  code, although I really don't like the socket_recv() interface (it
  always allocates memory for you, which means an extra memcpy in this
  code)

- fixed several bugs in the socket_ipv4.c code, in particular client
  side code used a non-blocking connect but didn't handle EINPROGRESS,
  so it had no chance of working. Also fixed the error codes, using
  map_nt_error_from_unix()

- cleaned up and expanded map_nt_error_from_unix()

- changed interpret_addr2() to not take a mem_ctx. It makes absolutely
  no sense to allocate a fixed size 4 byte structure like this. Dozens
  of places in the code were also using interpret_addr2() incorrectly
  (precisely because the allocation made no sense)
2007-10-10 13:04:49 -05:00
Andrew Tridgell
238febb008 r3184: don't setup socket options on unix domain sockets (our smb.conf socket options are really meant for tcp) 2007-10-10 13:04:38 -05:00
Andrew Tridgell
ab222b236a r3183: moved the unlink of the messaging unixdom socket to the messaging destructor 2007-10-10 13:04:37 -05:00
Jelmer Vernooij
fa0760dd5f r3169: unlink() is called on the listening unix socket every time a child process
exits. Commenting it out until we have a clean way of doing this.
2007-10-10 13:02:29 -05:00
Andrew Tridgell
64514ff5b7 r3020: better error handling in socket_unix 2007-10-10 12:59:58 -05:00
Andrew Tridgell
3af06478da r3016: - converted the events code to talloc
- added the new messaging system, based on unix domain sockets. It
  gets over 10k messages/second on my laptop without any socket
  cacheing, which is better than I expected.

- added a LOCAL-MESSAGING torture test
2007-10-10 12:59:57 -05:00
Andrew Tridgell
6f4926d846 r3013: added support for unix domain sockets in the generic socket library. I
will shortly be using this for a rewrite of the intra-smbd messaging
library, which is needed to get lock timeouts working properly (and
share modes, oplocks etc)
2007-10-10 12:59:57 -05:00