summaryrefslogtreecommitdiff
path: root/source3/include
AgeCommit message (Collapse)AuthorFilesLines
2011-01-07s3-printing: Initiate pcap reload from parent smbdDavid Disseldorp2-0/+3
Since commit 7022554, smbds share a printcap cache (printer_list.tdb), therefore ordering of events between smbd processes is important when updating printcap cache information. Consider the following two process example: 1) smbd1 receives HUP or printcap cache time expiry 2) smbd1 checks whether pcap needs refresh, it does 3) smbd1 marks pcap as refreshed 4) smbd1 forks child1 to obtain cups printer info 5) smbd2 receives HUP or printcap cache time expiry 6) smbd2 checks whether pcap needs refresh, it does not (due to step 3) 7) smbd2 reloads printer shares prior to child1 completion (stale pcap) 8) child1 completion, pcap cache (printer_list.tdb) is updated by smbd1 9) smbd1 reloads printer shares based on new pcap information In this case both smbd1 and smbd2 are reliant on the pcap update performed on child1 completion. The prior commit "reload shares after pcap cache fill" ensures that smbd1 only reloads printer shares following pcap update, however smbd2 continues to present shares based on stale pcap data. This commit addresses the above problem by driving pcap cache and printer share updates from the parent smbd process. 1) smbd0 (parent) receives a HUP or printcap cache time expiry 2) smbd0 forks child0 to obtain cups printer info 3) child0 completion, pcap cache (printer_list.tdb) is updated by smbd0 4) smbd0 reloads printer shares 5) smbd0 notifies child smbds of pcap update via message_send_all() 6) child smbds read fresh pcap data and reload printer shares This architecture has the additional advantage that only a single process (the parent smbd) requests printer information from the printcap backend. Use time_mono in housekeeping functions As suggested by Björn Jacke.
2011-01-07s3-printing: reload shares after pcap cache fillDavid Disseldorp1-2/+5
Since commit eada8f8a, updates to the cups pcap cache are performed asynchronously - cups_cache_reload() forks a child process to request cups printer information and notify the parent smbd on completion. Currently printer shares are reloaded immediately following the call to cups_cache_reload(), this occurs prior to smbd receiving new cups pcap information from the child process. Such behaviour can result in stale print shares as outlined in bug 7836. This fix ensures print shares are only reloaded after new pcap data has been received. Pair-Programmed-With: Lars Müller <lars@samba.org>
2011-01-07s3: Make nmbd socket dir configurableVolker Lendecke1-0/+4
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Fri Jan 7 14:14:19 CET 2011 on sn-devel-104
2011-01-07s3: Remove some unused codeVolker Lendecke1-10/+0
2011-01-07s3: Make name_query use /tmp/.nmbd/unexpectedVolker Lendecke1-11/+14
2011-01-07s3: Make node_status_query use /tmp/.nmbd/unexpectedVolker Lendecke1-6/+12
2011-01-07s3: Add packet_trn_id()Volker Lendecke1-0/+1
2011-01-07s3: Basic infrastructure for /tmp/.nmbd/unexpectedVolker Lendecke1-0/+22
This provides the framework to replace the unexpected.tdb file. Nmbd will listen on /tmp/.nmbd/unexpected. A client interested in unexpected packets connects there. It sends a nb_packet_query plus a potential mailslot name for dgram packets. It waits for a single ack byte to avoid races. After that has happened, nmbd will pass down all matching packets through that socket. nb_packet_server_create and nb_packet_dispatch are the nmbd routines, nb_packet_reader_send/recv and nb_packet_read_send/recv are the client ones.
2011-01-02s3: Happy New Year 2011Stefan Metzmacher1-1/+1
metze
2010-12-29s3: Allow more control over smbsock_[any_]connectVolker Lendecke1-9/+22
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Dec 29 23:30:44 CET 2010 on sn-devel-104
2010-12-29Fix bug #7892 - open_file_fchmod() leaves a stale lock.Jeremy Allison1-2/+1
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Dec 29 02:15:23 CET 2010 on sn-devel-104
2010-12-28s3: Make name_query return NTSTATUSVolker Lendecke1-1/+3
Also use talloc for the result Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Dec 28 18:21:05 CET 2010 on sn-devel-104
2010-12-28s3: Make node_status_query return NTSTATUSVolker Lendecke1-5/+7
Also make the result talloc'ed Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Tue Dec 28 13:46:59 CET 2010 on sn-devel-104
2010-12-28s3: Remove an ancient typedefVolker Lendecke2-3/+3
2010-12-23All calls to event_add_to_select_args() call GetTimeOfDay() andJeremy Allison1-1/+0
pass this in as the &now parameter. Push this call inside of event_add_to_select_args() to the correct point so it doesn't get called unless needed. Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Thu Dec 23 01:08:11 CET 2010 on sn-devel-104
2010-12-22s3: Remove unused open_any_socket_outVolker Lendecke1-2/+0
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Dec 22 17:27:29 CET 2010 on sn-devel-104
2010-12-22s3: Add smbsock_any_connectVolker Lendecke1-0/+11
2010-12-22s3: Add an async smbsock_connectVolker Lendecke1-0/+11
This connects to 445 and after 5 milliseconds also to 139. It treats a netbios session setup failure as equivalent as a TCP connect failure. So if 139 is faster but fails the nb session setup, the 445 still has the chance to succeed.
2010-12-22s3: Add async cli_session_requestVolker Lendecke1-0/+7
This does not do the redirects, but I think that might be obsolete anyway
2010-12-22s3: Add some const to name_mangle()Volker Lendecke1-1/+1
2010-12-21My algorithm for determining whan an incoming sequence number can be allowed ↵Jeremy Allison1-0/+1
is incorrect. (I based it on the text in MS-SMB2, silly me :-). Fix it so incoming sequence numbers can range over the entire allowable bitmap range. This fixes a repeatable disconnect against Win7. Jeremy.
2010-12-21Keep track of the sparse status of an open file handle. Allows bypass ofJeremy Allison1-0/+1
strict allocation on sparse files. Files opened as POSIX opens are always sparse. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Tue Dec 21 04:12:22 CET 2010 on sn-devel-104
2010-12-21Added call out to a Linux-compatible fallocate() when we need to extend a fileJeremy Allison1-0/+1
allocation extent without changing end-of-file size. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Tue Dec 21 02:41:24 CET 2010 on sn-devel-104
2010-12-20From metze's work on sparse attributes. FILE_ATTRIBUTE_SPARSE is valid on ↵Jeremy Allison1-2/+1
get but not on set. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Dec 20 20:11:22 CET 2010 on sn-devel-104
2010-12-20s3: Remove unused "retry" from cli_start_connectionVolker Lendecke1-2/+1
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Mon Dec 20 17:58:33 CET 2010 on sn-devel-104
2010-12-20s3: Remove unused "retry" from cli_full_connectionVolker Lendecke1-2/+1
2010-12-19s3: netsamlogon_clear_cached_user only needs the SIDVolker Lendecke1-1/+1
2010-12-19s3: Reply correctly to FSCTL_IS_VOLUME_DIRTYVolker Lendecke1-0/+1
2010-12-18Rename vfs operation posix_fallocate to just fallocate and add the ↵Jeremy Allison3-9/+18
vfs_fallocate_mode parameter. It turns out we need the fallocate operations to be able to both allocate and extend filesize, and to allocate and not extend filesize, and posix_fallocate can only do the former. So by defining the vfs op as posix_fallocate we lose the opportunity to use any underlying syscalls (like Linux fallocate) that can do the latter as well. We don't currently use the non-extending filesize call, but now I've changed the vfs op definition we can in the future. For the moment simply map the fallocate op onto posix_fallocate for the VFS_FALLOCATE_EXTEND_SIZE case and return ENOSYS for the VFS_FALLOCATE_KEEP_SIZE case. Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Dec 18 08:59:27 CET 2010 on sn-devel-104
2010-12-17file_set_sparse needs to be a handle based call.Jeremy Allison1-1/+1
2010-12-17Update our attribute flags.Jeremy Allison1-1/+6
2010-12-17s3:smbd: add file_set_sparse() functionBjörn Jacke1-0/+3
this is based on a patch for 3.3 from metze
2010-12-15s3:rpc_client: let rpc_transport_tstream_init() create read and write queueStefan Metzmacher1-4/+2
metze
2010-12-15Implement "use sendfile = yes" for SMB2. (cherry picked from commit ↵Jeremy Allison1-0/+5
95cb7adcd03a1abbd0af395b6c96dd8e0eebd3d1) Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Dec 15 02:24:08 CET 2010 on sn-devel-104
2010-12-15Change interface of schedule_smb2_aio_read() to allocate the return DATA_BLOB.Jeremy Allison1-1/+2
Change smb2_read code to allocate return DATA_BLOB just before the read. Preparing for SMB2 sendfile change which will not need to allocate return buffer. Jeremy
2010-12-10Add a SMB2 crediting algorithm, by default the same as Windows. Defaults to ↵Jeremy Allison2-0/+6
128 credits. Jeremy.
2010-12-10s3-smbd Don't send SPNEGO principal (rfc4178 hint) by defaultAndrew Bartlett1-0/+1
This patch, based on the suggestion by Goldberg, Neil R. <ngoldber@mitre.org> turns off the sending of the principal in the negprot by default, matching Windows 2008 behaviour. This slowly works us back from this hack, which from an RFC perspective was never the right thing to do in the first place, but we traditionally follow windows behaviour. It also discourages client implmentations from relying on it, as if they do they are more open to man-in-the-middle attacks. Andrew Bartlett
2010-12-10s3-libads Default to NOT using the server-supplied principal from SPNEGOAndrew Bartlett1-0/+1
This principal is not supplied by later versions of windows, and using it opens up some oportunities for man in the middle attacks. (Becuase it isn't the name being contacted that is verified with the KDC). This adds the option 'client use spnego principal' to the smb.conf (as used in Samba4) to control this behaivour. As in Samba4, this defaults to false. Against 2008 servers, this will not change behaviour. Against earlier servers, it may cause a downgrade to NTLMSSP more often, in environments where server names are not registered with the KDC as servicePrincipalName values. Andrew Bartlett
2010-12-08libcli/auth bring ADS_IGNORE_PRINCIPAL in commonAndrew Bartlett1-2/+0
2010-12-03Merge the two conflicting allocation codes into one function, ↵Jeremy Allison1-0/+1
vfs_slow_fallocate() and use that from both the truncate and fill_sparse functions. Jeremy.
2010-12-02Move posix_fallocate into the VFS where it belongs.Jeremy Allison3-0/+19
Jeremy.
2010-11-30s3: Add cli_shadow_copy_dataVolker Lendecke1-0/+11
2010-11-28s3: Add gencache_iterate_blobsVolker Lendecke1-0/+3
2010-11-28s3: Add gencache_parseVolker Lendecke1-0/+4
2010-11-20Move the uglyness of #ifdef REALPATH_TAKES_NULL into the vfs_defaultJeremy Allison2-7/+8
module, change the signature of VFS_REALPATH to always return a malloc'ed string. Needed to make some privileges work I plan on doing shortly easier to code. Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sat Nov 20 02:15:50 CET 2010 on sn-devel-104
2010-11-17developer: only do the C++ reserved name checking on LinuxAndrew Tridgell1-1/+1
this prevents us breaking the solaris build, but will still mean we prevent C++ vars in our code
2010-11-14s3: Convert cli_get_posix_fs_info() to cli_trans()Volker Lendecke1-9/+9
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Sun Nov 14 10:24:02 UTC 2010 on sn-devel-104
2010-11-14Fix the unexpected.tdb database problem. Change nmbd to store theJeremy Allison1-0/+2
transaction id of packets it was requested to send via a client, and only store replies that match these ids. On the client side change clients to always attempt to ask nmbd first for name_query and node_status calls, and then fall back to doing socket calls if we can't talk to nmbd (either nmbd is not running, or we're not root and cannot open the messaging tdb's). Fix readers of unexpected.tdb to delete packets they've successfully read. This should fix a long standing problem of unexpected.tdb growing out of control in noisy NetBIOS envioronments with lots of bradcasts, yet still allow unprivileged client apps to work mostly as well as they already did (nmblookup for example) in an environment when nmbd isn't running. Jeremy. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Sun Nov 14 05:22:45 UTC 2010 on sn-devel-104
2010-11-11s3: Make cli_set_ea_fnum return NTSTATUSVolker Lendecke1-1/+3
Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Thu Nov 11 16:59:27 UTC 2010 on sn-devel-104
2010-11-11s3: Make cli_set_ea_path return NTSTATUSVolker Lendecke1-1/+3