1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-17 02:05:21 +03:00

1148 Commits

Author SHA1 Message Date
Gerald Carter
9fe3bd1259 * refactored registry operations some. subkey lists and
registry values are now passed around in containers
  (REGSUBKEY_CTR & REGVAL_CTR) which each possess a TALLOC_CTX.

* removed subkey_specific_fn() from REGISTRY_OPS.  Is implemented
  in the form of a wrapper

* temporarily broke the printing registry ops.

* implemented inheritence for the data_p of nodes in a SORTED_TREE

* All REGISTRY_KEY instances now store a valid REGISTRY_HOOK since
  the default REGOSTRY_OPS structure is stored in the root of the
  cache_tree.

* Probably some other change I forgot....  T
(This used to be commit e7b55e8f017e638342d9c8c1a9259000745a0298)
2002-07-19 18:49:44 +00:00
Gerald Carter
06ae9ac5d9 virtual registry framework with initial printing hooks.
(This used to be commit a43d9788fa8823d678ee72470421b980165ec2b0)
2002-07-18 23:00:24 +00:00
Jeremy Allison
29426b4a50 Gone back to explicit queue number passing as snum - removed encoding of
queueid in job number. This means we must have an internal tdb to store
mapping from 16 bit RAP jobid's to 32 bit RPC jobids.
Jeremy.
(This used to be commit 4ff64f69706cc94d5dba7762754d00790c476963)
2002-07-17 19:12:17 +00:00
Gerald Carter
78750803d0 splitting off storage/retrieval routines for abstracting the
registry view front end.  Now to plug in the various hooks.
(This used to be commit 9772acd9ad44af2800dfb9d8610c2d5c23eaceb4)
2002-07-15 22:27:07 +00:00
Andrew Tridgell
159118de5c fixed a number of real bugs found by warnings on the 64 bit irix compiler
(This used to be commit 04de6bbc8055e5547af41b10e284b722f40e726d)
2002-07-15 10:54:35 +00:00
Andrew Tridgell
369040ac5d fixed a problem with getgroups() where it could include our current
effective gid which could mean that the user gets group 0 in their
group list for acl interpretation

this is a replacement fix for the one richard did in 2.2 (which didn't
cope wiith variable behaviour depending on which nss module was in
use)
(This used to be commit cfc5ca3416cea5ea5d2ac34f5521cb6367e42cd2)
2002-07-15 03:59:14 +00:00
Jeremy Allison
8ba2c4e55d We must ZERO_STRUCT before using the buffer in copy_unistr2.
Fixes addprinterdriverex.
Jeremy.
(This used to be commit d3c73e59708eeb1ee4642fb31fcfc0ec2fd28070)
2002-07-12 18:10:24 +00:00
Gerald Carter
bdfe11eaea added copyright
(This used to be commit dcb6d70706a0e86881588c3828ff5bd4d63d415f)
2002-07-11 13:17:57 +00:00
Gerald Carter
137570cb03 last check in for tonight.
* DeletePrinterDriverEx() now has the ability to delete
    driver files.  I need to do some more testing
    tro veriofy that we are in fact not deleting a file out from
    under another driver, but it looks ok so far.

  * DeletePrinterDriver() noiw deletes all versions of the
    specified driver (cversion == 0, 1, 2, 3)
