1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-31 17:18:04 +03:00
Commit Graph

707 Commits

Author SHA1 Message Date
Andrew Tridgell
64ac6c2bcb added the LSA privileges server backend stubs. Right now they just log
what was requested.
0001-01-01 00:00:00 +00:00
Andrew Bartlett
574e8a8ab7 Send the user's session key in the SAMLOGON reply, so that a member server can
use smb signing.

Andrew Bartlett
0001-01-01 00:00:00 +00:00
Tim Potter
c3b077f763 Pass down max_size parameter to init_samr_q_query_dispinfo() instead
of hardcoding it to 0xffff.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
bf99440398 added LsaRemoveAccountRights
this now gives us complete remove privileges control in the client
libs, so we are in good shape for starting on the server side.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
2e5e659e09 cleaned up the lsa_enum_acct_rights function and added a
lsa_add_acct_rights function.

This allows us to add privileges remotely to accounts using rpcclient.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
e3d00fa47d reverted this patch till I sort out the craziness with UNIHDR 0001-01-01 00:00:00 +00:00
Andrew Tridgell
b9eff31b14 This removes the 3rd argument from init_unistr2(). There were 240
calls to init_unistr2() in the code and every one of them got the 3rd
argument incorrect, so I thought it best just to remove the argument.

The incorrect usage was caused by callers using strlen() to determine
the length of the string. The 3rd argument to init_unistr2() was
supposed to be the character length, not the byte length of the
string, so for non-english this could come out wrong.

I also removed the bogus 'always allocate at least 256 bytes'
hack. There may be some code that relies on this, but if there is then
the code is broken and needs fixing.
0001-01-01 00:00:00 +00:00
Andrew Tridgell
65bac11d71 added cli_lsa_enum_account_rights() call. Note that this is in
principal similar to the existing cli_lsa_enum_privsaccount() call,
except that cli_lsa_enum_account_rights() doesn't require a call to
open_account first. There is also the minor matter that
cli_lsa_enum_account_rights() works whereas
cli_lsa_enum_privsaccount() doesn't!

this call can be used to find what privileges an account or group
has. This is a first step towards proper privileges support in Samba.
0001-01-01 00:00:00 +00:00
Andrew Bartlett
d7452e73b5 Fix typo, and the build. 0001-01-01 00:00:00 +00:00
Richard Sharpe
9a38e37811 Make sure that those cleanups actually went in. 0001-01-01 00:00:00 +00:00
Tim Potter
6ed4d80baa Remove dead function. 0001-01-01 00:00:00 +00:00
Andrew Bartlett
92a777d0ea BIG patch...
This patch makes Samba compile cleanly with -Wwrite-strings.
 - That is, all string literals are marked as 'const'.  These strings are
always read only, this just marks them as such for passing to other functions.

What is most supprising is that I didn't need to change more than a few lines of code (all
in 'net', which got a small cleanup of net.h and extern variables).  The rest
is just adding a lot of 'const'.

As far as I can tell, I have not added any new warnings - apart from making all
of tdbutil.c's function const (so they warn for adding that const string to
struct).

Andrew Bartlett
0001-01-01 00:00:00 +00:00
Simo Sorce
c5892b656d the shutdown call does not have a 16 bit flags, but 2 byte representing booleans
this commit change the structure and code to reflect this

some test revelead I'm right.

