Age | Commit message (Collapse) | Author | Files | Lines |
|
source/Makefile.in
- changes to ctags and etags rules that somehow got lost along the way.
source/include/proto.h
- make proto
source/smbd/sec_ctx.c
source/smbd/password.c
- merge debugs for debugging user groups and NT token stuff.
source/lib/util_str.c
- capitalise domain name returned from parse_domain_user()
source/nsswitch/wb_client.c
- fix broken conditional in debug statement.
source/include/rpc_secdes.h
source/include/rpc_spoolss.h
source/printing/nt_printing.c
source/lib/util_seaccess.c
- fix printer permission bugs related to ACE masks for printers.
This adds mapping of generic access rights to object specific
rights for NT printers. Still need to work out whether or not to
ignore ACEs with certain flags set, though. See comments in
util_seaccess.c:check_ace() for details.
source/printing/nt_printing.c
source/printing/printing.c
- use PRINTER_ACCESS_ADMINISTER instead of JOB_ACCESS_ADMINISTER
until we sort out printer/printjob permission stuff.
(This used to be commit 1dba9c5cd1e6389734c648f6903abcb7c8d5b2f0)
|
|
These routines handle the sending of dgrams in ways that don't bind us to
the nmbd code, but we may merge the two routines at some stage.
Also fix Makefile.in so the new code is compiled ...
Let's see whether or not it compiles on other architectures ...
Seems OK under Linux.
(This used to be commit f7466ba67cb6f863ee495e6de884e9b7a2e49430)
|
|
This code handles the basic stuff and compiles and links under Linux, but
I do not know about any other operating systems. Now onto directory
listing routines, including those that list workgroups, servers, etc.
Nothing is built automatically yet, you have to make client/testsmbc to build
the library and test program. Also, no make install targets are defined for
libsmbclient.so as yet, either.
Would be good if people test on operating systems other than Linux.
(This used to be commit 51c0436a50e9f9274cee9de043bbefc93aff8011)
|
|
Added printing fix from appliance-head.
Jeremy.
(This used to be commit f4c7f9ddb906b67ee4397e7707309356085476d1)
|
|
(This used to be commit fde66badf143cde40af35e86d55acb48dc754cdd)
|
|
(This used to be commit a724850eb83e61450f112c0b2e6e3492c2a72863)
|
|
sure about the latter...
Modified SMBCACLS_OBJ
(This used to be commit c130d5b0f6a23b4fe19accad8a49ac58a1a8b0b1)
|
|
TNG branch.
Re-instated lsa_lookup_sids and lsa_lookup_names functions in rpcclient.
This requires most samba binaries to link in another handful of object
files due to uncessary coupling between modules. )-:
(This used to be commit 817819d0cc3ecf642be5a1656be3b71bed260ee4)
|
|
Currently does exactly the same thing (returns ACLs the same way). This
code is written to try and get a POSIX ACL via the abstract sys_XX interface,
then fall back to providing a UNIX based ACL if the calls fail. Seems to
work. Next step is to add a --with-posix-acls to configure.in and then
check on a POSIX ACL system that a complex ACL is returned correctly
as an NT ACL. Note that the ACL set (a more complex problem) is not
addressed yet.
Jeremy.
(This used to be commit 4339e20202a876dbadc07980b731f711463b7299)
|
|
--jerry
(This used to be commit 3d0ecea18d52b7287beede5687c26536413440eb)
|
|
a --with-spinlocks option to configure, this does mean the on-disk tdb
format has changed, so 2.2alphaX sites will need to re-create their
tdb's. The upside is no more tdb fragmentation and a +5% on netbench.
Swings and roundabouts....
Jeremy.
(This used to be commit 9dea7b7c257db487f8ced7dad3fce92fba03ea91)
|
|
(This used to be commit 976b9f6264c1a5af996777ff1d71db0f762cfa9b)
|
|
part of LIBSMB and the latter is used by parts of samba that know
about the pwd backends
(This used to be commit 3420b52da5957b5bbf0704d1e386349a061f86cf)
|
|
o added BOOL own_memory flag in SAM_ACCOUNT so we could
use static memory for string pointer assignment or
allocate a new string
o added a reference TDB passdb backend. This is only a reference
and should not be used in production because
- RID's are generated using the same algorithm as with smbpasswd
- a TDB can only have one key (w/o getting into problems) and we
need three. Therefore the pdb_sam-getpwuid() and
pdb_getsampwrid() functions are interative searches :-(
we need transaction support, multiple indexes, and a nice open
source DBM. The Berkeley DB (from sleepycat.com seems to fit
this criteria now)
o added a new parameter "private dir" as many places in the code were
using lp_smb_passwd_file() and chopping off the filename part.
This makes more sense to me and I will docuement it in the man pages
o Ran through Insure-lite and corrected memory leaks. Need for
a public flogging this time Jeremy (-:
-- jerry
(This used to be commit 4792029a2991bd84251d152a62b1033dec62cee2)
|
|
messaging system as a notification mechanism, and the speed of notification
greatly exceeds the speed of message recovery, then you get a massively (>75Mb)
growing tdb. If the message is a simple notification, then the message is
static, and you only need one of them in transit to a target process at
any one time.
This patch adds a BOOL "allow_duplicates" to the message_send_XX primitives.
If set to False, then before sending a message the sender checks the existing
message queue for a target pid for a duplicate of this message, and doesn't
add to it if one already exists.
Also added code into msgtest.c to test this.
Jeremy.
(This used to be commit 3aa7995660395ecb85c8e35b638fa9fbbb952558)
|
|
Currently the only backend which works is smbpasswd (tdb, LDAP, and NIS+)
are broken, but they were somewhat broken before. :)
The following functions implement the storage manipulation interface
/*The following definitions come from passdb/pdb_smbpasswd.c */
BOOL pdb_setsampwent (BOOL update);
void pdb_endsampwent (void);
SAM_ACCOUNT* pdb_getsampwent (void);
SAM_ACCOUNT* pdb_getsampwnam (char *username);
SAM_ACCOUNT* pdb_getsampwuid (uid_t uid);
SAM_ACCOUNT* pdb_getsampwrid (uint32 rid);
BOOL pdb_add_sam_account (SAM_ACCOUNT *sampass);
BOOL pdb_update_sam_account (SAM_ACCOUNT *sampass, BOOL override);
BOOL pdb_delete_sam_account (char* username);
There is also a host of pdb_set..() and pdb_get..() functions for
manipulating SAM_ACCOUNT struct members. Note that the struct
passdb_ops {} has gone away. Also notice that struct smb_passwd
(formally in smb.h) has been moved to passdb/pdb_smbpasswd.c
and is not accessed outisde of static internal functions in this
file. All local password searches should make use of the the SAM_ACCOUNT
struct and the previously mentioned functions.
I'll write some documentation for this later. The next step is to fix
the TDB passdb backend, then work on spliting the backends out into
share libraries, and finally get the LDAP backend going.
What works and may not:
o domain logons from Win9x works
o domain logons from WinNT 4 works
o user and group enumeration
as implemented by Tim works
o file and print access works
o changing password from
Win9x & NT ummm...i'll fix this tonight :)
If I broke anything else, just yell and I'll fix it. I think it
should be fairly quite.
-- jerry
(This used to be commit 0b92d0838ebdbe24f34f17e313ecbf61a0301389)
|
|
Marked as an experimental compile time option (defaults to off) for now.
jerry
(This used to be commit 0435af4417b876c2ea1dd4591ae7647784c28e30)
|
|
falling back to the UNIX calls on error. This should fix all problems with
smbd enumerating all users in all groups in all trusted domains via winbindd.
Jeremy.
(This used to be commit 54a1ae815b3ebcc7ab98bf0a2a39719ae3b2d5ea)
|
|
(This used to be commit 3fb2e94c4430c570639c0e4d1caeed3a19bbd09b)
|
|
It only sends notifies to one client. The broadcasting notify code will
code soon.
J.F.
(This used to be commit 4c63c9185887c64e57d901e82a4a16a83522c898)
|
|
smbcontrol nmbd debug 7
smbcontrol smbd debug 9
smbcontrol 3278 debug 1
smbcontrol nmbd force-election
(This used to be commit 5f91c24636f5d82486f22c10bc55e060f9c518bf)
|
|
The motivation for this system is to replace the UDP message for
oplocks, but this commit only does the "set debug level" message.
(This used to be commit 2a34ee95f3929cff131db6c5a2b4820194c05b2d)
|
|
- make proto
- addition of function to convert from errno values to NT status codes
(source/lib/error.c)
- purge queue done without full access permission will purge only the
jobs owned by that user, rather than failing.
- unlock job database tdb before sending job to printer
- in print_job_start(), ensure that we don't pick a jobid with an existing
temporary file that may be owned by another user, as it causes silent
failures.
- fixes for printer permission checking for NT5 clients
(source/include/rpc_spoolss.h, source/printing/nt_printing.c,
source/printing/printing.c, source/rpc_server/srv_spoolss_nt.c)
- change from uint8 to 'enum SID_NAME_USE' (source/rpc_server/srv_lsa.c)
- fixed memory leaks for win95 driver download process
(source/smbd/lanman.c)
- properly free prs_structs and dacl in testsuite/printing/psec.c
(This used to be commit 74af3e2caec7197e5d1ca389e2f78054a4197502)
|
|
--jerry
(This used to be commit e89117f418c9c1a1b4f2e9d708030369d801a01c)
|
|
the file up i think. Later.
--jerry
(This used to be commit ed54a9f4d154ac56330b23255108447036cbd192)
|
|
*Note: failover doesn't actually work yet!* It's just that the code I'm
adding provides all of the pieces necessary.
I do have one big question. Something that I'll have to ask Jeremy, I'm
thinkin'. In nmbd/nmbd_subnetdb.c the IP of the WINS server is used to
set up the Unicast subnet.
...so what happens if the WINS server changes?
My guess is either:
a) nothing.
b) I'd have to change the unicast subnet entry whenever the WINS server
changes.
Urq.
BTW, the lp_wins_server() function no longer returns the WINS server name
or IP. It returns the list of WINS servers entered in smb.conf. To get
the currently 'live' WINS server, use the wins_srv() function.
Fun, eh?
Chris -)-----
(This used to be commit cc08bdc74f4cd111fdc582ee7babef47ed8a950d)
|
|
(undefined references in link). This is a quick fix.
I'll resolve things later.
Sorry everyone.
jerry
(This used to be commit ea64f2525d649c0952af52c2ba21a3bac57b322e)
|
|
--jerry
(This used to be commit 94967b31bbc913d9b45274d9eed846f871b66b6f)
|
|
--jerry
(This used to be commit 9206d593603af959700794d252da8d07082012ef)
|
|
nsswitch/wb_client.c
Merge of nsswitch/common.c rename to nsswitch/wb_common.c from TNG.
(This used to be commit f866c18f6be65db67d9d2a6c0b42e1af3b421e6c)
|
|
from TNG to HEAD.
--jerry
(This used to be commit ddef41c13484f488657ea36a510b52cefc7c8643)
|
|
smbd.
(This used to be commit 539c32fa423bee9be34eeda96fad5398f7cf982b)
|
|
build using "make bin/smbw_sample"
this is to show people how to use smbw
(This used to be commit 7d7ceaa9219ba88075cac23eb42b163903537c70)
|
|
(This used to be commit 659e4d88ff9dbf1fa9cd8904470c4a8d02d8674b)
|
|
semi-connection and a rpcclient prompt, but no functionality there yet.
Will be a few more days on that.
I need to clean this up a little. Will work on that some more.
--jerry
(This used to be commit 1b305cb3421eef575cc19bacf1fcc57537d7ea75)
|
|
(This used to be commit 11897939bcc073a24ff25c915beec7418a0bccfd)
|
|
blocks around a few unimplemented functions. Also had to
add cli_reg.c to Makefile.in
--jerry
(This used to be commit 426c43fb5167b042682c22e67871e5ebadb4b769)
|
|
(This used to be commit 6c743427dfa2fbd6f3ab47991165db9e705eba20)
|
|
(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)
|
|
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 3253085d9883a181c04b9c9ecf7d0ccdfbcee88d)
|
|
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.
(This used to be commit fbeb9804344ab3aa1dd6635a5524aa09065e04f5)
|
|
(This used to be commit 6de329f6bf9c26e132869cf43d4976d4881e285c)
|
|
this uses 16 open file descriptors on 2 servers, with each server
accessed both via POSIX call and SMB calls. The idea is to test
NFS/SMB locking interaction.
Unfortunately the NT NFS locking implementation is so badly broken
that we don't have anything to test against
(This used to be commit 581498fe6b2efe44c1229dd12b9a6506b11747d0)
|
|
Jeremy.
(This used to be commit 400263245b4e5344b496c5de52a659f040206798)
|
|
(This used to be commit 0cc59cc2c63bceeda0bc6f44dc65f10f81ebda8d)
|
|
(This used to be commit f46c4fe876a0cabe7044ca30c17e6c217d618635)
|
|
(This used to be commit 06cd46b0ec10b32af54edd8256d2fdbec45e1371)
|
|
on the samba server.
(This used to be commit 15e7d8f6c5cddf6ce409ee2505744250d181ec34)
|