Age | Commit message (Collapse) | Author | Files | Lines |
|
remove problems.
Jeremy
(This used to be commit 4a36ac236c2ad634f05efcd0179875d09988614a)
|
|
typecasting for the debug messages of the data dump. hm.
#ifdef NTDOMAIN
ntclient.c rpc_pipes/lsaparse.c rpc_pipes/ntclientnet.c rpc_pipes/smbparse.c :
adding "Net Server Password Set" functionality to smbclient.
#endif
(This used to be commit ad43183d2dd62a808c9fba03f81562362d4de713)
|
|
separated out smb server-mode password validation into a separate file.
added called and calling netbios names to client gen state: referenced
section in rfc1002.txt.
created workstation trust account checking code in ntclient.c
there might be a bug in reply_session_setup_andX. i indented and added { }
around single-line if statements: the lm password checking code now doesn't
look right (around the GUEST_SESSSETUP bits). *no code semantics have been
changed by the indentation process*.
(This used to be commit f27966957fa7f16d337a4a58719239d036deab4c)
|
|
are ones that I know Samba fails. They are:
1) correct support for retaining locks over a close (ie. the server
must not use posix semantics)
2) support for lock timeouts
3) the server supports multiple locking contexts on the one SMB
connection, distinguished by PID.
4) the server correctly fails overlapping locks made by the same PID (this
goes against POSIX behaviour, which is why it is tricky to implement)
5) the server denies unlock requests by an incorrect client PID
I've been discussing with Jeremy ways that we can re-implement the
locking code to handle these correctly. This test code will be useful
to see that we have got it right.
(This used to be commit 097781e2992f12c545170c82ada2f4023a9784f5)
|
|
chris' computer (probably about four minutes) meant that chris' commits
didn't get downloaded when i did a cvs update.
therefore, i did a cvs update; make proto; cvs commit, and still got problems.
so, five minutes later, i do a cvs update, and _then_ chris' server.c and
mangle.c mods get downloaded, and i have to do another make proto.
this particular problem has hit us *really* badly in the past, because i
was taking files home (onto a portable that i hadn't reset the time on
since i went to the states) and then recopying them back onto the computer
here. if i do this, i do a touch *.c *.h; cvs -t update. *then* a cvs commit.
(This used to be commit edb9c52948159baa48d9decd253a401737bd5363)
|
|
added a #define around the alignment thing: it's a way to stop
NetMonitor from decoding your packets!!!!
proto.h :
usual.
reply.c :
added what i believe to be the correct error messages for getting
correct domain joining.
smb.h :
some guesses at good names of the SAMR_XXXX functions. sorting
out the SAMR_LOOKUP_RIDS function. this is *not* the same as
the LSA_LOOKUP_RIDS function, unless paul accidentally put it
on the ntlsa pipe by mistake, instead of the samr pipe :-)
rpc_pipes/lsa_hnd.c rpc_pipes/pipe_hnd.c :
moved creation and allocation of unique policy handles into this module.
rpc_pipes/pipesamr.c rpc_pipes/samrparse.c rpc_pipes/smbparse.c :
SAMR_LOOKUP_RIDS is beginning to look _suspiciously_ like the
LSA_LOOKUP_RIDS function. but i know that there are subtle
discrepancies.
(This used to be commit 6bc07b0b4193e28b13a675fece8d9d6b365a7eb0)
|
|
mangle.c server.c proto.h
mangle.c
I am planning to replace the mangled_stack array with a proper stack,
but found many style inconsistencies (no, really). As you might expect,
I have standardized on my own preferences. ;)
I also found a potential problem in create_mangled_stack (which I've
renamed as reset_mangled_stack). If the stack size were passed into
the function as 0 or less, there was the possibility that the array
would have been freed twice. I doubt that this ever happens, but I
don't like to leave holes.
Of course, the fix will be irrelevent once I replace the array with
a linked-list-based stack.
server.c
Changed the call to create_mangled_stack() to a call to reset_mangled_stack().
proto.h
Regenerated to match the above changes. (A real comment! How unusual!)
(This used to be commit 34d1b3e4fa7a1158f3a3c5c47adf0417c7144095)
|
|
Modified Files:
---------------
Makefile:
adding extra files
ipc.c :
send_trans_reply() - alignment issue. this makes the alignment
the same as that in NT. this should be looked at by people who
understand the SMB stuff better than i.
api_fd_commands[] - added samr and wkssvc pipes.
loadparm.c :
lp_domain_controller() changed to mean "samba is a domain controller".
it's a "yes/no" parameter, now. no, it isn't used _anywhere_.
namedbwork.c nameelect.c :
if "domain controller = yes" then add SV_TYPE_DOMAIN_CTRL to the
host _and_ workgroup announcements. yes, you must do both: nt does.
namelogon.c :
important NETLOGON bug in SAMLOGON request parsing, which may be
the source of some people's problems with logging on to the Samba PDC.
password.c :
get_smbpwnam() renamed to get_smbpwd_entry().
pipes.c :
added samr and wkssvc pipes.
proto.h :
usual. can we actually _remove_ proto.h from the cvs tree, and
have it as one of the Makefile dependencies, or something?
reply.c :
get_smbpwnam() renamed to get_smbpwd_entry() - also changed response
error code when logging in from a WORKSTATION$ account. yes, paul
is right: we need to know when to return the right error code, and why.
server.c :
added call to reset_chain_pnum().
#ifdef NTDOMAIN added call to init_lsa_policy_hnd() #endif. jeremy,
you'd be proud: i did a compile without NTDOMAIN, and caught a link
error for this function.
smb.h :
defines and structures for samr and wkssvc pipes.
smbpass.c :
modified get_smbpwnam() to get_smbpwd_entry() and it now takes
two arguments. one for the name; if this is null, it looks up
by smb_userid instead.
oh, by the way, smb_userids are actually domain relative ids
(RIDs). concatenate a RID with the domain SID, and you have
an internet globally unique way of identifying a user.
we're using RIDs in the wrong way....
added mod_smbpwnam() function. this was based on code in smbpasswd.c
rpc_pipes/lsaparse.c :
added enum trusted domain parsing. this is incomplete: i need
a packet trace to write it properly.
rpc_pipes/pipe_hnd.c :
added reset_chain_pnum() function.
rpc_pipes/pipenetlog.c :
get_smbpwnam() function renamed to get_smbpwd_entry().
arcfour() issues.
removed capability of get_md4pw() function to automatically add
workstation accounts. this should either be done using
smbpasswd -add MACHINE$, or by using \PIPE\samr.
rpc_pipes/pipe_util.c :
create_pol_hnd() - creates a unique LSA Policy Handle. overkill
function: uses a 64 bit sequence number; current unix time and
the smbd pid.
rpc_pipes/smbparse.c :
arcfour() issues.
smb_io_unistr2() should advance by uni_str_len not uni_max_len.
smb_io_smb_hdr_rb() - request bind uses uint16 for the context
id, and uint8 for the num_syntaxes. oops, i put these both as
uint32s.
Added Files:
------------
rpc_pipes/lsa_hnd.c :
on the samr pipe, allocate and associate an LSA Policy Handle
with a SID. you receive queries with the LSA Policy Handle,
and have to turn this back into a SID in order to answer the
query...
rpc_pipes/pipesamr.c rpc_pipes/samrparse.c
\PIPE\samr processing. samr i presume is the SAM Replication pipe.
rpc_pipes/pipewkssvc.c rpc_pipes/wksparse.c
\PIPE\wkssvc processing. the Workstation Service pipe?
holy cow.
(This used to be commit 1bd084b3e690eb26a1006d616075e53d711ecd2f)
|
|
proto.h: The usual.
server.c: Added timestring() messages to oplock logs. Added fix
to allow file open processing to continue is an oplock
break message times out.
Jeremy.
(This used to be commit c45369217169fac261b32db71469c007db4b4a03)
|
|
add auto username from LOGNAME for smbtorture
proto fix in ufc.c
(This used to be commit f13dbdf307ccffc15a74e2ffa72da666e53a72b6)
|
|
I really wish you could say
#ifndef "struct foo_struct"
in C :-)
(This used to be commit acffb39f1aea9816ece41d66e9369375e9aa7df4)
|
|
LSA_OPENSECRET and three other unknown #defines are commented as not
being the real defines for these!!!
rpc_pipes/pipenetlog.c :
USE_ARCFOUR for Server Password Set. and then ignore the password (agh!)
this will *fail* to do logins, by the way. i need to add a routine
to update the smb password (next job).
(This used to be commit b9d26344cc9b64ef3578931d099d52eab080fdd3)
|
|
loadparm.c : to equivalent to version 1.67
reply.c : to equivalent to version 1.69
server.c : to equivalent to version 1.122
util.c : to equivalent to version 1.98
to remove the incorrect changes.
proto.h: The usual.
rpc_pipes/smbparse.c : Backeting stuff that SHOULD NOT BE IN THE
none-NTDOMAIN build !
Jeremy.
(This used to be commit 6064c9d80fd9fcc3ceec528494ba5e2591610098)
|
|
like it, has *not* been added.
this is the client and server side of the SAM Logon NT and LM OWF password
obfuscation (rc4 with the long-term session key).
(This used to be commit 4cf4dd696714492f8e51661cab4736d66ab2916b)
|
|
(This used to be commit cadd772df72aa13018ea6e909ed0d7e294f24b5e)
|
|
'<' and '|' characters indicate read file and execute command respectively,
and feed the output into the parameter (!!!).
'<$' and '|$' means run standard_sub_basic() on them.
this is going to be fun to document in smb.conf.5....
also, Christian created a new "online" service parameter. services can
be taken "off-line"....
(This used to be commit 15f44d28916cdc1432bffdbb999c7cf7efd8fb86)
|
|
added "domain hosts allow" and "domain hosts deny". these are to be
used to specify which workstations can log in to a samba PDC from.
it is also used to check whether to add an initial machine password
into the smbpasswd database or not
smbpass.c :
added capability to add a machine password to the smbpasswd database.
***** the default uid is zero *****
rpc_pipes/pipenetlog.c :
use of "domain hosts allow/deny" parameters to allow login access.
proto.h :
usual.
(This used to be commit 2e7d3410306640aa6402e0506430a53988cc583e)
|
|
(This used to be commit c164681dfe2ad9623a59f01eea914bf27d4801e5)
|
|
This should fix the byte order problems (maybe!)
(This used to be commit 21878e7d8628d05786c3c76f2943e31df1096577)
|
|
(This used to be commit 1a454f818841bf016ff04fd70cd73a5964d56f2e)
|
|
(This used to be commit fa251b7eba48c9ef2d8d3d798ce5b99c8508c243)
|
|
rpc_pipes/ntclientlsa.c rpc_pipes/ntclientnet.c
rpc_pipes/ntclientpipe.c :
added extra argument to cli_call_api() to allow specifying the length of
the \PIPE\ name. it appears that, like when the name of the pipe is NULL
and OS-2 requires two extra bytes _after_ the NULL name, that NT requires
two bytes after the NULL-terminated name "\PIPE\". these two bytes vary,
but values seen so far are: 0x72 0x70; 0x63 0x65; 0x44 0x65; 0x4E 0x00.
there appears not to be much logic to this. purpose unknown.
ntclient.c:
put Set Named Pipe Handle State call directly after SMBopenX call.
(This used to be commit 54c245be152e5fa8f5b535c93f8d11c5f591e23f)
|
|
techniques more accurately.
(This used to be commit 054e3b2ae3a8cfb98fde72becef9b05de34d2ba7)
|
|
(This used to be commit 6d77311d6cecabafb86c02e26b30724425ef6208)
|
|
(This used to be commit a43fa71a5fa740ae8757989c4177f21d8193de94)
|
|
(This used to be commit af7700aa2e3c736f86ae3217a424dfb0910f5f45)
|
|
- redo the prototypes
(This used to be commit 31dcb51e05914d49d81a3faef354aaf0ab9fa63f)
|
|
pipes array.
(This used to be commit 5335d5cdc4659f4676958f0399e2de29a117c133)
|
|
simply adding pipes.o to SMBDOBJ3.
rpc_pipes/pipe_hnd.c :
created pipe handles module.
pipes.c server.c :
use of pipe_hnd functions in SMBopenX and SMBclose, on the IPC$ pipe.
(This used to be commit ada256b5e3b9fb0db988e3be7d47943e7c19b3fb)
|
|
don't know how to sort them.
make proto in each library directory. over-ride the make proto for ubiqx,
so that it doesn't happen, but throws up a warning instead.
(This used to be commit 93df2c62cc32191e88c0c4e615ac6077ec2b07c3)
|
|
ubiqx files :-)
(This used to be commit 13d90255928711c05d8e147081afa309b8abf1af)
|
|
I've added a very simple (and portable) method for having separate
source directories.
This should also help when we add directories for the various ports. A
unix directory would make sense.
(This used to be commit dc8998b1d3c119665538eb5e0b133a47f89fed19)
|
|
(This used to be commit 9212c93beefa83be349b250fe98b65e07d842038)
|
|
which are pipes on the IPC$ connection.
created mechanism to record pipe names in a separate pipes_struct. it
is planned to expand this, to return sensible things like interface
structures, and policy handles (RPC_IFACE and LSA_POL_HND). and the like.
(This used to be commit 33cce5fac0e2f818a19a6c4e6a797ef44f3b5c75)
|
|
(This used to be commit 48548526e8bef3cdc6f5d202bb6c7849e7862e48)
|
|
have another go at reporting stuff the right way round (on SPARCs)
srvparse.c :
copyright messages
(This used to be commit 4b54d22d59d3f6719e7ce8bbbf3e40da31cd270e)
|
|
(This used to be commit 4088683ee046783678d4f748ddb03b5907d00506)
|
|
response to Bind Acknowledgment needs a lookup table for the PIPE string
(secondary address in RPC_HDR_BA structure).
smbparse.c util.c :
interesting problem, i think caused by us typecasting a uint16* buffer
to char*. found on a SPARC.
(This used to be commit 420408ee83902faa6cf871f26e93ad5efb483727)
|
|
(This used to be commit dceace804ea3efa8de6ab31fb44acdc10d46ed73)
|
|
(This used to be commit 50d7e4d6f6b5d770742ee83523d6146cf51f8259)
|
|
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)
|
|
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 4db076e08bec525ee908a391b22fdc12cc66bc27)
|
|
(This used to be commit 9f0be847fdbcf0f8bbd69de6cdf277ae0440bcda)
|
|
(This used to be commit 6388da22eb95c8bfd3f17f5645bdaa16cfca0c6b)
|
|
Needs some testing though.
(This used to be commit 8f2366e57d29458f2bb63d9a0033de5c730a1b94)
|