1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

159 Commits

Author SHA1 Message Date
Jelmer Vernooij
17ae598141 r13938: Around round of splitups
(This used to be commit 2d655f05285a86bb1bbb882e4dd843def15c9dfa)
2007-10-10 13:52:29 -05:00
Stefan Metzmacher
3d4a22dab4 r13936: fix dependecy
metze
(This used to be commit 9650d15c211988a4f81c546bd47eadb1302b8f9b)
2007-10-10 13:52:28 -05:00
Stefan Metzmacher
eeaf9650d8 r13935: add dependecies
metze
(This used to be commit 569275bc2b9e91a944087581d383c2b7d914c481)
2007-10-10 13:52:28 -05:00
Jelmer Vernooij
9bd7dd9121 r13926: More header splitups.
(This used to be commit 930daa9f416ecba1d75b8ad46bb42e336545672f)
2007-10-10 13:52:26 -05:00
Jelmer Vernooij
4ac2be9958 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
(This used to be commit 122835876748a3eaf5e8d31ad1abddab9acb8781)
2007-10-10 13:52:24 -05:00
Jelmer Vernooij
559ba6f12a r13653: Copy headers from the right place
(This used to be commit 5e884f156f8f824b0540351ce07cd423595d9d1f)
2007-10-10 13:52:04 -05:00
Andrew Bartlett
b135f4467f r12858: This moves the libnet_LookupPdc code to use a GetDC request to find
the remote server's name, or in the absence of a local nbt_server to
communicate with (or without root access), a node status request.

The result is that we are in a better position to use kerberos, as well
as to remove the 'password server' mandatory parameter for the samsync
and samdump commands.  (I need this to put these into SWAT).

The only problem I have is that I must create a messaging context, which
requires a server ID.  As a client process, I don't expect to get
messages, but it is currently required for replies, so I generate a
random() number.  We probably need the servers to accept connections on
streamed sockets too, for client-only tasks that want IRPC.

Because I wanted to test this code, I have put the NET-API-* tests into
our test scripts, to ensure they pass and keep passing.  They are good
frontends onto the libnet system, and I see no reason not to test them.

In doing so the NET-API-RPCCONNECT test was simplified to take a
binding string on the command line, removing duplicate code, and
testing the combinations in the scripts instead.

(I have done a bit of work on the list shares code in libnet_share.c
to make it pass 'make test')

In the future, I would like to extend the libcli/findds.c code (based
off volker's winbind/wb_async_helpers.c, which is why it shows up a bit
odd in the patch) to handle getting multiple name replies, sending a
getdc request to each in turn.

(posted to samba-technical for review, and I'll happily update with
any comments)

Andrew Bartlett
(This used to be commit 7ccddfd3515fc2c0d6f447c768ccbf7a220c3380)
2007-10-10 13:50:54 -05:00
Jelmer Vernooij
78c50015bb r12694: Move some headers to the directory of the subsystem they belong to.
(This used to be commit c722f665c90103f3ed57621c460e32ad33e7a8a3)
2007-10-10 13:49:39 -05:00
Jelmer Vernooij
46aa296cc9 r12592: Remove some useless dependencies
(This used to be commit ca8db1a0cd77682ac2c6dc4718f5d753a4fcc4db)
2007-10-10 13:49:00 -05:00
Jelmer Vernooij
2cd5ca7d25 r12542: Move some more prototypes out to seperate headers
(This used to be commit 0aca5fd5130d980d07398f3291d294202aefe3c2)
2007-10-10 13:47:55 -05:00
Jelmer Vernooij
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 b24f2583edee38abafa58578d8b5c4b43e517def)
2007-10-10 13:47:45 -05:00
Jelmer Vernooij
ab31a44216 r12254: Add some (hopefully correct) descriptions for libraries that are installed.
Install pkg-config files.
(This used to be commit a86abe84e2cae7c6188c094a92c6b62aace02fdf)
2007-10-10 13:47:24 -05:00
Jelmer Vernooij
efe67458c1 r12216: Couple of small fixes: reduce include/includes.h a bit, simplify headers
in build/smb_build/, remove unused pstring macros
(This used to be commit 432296207400636dd81d0929ec7b1b4cebbcaa62)
2007-10-10 13:47:19 -05:00
Andrew Tridgell
cc6891f883 r11893: fixed a dependency problem
(This used to be commit 085bf952dc1b8861ac6fecf25c508594f9ddf454)
2007-10-10 13:46:42 -05:00
Andrew Tridgell
ac293f8534 r11662: the beginnings of a SMB2 client library. Very hackish, meant for experimentation
(This used to be commit 68422dc73f6ea51bf906f3db223ae8abf077aba1)
2007-10-10 13:46:09 -05:00
Andrew Tridgell
1c07c25322 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
(This used to be commit f8d43f1f67876360e1295d85a3c3702d1d60ed7b)
2007-10-10 13:45:56 -05:00
Jelmer Vernooij
93fd08168f 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).
(This used to be commit 0b54405685674a2b19a28d77aae5b1136b5a4728)
2007-10-10 13:45:28 -05:00
Volker Lendecke
134b2488c8 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
(This used to be commit 5718df44d90d113304c5deed1e2e7f82ff9e928f)
2007-10-10 13:45:27 -05:00
Jelmer Vernooij
8ee1ee66ed r11303: Support defining and installing public headers for libraries.
Support installing libraries.
Get rid of pkg-config file (will be autogenerated later on).
(This used to be commit b4745032a2c55752c527026feb221ccc3dce10c8)
2007-10-10 13:45:16 -05:00
Jelmer Vernooij
4c5a4a7e02 r11244: Relative path names in .mk files
(This used to be commit 24e10300906c380919d2d631bfb3b8fd6b3f54ba)
2007-10-10 13:45:06 -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
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
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
Stefan Metzmacher
1e05f9a00a r10081: - create a seperate WINSDB subsystem
- use LIBCLI_WREPL for the winsreplication client code
- fix some dependencies

