summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | make protoTim Potter2000-06-161-403/+416
| |
* | Pass the vuid from the connection_struct to the printing back end functions.Tim Potter2000-06-161-1/+1
| |
* | Changed function prototype for pipe api functions to take a pipes_structTim Potter2000-06-161-1/+1
| | | | | | | | instead of two prs_data pointers.
* | Added some permission constants that are set for NT printer securityTim Potter2000-06-161-0/+7
| | | | | | | | | | descriptors. These seem to be made up of the standard and generic access rights rather than object specific access rights.
* | Call print_access_check() function from printing back end.Tim Potter2000-06-161-15/+45
| |
* | Added print_access_check() function for checking printer securityTim Potter2000-06-161-0/+71
| | | | | | | | | | descriptors. Currently returns True (plus debug output) which should not affect the behaviour of nt or lanman printing.
* | Pass the vuid from the connection_struct to the printing back end functions.Tim Potter2000-06-161-6/+6
| |
* | Simplified server pipe implementation by changing arguments passed downTim Potter2000-06-161-14/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | through to the individual pipe api calls. Instead of passing two prs_struct pointers, we now pass the pipes_struct pointer which contains the former information as well as other useful stuff like the vuid. Pass the vuid from the pipes_struct down to the lower level spoolss functions to perform security checks. ZERO_STRUCTP the info_2 structure before filling it. Free the device mode field before freeing the info_2 to avoid a memory leak. Fixed uninitialised pointer bug in fill_job_info_2().
* | Simplified server pipe implementation by changing arguments passed downTim Potter2000-06-161-40/+108
| | | | | | | | | | | | | | | | | | through to the individual pipe api calls. Instead of passing two prs_struct pointers, we now pass the pipes_struct pointer which contains the former information as well as other useful stuff like the vuid. Pass the vuid from the pipes_struct down to the lower level spoolss functions to perform security checks.
* | Simplified server pipe implementation by changing arguments passed downTim Potter2000-06-161-18/+29
| | | | | | | | | | | | | | | | | | through to the individual pipe api calls. Instead of passing two prs_struct pointers, we now pass the pipes_struct pointer which contains the former information as well as other useful stuff like the vuid. Removed dependency on extern current_user and fetch the vuid from the pipes_struct.
* | Simplified server pipe implementation by changing arguments passed downTim Potter2000-06-167-170/+259
| | | | | | | | | | | | through to the individual pipe api calls. Instead of passing two prs_struct pointers, we now pass the pipes_struct pointer which contains the former information as well as other useful stuff like the vuid.
* | support both read and write locks inside the tdbAndrew Tridgell2000-06-151-1/+6
| |
* | - use read locks when possibleAndrew Tridgell2000-06-151-42/+44
| | | | | | | | - don't use as many locks on a store
* | use the right MMAP flagAndrew Tridgell2000-06-151-1/+1
| |
* | open files with O_NONBLOCK when available. This is necessary toAndrew Tridgell2000-06-151-1/+6
| | | | | | | | | | | | | | prevent possible deadlocks with kernel leases and harmless when kernel leases are not used. basically we don't ever want smbd to block
* | added support for kernel level share modes. These are a (small) hack,Andrew Tridgell2000-06-156-132/+233
| | | | | | | | | | I suspect we will either get rid of them or do them properly at some stage.
* | add -d debuglevel optionAndrew Tridgell2000-06-151-1/+5
| |
* | Removed some debugs.Tim Potter2000-06-151-12/+0
| |
* | Added nsswitch/common.o to SMBD_OBJ1Tim Potter2000-06-141-1/+1
| |
* | Changed server side lsa_lookup_sids function to look up SIDs that we areTim Potter2000-06-141-28/+74
| | | | | | | | not authoritative for using winbindd.
* | #include nsswitch/winbind_nss.hTim Potter2000-06-141-0/+2
| |
* | Merge from TNG.Tim Potter2000-06-142-55/+157
| |
* | Merged parse_domain_user() from TNG.Tim Potter2000-06-141-0/+20
| |
* | allow the notify implementation to choose the select timeout changeAndrew Tridgell2000-06-147-17/+21
| |
* | fixed autoconf test for kernel change notify supportAndrew Tridgell2000-06-143-131/+203
| |
* | ZERO_STRUCT() of info3 structure before using it.Tim Potter2000-06-141-0/+2
| |
* | If I use nmblookup to search for node ZOOB#1B and there is no such nameChristopher R. Hertel2000-06-131-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | registered within the search space, nmblookup would report name_query failed to find name ZOOB I've changed it to report any non-zero type, so the above message becomes name_query failed to find name ZOOB#1B If the query is for ZOOB or even ZOOB#00 then the old style error message is given. Chris -)-----
* | Removed a patch that Andrew had added because 'insure' was incorrectlyChristopher R. Hertel2000-06-131-9/+0
| | | | | | | | | | reporting a memory leak in the cache module. I've modified the cache code to prevent insure getting confused, so the patch can now be removed.
* | proto updateAndrew Tridgell2000-06-131-1/+7
| |
* | argv parsing fixesAndrew Tridgell2000-06-131-2/+2
| |
* | allow for lots of connections per serverAndrew Tridgell2000-06-131-75/+76
| |
* | allow posix locking database to be opened read-only (for smbstatus)Andrew Tridgell2000-06-132-11/+11
| |
* | add some bracketsAndrew Tridgell2000-06-131-1/+1
| |
* | added -L switch to tell smbtorture to use oplocksAndrew Tridgell2000-06-132-4/+7
| |
* | use DN_ATTRIB kernel change notify attributeAndrew Tridgell2000-06-131-3/+7
| |
* | fixed the change notify bit definitionsAndrew Tridgell2000-06-131-1/+2
| |
* | always use the DN_CREATE mask (NT expects file creation always toAndrew Tridgell2000-06-131-8/+3
| | | | | | | | cause a notify)
* | forgot to checkin select.cAndrew Tridgell2000-06-131-0/+107
| |
* | Created manpage for wbinfo program.Tim Potter2000-06-136-101/+501
| | | | | | | | Misc documentation updates for winbindd manpage.
* | enable the Linux change notify code and change some notify debug codeAndrew Tridgell2000-06-124-16/+65
| |
* | totally rewrote the async signal, notification and oplock notificationAndrew Tridgell2000-06-1217-584/+698
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handling in Samba. This was needed due to several limitations and races in the previous code - as a side effect the new code is much cleaner :) in summary: - changed sys_select() to avoid a signal/select race condition. It is a rare race but once we have signals doing notification and oplocks it is important. - changed our main processing loop to take advantage of the new sys_select semantics - split the notify code into implementaion dependent and general parts. Added the following structure that defines an implementation: struct cnotify_fns { void * (*register_notify)(connection_struct *conn, char *path, uint32 flags); BOOL (*check_notify)(connection_struct *conn, uint16 vuid, char *path, uint32 flags, void *data, time_t t); void (*remove_notify)(void *data); }; then I wrote two implementations, one using hash/poll (like our old code) and the other using the new Linux kernel change notify. It should be easy to add other change notify implementations by creating a sructure of the above type. - fixed a bug in change notify where we were returning the wrong error code. - rewrote the core change notify code to be much simpler - moved to real-time signals for leases and change notify Amazingly, it all seems to work. I was very surprised!
* | fixed a bug in BlockSignals() for systems that don't haveAndrew Tridgell2000-06-121-4/+2
| | | | | | | | sigprocmask()
* | fixed comments at top of moduleAndrew Tridgell2000-06-121-2/+3
| |
* | split all the change notify code out into a separate moduleAndrew Tridgell2000-06-124-409/+439
| | | | | | | | | | | | | | | | smbd/notify.c. All the data structures are now private to that module. this is in preparation for Linux kernel support for change notify (coming soon to a CVS tree near you)
* | a better test for oplocks being enabled in this kernelAndrew Tridgell2000-06-111-1/+18
| |
* | fixed Linux capabilities handlingAndrew Tridgell2000-06-112-33/+39
| | | | | | | | | | | | I used a trick where CAP_LEASE isn't claimed until it is needed. This means we avoid a system call per setreuid(), and never call capset() unless a user tries to get a oplock on a file that they don't own
* | Linux kernel oplocks now seem to work, but need a _lot_ of testingAndrew Tridgell2000-06-1116-79/+166
| | | | | | | | | | I had to modify sys_select() to not loop on EINTR. I added a wrapper called sys_select_intr() which gives the old behaviour.
* | parsing code for reply[open|close]printer in preparation of the eventJean-François Micouleau2000-06-103-1/+126
| | | | | | | | | | | | stuff. J.F.
* | a first pass at Linux kernel oplocks supportAndrew Tridgell2000-06-106-26/+212
| |
* | continued the split of the kernel level oplocks code into a moreAndrew Tridgell2000-06-107-429/+436
| | | | | | | | | | modular form. In this pass I added oplock_irix.c and added a "struct kernel_oplocks" that describes a kernel oplock implementation.