Age | Commit message (Collapse) | Author | Files | Lines |
|
(This used to be commit 92ff07132b3834b469ad7bb73d6e714b175a12af)
|
|
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)
|
|
(This used to be commit 88a2d224f1c3ca09abbad7f33b0e93bdf503da4e)
|
|
(This used to be commit 6ced1bb8b92101e11c53467d0380a97b840de7c7)
|
|
(This used to be commit 63e4f629163babc1dcba8a419ae432057e46f6f8)
|
|
Jeremy.
(This used to be commit b809a2d0c81c54e917ccc0c99b3e70ea8d7ceab1)
|
|
clean_up_printer_driver_strunct()
calls.
Jeremy.
(This used to be commit f81a2a03bf435e65e7484ab021f86a8a4f62b656)
|
|
with PCL drivers. The problem was we were updating the changeid on every
SETPRINTERDATA/DELETEPRINTERDATA call. We should not do this, we should
just update the 'setprinter' called count. We update the changeid on calls
to SETPRINTER/ADDPRINTER/ADDPRINTEREX etc. Also fixed the correct returning
of the create time on printers.
Jeremy.
(This used to be commit 521f09829fd329f87b3d19e8871e2b989c98a58e)
|
|
Marked as an experimental compile time option (defaults to off) for now.
jerry
(This used to be commit 0435af4417b876c2ea1dd4591ae7647784c28e30)
|
|
I hope not). If you encounter strange file-serving behavior after this
patch then back it out. I analysed our stat() usage and realised we
were doing approx. 3 stat calls per open, and 2 per getattr/setattr.
This patch should fix all that. It causes the stat struct returned
from unix_convert() (which now *must* be passed a valid SMB_STRUCT_STAT
pointer) to be passed through into the open code. This should prevent
the multiple stats that were being done so as not to violate layer
encapsulation in the API's.
Herb - if you could run a NetBench test with this code and do a
padc/par syscall test and also run with the current 2.2.0 code
and test the padc/par syscalls I'd appreciate it - you should
find the number of stat calls reduced - not sure by how much.
The patch depends on unix_convert() actually finding the file
and returning a stat struct, or returning a zero'd out stat
struct if the file didn't exist. I believe we can guarentee this
to be the case - I just wasn't confident enough to make this
an assertion before.
Ok ok - I did write this whilst at the Miami conference.....
sometimes you get a little free time at these things :-).
Jeremy.
(This used to be commit 66a5c05ec46b641224fbe01b30bd7e83571a2a1b)
|
|
the trust domain list reply on netlogon pipe was wrong, interim hack until
we have full trust relationships.
changed some unistr2 to parse the ending NULL char.
added a prs_align_needed() function. much like a prs_align but with a
condition. needed for the unistr2 parsing.
J.F.
(This used to be commit d8bf81553c17d9ee3419d8150b96119ebb0b8fa9)
|
|
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.
Also changed GETDC to query 1C name rather than 1b name as only the PDC
registers 1b.
Jeremy.
(This used to be commit 5b0038a2afd8abbd6fd4a58f5477a40d1926d498)
|
|
This also updates the printing.tdb db version to 2.
Jeremy.
(This used to be commit 13395514c632341e7be36eb9589011bb0949b075)
|
|
as part of print queue length processing.
Jeremy.
(This used to be commit e85a0fadd8dcf608822819f00f15569713518806)
|
|
on exit. Needed to fix printing.tdb from groving to 300Mb+ if being
driven by smbclient clients that never ask for status... (effective
DOS attack :-).
Jeremy.
(This used to be commit 6581066b93a674fadf6f9b92441428d2cc8b4a02)
|
|
a sam_user_info_24 doesn't have a uint16 at end
samr_create_user also creates the unix account now
samr_set_userinfo changes the password.
J.F.
(This used to be commit 94f4024481fcd0cb6647af1bd4364033be020641)
|
|
is conceptually flawed
(This used to be commit 6e4a3585521b7e5928298bd0f1418ff9fbcacfb4)
|
|
cleanup of create_user
cleanup of rid/sid mix in samr. now we only have sid.
some prs_align() missing in parse_samr.c
a small debug change in srv_pipe.c
You still can't change a user's password in this commit.
Will be availble in the next one.
J.F.
(This used to be commit b655bc281fa183b1827a946ada1fcf500fb93aea)
|
|
Added "codepage directory" patch from Peter.Polkinghorne@brunel.ac.uk
Jeremy.
(This used to be commit e49566c2e21fcd16980e5110495645c5ae5a36da)
|
|
Jeremy.
(This used to be commit 4862d2ab1163310d844b929fb17239b4f4cb1a99)
|
|
Jeremy.
(This used to be commit 698288cb9de316527c0c2a271e18c920578f9930)
|
|
We now use our own vfs layer to do get/set acl calls (hurrah!).
Jeremy.
(This used to be commit dfe77c7046cbd65ee52aea7439f21503c1eac41d)
|
|
Jeremy.
(This used to be commit 0811d080abd374f47c7c3c8a1ef007e443e5b79c)
|
|
a conn struct depending on the call.
We need this to have a clean NT ACL call interface.
This will break any existing VFS libraries (that's why this is pre-release
code).
Andrew gets credit for this one :-) :-).
In addition - added Herb's WITH_PROFILE changes - Herb - please examine
the changes I've made to the smbd/reply.c code you added. The original
code was very ugly and I have replaced it with a
START_PROFILE(x)/END_PROFILE(x) pair using the preprocessor.
Please check this compiles ok with the --with-profile switch.
Jeremy.
(This used to be commit b07611f8159b0b3f42e7e02611be9f4d56de96f5)
|
|
Jeremy.
(This used to be commit 7914e9351abb5271ebb4990c3b1fe495d15a4eda)
|
|
J.F.
(This used to be commit 3664e80fcd292ee8ba20861b01945d7db59858a9)
|
|
mkdir high bits patch from Robert Dahlem" <Robert.Dahlem@gmx.net>.
jeremy.
(This used to be commit b40191d27180ab1e59935086073c4d312552f717)
|
|
Jeremy.
(This used to be commit 1ebe54666b0fc6f224f17036063dfe0ef7ec9147)
|
|
(This used to be commit 3e77bf2117c43d3202774df24debc91f61d88733)
|
|
through the VFS. All file access/directory access code in smbd should now
go via the vfs. Added vfs_chown/vfs_chmod calls. Still looking at vfs_get_nt_acl()
vfs_set_nt_acl() call API design.
Jeremy.
(This used to be commit f96625ec124adb6e110dc54632e006b3620a962b)
|
|
so renamed and tidy up of the server function.
J.F.
(This used to be commit 0f707ac1fb5685b800d6599b9074ec1d4e65b1c1)
|
|
notification as on NT.
Andrew, your message passing code is cool :-)
J.F.
(This used to be commit 0374bc4b5f56d0fab3f7310e13cb71b5a71f9112)
|
|
(This used to be commit b21179331802aace566671dcff6db22cdf4b3e81)
|
|
allows Samba to turn off the display of APW (hmmm. This should probably
be a share specific parameter, I'll fix that in another commit).
Also a few small changes to JF's code to fix compiler warnings about
missing return statements and also change '//' comments (C++) to /* .. */
comments (C).
Jeremy.
(This used to be commit 0a9ccc99b335650d235eb747d803d059f7828fd7)
|
|
It only sends notifies to one client. The broadcasting notify code will
code soon.
J.F.
(This used to be commit 4c63c9185887c64e57d901e82a4a16a83522c898)
|
|
will be needed soon.
Jeremy.
(This used to be commit f0aa8f9314c837fe39b6d1b0c41d5cfae2e4098f)
|
|
not sure why (JF - a glance at this would be appreciated). Removed code
that JF objected to with enumprinterdata. Added translations to/from
level 6 - but Win2k still not happy... hmmm...
Jeremy.
(This used to be commit e5d98ba9e97eb16337ff6c49f799e130844ae72e)
|
|
smbcontrol nmbd debug 7
smbcontrol smbd debug 9
smbcontrol 3278 debug 1
smbcontrol nmbd force-election
(This used to be commit 5f91c24636f5d82486f22c10bc55e060f9c518bf)
|
|
easier to add new message types to messages.h without breaking old
binaries
- added a MSG_FORCE_ELECTION message to force nmbd to hold an election
(This used to be commit f1c49ca7ce56bc39259041a71479e84ebf53eeca)
|
|
allowing new bits of code or vfs modules to register functions without
impacting on the messaging code itself.
Also note that multiple registrations for the same message type are
possible allowing the same message to be delivered to multiple parts
of the code (possibly useful for reload messages).
(This used to be commit c3350c77f52cade48d2945574e09cb630af85b92)
|
|
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)
|
|
Jeremy.
(This used to be commit fb48efaf830626f6ef05b88f5f8a74b932ceb257)
|
|
with security=domain. Also fixed to dynamically allocate the SIDs and GIDs.
Jeremy.
(This used to be commit 2b1f66eb82f05fe0b85ac5b4916e32847b8de675)
|
|
Jeremy.
(This used to be commit 55ed0a9b0c91159c0fc4282c2171d9ced74a302a)
|
|
- 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)
|
|
Jeremy.
(This used to be commit 596c21a2af0309ce43a5e52a343a671036d05ebf)
|
|
"Access denied" isn't always returned. More fixes found using Gerald's
wonderful Win32 test progs :-).
Jeremy.
(This used to be commit 67b9d40e3df19523714430cb4457717575f2a61e)
|
|
Jeremy.
(This used to be commit 38fc56c8434c427335cf264c4b27420c5ad47566)
|
|
possible printjobs from that printer (I think this is correct).
Added error code returns for print_queue_XXX() functions.
Jeremy.
(This used to be commit 6d081a9017f87f59b7189ba507e211db01c40af5)
|
|
(This used to be commit d59623dd92aac7de73d27dd6c64df57bfd0d4010)
|