| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
cause a notify)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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!
|
|
|
|
| |
sigprocmask()
|
| |
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
I had to modify sys_select() to not loop on EINTR. I added a wrapper
called sys_select_intr() which gives the old behaviour.
|
|
|
|
|
|
| |
stuff.
J.F.
|
| |
|
|
|
|
|
| |
modular form. In this pass I added oplock_irix.c and added a "struct
kernel_oplocks" that describes a kernel oplock implementation.
|
|
|
|
|
|
|
|
|
| |
modular form. In this pass I added oplock_irix.c and added a "struct
kernel_oplocks" that describes a kernel oplock implementation.
I also removed the maintainence mode from the Makefile. It was causing
too much trouble. If someone really likes it they can keep a patch
around to enable it themselves.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
| |
sincerely hope :-). Thanks elrond !
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
place to do this, not in smbd/passwd.c
Please don't change this without asking first, I have run this past
Andrew so talk to him (I'm on vacation next week).
I also removed the g_newXXX macros. There are essentially a private C extension,
not used anywhere else in the code, and add no functionality over malloc(XX)
and make the code harder to understand (everyone knows what malloc does).
Jeremy.
|
|
|
|
|
|
|
| |
and if you have unix realname=yes, you get the gecos name when locking the
station.
J.F.
|
|
|
|
| |
J.F.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
jeremy, the intent is to call se_access_check() with usr-sid, grp-sid,
array-of-group-rids (but array-of-group-sids would do).
please do look at smbd/lanman.c's api_NetWkstaGetInfo, it will show you
that we really do need to store the entire NET_USER_INFO_3 structure.
then again, api_NetWkstaGetInfo is only used by win9x so who cares :)
|
|
|
|
| |
so the same parser generator can be uses for cifs and rpc
|
|
|
|
| |
not just undercut work in progress, thank you.
|
|
|
|
|
|
| |
to make "printer driver file" a share parameter. This fits better with
the new NT printing subsystem.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there (yet)
as there is no infrastructure for it. Replaced it with a dynamic array
of group SIDs plus a user.
passdb/passdb.c: Added setup_user_sids() function. This is where the lookup should be done,
eventually calling winbind.
smbd/password.c: Changed to call setup_user_sids(). Removed spurious DEBUG(0) statements.
smbd/reply.c: Removed extra parameter to register_vuid().
Jeremy.
|
|
|
|
|
| |
module but none of Samba uses it directly. The macros are used instead
so the change is hidden. Good.
|
|
|
|
|
|
|
| |
the change that prevents 'insure' from becomming confused and issuing leak
reports. Some minor speed fixes. That sort of thing.
Chris -)-----
|
|
|
|
| |
register_vuid fills it with constructed info.
|
| |
|
| |
|
|
|
|
| |
- added autoconf test for HAVE_KERNEL_OPLOCKS_LINUX
|
|
|
|
|
| |
to prevent builkd breaking.
Jeremy.
|
|
|
|
| |
Jeremy.
|
|
|
|
|
|
| |
Removed ugly hack for NT printing.
Fixed up tdb parse stuff memory leaks.
Jeremy.
|
|
|
|
| |
Jeremy.
|
| |
|