Age | Commit message (Collapse) | Author | Files | Lines |
|
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)
|
|
(This used to be commit 06529c0433bf75790aad27dd3cecf7005612c694)
|
|
(This used to be commit dd46ff7619129782963ec6ea727e5d731370ee7d)
|
|
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)
|
|
*.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)
|
|
and appear to be functions for internal use.
Richard: please check.
Andrew Bartlett
(This used to be commit cb61e61a113dede4a0b0f5d31d0ec89c4b6ecd65)
|
|
(This used to be commit 2d7eccbeb258b4fdd14323a40f9537eb265f73e1)
|
|
(This used to be commit dab26f8891a77640ce382ce1785ca5dd22d43c22)
|
|
(This used to be commit bb1aa5e1d2e4f71dfaab0ade24ed15d1b5fdfc33)
|
|
(This used to be commit 537d33735d65c40490aab2210c1d331d940bf4f8)
|
|
Andrew Bartlett
(This used to be commit d1ca2b9f23ce701eb6b6becafb1acd813fc8fc3a)
|
|
Went through and checked all string_subs I could to ensure they're being
used correctly.
Jeremy.
(This used to be commit 17cae0d683be404be69554cd0e84117bdcc56c87)
|
|
WinXP. This fixes setting security decsriptors from XP Professional.
(This used to be commit 80c3c68de20a686ced38356fd68f80a53e6f1626)
|
|
(This used to be commit daf4c6a013ffa474d768055e73a1cb31ee941e80)
|
|
(This used to be commit 922ab73c3c8f510fdbcb8b64d54b512d32c47b75)
|
|
code
(This used to be commit 91ad9041e9507d36eb3f40c23c5d4df61f139ef0)
|
|
this fixes the huge number of struct berval warnings on non-ads
compiles
(This used to be commit e7f588d8156856109623b5f5a3841c5d096b1185)
|
|
server. We were rejecting them, leaving the name unregistered!
(This used to be commit 2dc539ed33f9893cbe9e16c386994933121b71e9)
|
|
(ie. check for lp_dns_proxy())
(This used to be commit 84d3b09b8542518a4684d07e975bcc9eaa1f6b69)
|
|
(This used to be commit 514b91827a970a0041314af341b8c66a01668e4a)
|
|
broadcast addresses. This makes it far more likely that we will try to
talk to an interface that is routable from one of our interfaces.
(This used to be commit bc1a0506868266088ae585a7a5dcb1ac8ca3474d)
|
|
(This used to be commit dbfd4e5101599bcb85600e4c5c93ce5390b9aa91)
|
|
bytes which follow the header, not the full packet size.
[Yes, the length field is either 17-bits, or (per the RFCs) it is a
16-bit length field preceeded by an 8-bit flags field of which only
the low-order bit may be used. If that bit is set, then add 65536 to
the 16-bit length field. (In other words, it's a 17-bit unsigned
length field.)
...unless, of course, the transport is native TCP [port 445] in which
case the length field *might* be 24-bits wide.]
Anyway, the change is a very minor one. We were including the four bytes
of the header in the length count and, as a result, sending four bytes of
garbage at the end of the SESSION REQUEST packet.
Small fix in function cli_session_request().
(This used to be commit cd2b1357066a712efcf87ac61922ef871118e8de)
|
|
systems
(This used to be commit 4eda1801493a79a27ad49e141e6adf8c8d4db85b)
|
|
to a tdb per-queue for scalability.
Jeremy.
(This used to be commit e808eb2758ff4ad1eed7b50a02865b87ba0c068e)
|
|
Jeremy.
(This used to be commit b35fc30c37fa894acea3fcb7b48ee9841d1bd5e8)
|
|
Jeremy.
(This used to be commit 95d22f18d7a2bb06804a6a336b243face4b496a1)
|
|
str_list_copy(). Perhaps its proto should be fixed.
(This used to be commit b81bc2b34b620c24a148435d9913bd1a1528c983)
|
|
Jeremy.
(This used to be commit f631f7e0fc7ff655d56ad17606134784f401f171)
|
|
(This used to be commit ae2f8aa9d0678aa0014d96fc8b1b52f42cba8349)
|
|
these errors happen all the time, so they shouldn't be level 0
(This used to be commit abc2aed26c6cb12a86987a3846ca5c9f7df9a5ae)
|
|
warning
(This used to be commit 98a119ee58286b708a54dcba9ffcfbdcf8cb6bba)
|
|
'valid.dat' warning
(This used to be commit 57101ef770e34ef9fd2ddcb5d9c9e9ad050e5e3d)
|
|
Now let's keep this in sync !
Jeremy.
(This used to be commit 3603cd4947df2c10df604447dc542932cb9e5d5a)
|
|
to a Samba print server running HEAD in a while. This has been broken
since tridge's changes to make_connection() to not do the chdir()
to the connect_path. Sorry it took me so long to get around to fixing it.
The problem occured with our internal use of make_connection().
jerry
(This used to be commit b5bc8aa0f68ceebfb5c0ec15ff93b0172cec36d8)
|
|
(This used to be commit 9a3e323ec261a1ee3a83f8c558583c3d4a53e06a)
|
|
We now cope wiith multiple WINS groups and multiple failover servers
for release and refresh as well as registration. We also do the regitrations
in the same fashion as W2K does, where we don't try to register the next
IP in the list for a name until the WINS server has acked the previos IP.
This prevents us flooding the WINS server and also seems to make for much
more reliable multi-homed registration.
I also changed the dead WINS server code to mark pairs of IPs dead,
not individual IPs. The idea is that a WINS server might be dead from
the point of view of one of our interfaces, but not another, so we
need to keep talking to it on one while moving onto a failover WINS
server on the other interface. This copes much better with partial
LAN outages and weird routing tables.
(This used to be commit 313f2c9ff7a513802e4f893324865e70912d419e)
|
|
prs_align() for sec_desc.
(This used to be commit fc3770f281f6344a0589bfe614cd3e559b7259dd)
|
|
Jeremy.
(This used to be commit d015c08100bf467e3f83143586a234989eca1a49)
|
|
kernel.
(This used to be commit ce7aa715ba2b704bfba49f128196c6a3421fd73b)
|
|
(This used to be commit fea895c5c41d51e6b06f0bcf8e0c95b29df89e76)
|
|
(This used to be commit d8cf54399d89b4023102ed8326d35147d91e4168)
|
|
Jeremy.
(This used to be commit 4ed134426dbf85a4f4e2f7fcef91cd8e8bf31519)
|
|
Jeremy.
(This used to be commit 374182a9ba4988cad407e6e6c45057069a3c5793)
|
|
(This used to be commit b361089360068b91e9f4d221abdc3c8351596a7f)
|
|
(This used to be commit 0bce9af615db2eb7e95887ab6b95655d7771dac2)
|
|
accept an extended syntax for 'wins server' like this:
wins server = group1:192.168.2.10 group2:192.168.3.99 group1:192.168.0.1
The tags before the IPs don't mean anything, they are just a way of
grouping IPs together. If you use the old syntax (ie. no ':') then
an implicit group name of '*' is used. In general I'd recommend people
use interface names for the group names, but it doesn't matter much.
When we register in nmbd we try to register all our IPs with each group
of WINS servers. We keep trying until all of them are registered with
every group, falling back to the failover WINS servers for each group
as we go.
When we do a WINS lookup we try each of the WINS servers for each group.
If a WINS server for a group gives a negative answer then we give up
on that group and move to the next group. If it times out then
we move to the next failover wins server in the group.
In either case, if a WINS server doesn't respond then we mark it dead
for 10 minutes, to prevent lengthy waits for dead servers.
(This used to be commit e125f06058b6b51382cf046b1dbb30728b8aeda5)
|
|
unicast subnet, so remove that parameter. That frees up userdata so I
can start using it to indicate which wins server tag we are
registering (more about wins 'tags' later ...)
(This used to be commit 1324f0c185bb8cdb95fd497457223aff5e687bd6)
|
|
it is *completely* bogus for our client code to be doing wins
registrations. Not only is it slow as hell (think about when a wins
server is down) but how the heck is going to answer the queries that
will later come in for our name? And what happens when libsmbclient
sends registrations and nmbd then gets the WACK response from the wins
server? we end up losing our name!
Name registration is a job for nmbd, not for clients.
(This used to be commit 62774923ffdce15eded0f37ba99e33e9cd7a358c)
|
|
(This used to be commit d03efabc4dca842cafcd0edfa1eaa5b4d3e821b6)
|