metze
(This used to be commit 7dd931ee5ac1408da8d14d00f43d19473e06871e)
2007-10-10 13:37:51 -05:00
Tim Potter
76787d5da4 r9291: Add a stub for smb_raw_lpq() which is in smb_interfaces.h but doesn't
seem to be used anywhere yet.
(This used to be commit 9e5ce3a28892241e2b080c0fa187ee99042c2330)
2007-10-10 13:33:21 -05:00
Jelmer Vernooij
d0496a4ee6 r8825: Move list of object files to .mk file
(This used to be commit 604422b1f967733b009a6e93520cb196d1eb5a89)
2007-10-10 13:30:09 -05:00
Andrew Tridgell
b3383236a2 r8106: the use of a static string for dos error codes was causing problems in
the torture code. To fix this, get rid of dos_errstr() and instead
move the strings into the nt_errstr() table, using cpp to generate the
strings
(This used to be commit 3136ad9634f0a5ab46e4f83e093df87fdd36484d)
2007-10-10 13:19:08 -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
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
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
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
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
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
Andrew Tridgell
f06e39e308 r6321: added IDL and test suite for NBT dgram 'sam logon' request (sent by
clients when a user tries to login)
(This used to be commit 08ded62156b387457bc56b5910e1ddc813b375bd)
2007-10-10 13:11:31 -05:00
Andrew Tridgell
7c6c366150 r6223: added a bit more datagram infrastructure and the beginnings of a test
suite. The NBT-DGRAM test does a UDP/138 netlogon request, to which a
windows server sends a reply, but the windows server sends the reply
to the wrong port (it always sends to 138), so the test suite doesn't
see it.
(This used to be commit a7634625dbc944dd8256a822be290010f341a571)
2007-10-10 13:11:27 -05:00
Andrew Tridgell
769070d502 r6209: started added code to support mailslot requests over UDP/138
datagrams. This adds the IDL to parse mailslot packets, plus mailslot
dispatch and listener registration code.

mailslots are used for UDP/138 browse and netlogon packets
(This used to be commit f20e7e5200de736b3451d748ed716be638f93502)
2007-10-10 13:11:26 -05:00
Andrew Tridgell
6db5d09dba r6185: added LIBCLI_DGRAM to the list of libs to be built as part of LIBCLI
(This used to be commit 47e1452da08d06b0b9f15545b3b2b0631f15bac2)
2007-10-10 13:11:24 -05:00
Andrew Tridgell
a6878f6c6e r5414: - added libcli/wins/, a basic client library for WINS replication
- added a new IDL type "udlongr", which is like udlong, but with the
  two uint32 halves reversed

- modified the winsrepl.idl to cope with a wider range of packets
(This used to be commit bc8d60c918f2e268d591aac464fc6a78c38a4cf9)
2007-10-10 13:10:43 -05:00
Andrew Tridgell
b9bb7f596d r5294: - added a separate NBT-WINS test for WINS operations (register, refresh, release and query)
- change the iface_n_*() functions to return a "const char *" instead of a "struct ipv4_addr"
  I think that in general we should move towards "const char *" for
  all IP addresses, as this makes IPv6 much easier, and is also easier
  to debug. Andrew, when you get a chance, could you fix some of the
  auth code to use strings for IPs ?

- return a NTSTATUS error on bad name queries and node status instead
  of using rcode. This makes the calling code simpler.

- added low level name release code in libcli/nbt/

- use a real IP in the register and wins nbt torture tests, as w2k3
  WINS server silently rejects some operations that don't come from the
  IP being used (eg. it says "yes" to a release, but does not in fact
  release the name)
(This used to be commit bb1ab11d8e0ea0bd9ae34aebeb565d36fe4b495f)
2007-10-10 13:09:37 -05:00
Andrew Tridgell
66170ef8b3 r5185: make all the events data structures private to events.c. This will
make it possible to add optimisations to the events code such as
keeping the next timed event in a sorted list, and using epoll for
file descriptor events.