some other revelead currently the abort shutdown does not work against my test machine even if it returns successfully ... need investigation
0001-01-01 00:00:00 +00:00
Andrew Tridgell
d7f18c60f7 the 'padding' field in the query domain info reply is not a padding
field at all. It seems to be an optional 12 byte structure of some
kind. mkaplan found a situation where the structure was not present at
all (depending on ptr_0)
0001-01-01 00:00:00 +00:00
Jeremy Allison
842e08e52a Forward port the change to talloc_init() to make all talloc contexts
named. Ensure we can query them.
Jeremy.
0001-01-01 00:00:00 +00:00
Tim Potter
bbb0b2ee40 Guy Harris points out that the level and ptr fields in a
SPOOL_USER_CTR look like they should be transposed.  We don't make use
of the user level information (what is it used for??) so I haven't
changed any code, just added a comment.
0001-01-01 00:00:00 +00:00
Jim McDonough
3c9726454e Support printer info 7, used for publishing 0001-01-01 00:00:00 +00:00
Jeremy Allison
19f86f1f72 Lots of fixes for error paths where tdb_fetch() data need freeing.
Found via a post from Arcady Chernyak <Arcady.Chernyak@efi.com>.
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
82b8f749a3 Removed global_myworkgroup, global_myname, global_myscope. Added liberal
dashes of const. This is a rather large check-in, some things may break.
It does compile though :-).
Jeremy.
0001-01-01 00:00:00 +00:00
Jeremy Allison
10024ed06e Merge of scalable printing code fix... Needs testing.
Also tidied up some of Richard's code (I don't think he uses the compiler
flags -g -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual like
I do :-) :-).
Jeremy.
0001-01-01 00:00:00 +00:00
Tim Potter
28871bb696 For a BUFFER5, don't parse the buffer if the buffer length is zero. 0001-01-01 00:00:00 +00:00
Tim Potter
f56ce473b6 Client side functions for enumprinterkey. 0001-01-01 00:00:00 +00:00
Volker Lendecke
32d6bcf3ac This fixes some bugs for NT4 usrmgr.exe
Volker
0001-01-01 00:00:00 +00:00
Tim Potter
e62c6bf066 When unmarshalling a relstr, don't unmarshall the string data if the
offset is zero.  Previously we were jumping to the start of the
parse buffer (i.e offset zero) and reading string data until we hit
a terminating NULL.

Test case: in a PRINTER_INFO_0 structure, the servername field may be
NULL when doing an enumprinters with flags = PRINTER_ENUM_LOCAL.
0001-01-01 00:00:00 +00:00
Andrew Bartlett
7f237bde21 Nice *big* patch from metze.
The actual design change is relitivly small however:

It all goes back to jerry's 'BOOL store', added to many of the elements in a
SAM_ACCOUNT.  This ensured that smb.conf defaults did not get 'fixed' into
ldap.  This was a great win for admins, and this patch follows in the same way.

This patch extends the concept - we don't store values back into LDAP unless
they have been changed.  So if we read a value, but don't update it, or we
read a value, find it's not there and use a default, we will not update
ldap with that value.  This reduced clutter in our LDAP DB, and makes it
easier to change defaults later on.

Metze's particular problem was that when we 'write back' an unchanged value,
we would clear any muliple values in that feild.  Now he can still have his
mulitivalued 'uid' feild, without Samba changing it for *every* other
operation.

This also applies to many other attributes, and helps to eliminate a nasty
race condition.  (Time between get and set)

This patch is big, and needs more testing, but metze has tested usrmgr, and
I've fixed some pdbedit bugs, and tested domain joins, so it isn't compleatly
flawed ;-).

The same system will be introduced into the SAM code shortly, but this fixes
bugs that people were coming across in production uses of Samba 3.0/HEAD, hence
it's inclusion here.

Andrew Bartlett
0001-01-01 00:00:00 +00:00
Gerald Carter
f149a5a547 missing prs_align()'s 0001-01-01 00:00:00 +00:00
Gerald Carter
f70caa25e4 merge of working dsrolegetprimdominfo() client code from APP_HEAD 0001-01-01 00:00:00 +00:00
Gerald Carter
38c9e42998 merge of new client side support the Win2k LSARPC UUID in rpcbind
from APP_HEAD
0001-01-01 00:00:00 +00:00
Jeremy Allison
e42b76337b HEAD and APP-HEAD spoolss parsing was out of sync. This MUST NOT HAPPEN !
Jeremy.
0001-01-01 00:00:00 +00:00
Andrew Bartlett
ab878b6cc4 Patch from "Stefan (metze) Metzmacher" <metze@metzemix.de> to do a *much*
better job of working with usrmgr.   Previously we were blanking out entires,
and all sort of mischif.

