Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit c6be511fcc1be79619a0184f03d4c33dbfe12f04)
|
|
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!
(This used to be commit 44766c39e0027c762bee8b33b12c621c109a3267)
|
|
(This used to be commit 02577ab7d275dfb49e104f3358cb3caa66b3b09e)
|
|
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)
(This used to be commit 1bb0aad4f66dbfa2d0f767ea90f926affff20b17)
|
|
(This used to be commit cc0e919fdcb116c8f9688a4f5d7803fc8d7f9588)
|
|
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
(This used to be commit afa98d511f70f455d599c3a36dd25e49fe74ac09)
|
|
I had to modify sys_select() to not loop on EINTR. I added a wrapper
called sys_select_intr() which gives the old behaviour.
(This used to be commit b28cc4163bc2faaa80c5782fc02c8f03c410cdeb)
|
|
(This used to be commit 3253085d9883a181c04b9c9ecf7d0ccdfbcee88d)
|
|
modular form. In this pass I added oplock_irix.c and added a "struct
kernel_oplocks" that describes a kernel oplock implementation.
(This used to be commit b5ceab810292602ea9a81696c20a781c16b706c2)
|
|
Jeremy.
(This used to be commit cc447fbe3cd77d57e18c3d1dff94a95d6032c311)
|
|
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.
(This used to be commit e1b1b6fb6794ba02e1fea510a981fa0ce0d12b58)
|
|
(This used to be commit 70dcc791b45ac64fc536ef449e4e6b53b2b68fd4)
|
|
(This used to be commit 6b888d600d95e2595c3f79494edcc55e88e2980d)
|
|
(This used to be commit 2f056c2aadd2e16d89b66aabd1c166ab8d5abd76)
|
|
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 :)
(This used to be commit bd34f652390adc32c4959d164c628687f526d977)
|
|
not just undercut work in progress, thank you.
(This used to be commit 86d440a88c948727bfcfedc694c52c58f9687d8b)
|
|
to make "printer driver file" a share parameter. This fits better with
the new NT printing subsystem.
Jeremy.
(This used to be commit 7afb68461f3938a647a6c48689293af8ed36ccb7)
|
|
Jeremy.
(This used to be commit b0242080fe464e71815431559fe54d109e0b92f2)
|
|
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.
(This used to be commit 425f4ad9a5e0e7d49620276100ade7a0cae47011)
|
|
register_vuid fills it with constructed info.
(This used to be commit b1889e4334012b1b2caa604b859da4271509fc87)
|
|
- added autoconf test for HAVE_KERNEL_OPLOCKS_LINUX
(This used to be commit 0368f68529a9244663c199068e95d1a1d93152fa)
|
|
Jeremy.
(This used to be commit 341d07c516865bdd9be99f98cd0754d12b25f9c0)
|
|
Removed ugly hack for NT printing.
Fixed up tdb parse stuff memory leaks.
Jeremy.
(This used to be commit 8ef41f31c53e14ad057d883810a1cd2301fede2a)
|
|
(This used to be commit f890bcf06786e7c63bf76fad2fd46d287a99a270)
|
|
rpc_server/srv_spoolss_nt.c: Fixed more memory leaks.
smbd/nttrans.c: Fixed shadow variable problem.
Jeremy.
(This used to be commit f0a7540831181d3a47e7f8ce8be55a36a2f2aba1)
|
|
passdb/smbpass.c: Insure uninitialized memory reference fix.
printing/nt_printing.c:
rpc_server/srv_spoolss_nt.c: Insure memory leak fixes.
smbd/unix_acls.c: Shadow ref fix.
Jeremy.
(This used to be commit d175d3ebefc053e9badd91ca5f2d8bd03eb6705d)
|
|
Added patches for random -> sys_random.
Added set_effective_xxx patches for AFS code.
Memory allocation changes in spoolss code.
Jeremy.
(This used to be commit c2099cfb033c2cdb6035f4f7f50ce21b98e1584d)
|
|
Jeremy.
(This used to be commit 4534eae405f952d4b93e445571fc487e66a7541b)
|
|
Jeremy.
(This used to be commit f09c53f6b15e96ab1d306c044cbdcd086006c977)
|
|
Jeremy.
(This used to be commit 400263245b4e5344b496c5de52a659f040206798)
|
|
(This used to be commit f9077e50cba5c7c3e6cf7739888120d8cc757c7c)
|
|
(This used to be commit 9805e17cd0ce427c329a8b5a8318d5f75227e283)
|
|
(This used to be commit 06cd46b0ec10b32af54edd8256d2fdbec45e1371)
|
|
Fixed trans2 calls on IPC$ to let dfs referral calls through.
(This used to be commit e0965a80bdca5239886b11ef55dc29fed261bfc0)
|
|
(This used to be commit 8dea95e62c7f4723cd4b71c1b03c613386392c49)
|
|
trans2 open calls as we don't have the pipe open response coded up yet.
Jeremy.
(This used to be commit 8142e27c9c32aba5a7dabc48a676b93cf680151b)
|
|
Return correct error codes on invalid share name.
Jeremy.
(This used to be commit 420d6bc4809cef9d74354175d0fa956ab4e8ac3c)
|
|
on the samba server.
(This used to be commit 15e7d8f6c5cddf6ce409ee2505744250d181ec34)
|
|
servers. Very intuitive.
Removed the dfs map parsing code and tdb maintenance code (files
msdfs/parse_dfs_map.c & msdfs/msdfs_tdb.c), dfs map loading and unloading
calls (param/loadparm.c smbd/server.c).
Added code to display msdfs format symlinks as directories in a
transact2_findfirst/findnext. (smbd/trans2.c)
Modified msdfs/msdfs.c to use the msdfs symlinks to
create dfs referrals.
Changed msdfs/README to reflect new operability.
(This used to be commit 6803d2574fab9e5931786d5c9aa5dc5867bb5f05)
|
|
rpc_server/srv_pipe.c: Use accessor functions rather than diddling with structure
internals directly.
smbd/process.c:
smbd/reply.c: Remove READ_PREDICTION #ifdefs.
Jeremy.
(This used to be commit eba825ff030a175bd271caa6f543379dfdbbd646)
|
|
thsi function and the associated header structure were autogenerated
using a little awk based code geerator I wroe ths evening. I'll commit
that next ...
(This used to be commit 974813f0d4afb6c14ed27c48ab24b19932557f9f)
|
|
(This used to be commit 6cbb826b154e61085fd651116caf472d4d438c1d)
|
|
(This used to be commit a0a556a36b8ad0f14f97a1b7ccc5d429bf8f950e)
|
|
(This used to be commit acf9286e82b851e25ee863f673bff713a38002e7)
|
|
(This used to be commit db90a4b9609a980fa2f4328d38a0d2c60a1384a0)
|
|
Jeremy.
(This used to be commit c54e77b1f9defce3d6c2e530e0fb460c2b0c54c2)
|
|
libsmb/clilist.c:
rpc_server/srv_spoolss_nt.c:
smbd/trans2.c: Changed unistr_to_ascii to unistr_to_dos - do codepage conversion.
msdfs/msdfs.c: Removed stub unistr_to_dos.
libsmb/pwd_cache.c: Removed obfuscation functions as they don't do anything and
don't add any security.
Jeremy.
(This used to be commit 1ed146467e764e6a81d8f78cd58fb5765ebf5d21)
|
|
- finished ntdom -> winbind rename in head
(This used to be commit ada483cb56453afc6df4ec4be18bfe5e943c7150)
|
|
(This used to be commit 5a617c013cce65434d315dc33279a4bc28dc63de)
|
|
to reload services
(This used to be commit 0fb4ba4e037f25b8b75bcae0ecb1d9b43f0f9e5f)
|