I also removed the loop events code, as it wasn't being used anywhere,
and changed timed events to always be one-shot (as adding a new timed
event in the event handler is so easy to do if needed)
(This used to be commit d7b4b6de51342a65bf46fce772d313f92f8d73d3)
2007-10-10 13:09:29 -05:00
Andrew Tridgell
2e953b967a r5121: added periodic name refresh requests for all our registered names, reporting any
name conflicts
(This used to be commit 69e6a1cd4bac665debb10601d1a3ddc0ae86e779)
2007-10-10 13:09:24 -05:00
Andrew Tridgell
5e6082b4b0 r5117: used a composite function to add 4 stage name registration. We send 3
broadcast name registration demands per name per interface at 1 second
intervals, then send a name overwrite request and demand. Any name
conflict replies are reported.
(This used to be commit d656fba6f1a2e9d8c03893741327e5fb59c5271e)
2007-10-10 13:09:24 -05:00
Andrew Tridgell
414f6c80b2 r5114: the nbtd task can now act as a basic B-node server. It registers its
names on the network and answers name queries. Lots of details are
still missing, but at least this now means you don't need a Samba3
nmbd to use Samba4.

missing pieces include:

 - name registrations should be "shout 3 times, then demand"

 - no WINS server yet

 - no master browser code
(This used to be commit d7d31fdc6670f026f96b50e51a4de19f0b920e5b)
2007-10-10 13:09:23 -05:00
Andrew Tridgell
99ecf2d953 r5053: - fix up the library dependencies so that tools that need nbt don't
need to pull in the whole dcerpc subsystem

- moved smbencrypt.c code into libcli/auth/
(This used to be commit 3351c636af23ad88649e84f4cb88fc1167d5c654)
2007-10-10 13:09:18 -05:00
Volker Lendecke
63ba8383e1 r4949: First version of a fetchfile composite function which connects to a server and
loads a file. Needs a smb url parsing wrapper.

Volker
(This used to be commit fa435bf7c878d4a5beb6afb2ed6e2990abc11e82)
2007-10-10 13:09:08 -05:00
Andrew Tridgell
b9a1e9a667 r4916: added "host" name resolution using fork() per gethostbyname()
comments welcome, but please think about the alternatives first :-)
(This used to be commit 3d40b479907226be349137117e0d2bd718efa1a8)
2007-10-10 13:09:05 -05:00
Andrew Tridgell
6f0aef31cd r4898: - removed the unused wins_srv_*() code
- expanded the generic async name resolver to try multiple methods

- added wins resolutions to the list of methods tried

- fixed up the random trn id generation to use the good random generator
(This used to be commit 266fd2751c01808e5a18d4094032af50554ceb7a)
2007-10-10 13:09:04 -05:00
Andrew Tridgell
2383787f19 r4891: - added a generic resolve_name() async interface in libcli/resolve/,
which will eventually try all resolution methods setup in smb.conf

 - only resolution backend at the moment is bcast, which does a
   parallel broadcast to all configured network interfaces, and takes
   the first reply that comes in (this nicely demonstrates how to do
   parallel requests using the async APIs)

 - converted all the existing code to use the new resolve_name() api

 - removed all the old nmb code (yay!)
(This used to be commit 239c310f255e43dd2d1c2433f666c9faaacbdce3)
2007-10-10 13:09:03 -05:00
Andrew Tridgell
ea923fb4a2 r4885: added a new NBT client library. Features include:
- structures defined using IDL in nbt.idl
 - build around our events structure, and talloc
 - fully async
 - supports all NBT packet fields as per rfc1002
 - easy interfaces for name query and status

For the moment there are just a couple of test functions in
namequery.c, test_name_query() and test_name_status(). These will be
removed when we hook the new library into libcli/ fully

The new library will also be a fairly good basis for a nbt
server. Although it can't be a server as-is, I wrote it with the needs
of a server in mind (for example, extremely scalable idtree based
packet handling)
(This used to be commit ae7e625bfa4b4a3ee32c64566064b6a4c84ee4b9)
2007-10-10 13:09:01 -05:00
Andrew Tridgell
7cbc768376 r4777: added a smb_composite_sesssetup() async composite function. This
encapsulates all the different session setup methods, including the
multi-pass spnego code.

I have hooked this into all the places that previously used the
RAW_SESSSETUP_GENERIC method, and have removed the old
RAW_SESSSETUP_GENERIC code from clisession.c and clitree.c. A nice
side effect is that these two modules are now very simple again, back
to being "raw" session setup handling, which was what was originally
intended.

I have also used this to replace the session setup code in the
smb_composite_connect() code, and used that to build a very simple
replacement for smbcli_tree_full_connection().

As a result, smbclient, smbtorture and all our other SMB connection
code now goes via these composite async functions. That should give
them a good workout!
(This used to be commit 080d0518bc7d6fd4bc3ef783e7d4d2e3275d0799)
2007-10-10 13:08:53 -05:00