Age | Commit message (Collapse) | Author | Files | Lines |
|
We finally have a perfect emulation of Microsoft wildcard
matching. The routine ms_fnmatch() does wildcard matching with all MS
wildcards (including the unicode wildcards), and masktest against a
NT4 workstation with hundreds of thousands of random exmaples has not
found a single error.
amazingly it is only about 60 lines of code, but it has taken us years
to get it right. I didn't sleep much last night :)
(This used to be commit cc9e007cdfdd300189f89e2a55e4234e47fa842d)
|
|
(This used to be commit 8c726b9764bac0bc95cf9877e172c9e1262e576d)
|
|
(This used to be commit 1c6322473afcf9065fa25777d1b0627f133af3f6)
|
|
(This used to be commit 9416b58b9c2ff898cdae2cb81ab1e150ef9f0e89)
|
|
(This used to be commit 030ec8e71f9ef533b5d6aece01e67d357e23b7d2)
|
|
a connection structure
(This used to be commit f35fe3b4a175161128341fe30a61437c560180d1)
|
|
We now get/set/check POSIX locks, but I still need to code up the
close fd braindamage...
Jeremy.
(This used to be commit 3de058bd43976853b0ed2b6b5529e2a3a08909eb)
|
|
include/includes.h: Added SMB_BIG_UINT_BITS.
lib/util.c: Removed align2/align4 - use macros.
libsmb/namequery.c: Use ALIGN2.
locking/locking.c: Replace do_lock, do_unlock, args with SMB_BIG_UINT, not SMB_OFF_T.
Needed to move to hiding POSIX locks at a lower layer.
nmbd/nmbd_processlogon.c: Use ALIGN2/ALIGN4 macros.
smbd/blocking.c: Replace do_lock, do_unlock, args with SMB_BIG_UINT, not SMB_OFF_T.
smbd/reply.c: Replace do_lock, do_unlock, args with SMB_BIG_UINT, not SMB_OFF_T.
Jeremy.
(This used to be commit 491eea8a20bf80d426625479326211dc975857a6)
|
|
(This used to be commit 7969f4dccbc5a506ef58b9270a08f8f70d9006f7)
|
|
assumption that we have one socket everywhere
while doing so I discovered a few bugs!
1) the clientgen session retarget code if used from smbd or nmbd would
cause a crash as it called close_sockets() which closed our main
socket! fixed by removing close_sockets() completely - it is unnecessary
2) the caching in client_addr() and client_name() was bogus - it could
easily get fooled and give the wrong result. fixed.
3) the retarget could could recurse, allowing an easy denial of
service attack on nmbd. fixed.
(This used to be commit 5937ab14d222696e40a3fc6f0e6a536f2d7305d3)
|
|
(This used to be commit 1b9077a1d5295bc8522b83ebed2d41d5dbd28a27)
|
|
-Wpointer-arith -Wcast-qual
Partially implemented rpc daemon redirect (needs more work).
Jeremy.
(This used to be commit a462191698fa589ceac4afd14c652adf699eccad)
|
|
fixed typo in SPOOLSS_SYNT
some cleanup of unused functions
wrote make_spoolss_enumprinter and make_spoolss_openprinterex for
rpcclient as I'm trying to keep in sync the parsing code between HEAD and
TNG.
Will commit changes to TNG after lunch.
J.F.
(This used to be commit 025cdb345f6de287a41d4449b2662dbc5e762bf2)
|
|
him! :-).
Jeremy.
(This used to be commit c8ca70f99ee2eae5e29ddf0dd4bc231fbcd188f2)
|
|
I added 2 UNICODE <-> ASCII functions which _don't_ honor codepage
support.
J.F.
(This used to be commit b81dc7b7f832cae2e66076398a134fbb6c1f78ca)
|
|
accessing files on local disk.
(This used to be commit b55f63da7e6a3c306ce668c77ed63a41d33240db)
|
|
Inline several commonly used functions as macros.
Jeremy.
(This used to be commit fc0219c7cc4b83e6db17d5b3be70d74fd7971089)
|
|
Fixed locking bug found by Andrew.
Jeremy.
(This used to be commit 38dffd360dc2e44bfc9e751f017e24f81ff0f2fa)
|
|
Jeremy.
(This used to be commit f5fedf80bce84dba1468631202337077511bcd25)
|
|
This fixes our netbios scope handling. We now have a 'netbios scope' option
in smb.conf and the scope option is removed from make_nmb_name()
this was prompted by a bug in our PDC finding code where it didn't append
the scope to the query of the '*' name.
(This used to be commit b563be824b8c3141c49558eced7829b48d4ab26f)
|
|
Jeremy.
(This used to be commit 8b790cf3e21dd415e1daba24f5eba219e824cdc4)
|
|
to using internal msrpc code in smbd.
(This used to be commit 8976e26d46cb991710bc77463f7f928ac00dd4d8)
|
|
yamd is much better, and doesn't require any source code changes
if you haven't seen yamd then take a look at
http://www3.hmc.edu/~neldredge/yamd/
its excellent!
(This used to be commit 25b13f8b79d648188036f027f45bc78ec117cc88)
|
|
instead of either sysv or mmap shared memory or lock files.
this means we can now completely remove
locking_shm.c
locking_slow.c
shmem.c
shmem_sysv.c
and lots of other things also got simpler
locking.c got a bit larger, but is much better compartmentalised now
(This used to be commit e48c2d9937eea0667b8cd3332e49c06314ef31e7)
|
|
(This used to be commit 453a822a76780063dff23526c35408866d0c0154)
|
|
clash with gnu readline library.
fixed issue with [homes] service not being there - call lp_add_home()
just before starting the msrpc processing.
(This used to be commit 054195df9b6187c663ede5cf4489499abbdc29fc)
|
|
done a minimal amout of clean-up in the Makefile, removing unnecessary
modules from the link stage. this is not complete, yet, and will
involve some changes, for example to smbd, to remove dependencies on
the password database API that shouldn't be there. for example,
smbd should not ever call getsmbpwXXX() it should call the Samr or Lsa
API.
this first implementation has minor problems with not reinstantiating
the same services as the caller. the "homes" service is a good example.
(This used to be commit caa50525220b0d0250fa139367593c2de2c12135)
|
|
pdus, and then feeds them over either a "local" function call or a "remote"
function call to an msrpc service. the "remote" msrpc daemon, on the
other side of a unix socket, then calls the same "local" function that
smbd would, if the msrpc service were being run from inside smbd.
this allows a transition from local msrpc services (inside the same smbd
process) to remote (over a unix socket).
removed reference to pipes_struct in msrpc services. all msrpc processing
functions take rpcsrv_struct which is a structure containing state info
for the msrpc functions to decode and create pdus.
created become_vuser() which does everything not related to connection_struct
that become_user() does.
removed, as best i could, connection_struct dependencies from the nt spoolss
printing code.
todo: remove dcinfo from rpcsrv_struct because this stores NETLOGON-specific
info on a per-connection basis, and if the connection dies then so does
the info, and that's a fairly serious problem.
had to put pretty much everything that is in user_struct into parse_creds.c
to feed unix user info over to the msrpc daemons. why? because it's
expensive to do unix password/group database lookups, and it's definitely
expensive to do nt user profile lookups, not to mention pretty difficult
and if you did either of these it would introduce a complication /
unnecessary interdependency. so, send uid/gid/num_groups/gid_t* +
SID+num_rids+domain_group_rids* + unix username + nt username + nt domain
+ user session key etc. this is the MINIMUM info identified so far that's
actually implemented. missing bits include the called and calling
netbios names etc. (basically, anything that can be loaded into
standard_sub() and standard_sub_basic()...)
(This used to be commit aa3c659a8dba0437c17c60055a6ed30fdfecdb6d)
|
|
time out of sending the session setup on Solaris 2.6. No idea.
I'll work on it some tomorrow. This is to fix the "Unable to
setup password vectors" thingy.
Also changed an inet_aton() to inet_addr() as the former is
not very portable :-)
Luke, I set the redir flag to false because the connection to
the smb-agent was failing and smbpasswd bombed. Double check me
on this one.
-jc
(This used to be commit e1d2b174caf5f0c48a8fac25778f72a868ec6eb7)
|
|
(This used to be commit 455e17dbb7d451b462004f302f5c68770f17b65e)
|
|
this is horrible.
(This used to be commit 9df973fe711f322075d86d6792d6c0b8539c1d00)
|
|
(This used to be commit e4d92ff9dfc51735e6932748f66a7c20b2c1cb6a)
|
|
found out that getopt() _must_ have optind set to 0 before reuse.
still haven't decided what to do with the net* api yet...
(This used to be commit 29c480085e786905bfd92ea3cd93658f94e96e47)
|
|
verified that lsaquery, lsalookupsids work, and found some bugs in the
parameters of these commands :-)
soo... we now have an lsa_* api that has the same arguments as the nt
Lsa* api! cool!
the only significant coding difference is the introduction of a
user_credentials structure, containing user, domain, pass and ntlmssp
flags.
(This used to be commit 57bff6fe82d777e599d535f076efb2328ba1188b)
|
|
(This used to be commit cc2ce2b755b12cb3d97522aaee69b93309571abc)
|
|
spoolss_enumjobs parsing code to do read / writes not just writes.
(This used to be commit bc659a09f9103eee9616279e27fafacf89dcd9b9)
|
|
(This used to be commit 6d27c5f32dab7607398ae907eadb1c27a416da0d)
|
|
spoolss_r_io_enumprinters doesn't decode strings correctly
as printer_info_1/2 code has only been written to write
structures, not read them.
(This used to be commit 135eaa977385cdd5f572a51f654f14d893347d7b)
|
|
char*
UNISTR2*
SID*
decided to create a higher-order function set, add_item_to_array()
free_item_array().
higher-order support routines needed to add a new type:
type* item_dup(const type*)
void item_free(type*)
of course, strdup() and free() are perfect, pre-existing examples
of such functions, used in the implementation of add_chars_to_array()
and free_char_array().
sid_dup() and free() work for the add_sids_to_array() and free_sid_array()
implementations.
use unistr2_dup() and created unistr2_free() because the functionality
behind these may change into something horrible, like [horror] dynamic
memory allocation of the UNISTR2 character array. argh!!!!
jean-francois, this function set implements what we talked about over...
a year ago, now :-)
(This used to be commit a80ea2eb47d298095eb6e5b0455309daa3a631cb)
|
|
(This used to be commit 492fdaaf2009e7d7e840323357a333fdf9c4d2e1)
|
|
added samgroup <groupname> command
added samgroupmem <groupname> command
added proper registry key completion
added sam command user-completion (e.g samuser [tab])
added sam command group-completion (e.g samgroup [tab])
(This used to be commit bc5d021916a2f070c62011870a80b3b2707aff3b)
|
|
(This used to be commit 6a759c57dcb851aa19d1d4156249a3df112aefd0)
|
|
in rpcclient, regenum HKEY_CLASSES_ROOT or regenum HKCR to test.
(This used to be commit b0aa933ef4c0b58840430cf3b3cb3cbeb5c7f704)
|
|
break a few things...
(This used to be commit 4b06f303235d36903b6e9f55ee45b987d98256b0)
|
|
(This used to be commit 2331aa32ab36c3ee5fd8cfbe972e57299939e33d)
|
|
(This used to be commit baab30815238a803badeafa1ed8f029d7782242f)
|
|
(This used to be commit ab1a6aa42db5217f025941fb5107436556bc23b7)
|
|
weird unixware stuff) into _Get_Pwnam() to fix a memory allocation bug.
Note that the Get_Pwnam() function now returns a const struct passwd *
as a hint to other developers not to change entries in the struct
passwd.
(This used to be commit 36d7cb4ccc42268e8e6a7b783c945d1853624958)
|
|
(This used to be commit 8c80742e4e5604bc667314e51c47924efd65df49)
|
|
(This used to be commit 899fc053c50448db65092d9f25fea99433cfb29f)
|