The new patch (which I've now had a chance to test/modify) also takes care not
to expand % values (ie we go \\%L\%U -> \\server\user, we don't want to store
\\server\user back) and to correctly notice 'not set' compared to 'null string'
etc.

Andrew Bartlett
0001-01-01 00:00:00 +00:00
Volker Lendecke
8c41b5cd1b Change parsing of policy and privs delta to what Ethereal says.
Volker
0001-01-01 00:00:00 +00:00
Simo Sorce
eda0e7589f wrong alignment size calculation
spot by Florian Weimer <Weimer@CERT.Uni-Stuttgart.DE>
0001-01-01 00:00:00 +00:00
Tim Potter
2d227bdce2 Display debug data we are marshalling/unmarshalling a UNISTR in a
similar format to UNISTR2.
0001-01-01 00:00:00 +00:00
Tim Potter
88653130bc A netshareenum reply always contains an enum_hnd. win2k returns zero
total entries on an error whereas nt4 must send uninitialised data so
we didn't catch this one before.
0001-01-01 00:00:00 +00:00
Tim Potter
47b8ec632e Fix typo in comment. 0001-01-01 00:00:00 +00:00
Tim Potter
6d792c683d Implemented client function for deleteprinterdataex. 0001-01-01 00:00:00 +00:00
Tim Potter
6a1953f243 Implemented some more client side spoolss functions:
- getprinterdataex(), setprinterdataex(), enumprinterdataex()

Pass data type down to setprinterdata() fn instead of hardcoding REG_SZ.

Did some trickyness to get enumprinterdataex replies unmarshalled
properly.  The code seems to have been written to require the number
of entries returned before unpacking said entries.  Skip to the end of
the response and read the number of entries then jump back and process
the printer data.
0001-01-01 00:00:00 +00:00
Andrew Bartlett
52db44b5c0 Avoid writing unitialised bytes to the wire (and consequent valgrind warnings)
by zeroing them out if they don't have meaning.

Andrew Bartlett
0001-01-01 00:00:00 +00:00
Gerald Carter
ec37633548 fix up print portion of registry. Merge from APP_HEAD. 0001-01-01 00:00:00 +00:00
Gerald Carter
cb13d334a5 merge of phant0m key fix from APP_HEAD 0001-01-01 00:00:00 +00:00
Andrew Tridgell
5185f495d0 removed a debug line 0001-01-01 00:00:00 +00:00
Volker Lendecke
23a4f6991e There's more work to be done on samsync. Intermediate commit, now
I get all the groups at least.

Volker
0001-01-01 00:00:00 +00:00
Gerald Carter
901769acc3 fix 2 byte alignment/offset bug that prevented Win2k/XP clients
from receiving all the printer data in EnumPrinterDataEx().
0001-01-01 00:00:00 +00:00
Jean-François Micouleau
23501ea971 some cleanup while working on the NETLOGON pipe.
smb_io_chal() did a prs_align() but a challenge is an array of bytes.
and all code calling smb_io_chal() played with the alignment to not align !

I'm confident in my change, but I would *really* like if jeremy could look
at that.

	J.F.
0001-01-01 00:00:00 +00:00
Tim Potter
1f29276c2f Added some new delta types discovered by Ronnie from ethereal"
- SAM_DELTA_RENAME{USER,GROUP,ALIAS}
 - SAM_DELTA_DELETE{USER,GROUP}

Renamed some of the unknown delta types and their unmarshalling functions:

 - SAM_DELTA_TRUST_DOMS
 - SAM_DELTA_SECRET_INFO
0001-01-01 00:00:00 +00:00
Andrew Tridgell
e4cb106d2e added a 'net rpc samdump' command for dumping the whole sam via
samsync operations (as a BDC)
0001-01-01 00:00:00 +00:00
Jean-François Micouleau
2f68d6f5ec NETLOGON NetServerAuthenticate3 include and parser file
J.F.
0001-01-01 00:00:00 +00:00
Gerald Carter
d59b0eb123 * the printing code should now be back to the working state it was
before the swap from NT_PRINTER_PARAM to REGISTRY_VALUE.

* XxxPrinterDataEx() functions have not been expanded to support
  keys other than SPOOL_PRINTERDATA_KEY yet

* fixed apparent long standing bug regarding the dependentfiles
  list in the DRIVER_INFO struct
0001-01-01 00:00:00 +00:00
Gerald Carter
7ba7c04c0e Fairly large change to printing code.
* removed support for PHANTOM_DEVMODE printer data

* s/NT_PRINTER_PARAM/REGISTRY_VALUE/g - This was a good bit
  of work.  Everything seems stable, but is not complete.

* support for printer data keys other than PrinterDriverData
  in the store and fetch routines.  Still needs to be plugged
  into the XxxPrinterDataEx() calls.

Tested against NT4.0 & 2k.  Like I said, it's not done, but doesn't
crash so it shouldn't upset anyone (unless you're trying to build
a Samba printer server off of HEAD).  More work to come.  Should
settle by Monday.


jerry
0001-01-01 00:00:00 +00:00
Tim Potter
482d873c26 Rename unknown_0 field in create_user2 reply in the actual struct. 0001-01-01 00:00:00 +00:00