(This used to be commit 17bb780e1327663fa2fcd6a3cb25dd461a29c537)
2002-07-11 04:53:39 +00:00
Gerald Carter
0aadcff8ec all that is left to do is to actually perform the
file deletion now.  I have the file list.
One more commit should do it.
(This used to be commit 7207662504f585352b0ceeb99f8998ef58db7f15)
2002-07-11 03:27:12 +00:00
Gerald Carter
496e85dd81 intermediate work on DeletePrinterDriverEx(). This call
will actually delete driver files ( not yet though I don't think).
Just wanted to get it in since Jeremy and I are both
working on nt_printing.c
(This used to be commit 3fa6c3132950c9ff1c6a532d8264ee34a6b2b0ff)
2002-07-11 01:54:26 +00:00
Gerald Carter
18742edd2a fix typo
(This used to be commit be926c3a1a7fc79af62dd1830c56e9503f89f9dd)
2002-07-08 20:30:54 +00:00
Gerald Carter
e247cb8239 added parsing routines for SPOOLSS_ADDPRINTERDRIVEREX and
SPOOLSS_DELETEPRINTERDRIVEREX.  Ran them through some testing.
I know I'm off by 2 x uint32's in the former RPC.
(This used to be commit 55fbfd02ba917b74fd4df7a1aa8cc8c5a91e3e07)
2002-07-08 20:15:47 +00:00
Gerald Carter
100b8986ea * basic implementation of SPOOLSS_DELETEPRINTERDATAEX and
SPOOLSS_DELETEPRINTERKEY
* stub funnctions for SPOOLSS_ADDPRINTERDRIVEREX and
  SPOOLSS_DELETEPRINTERDRIVEREX
(This used to be commit d675974d0c04a68d48d90492005056d96697c96c)
2002-07-08 18:34:55 +00:00
Andrew Bartlett
21b9280cf5 Kill off const warnings - add a pile of const to various places.
(This used to be commit 1de04ec4735c19ec21cdef6e679cea17c734c5f6)
2002-07-08 02:14:57 +00:00
Andrew Bartlett
b2be8917e0 Jerry: Sorry if I am stepping on toes here, but this should fix the compile on
solaris CC (void* arithmatic) and fixes the other warnings (global variable
shadows) that gcc has with this file.

Andrew Bartlett
(This used to be commit 7ac6517bec0f425f99f419f6efd2a673b4ec0f83)
2002-07-08 01:06:38 +00:00
Andrew Bartlett
d29d29e4a2 Updates to the 'name -> sid' code:
Correct the 'none mapped' behaviour, (so that it matches Win2k) and  add a
function to make the SID types appear as text strings in logs/rpcclient.

Also, remove a silly case that would cause 'failure' to be 'success'.  (Might
look at this a bit more in future).

Andrew Bartlett
(This used to be commit c20d057f8821d13d3de61b319de44db23773516b)
2002-07-07 03:34:24 +00:00
Andrew Bartlett
48316a8c0e Copy the NT_TOKEN to the pipe, so the SAMR can use it for access control.
Andrew Bartlett
(This used to be commit 685a205445f5505c105ea421712c4b0468bbc127)
2002-07-06 05:08:35 +00:00
Tim Potter
b1aec128e4 Remove C++ comments.
(This used to be commit 180374c4440765f3d08e5690967beb387ae3b54d)
2002-07-05 04:08:32 +00:00
Gerald Carter
26d161ff85 fixed the geyed out registry keys. Stupid typo on my part.
Now on to plug in the printing tdbs to the registry view....

jerry
(This used to be commit 2a68e4529ad884e8c3800f9006bb1c2b18cfada4)
2002-07-04 13:18:56 +00:00
Andrew Bartlett
e48b3fe83c More code from "Kai Krueger" <kai@kruegernetz.de>, this time starting to make
the 'user cannot change password' button work.  Needs help from a future SAM
backend, but at least this parses the data, and returns an error.

Andrew Bartlett
(This used to be commit 0c4afe075aa018ec2be10f36fd3f0a5af2a032f1)
2002-07-04 13:11:54 +00:00
Gerald Carter
fafecde33a * fix seg fault caused by missing DLIST_REMOVE in free_fn()
* fixed constant vaolued returned by REG_UNKNOWN_1A
(This used to be commit 3b934e6a8550a03028eed9fe65c28401f429d591)
2002-07-04 12:51:26 +00:00
Andrew Bartlett
cd383bdc30 Patch to add security descriptors to the SAMR pipe.
This is not the final solution, I think this will probably changed with the
move to the new SAM subsystem, but it allows some research and gives us
somthing to start with.

It should also help with getting proper NT_TOKEN passing set-up.

Original patch by "Kai Krueger" <kai@kruegernetz.de>, which I have modified to
pass back NTSTATUS returns in more places and to use a little more common code.

Andrew Bartlett
(This used to be commit 43b72493708e74e089989db42a003a3862c793e6)
2002-07-04 08:45:45 +00:00
Gerald Carter
a3c3960edc first cut at implementing support for browsing printer and driver driver
via regedt32.exe.  The regsitry.tdb is only a framework.  It is not
intended to store values, only key/subkey structure.  The data
will be retrieved from nt*tdb (for printers) creating a virtual view
of the data.

You can currently connect to a Samba box using regedt32.exe (haven't
tried regedit.exe).  Some basic keys are created in registry.tdb
for use.

There are two problems....

  * something is getting freed in the winreg code that causes heap
    corruption later on.  As long as you don't play with the winreg
    server functionality, I don't think you'll be bitten by this.

  * no access controls are currently implemented

  * I can't browse HKLM because regedt32 greys out the SYSTEM subkey.

ok so that was three....
(This used to be commit 542d3c93a998083c07b2afa91a7c927c376caf54)
2002-07-03 19:15:26 +00:00
Andrew Bartlett
8e52737efc Break up the passdb objects (to allow RPC clients to link without brining in
*.o) and implment new enum_dom_users code in the SAMR RPC subsystem.

Incresingly, we are using the pdb_get_{user,group}_sid() functions, in the
eventual hope that we might one day support muliple domains off a single
passdb.  To extract the RID, we use sid_peek_check_rid(), and supply an
'expected' domain SID.

The id21 -> SAM_ACCOUNT and id23 -> SAM_ACCOUNT code has been moved to
srv_samr_util.c, to ease linking in passdb users.

Compatiblity code that uses 'get_global_sam_sid()' for the 'expected' sid is in
pdb_compat.c

Andrew Bartlett
(This used to be commit 5a2a6f1ba316489d118a8bdd9551b155226de94f)
2002-07-03 07:37:54 +00:00
Jeremy Allison
82176f4d85 Address the string_sub problem by changing len = 0 to mean "no expand".
Went through and checked all string_subs I could to ensure they're being
used correctly.
Jeremy.
(This used to be commit 17cae0d683be404be69554cd0e84117bdcc56c87)
2002-07-02 06:34:27 +00:00
Tim Potter
5106ead0e0 Merge of constant renames from APPLIANCE_HEAD.
(This used to be commit daf4c6a013ffa474d768055e73a1cb31ee941e80)
2002-07-02 04:07:32 +00:00
Andrew Tridgell
9930b0b065 used findstatic.pl to make some variables static and remove some dead
code
(This used to be commit 91ad9041e9507d36eb3f40c23c5d4df61f139ef0)
2002-07-01 09:12:41 +00:00
Jeremy Allison
f201450f39 Added limit on SPOOLSS pipes from 2.2.x
Jeremy.
(This used to be commit b35fc30c37fa894acea3fcb7b48ee9841d1bd5e8)
2002-06-28 19:41:17 +00:00
Jeremy Allison
452eb38df0 Proper merge of all the working printing stuff from APPLIANCE_HEAD.
Now let's keep this in sync !
Jeremy.
(This used to be commit 3603cd4947df2c10df604447dc542932cb9e5d5a)
2002-06-28 00:17:15 +00:00
Andrew Bartlett
8e387b8178 I'm going to try and check this against Win2k shortly, but I'm certain that
'NT_STATUS_OK' is not the right answer here.  Try NO_MORE_ENTRIES for now.

Andrew Bartlett
(This used to be commit c98b9a965905f1876b4884f932ff2e0237d85b03)
2002-06-25 11:21:41 +00:00
Gerald Carter
2e148c865a compile fix
(This used to be commit b07d6d4cebecd77314b123d83c7c2265eb62e1c1)
2002-06-24 20:09:34 +00:00
Gerald Carter
900fb62238 printing merge from SAMBA_2_2. Ther server code looks to be in sync now.
Mostly formatting and s/free/SAFE_FREE/g changes with the two exceptions
being

  * John driver init changes
  * Tim's printer enumeration bug fix
(This used to be commit f7536762863811f96364e8acd3716bdb7d665bbf)
2002-06-24 19:51:23 +00:00
Simo Sorce
a60e37096d more debug classess activated
(This used to be commit 897e64d2e0c1d04ab93441ccaffe369bf43be46e)
2002-06-18 09:20:13 +00:00
Andrew Bartlett
ac08646c37 Rework much of the service.c code:
The aim of this execise is to give the 'security>=user' code a straight paper
path.  Security=share will sill call authorise_login(), but otherwise we avoid
that mess.

This allow *much* more accurate error code reporting, beocuse we don't start
pretending that we can use the (nonexistant) password etc.

Also in this patch is code to create the 'homes' share at session setup time
(as we have done in the past - been broken recently) and to record this on
the user's vuser struct for later reference.  The changes here should also
allow for much better use of %H (some more changes to come here).

The service.c changes move a lot of code around, but are not as drastric
as they look...

(Also included is a fix to srv_srvsvc_nt.c where 'total_entries' not
'*total_entries' was compared).

This code is needs testing, but passes my basic tests.

I expect we have lost some functionality, but the stuff I had expected
to loose was already broken before I started.  In particular, we don't 'fall
back' to guest if the user cannot access a share (for security=user).  If you
want this kind of stuff then you really want security=share anyway.

Andrew Bartlett
(This used to be commit 4c0cbcaed95231f8cf11edb43f6adbec9a0d0b5c)
2002-06-15 12:38:13 +00:00
Andrew Bartlett
843a467f21 Update the netlogon code to better cope with trusted domains, where things
like the domain name and SID come from the remote domain, not the local
one.  These are filled out by the code from the previous commit (auth_util.c,
the make_server_info_info3() fn) and read back here.

Andrew Bartlett
(This used to be commit 6872de2e5b27fd2de61ed14c85475a0eacd637ca)
2002-06-15 11:40:25 +00:00
Andrew Bartlett
baef1358d2 Add const, kill of useless casts and therefore eliminate warnings.
Andrew Bartlett
(This used to be commit 29490f214750acd44cee6c4ab1354722d82d853a)
2002-06-14 00:47:08 +00:00
Andrew Bartlett
bad738e653 Latest patch from metze <metze@metzemix.de> to move most of samba across
to using SIDs instead of RIDs.

The new funciton sid_peek_check_rid() takes an 'expected domain sid' argument.

The idea here is to prevent mistakes where the SID is implict, but isn't
the same one that we have in the struct.

Andrew Bartlett
(This used to be commit 04f9a8ff4c7982f6597c0f6748f85d66d4784901)
2002-06-13 14:06:08 +00:00
Gerald Carter
366a649d04 merge from 2.2
(This used to be commit 30a0e72572b25ddd99438b92b8ddf7f06e9ad819)
2002-06-11 03:22:32 +00:00
Andrew Bartlett
ae6bdb2cd5 This (hopefully) fixes a bug reported by Kai Krueger <kai@kruegernetz.de>
involving the use of lp_winbind_gid() without checking if they have been
set.

Also revert the 'clashing user' check back to a Get_Pwnam() - I probably should
never have changed it.

Andrew Bartlett
(This used to be commit 1d6ba405589cee4e1582bc91cf659b89564899d4)
2002-06-09 08:45:35 +00:00
Andrew Bartlett
b0ffabdcca Globally replace 'global_sam_sid' with get_global_sam_sid(), a self
initialising function.  This patch thanks to the work of
"Stefan (metze) Metzmacher" <metze@metzemix.de>

This is partly to enable the transition to SIDs in the the passdb.

Andrew Bartlett
(This used to be commit 96afea638e15d4cbadc57023a511094a770c6adc)
2002-06-07 14:33:33 +00:00
Tim Potter
89e9f7530a Fix compile error - doh!
(This used to be commit e80e6637064a39635faba5311f774a90b1d5ab43)
2002-06-06 01:34:04 +00:00
Tim Potter
617a551c42 Moved some notify related constants into srv_spoolss_nt.c since
they're only used there.

Added a PRINTER_NOTIFY_VERSION constant.
(This used to be commit 9d3933a59219388c209d8be4ae6decfa337d229f)
2002-06-06 01:19:56 +00:00
Tim Potter
bfa2dfaba8 Fixed out of date comment for _spoolss_rffpcnex()
(This used to be commit 7d9b8c58a63cf20d00dd7cf88cfb82aed3a47d12)
2002-06-06 00:59:52 +00:00
Andrew Bartlett
ebe58d8569 Update the SAMR pipe for more use of NTSTATUS and to talloc the stored list of
users/groups for better memory accounting.

Andrew Bartlett
(This used to be commit fe7c5efe91ab77784af9dbb56716170f4c6fd057)
2002-06-04 23:10:02 +00:00
Jim McDonough
e142b4b324 Fix netsessenum RPC. Correctly respond with as much info as we can.
(This used to be commit c8781a3fdaa4d8cb81233582f29159ace7e436ac)
2002-06-03 22:14:43 +00:00
Tim Potter
c3bd192703 Restrict anonymous checks for the SAMR pipe. This is done by
returning access denied for a SAMR_CONNECT by an anonymous user which
seems to be the way 2K does it rather than blocking individual RPC
calls like NT.

Also checked is the SAMR_GET_DOM_PWINFO rpc which for some reason
doesn't require a policy handle to return information.  No idea what
it's actually used.
(This used to be commit 40c68fa85c31c1baf7ba2c8ed62cd06c34711913)
2002-06-03 03:02:39 +00:00
Tim Potter
d706b5dc55 Move restrict anonymous checks into a general function called
pipe_access_check().  Eventually this can take a security descriptor
as an argument as well.
(This used to be commit 8bbdc674afef32621bf473ba1af76bae7270b818)
2002-06-03 02:55:16 +00:00
Jim McDonough
e422b271da Update netfileenum on both client and server sides to do an arbitrary number
of files.  This was done to better enable net rpc file.  Perhaps we can start
giving back real info this way, too.
(This used to be commit b3fea72ee9abd2441a49c35442c54819e4ba16ba)
2002-05-31 17:02:09 +00:00
Tim Potter
c3fb0cd9ed Return access denied for net_share_enum when restrict anonymous > 0
(This used to be commit 5df1aa9f20ae2036848b7e46703bfd3a923d7b4f)
2002-05-31 00:48:40 +00:00