Tim Potter [Sun, 31 Oct 2004 03:54:20 +0000 (03:54 +0000)]
r3401: Fix IDL for SetForm RPC.
Andrew Tridgell [Sun, 31 Oct 2004 03:26:30 +0000 (03:26 +0000)]
r3400: - allow callers to control the flags2 field in raw packets
- added testing of the FLAGS2_READ_PERMIT_EXECUTE bit in the ntdeny tests
Jelmer Vernooij [Sun, 31 Oct 2004 01:21:14 +0000 (01:21 +0000)]
r3397: Fix IDL for ComplexPing and SimplePing, including tests
Tim Potter [Sat, 30 Oct 2004 23:35:34 +0000 (23:35 +0000)]
r3396: Rename form_name -> formname. This time, check smbtorture builds before
committing. (-:
Andrew Tridgell [Sat, 30 Oct 2004 23:19:09 +0000 (23:19 +0000)]
r3395: added support for "string32" type, to fix the fixed width string
problem that tim found.
Andrew Bartlett [Sat, 30 Oct 2004 22:10:14 +0000 (22:10 +0000)]
r3394: Give the user a clue why we are blasting them with the usage brick.
Andrew Bartlett
Andrew Tridgell [Sat, 30 Oct 2004 11:53:36 +0000 (11:53 +0000)]
r3393: added test_rpc.sh. The idea is that this script will test all the
RPC-* tests that are expected to pass against Samba4. Currently only
RPC-SCHANNEL and RPC-ECHO are in that list, but as we get more working
this test will allow us to ensure that they stay working.
Andrew Tridgell [Sat, 30 Oct 2004 11:48:08 +0000 (11:48 +0000)]
r3392: fixed schannel over ncalrpc
Andrew Tridgell [Sat, 30 Oct 2004 11:37:17 +0000 (11:37 +0000)]
r3391: fixed some memory leaks in the schannel code
Andrew Tridgell [Sat, 30 Oct 2004 11:07:28 +0000 (11:07 +0000)]
r3390: fixed schannel server side support. RPC-SCHANNEL now works against Samba4.
Andrew Tridgell [Sat, 30 Oct 2004 10:51:18 +0000 (10:51 +0000)]
r3389: fixed schannel client side code. RPC-SCHANNEL now works against w2k3
again. The problem was that the sig_size method didn't get added in
the gensec conversion.
Andrew Tridgell [Sat, 30 Oct 2004 09:23:39 +0000 (09:23 +0000)]
r3388: when doing schannel use a anonymous session setup (as the machine acct
isn't allowed to login on a share)
Andrew Tridgell [Sat, 30 Oct 2004 05:53:56 +0000 (05:53 +0000)]
r3387: fixed pvfs to pass the NTDENY tests. The tricky bit was
SA_RIGHT_FILE_EXECUTE, which depends on a flags2 bit
Andrew Tridgell [Sat, 30 Oct 2004 04:59:52 +0000 (04:59 +0000)]
r3386: - fixed --seed option in smbtorture
- added new tests BASE-NTDENY1 and BASE-NTDENY2. These are the
ntcreatex equivalents of the BASE-DENY1 and BASE-DENY2
tests. Unfortunately, with ntcreatex there are 4 million combination
and trying each one takes 1 second, so randomised testing is the
only choice. The BASE-DENY1 test can operate in parallel with
hundreds of connections, speeding things up a bit (as most time is
spent waiting 1 second for a sharing violation to come back)
Andrew Tridgell [Sat, 30 Oct 2004 04:56:27 +0000 (04:56 +0000)]
r3385: when discarding a unmatched reply print the command type to help debugging
Andrew Tridgell [Sat, 30 Oct 2004 04:55:45 +0000 (04:55 +0000)]
r3384: added SA_RIGHT_FILE_WRITE_APPEND, which is a combination of write and append
Andrew Tridgell [Sat, 30 Oct 2004 02:17:03 +0000 (02:17 +0000)]
r3383: avoid multi-part SMBtrans and SMBtrans2 replies until our client library can handle
them properly (they are difficult to do in an async fashion).
By choosing trans.in.max_data to fix in the negotiated buffer size a
server won't send us multi-part replies.
I notice that windows seems to avoid them too :)
Andrew Tridgell [Sat, 30 Oct 2004 01:22:52 +0000 (01:22 +0000)]
r3380: - changed the default behaviour of server signing. We now have a default
setting of "server signing = auto", which means to offer signing
only if we have domain logons enabled (ie. we are a DC). This is a
better match for what windows clients want, as unfortunately windows
clients always use signing if it is offered, and when they use signing
they not only go slower because of the signing itself, they also
disable large readx/writex support, so they end up sending very small
IOs for.
- changed the default max xmit again, this time matching longhorn,
which uses 12288. That seems to be a fairly good compromise value.
Andrew Tridgell [Fri, 29 Oct 2004 21:55:06 +0000 (21:55 +0000)]
r3375: changed the default max xmit until I fix a problem with the SMBtrans multi-part code
A higher max xmit avoids multi-part trans requests
Jelmer Vernooij [Fri, 29 Oct 2004 21:53:42 +0000 (21:53 +0000)]
r3374: Couple of bug fixes
Andrew Tridgell [Fri, 29 Oct 2004 21:52:49 +0000 (21:52 +0000)]
r3373: added better error reporting in pvfs_open
Andrew Tridgell [Fri, 29 Oct 2004 21:51:36 +0000 (21:51 +0000)]
r3372: fixed the initial directory permissions for pvfs_mkdir()
Andrew Tridgell [Fri, 29 Oct 2004 21:51:00 +0000 (21:51 +0000)]
r3371: fixed endpoint for browser.idl
Jelmer Vernooij [Fri, 29 Oct 2004 14:53:23 +0000 (14:53 +0000)]
r3370: Initial work on Add Key/Delete Key/Add Value/Mod Value/Del Value support in
gregedit
Jelmer Vernooij [Fri, 29 Oct 2004 13:38:37 +0000 (13:38 +0000)]
r3369: More registry updates
We now pass the RPC-WINREG torture test.
Also, constructions like the following work now:
regtree <-> smbd <-> NTUSER.DAT
Jelmer Vernooij [Fri, 29 Oct 2004 12:12:24 +0000 (12:12 +0000)]
r3368: Default to rpc backend with binding "ncalrpc:" if no backend was specified in the various registry tools.
Allow opening a remote registry to partly fail (I.e. if not all hives could be opened)
Jelmer Vernooij [Fri, 29 Oct 2004 11:44:59 +0000 (11:44 +0000)]
r3367: More registry updates.
Add support flush_key and close_hive.
Andrew Tridgell [Fri, 29 Oct 2004 11:39:08 +0000 (11:39 +0000)]
r3366: updates from the junkcode version of talloc.
The main change is to get rid of talloc_parent_chunk() from all
commonly used code paths, so talloc_free() is now O(1) again. It was
originally O(1), but the last round of changes broke that.
Also some documentation updates
Andrew Bartlett [Fri, 29 Oct 2004 09:58:23 +0000 (09:58 +0000)]
r3365: Fill in the user and primary group SIDs into the 'server info' before
the session info.
Andrew Bartlett
Andrew Bartlett [Fri, 29 Oct 2004 09:57:31 +0000 (09:57 +0000)]
r3364: Add parameter to fix the compile.
Andrew Bartlett
Andrew Tridgell [Fri, 29 Oct 2004 09:28:35 +0000 (09:28 +0000)]
r3363: added basic support for SA_RIGHT_FILE_EXECUTE, needed for opening .dll files
Andrew Bartlett [Fri, 29 Oct 2004 09:19:54 +0000 (09:19 +0000)]
r3362: Change netlogon.idl so we can parse the 'info3' seperate from it's surroundings, and rename user_id -> rid, as it could be a user or group id.
Andrew Bartlett
Andrew Bartlett
Andrew Bartlett [Fri, 29 Oct 2004 09:15:41 +0000 (09:15 +0000)]
r3361: Allow Samba4 (I'm interested in ntlm_auth in particular) to use
Samba3's winbind. This is also the start of domain membership code in
Samba4, as we now (partially) parse the info3, and use it like Samba3
does.
Andrew Bartlett
Andrew Tridgell [Fri, 29 Oct 2004 08:38:59 +0000 (08:38 +0000)]
r3360: improved the deletion of tmp files. smbd now puts all tmp files in var/locks/smbd.tmp/
and deletes that dir on startup.
Andrew Bartlett [Fri, 29 Oct 2004 08:32:59 +0000 (08:32 +0000)]
r3359: Add magic auto-initialisation hooks here, to match the rest of
secrets. (Which will, I am assured, go away).
Andrew Bartlett
Andrew Bartlett [Fri, 29 Oct 2004 08:31:27 +0000 (08:31 +0000)]
r3358: Try to put all the basic struct dom_sid manipulation functions in one
place. (I always have trouble finding one half or the other).
Andrew Bartlett
Andrew Tridgell [Fri, 29 Oct 2004 07:29:26 +0000 (07:29 +0000)]
r3357: removed the need to use TDB_CLEAR_IF_FIRST in Samba4.
We found a few months ago that TDB_CLEAR_IF_FIRST is extremely
inefficient for large numbers of connections, due to a fundamental
limitation in the way posix byte range locking is implemented. Rather
than the nasty workaround we had for Samba3, we now have a single
"cleanup tmp files" function that runs when smbd starts. That deletes
the tmp tdbs, so TDB_CLEAR_IF_FIRST is not needed at all.
Andrew Tridgell [Fri, 29 Oct 2004 07:00:14 +0000 (07:00 +0000)]
r3356: in the standard process model we need to make sure we close all
listening sockets after the fork to prevent the child still listening
on incoming requests.
I have also added an optimisation where we use dup()/close() to lower
the file descriptor number of the new socket to the lowest possible
after closing our listening sockets. This keeps the max fd num passed
to select() low, which makes a difference to the speed of select().
Andrew Tridgell [Fri, 29 Oct 2004 06:01:51 +0000 (06:01 +0000)]
r3355: fixed the old style search code in smb_server to correctly handle
searches that go beyond the negotiated max xmit size
Andrew Tridgell [Fri, 29 Oct 2004 06:01:00 +0000 (06:01 +0000)]
r3354: honor "max xmit" and "max mux" from smb.conf in our client code. This
is important as it allows the test suite to exercise the multiple
reply logic in smbd for trans2 search replies.
Andrew Tridgell [Fri, 29 Oct 2004 05:58:22 +0000 (05:58 +0000)]
r3353: don't reference dos.attrib unless its initialised
Andrew Tridgell [Fri, 29 Oct 2004 05:31:35 +0000 (05:31 +0000)]
r3352: make smbcli_read() and smbcli_write() work with very small negotiated SMB buffer sizes
Andrew Tridgell [Fri, 29 Oct 2004 04:43:28 +0000 (04:43 +0000)]
r3351: handle far more operations on open directory handles. pvfs was failing
with a wxp client because of qfileinfo operations on directories
failing with NT_STATUS_INVALID_HANDLE after the fstat() failed (as
pvfs sets f->fd to -1 for directories)
Andrew Tridgell [Fri, 29 Oct 2004 03:48:49 +0000 (03:48 +0000)]
r3350: fixed a bug with sending multiple replies for the one request, as
happens with trans2, trans and echo. Now that smbd is async we queue
the multiples replies all at once, and now need a way to ensure each
reply gets it own smbsrv_request buffer. I have added
req_setup_secondary() to cope with this.
Andrew Tridgell [Fri, 29 Oct 2004 01:22:47 +0000 (01:22 +0000)]
r3349: fixed more uninitialised variable problems with the nbench module
Jelmer Vernooij [Fri, 29 Oct 2004 01:10:40 +0000 (01:10 +0000)]
r3348: More registry fixes and additions. The following functions work right now against samba 4, at least with a ldb backend:
winreg_Open*
winreg_OpenKey
winreg_EnumKey
winreg_DeleteKey
winreg_CreateKey
Andrew Tridgell [Fri, 29 Oct 2004 01:07:07 +0000 (01:07 +0000)]
r3347: fixed an uninitialised variable bug. Surprisingly hard to track down,
as valgrind got a corrupt stack when trying to debug it.
Andrew Tridgell [Fri, 29 Oct 2004 00:51:41 +0000 (00:51 +0000)]
r3346: - simplified vfs_nbench.c a bit, by using req->async_state->ntvfs inside
nbench_log() instead of declaring nprivates every time.
- added correct async_setup pass-thru in nbench
Andrew Tridgell [Thu, 28 Oct 2004 23:09:40 +0000 (23:09 +0000)]
r3341: - don't zero the async structure (makes valgrind more useful)
- get rid of req->mid, as it isn't a safe value to use to match
requests in the server (it is safe in the client code, as we choose
the mid, but in the server we can't rely on other clients to choose
the mid carefully)
Jelmer Vernooij [Thu, 28 Oct 2004 23:06:12 +0000 (23:06 +0000)]
r3340: Various fixes in the registry code. Implement the EnumKey call
in the server.
Jelmer Vernooij [Thu, 28 Oct 2004 22:38:27 +0000 (22:38 +0000)]
r3338: More work on the winreg RPC server. Opening hives is now supported, most other calls
return WERR_NOT_SUPPORTED for now.
Hive backends can be set like this:
registry:HKEY_LOCAL_MACHINE = ldb:tdb://registry.tdb
registry:HKEY_CURRENT_USER = gconf
registry:HKEY_USERS = dir:/tmp/registry
registry:HKEY_CLASSES_ROOT = nt4:/path/to/NTUSER.DAT
registry:HKEY_PERFORMANCE_DATA = w95:/path/to/USER.DAT
Stefan Metzmacher [Thu, 28 Oct 2004 22:18:52 +0000 (22:18 +0000)]
r3337: remove debug code and reanable the reall logging:-)
metze
Stefan Metzmacher [Thu, 28 Oct 2004 21:48:53 +0000 (21:48 +0000)]
r3336: use a struct ntvfs_async_state to be able to do async chaning of ntvfs modules
the idea is that a passthru module can use ntvfs_async_state_push() before
calling ntvfs_next_*() and in the _send function it calls
ntvfs_async_state_pop() and then call the upper layer send_fn itself
- ntvfs_nbench is now fully async
- the ntvfs_map_*() functions and the trans(2) mapping functions are not converted yet
metze
Andrew Tridgell [Thu, 28 Oct 2004 21:47:10 +0000 (21:47 +0000)]
r3335: better configure support for ipv6 - thanks to a quick tutorial from metze
Jelmer Vernooij [Thu, 28 Oct 2004 21:41:21 +0000 (21:41 +0000)]
r3334: Allow disabling IPv6 support using socket:noipv6
Andrew Tridgell [Thu, 28 Oct 2004 21:36:27 +0000 (21:36 +0000)]
r3333: added configure tests for ipv6 support
Jelmer Vernooij [Thu, 28 Oct 2004 21:24:29 +0000 (21:24 +0000)]
r3332: Check result codes in some more places...
Jelmer Vernooij [Thu, 28 Oct 2004 21:00:38 +0000 (21:00 +0000)]
r3331: Add string descriptions for a couple more WERROR's
Jelmer Vernooij [Thu, 28 Oct 2004 19:14:26 +0000 (19:14 +0000)]
r3330: Use IPv6 for RPC client connections if we can
Jelmer Vernooij [Thu, 28 Oct 2004 18:57:48 +0000 (18:57 +0000)]
r3329: Add support for IPv6
Andrew Tridgell [Thu, 28 Oct 2004 13:51:41 +0000 (13:51 +0000)]
r3327: fixed another warning
we're now down the the last few warnings. Most are enum warnings
caused by unfinished code (unhandled enum levels). If you want to get
rid of those then work on finishing that code.
Andrew Tridgell [Thu, 28 Oct 2004 13:41:35 +0000 (13:41 +0000)]
r3325: missed one of the torture changes ...
Andrew Tridgell [Thu, 28 Oct 2004 13:40:50 +0000 (13:40 +0000)]
r3324: made the smbtorture code completely warning free
Andrew Tridgell [Thu, 28 Oct 2004 13:19:39 +0000 (13:19 +0000)]
r3323: more warning reductions
Andrew Tridgell [Thu, 28 Oct 2004 12:46:59 +0000 (12:46 +0000)]
r3322: fixed a bunch of warnings in the build, including one case where it was a real bug
Andrew Tridgell [Thu, 28 Oct 2004 11:59:48 +0000 (11:59 +0000)]
r3321: make the test_echo.sh test suite test non-blocking on all rpc transports
this test now passes
Andrew Tridgell [Thu, 28 Oct 2004 11:59:03 +0000 (11:59 +0000)]
r3320: fixed bugs in the rpc_server code in handling partial packet receives and sends
it now passes the non-blocking test suite
Andrew Tridgell [Thu, 28 Oct 2004 11:58:09 +0000 (11:58 +0000)]
r3319: fixed a bug in the client library found by the new non-block testing code
Andrew Tridgell [Thu, 28 Oct 2004 11:57:20 +0000 (11:57 +0000)]
r3318: generate random STATUS_MORE_ENTRIES errors (1 in 10 packets) as well
as randomly short recv/send when socket:testnonblock is enabled
Volker Lendecke [Thu, 28 Oct 2004 08:37:46 +0000 (08:37 +0000)]
r3317: Fix the build
Andrew Tridgell [Thu, 28 Oct 2004 08:36:23 +0000 (08:36 +0000)]
r3316: give the LDAP server a chance of operating correctly non-blocking (it
didn't handle EINTR or EAGAIN)
Andrew Tridgell [Thu, 28 Oct 2004 08:15:12 +0000 (08:15 +0000)]
r3315: converted the libcli/raw/ code to use the generic socket library. This
allows me to test with the socket:testnonblock option. It passes.
Andrew Tridgell [Thu, 28 Oct 2004 07:55:33 +0000 (07:55 +0000)]
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.
Andrew Tridgell [Thu, 28 Oct 2004 07:34:11 +0000 (07:34 +0000)]
r3313: in socket_accept() make the new socket non-blocking unless SOCKET_FLAG_BLOCK is set.
Andrew Tridgell [Thu, 28 Oct 2004 06:45:28 +0000 (06:45 +0000)]
r3312: in the brlock code, we prevent lock stampedes by attempting to not
wakeup all pending locks at once. This change means that we only
trigger this anti-stampede code for write locks, as for pending read
locks the correct behaviour is to stampede (as they will all succeed)
Tim Potter [Thu, 28 Oct 2004 06:17:38 +0000 (06:17 +0000)]
r3311: Consistency updates for form name members.
Add tests for EnumForms, GetForm, AddForm, DeleteForm.
Tim Potter [Thu, 28 Oct 2004 06:16:32 +0000 (06:16 +0000)]
r3310: Update dependencies for swig wrappers.
Tim Potter [Thu, 28 Oct 2004 06:14:10 +0000 (06:14 +0000)]
r3309: Add wrapper for dcerpc_server_name() function.
Tim Potter [Thu, 28 Oct 2004 06:13:42 +0000 (06:13 +0000)]
r3308: Handle servers that don't have samr_Connect5.
Andrew Tridgell [Thu, 28 Oct 2004 05:09:42 +0000 (05:09 +0000)]
r3307: fixed the send side of the smb_server code to be non-blocking. This
means the whole of the SMB handling code is now non-blocking.
Andrew Tridgell [Thu, 28 Oct 2004 04:36:12 +0000 (04:36 +0000)]
r3306: the main smb server code now handles non-blocking socket receives. I
haven't marked the socket non-blocking yet as I haven't checked that
the send path is OK for non-blocking.
Andrew Tridgell [Thu, 28 Oct 2004 04:01:45 +0000 (04:01 +0000)]
r3305: added ncalrpc to the list of rpc transports tested by test_echo.sh, so
it gets regularly tested when I make changes.
Andrew Tridgell [Thu, 28 Oct 2004 04:00:43 +0000 (04:00 +0000)]
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.
Tim Potter [Thu, 28 Oct 2004 03:58:17 +0000 (03:58 +0000)]
r3303: Call pull function for correct type instead of spoolss_PrinterInfo when
unmarshalling arrays.
Tim Potter [Thu, 28 Oct 2004 03:40:35 +0000 (03:40 +0000)]
r3302: The security descriptors in spoolss_PrinterInfo2 and spoolss_PrinterInfo3
need to be marked as subcontext(0).
GetPrinter tests now work for all info levels!
Jelmer Vernooij [Wed, 27 Oct 2004 22:41:14 +0000 (22:41 +0000)]
r3301: Simplify code
Andrew Tridgell [Wed, 27 Oct 2004 21:29:55 +0000 (21:29 +0000)]
r3300: initialise *sendlen on failure, to allow for callers to check only for
NT_STATUS_IS_ERR()
Jeremy Allison [Wed, 27 Oct 2004 17:40:41 +0000 (17:40 +0000)]
r3295: Fix for SMB signing with 56-bit DES session keys. From Nalin Dahyabhai <nalin@redhat.com>.
Jeremy.
Stefan Metzmacher [Wed, 27 Oct 2004 15:40:19 +0000 (15:40 +0000)]
r3291: fix the build, thx to pipitas for finding this
metze
Stefan Metzmacher [Wed, 27 Oct 2004 13:38:30 +0000 (13:38 +0000)]
r3290: allow SID_ANONYMOUS ( "S-1-5-7" ) to be the users sid
metze
Stefan Metzmacher [Wed, 27 Oct 2004 12:59:41 +0000 (12:59 +0000)]
r3289: Mr. L. and Mr. B.!
can we decide to not break WinXP clients:-)
metze
Andrew Tridgell [Wed, 27 Oct 2004 08:36:51 +0000 (08:36 +0000)]
r3288: - updated the path processing in pvfs to pass the RAW-CHKPATH test. This
rather extensive test reveals some really bizarre error code
handling in w2k3.
- extended and simplified the RAW-CHKPATH test, making it easier to
read (note that Samba3 fails the new tests - jra may wish to look)
- marked RAW-CHKPATH as pass for pvfs
Tim Potter [Wed, 27 Oct 2004 07:45:52 +0000 (07:45 +0000)]
r3287: The devicename and formname fields in a device mode are fixed length
strings. Not sure how to write this as idl which maps to a char * but
at least devicemodes can be pulled off the wire sucessfully.
Andrew Tridgell [Wed, 27 Oct 2004 05:30:29 +0000 (05:30 +0000)]
r3286: filled in more missing SV_TYPE_* defines
Andrew Tridgell [Wed, 27 Oct 2004 05:22:10 +0000 (05:22 +0000)]
r3285: fixed another IDL typo
Andrew Tridgell [Wed, 27 Oct 2004 05:20:00 +0000 (05:20 +0000)]
r3284: - don't use a enum for bit-fields. It isn't legal C (as C is limited to
signed integer values for enum), and it is also very confusing to read.
Also, please align defines nicely. The value of SV_TYPE_DOMAIN_ENUM
was defined incorrectly, which became obvious when you align the
defines, but wasn't at all obvious in the original code.
- removed redundent defines in smb.h
Andrew Tridgell [Wed, 27 Oct 2004 04:48:41 +0000 (04:48 +0000)]
r3283: converted to quoted uuid() defines in all our IDL. This should help
the build on systems like solaris with the SunPRO compiler
Andrew Tridgell [Wed, 27 Oct 2004 04:43:01 +0000 (04:43 +0000)]
r3282: some C pre-processors don't like expressions like
uuid(
1ff70682-0a51-30e8-076d-
740be8cee98b) so we now accept
uuid("
1ff70682-0a51-30e8-076d-
740be8cee98b") in pidl, and
automagically add quotes only if needed
Andrew Tridgell [Wed, 27 Oct 2004 04:33:36 +0000 (04:33 +0000)]
r3281: some compilers can't handle empty structures, so for empty IDL
structures generate a single _empty_ element in the header
Andrew Tridgell [Wed, 27 Oct 2004 03:50:52 +0000 (03:50 +0000)]
r3280: fixed byte order of rhs IP