Age | Commit message (Collapse) | Author | Files | Lines |
|
bind ack should contain \PIPE\pipename not just pipename.
ntclientpipe.c :
sanity in bind ack: pipe name checks; transfer syntax checks; reason checks.
(This used to be commit c2e2197e9d87795bda0198247c7bb132fe586fc1)
|
|
(This used to be commit 50d7e4d6f6b5d770742ee83523d6146cf51f8259)
|
|
have done the semget() as root. The problem is that become_root() and
unbecome_root() are so slow!
I've provided two options. The default is to set the semaphores (but
_not_ the shared memory) world writeable so that a become_root() isn't
needed. Otherwise you can define SECURE_SEMAPHORES and pay the
performance penalty.
(This used to be commit 2bbd8d2cbc5cf1901859a181bc9ec29822995e51)
|
|
- check that it is initialised before de-initialising it!
(This used to be commit 68ad7b91999216e5721207b5a79c3a66be7cf420)
|
|
and made it private to the 2 shmem implementations. Added new
shmops->hash_size() function.
Added code to handle the IPC system limits by looping decreasing the
size of the resources (semaphores and shared memory) that we request
until we get under the system limits, which can be quite low on some
systems!
Added checks that the creator of the IPC objects is root. Otherwise we
would be open to a security hole where someone pre-creates the shared
memory segment and attaches.
(This used to be commit 6b6f624b63137d4750200e8cb4961b1402513632)
|
|
(This used to be commit 6b0e51929495582bc48a4d5fba24aa7c1f7caaf6)
|
|
added mode for printing debug array data as chars not uint8/16/32s.
only really useful for (uint8) strings or (uint16) unicode strings
lsaparse.c smbparse.c smb.h :
rpc bind and rpc bind ack structures and parsing and creation functions.
ipc.c pipes.c pipenetlog.c pipentlsa.c pipesrvsvc.c :
using rpc bind / bind ack parsing routines instead of incorrect use of
api_LsarpcTNP1 function.
ntclient.c :
creation of do_rpc_bind() function.
THAT'S IT, FOLKS!
(This used to be commit 21c89e2f17c51939fd6b53dddbe3072419eb0db2)
|
|
Part of code to support Windows 95 automated printer driver installs.
Written by Jean-Francois Micouleau <Jean-Francois.Micouleau@utc.fr>.
(This used to be commit 6e9f817414d6f7bdcb0ea64170d0db34b62651a5)
|
|
New program, make_printerdef, plus two new parameters :
[global] "printer driver file"
[local] "printer driver location"
Jeremy.
(This used to be commit 9a5b42e6b3e7a35d56f81e9428fc747246e2fc5c)
|
|
added bind and bind ack structures and parsing functions. restructured
rpc header stuff.
ntclient.c pipenetlog.c pipentlsa.c pipesrvsvc.c :
having to deal with restructuring above.
(This used to be commit 9f2c4f1fee7e411adba8f529b7666a7325584457)
|
|
(This used to be commit 3480524e15aba50dd459ac5979eabb8974898e35)
|
|
(This used to be commit 7d80e25bb422d841aad81c2b3d76039bba6c9f79)
|
|
(This used to be commit 6ca96782ace2258707f49d204726a00baef9d941)
|
|
(This used to be commit af13f5e1788b6f81cfcdaeb85dc709458e3d4816)
|
|
(This used to be commit 4db076e08bec525ee908a391b22fdc12cc66bc27)
|
|
(This used to be commit 9f0be847fdbcf0f8bbd69de6cdf277ae0440bcda)
|
|
(This used to be commit 6388da22eb95c8bfd3f17f5645bdaa16cfca0c6b)
|
|
Needs some testing though.
(This used to be commit 8f2366e57d29458f2bb63d9a0033de5c730a1b94)
|
|
It will try sysv IPC first, then if that fails it will try mmap(),
then after that it will try share files.
I have defined USE_SYSV_IPC for Linux, Solaris and HPUX at the
moment. Probably a lot more could have it defined. In fact, the vast
majority of systems support it. Need autoconf again :-)
It should actually be faster than the mmap() version, and doesn't need
any lock files. This means the problem of the share mem file being on
a NFS drive will be gone.
(This used to be commit cc8fe0f0629eea9acc39e30d8d76d5890a5b6978)
|
|
(This used to be commit c63fee2b282c8b53f87e63995384602b66a805a6)
|
|
updated Query Info Policy to report domain name and domain sid for info levels
3 and 5.
fixed bug in dom_sid_to_string (idauths decoded wrong). fixed bug in DOM_SID:
subauths are 32 bit not 16.
(This used to be commit 2f3cca23e2465ca6a3a31fda005af1fd74f6af92)
|
|
browser. We were doing a name query instead of a name status.
Jeremy.
(This used to be commit 4021a1bf553a20b518595f621f828d8279d05303)
|
|
Jeremy.
(This used to be commit 598e98e5612250966696826a98de35356f8f03d8)
|
|
(This used to be commit 28ef0df30efd4011e6a782dc02474b6d4082d6de)
|
|
fixed a problem with byte ordering (doing an SIVAL of the setup parameters
which was _also_ being done in the creation of the SMB header. oops).
(This used to be commit 541fb82895008cc30477019cdcafed9fdbbeac43)
|
|
message should be returned, so i just let it fall through to sending an
"api_unsupported"
(This used to be commit 85d132da6756da0904fe894ea617b84e38e610ff)
|
|
(This used to be commit 16cc27852bf54999db4b0a3665b0743d9fe0e74a)
|
|
0644. smbstatus now gets only read permission on the share files and
does no locking.
also get rid of some unnecessary umask(0) calls. smbd always runs with
umask(0)
(This used to be commit c6ac10170dbba57dfebc54c50d79cb29d13bb442)
|
|
(This used to be commit 0f15558efb26b7215540a588dfe8733e9346d407)
|
|
1) the oplock macros in smb.h used | where they should have used
&. This means that smbd thought that all clients were always
requesting oplocks. This would have _really_ confused smbclient
and smbfs when they started receiving async oplock break requests when
they don't even know what an oplock is!
2) an oplock break request from a client can be embedded in a normal
lockingX request, and will be if the client has batched any lock
requests internally. The smbd code assumed that all oplock break
requests had num_locks==num_ulocks==0 which is not true. The only
thing special about a oplock break request with
num_locks==num_ulocks==0 is that no reply is sent. Otherwise it is
processed as a normal locking request in addition to the oplock break
processing.
These two fixes get the MS mail system in Win98 working on a Samba
1.9.18 network drive.
Andrew
(This used to be commit ed71534df56d0296280dbde1859597fb42002088)
|
|
Q/R LSA_REQ_CHAL; Q/R LSA_AUTH2; Q/R LSA_SAMLOGON; Q/R LSA_SAMLOGOFF.
the last (non-essential right now) bit is the LSA_SRV_PWSET.
the next stage is to do LSA_OPENPOLICY; add the pipe binds (missing right
now); then we can test against an NT Server.
(This used to be commit 0a549e62fbf11a3ff1f1de663176e30006553e08)
|
|
forces the client to send a unicast instead of a broadcast netbios
packet. This is useful for diagnostics.
(This used to be commit 57e0fac61414c032df35c8a4c0ba4d3a9f55c5b8)
|
|
in clientutil.c (Luke, you can't just copy a global variable
declaration from one file to another, you need to declare one of them
extern)
(This used to be commit 944ecbcbd47afcc20e2e408a06d57c7b8d0d86a8)
|
|
code, which means we don't have to link with a fake getpass routine
and we don't have a whole pile of global variables that really have
nothing to do with nmbd and were there to keep the client code happy.
The code should function identically to what it did before (hopefully
it was correct)
The only thing that now uses the horrible clientutil.c code is
smbclient.
(This used to be commit 4bf5c03b18f88b566f3ac12cc4b3a9c5c96fd35d)
|
|
(This used to be commit 1b17455066098104b9b0907a58195328c6467d71)
|
|
(This used to be commit 2119624010e599359f4829cce6800bb0c55d281e)
|
|
Logon query. i think i even got the client-side checking of the response
credentials right!
(This used to be commit f14c111835e18e361468cc6a1666a02654afe743)
|
|
YEAH!
need to add:
- client-side credential calculation
- client-side parsing of the SAM logon response.
(This used to be commit 349677de3f06bb0892862de0e11172adeffda18a)
|
|
(This used to be commit 9eee8c2007bf4f7756f6d645a61055101d280316)
|
|
adding bits for new nt domain code
byteorder.h :
trying to get macros right, and not to crash on SUNOS5...
client.c :
added #ifdef NTDOMAIN, and created do_nt_login() function. don't
want to have to recompile client.c unless absolutely necessary.
credentials.c :
moved deal_with_creds() [possibly inappropriately] into credentials.c
ipc.c reply.c server.c uid.c :
attempting to make (un)become_root() functions calleable from smbclient.
this is a little tricky: smbclient might have to be another setuid
root program, immediately setuid'ing to non-root, so that we can
reset-uid to root to get at the smbpasswd file. or, have a secure
pipe mechanism to smbd to grab smbpasswd entries. or the like.
smbdes.c smbencrypt.c :
created a function to generate lm and nt owf hashes.
lsaparse.c ntclient.c smbparse.c :
added nt client LSA_AUTH2 code. it works, too!
pipenetlog.c pipentlsa.c pipesrvsvc.c :
simplification. code-shuffling. getting that damn offset right
for the opcode in RPC_HDR.
smb.h :
changed dcinfo xxx_creds to DOM_CRED structures instead of DOM_CHAL.
we might need to store the server times as well.
proto.h :
the usual.
(This used to be commit 82436a3d99d4bdce249ce9ff27fd2ca4b2447e07)
|
|
(This used to be commit bf5b060bd9d210efe95b3529dfba98c5c49716e0)
|
|
(This used to be commit e24465890a2fd87fce4f88b97f7ad84a4cc34d7b)
|
|
machine, not a NULL string.
(This used to be commit 5b15b17fc6da0e2b496822638edf566dedf3efde)
|
|
adding some debug info
pipenetlog.c pipentlsa.c pipesrvsvc.c :
using unistrn2 instead of unistr2 in the SAM logon username.
wrong offset for command in request (use "reserved" field
not cancel_count. AGH i'll get there)
(This used to be commit 6d301d2cfd25b18ba18685d926d7a5bc08695b6d)
|
|
added a structure that wraps nt errors as strings and enums, so we
can do a smb_nt_error() function.
Makefile ntclient.c :
added ntclient.c, broken out nt domain stuff into a separate file.
getting fed up of compile-times and size of client.c.
fixed the do_lsa_req_chal() function. made it read the response,
and return the challenge credentials received from the server.
next stop: do_lsa_auth_2().
client.c :
removed nt domain logon functions into a separate file.
pipenetlog.c pipentlsa.c pipesrvsvc.c smbparse.c :
i'd broken the offsets of the RPC_HDR while trying to sort out the
nt client code. fixed it again. added some robustness stuff.
util.c :
the unistrn2() function was null-terminating the string at one
character too many.
(This used to be commit 39cec7f698c4461aee05cfbb213879fbd486117d)
|
|
Main change is removal of find_name_search() confusion.
This has been replaced with find_name_on_subnet() which
makes it explicit what is being searched.
Also changed wins_subnet to be wins_client_subnet in
preparation for splitting the wins subnet into client
and server pieces.
This is a big nmbd change and I'd appreciate any
bug reports.
Specific changes follow :
asyncdns.c:
Removed wins entry from add_netbios_entry(). This is now
explicit in the subnet_record parameter.
interface.c:
iface_bcast(), iface_nmask(), iface_ip() return the
default interface if none can be found. Made this
behavior explicit - some code in nmbd incorrectly
depended upon this (reply_name_status() for instance).
nameannounce.c:
find_name_search changes to find_name_on_subnet.
namebrowse.c:
wins_subnet renamed to wins_client_subnet.
namedbname.c:
find_name_search removed. find_name_on_subnet added.
add_netbios_entry - wins parameter removed.
namedbsubnet.c:
find_req_subnet removed - not explicit enough.
nameelect.c:
wins_subnet renamed to wins_client_subnet.
namepacket.c:
listening() simplified.
nameresp.c:
wins_subnet renamed to wins_client_subnet.
nameserv.c:
find_name_search moved to find_name_on_subnet.
nameserv.h:
FIND_XXX -> changed to FIND_SELF_NAME, FIND_ANY_NAME.
nameservreply.c:
find_name_search moved to find_name_on_subnet.
Debug entries changed.
nameservresp.c:
wins_subnet renamed to wins_client_subnet.
namework.c:
wins_subnet renamed to wins_client_subnet.
nmbd.c:
wins parameter removed from add_netbios_entry.
nmbsync:
wins_subnet renamed to wins_client_subnet.
proto.h: The usual.
server.c:
remove accepted fd from fd_set.
Jeremy (jallison@whistle.com)
(This used to be commit 2c97b33fc0b5ef181dbf51a50cb61074935165bf)
|
|
clashed with the currently-used cli_setup_pkt() in clientutil.c
(This used to be commit 25560cf40b997e400d16fa0c1380e5bc29c015a5)
|
|
(This used to be commit 0ca7a64515065c0d8c47b38ee996901bd5e00020)
|
|
cli_call_api(). sorting this for jeremy.
there is a discrepancy between the client.c list_servers() and the nmbsync.c
add_info() calls to cli_call_api() - one has an mdrcount of 1024, the other
of zero.
i don't know what difference this makes.
(This used to be commit d8c265c515985414962bb5187c9f92d016281dcc)
|
|
trying to set up the data parameters etc and not understanding what's going on.
in api_netlogTNP, added smb_io_rpc_hdr() call to decode the header received
(and in this instance, generated by do_lsa_req_chal()). and then noticed
that it's two bytes out. but i don't know how to do "byte parameters"
and it's not the same format as the LSA_REQCHAL received from nt workstations.
agh!
(This used to be commit 0cc8ce43e1d54b44237bb525f4cf6b77e7ca3ced)
|