summaryrefslogtreecommitdiff
path: root/source3
AgeCommit message (Collapse)AuthorFilesLines
2009-02-10Add queueing to np_read_state, simulate message-type named pipes.Volker Lendecke1-25/+100
The problem with msg-type pipes is that we have to return short reads when a message ends before the read request. When reading from the unix domain socket, the message limits are lost. So we would happily return more than a message, which confuses for example the s4 rpc client horribly. I'd expect other np rpc clients also to blow up over this. The real solution is to properly implement a two-byte length field per message on the unix domain socket, but this requires more changes there. And as we right now only serve DCE/RPC over the named pipes, this implements a hack that looks into the fragment headers to figure out hdr.frag_len.
2009-02-10Add read_pkt_send/recvVolker Lendecke2-0/+108
2009-02-10merged-build: pass PYTHON and PERL down to make test4Stefan Metzmacher1-1/+2
metze
2009-02-10s3-spoolss: remove old spoolss_OpenPrinter.Günther Deschner3-71/+0
Guenther
2009-02-10s3-spoolss: use pidl for _spoolss_OpenPrinter.Günther Deschner2-81/+20
Guenther
2009-02-10s3-spoolss: remove old spoolss_OpenPrinterEx.Günther Deschner5-288/+0
Guenther
2009-02-10s3-spoolss: use pidl for _spoolss_OpenPrinterEx.Günther Deschner2-68/+35
Guenther
2009-02-10s3-spoolss: remove old spoolss_SetJob.Günther Deschner4-115/+0
Guenther
2009-02-10s3-spoolss: use pidl for _spoolss_SetJob.Günther Deschner2-38/+9
Guenther
2009-02-10s3-spoolss: remove old spoolss_StartDocPrinter.Günther Deschner4-265/+0
Guenther
2009-02-10s3-spoolss: use pidl for _spoolss_StartDocPrinter.Günther Deschner2-52/+21
Guenther
2009-02-10s3-spoolss: add temporary convert_devicemode_new function.Günther Deschner1-0/+75
Guenther
2009-02-10s3-spoolss: use SPOOLSS_JOB_CONTROL bits defined in IDL.Günther Deschner2-11/+5
Guenther
2009-02-10s3-rpcclient: use rpccli_spoolss_openprinter_ex helper.Günther Deschner3-105/+96
Guenther
2009-02-10s3-rpcclient: add rpccli_spoolss_openprinter_ex() convenience wrapper.Günther Deschner2-0/+54
Guenther
2009-02-10s3-spoolss: fix memleak in get_remote_printer_publishing_data().Günther Deschner1-2/+8
Guenther
2009-02-09s3: OneFS bulk directory enumeration supportSteven Danneman6-21/+692
OneFS provides the bulk directory enumeration syscall readdirplus(). This syscall has the same semantics as the NFSv3 READDIRPLUS command, returning a batch of directory entries with prefetched stat information via one syscall. This commit wraps the readdirplus() call in the existing POSIX readdir/seekdir VFS interface. By default a batch of 128 directory entries are optimistically read from the kernel into a global cache, and fed to iterative calls of VFS_OP_READDIR. The global buffers could be avoided in the future by hanging connection specific buffers off the conn struct. Added new parameter "onefs:use readdirplus" which toggles usage of this code on or off.
2009-02-09s3: Added SMB_VFS_INIT_SEARCH_OP to initialize data at the beginning of SMB ↵Steven Danneman8-5/+53
search requests. By default this VFS call is a NOOP, but the onefs vfs module takes advantage of it to initialize direntry search caches at the beginning of each TRANS2_FIND_FIRST, TRANS2_FIND_NEXT, SMBffirst, SMBsearch, and SMBunique
2009-02-09Pass stat buffer down through all levels of VFS_READDIR wrappersSteven Danneman5-98/+106
* VFS_OP_READDIR can now provide stat information, take advantage of it if it's available * is_visible_file(): optimistically expect the provided stat buffer is already valid * dptr_ReadDirName(): refactor code for easier readability, functionality is the same
2009-02-09Add an optional SMB_STRUCT_SMB parameter to VFS_OP_READDIRSteven Danneman12-21/+63
* this allows VFS implementations that prefetch stat information on readdir to return it through one VFS call * backwards compatibility is maintained by passing in NULL * if the system readdir doesn't return stat info, the stat struct is set to invalid
2009-02-09s3 OneFS: Change ACLs to do a stat-only open before get/set_security_descriptorTim Prouty1-22/+4
This ensures that getting/stting a security descriptor does not contend an oplock. The correct access checks will be still be done in the kernel on the get/set rather than the open.
2009-02-09s3 OneFS: Add kernel oplocks implementationTim Prouty9-82/+996
A few functions in oplocks_onefs.c need to be accessed from the onefs vfs module. It would be ideal if oplocks were implemented at the vfs layer, but since they aren't yet, a new header is added to source3/include to make these functions available to the onefs vfs module. oplocks_onefs.o doesn't need to be linked into the onefs vfs module explicitly, since it is already linked into smbd by default.
2009-02-09s3 oplocks: Remove oplocks before handling delete on close semanticsTim Prouty1-4/+5
Unlinking a file while still holding an oplock can cause problems with kernel oplocks. This simply releases the oplock before actually unlinking the file.
2009-02-09s3 oplocks: Add capabilites flags field to the kernel_oplocks structTim Prouty4-2/+50
Here is a short description for each of the new capability flags: KOPLOCKS_LEVEL2_SUPPORTED: Level 2 oplocks are supported natively in the kernel. KOPLOCKS_DEFERRED_OPEN_NOTIFICATION: The kernel notifies deferred openers when they can retry the open. KOPLOCKS_TIMEOUT_NOTIFICATION: The kernel notifies smbds when an oplock break times out. KOPLOCKS_OPLOCK_BROKEN_NOTIFICATION: The kernel notifies smbds when an oplock is broken.
2009-02-09s3 oplocks: Make the level2 oplock contention API more granularTim Prouty11-39/+178
This replaces release_level2_oplocks_on_change with contend_level2_oplock_begin/end in order to contend level2 oplocks throughout an operation rather than just at the begining. This is necessary for some kernel oplock implementations, and also lays the groundwork for better correctness in Samba's standard level2 oplock handling. The next step for non-kernel oplocks is to add additional state to the share mode lock struct that prevents any new opens from granting oplocks while a contending operation is in progress. All operations that contend level 2 oplocks are now correctly spanned except for aio and synchronous writes. The two write paths both have non-trivial error paths that need extra care to get right. RAW-OPLOCK and the rest of 'make test' are still passing with this change.
2009-02-09s3 oplocks: Differentiate between releasing an oplock vs. downgrading to ↵Tim Prouty4-5/+5
Level 2 for kernel oplocks Pass in an extra argument when releasing an oplock so kernel oplock implementations can support downgrading from Level 1 to Level 2.
2009-02-09s3 vfs: Add a destructor to the fsp extension data APITim Prouty8-9/+20
I'm not certain if the dummy pointer is needed in struct vfs_fsp_data, but I added it to be consistent with the comment below.
2009-02-09S3: Various fixes for log2pcaphex utilitytodd stecher1-49/+113
2009-02-09s3 spoolss: arch needs to be set before it's passed to get_version_id.Tim Prouty1-3/+3
7717ad688099860fa0989ed3582435404fd6d4fa left arch unitialized. Guenther, please check.
2009-02-09Revert "s3:winbindd_user: create domain connection in winbindd_fill_pwent if ↵Michael Adam1-1/+1
necessary." This reverts commit 487f5e7b4768cfe9e511b0ba56f16c411e21f702. I was confused about the real meaning of find_domain_from_name_noinit() vs. find_domain_from_name(). We don't need the connection established here, just the domain struct which gets initialized by rescan_trusted_domains(). Sorry for the noise. Michael
2009-02-09s3-spoolss: remove old spoolss_ScheduleJob.Günther Deschner3-52/+0
Guenther
2009-02-09s3-spoolss: use pidl for _spoolss_ScheduleJob.Günther Deschner2-35/+6
Guenther
2009-02-09s3-spoolss: remove old spoolss_AddJob.Günther Deschner3-74/+0
Guenther
2009-02-09s3-spoolss: use pidl for _spoolss_AddJob.Günther Deschner2-44/+10
Guenther
2009-02-09s3 async: Fix the build on systems that have ETIMEDOUT but not ETIMETim Prouty1-4/+7
Fallback on EAGAIN
2009-02-09S3 OneFS: Add in Isilon specific performance counter moduletodd stecher3-1/+423
2009-02-09S3: New module interface for SMB message statistics gatheringtodd stecher18-39/+411
This changelist allows for the addition of custom performance monitoring modules through smb.conf. Entrypoints in the main message processing code have been added to capture the command, subop, ioctl, identity and message size statistics.
2009-02-09Attempt to fix the buildVolker Lendecke1-4/+4
2009-02-09s3-spoolss: remove old rpccli_spoolss_routerreplyprinter.Günther Deschner4-123/+0
Guenther
2009-02-09s3-spoolss: remove old spoolss_ReplyClosePrinter.Günther Deschner4-100/+0
Guenther
2009-02-09s3-spoolss: use rpccli_spoolss_ReplyClosePrinter.Günther Deschner1-5/+5
Guenther
2009-02-09s3-spoolss: remove old spoolss_AddPrintProcessor.Günther Deschner3-70/+0
Guenther
2009-02-09s3-spoolss: use pidl for _spoolss_AddPrintProcessor.Günther Deschner2-36/+17
Guenther
2009-02-09s3-rpcclient: remove a pointless fstring.Günther Deschner1-46/+29
Guenther
2009-02-09s3-rpcclient: use srv_name_slash instead of formating servername again and ↵Günther Deschner3-145/+62
again. Guenther
2009-02-09Revert "s3/s4: Move CONST_DISCARD into lib/util so it's available from s3 ↵Jelmer Vernooij1-0/+2
and s4" lib/util already has discard_const_p. This reverts commit 0cb430c22e9c0af2248fbc15ce97a4d760df189d.
2009-02-09s3-spoolss: move PRINTER_ENUM_ICONMASK to IDL.Günther Deschner1-1/+0
Guenther
2009-02-09s3-spoolss: use PRINTER_ENUM_NAME and remove double enum define.Günther Deschner2-2/+1
Guenther
2009-02-09s3-spoolss: remove PRINTER_CHANGE* flags now defined in IDL.Günther Deschner1-51/+0
Guenther
2009-02-09eliminate compiler warningsDerrell Lipman1-4/+7