summaryrefslogtreecommitdiff
path: root/source4/libnet
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r6165: fixed up the userinfo composite code. Fixes include:Andrew Tridgell2-66/+49
- talloc should always be done in the right context. For example, when creating the userinfo_state structure, place it inside the composite structure, not directly on the pipe. If this isn't done then correct cleanup can't happen on errors (as cleanup destroys the top level composite context only) - define private structures like userinfo_state in the userinfo.c code, not in the public header - only keep the parameters we need in the state structure. For example, the domain_handle is only needed in the first call, so we don't need to keep it around in the state structure, but the level is needed in later calls, so we need to keep it - always initialise [out,ref] parameters in RPC calls. The [ref] part means that the call assumes the pointer it has been given is valid. If you don't initialise it then you will get a segv on recv. This is why the code was dying. - don't use internal strucrure elements like the pipe pipe->conn->pending outside of the internal rpc implementation. That is an internal list, trying to use it from external code will cause crashes. - rpc calls assume that rpc call strucrures remain valid for the duration of the call. This means you need to keep the structures (such as "struct samr_Close") in the userinfo_state strucrure, otherwise it will go out of scope during the async processing - need to remember to change c->state to SMBCLI_REQUEST_DONE when the request has finished in the close handler, otherwise it will loop forever trying to close Mimir, please look at the diff carefully for more detailed info on the fixes (This used to be commit 01ea1e7762e214e87e74d6f28d6efeb6cdea9736)
2007-10-10r6164: More comments in the code.Rafal Szczesniak1-2/+49
rafal (This used to be commit 01cbed98b32c2050a665aec51a99288e4afb29c1)
2007-10-10r5988: Fix the -P option (use machine account credentials) to use the Samba4Andrew Bartlett1-2/+3
secrets system, and not the old system from Samba3. This allowed the code from auth_domain to be shared - we now only lookup the secrets.ldb in lib/credentials.c. In order to link the resultant binary, samdb_search() has been moved from deep inside rpc_server into lib/gendb.c, along with the existing gendb_search_v(). The vast majority of this patch is the simple rename that followed, (Depending on the whole SAMDB for just this function seemed pointless, and brought in futher dependencies, such as smbencrypt.c). Andrew Bartlett (This used to be commit e13c671619bd290a8b3cae8555cb281a9a185ee0)
2007-10-10r5983: Start support for being a domain member in Samba4.Andrew Bartlett1-2/+2
This adds the auth_domain module to the auth subsystem, and cleans up some small details around the join process (ensuring all the right info is in the DB). Andrew Bartlett (This used to be commit 858cbfb8210239aa85a01da95e5beb9546a998a5)
2007-10-10r5941: Commit this patch much earlier than I would normally prefer, but ↵Andrew Bartlett4-5/+6
metze needs a working tree... The main volume of this patch was what I started working on today: - Cleans up memory handling around DCE/RPC pipes, to have a parent talloc context. - Uses sepereate inner loops for some of the DCE/RPC tests The other and more important part of this patch fixes issues surrounding the new credentials framwork: This makes the struct cli_credentials always a talloc() structure, rather than on the stack. Parts of the cli_credentials code already assumed this. There were other issues, particularly in the DCERPC over SMB handling, as well as little things that had to be tidied up before test_w2k3.sh would start to pass. Andrew Bartlett (This used to be commit 0453f9d05d2e336fba1f85dbf2718d01fa2bf778)
2007-10-10r5928: Use cli_credentials in:Jelmer Vernooij1-4/+1
- gtk+ (returned by GtkHostBindingDialog as well now) - torture/ - librpc/ - lib/com/dcom/ (This used to be commit ccefd782335e01e8e6ecb2bcd28a4f999c53b1a6)
2007-10-10r5924: Use cli_credentials in libnet/.Jelmer Vernooij2-8/+4
(This used to be commit e5bc6f4f1716568ae7022d61b5b35ee047b58414)
2007-10-10r5902: A rather large change...Andrew Bartlett1-6/+7
I wanted to add a simple 'workstation' argument to the DCERPC authenticated binding calls, but this patch kind of grew from there. With SCHANNEL, the 'workstation' name (the netbios name of the client) matters, as this is what ties the session between the NETLOGON ops and the SCHANNEL bind. This changes a lot of files, and these will again be changed when jelmer does the credentials work. I also correct some schannel IDL to distinguish between workstation names and account names. The distinction matters for domain trust accounts. Issues in handling this (issues with lifetime of talloc pointers) caused me to change the 'creds_CredentialsState' and 'struct dcerpc_binding' pointers to always be talloc()ed pointers. In the schannel DB, we now store both the domain and computername, and query on both. This should ensure we fault correctly when the domain is specified incorrectly in the SCHANNEL bind. In the RPC-SCHANNEL test, I finally fixed a bug that vl pointed out, where the comment claimed we re-used a connection, but in fact we made a new connection. This was achived by breaking apart some of the dcerpc_secondary_connection() logic. The addition of workstation handling was also propogated to NTLMSSP and GENSEC, for completeness. The RPC-SAMSYNC test has been cleaned up a little, using a loop over usernames/passwords rather than manually expanded tests. This will be expanded further (the code in #if 0 in this patch) to use a newly created user account for testing. In making this test pass test_rpc.sh, I found a bug in the RPC-ECHO server, caused by the removal of [ref] and the assoicated pointer from the IDL. This has been re-added, until the underlying pidl issues are solved. (This used to be commit 824289dcc20908ddec957a4a892a103eec2da9b9)
2007-10-10r5900: Use flatname to specify the netbios domain name (matches what win2k3Andrew Bartlett1-3/+3
uses for trusted domain records) in the secrets join records. Andrew Bartlett (This used to be commit a6c502832c4ef471bd423b795f210abf3bb96ca5)
2007-10-10r5775: Remove some unused functions (unions are no longer as special as they ↵Jelmer Vernooij1-0/+1
used to be) Add oxid mapping table support in DCOM (This used to be commit e193555f0eec2dda8c8760e9668181200fef0a1e)
2007-10-10r5681: fix the build and compiler waningsStefan Metzmacher1-1/+2
metze (This used to be commit bb2622a0c94127a31855adc41d90289219a1ddd7)
2007-10-10r5677: Split structure definitions from implementation.Rafal Szczesniak2-21/+45
rafal (This used to be commit ec177c92266713e9a486e536c2d81af4eaa2425e)
2007-10-10r5585: LDB interfaces change:Simo Sorce1-1/+1
changes: - ldb_wrap disappears from code and become a private structure of db_wrap.c thanks to our move to talloc in ldb code, we do not need to expose it anymore - removal of ldb_close() function form the code thanks to our move to talloc in ldb code, we do not need it anymore use talloc_free() to close and free an ldb database - some minor updates to ldb modules code to cope with the change and fix some bugs I found out during the process (This used to be commit d58be9e74b786a11a57e89df36081d55730dfe0a)
2007-10-10r5576: Bunch of fixes pointed by tridge. A few more to come...Rafal Szczesniak1-26/+31
rafal (This used to be commit e5daf6911b49cd4aa0bff050fe8c559d6604859e)
2007-10-10r5474: Remove random notes put in code.Rafal Szczesniak1-1/+0
rafal (This used to be commit bfb4dfaa8c039378b4c29f130cbcdc89eac951b9)
2007-10-10r5472: First approach to composite rpc call fetchin user info.Rafal Szczesniak1-0/+229
It does only compile. Completely untested yet, so almost certainly broken, but I don't want it to lay on my laptop only. rafal (This used to be commit dcab843da35f5dd2ffc694922ee762b3c36dbd35)
2007-10-10r5366: added initial code for adding user accounts to libnet makefile.Rafal Szczesniak1-1/+2
It doesn't do anything useful yet, but at least doesn't break the build. rafal (This used to be commit b9dbf17366f543194f420e7e3c56c8086fb7bf1d)
2007-10-10r5365: Initial code for adding user accounts via libnet call.Rafal Szczesniak3-0/+135
rafal (This used to be commit c5fdc38b176acc70bfc163fbf1e6cf4ef67197f5)
2007-10-10r5364: Rename string fields called 'domain' and 'name' to be 'domain_name'.Tim Potter2-2/+2
(This used to be commit 6749b9404d4e9876ecd964e038c608f05d2c0b69)
2007-10-10r5298: - got rid of pstring.h from includes.h. This at least makes it a bitAndrew Tridgell3-5/+5
less likely that anyone will use pstring for new code - got rid of winbind_client.h from includes.h. This one triggered a huge change, as winbind_client.h was including system/filesys.h and defining the old uint32 and uint16 types, as well as its own pstring and fstring. (This used to be commit 9db6c79e902ec538108d6b7d3324039aabe1704f)
2007-10-10r5256: More verbose description of functions (as I learn the code).Rafal Szczesniak1-5/+49
rafal (This used to be commit 38ac6b8d570fa02bc32899521d42ba7237f77024)
2007-10-10r5037: got rid of all of the TALLOC_DEPRECATED stuff. My apologies for theAndrew Tridgell3-4/+4
large commit. I thought this was worthwhile to get done for consistency. (This used to be commit ec32b22ed5ec224f6324f5e069d15e92e38e15c0)
2007-10-10r4948: Typo fixes in comments.Rafal Szczesniak1-2/+2
rafal (This used to be commit 97d40f1603eeed1b5ff3f2c7d668858fef20f130)
2007-10-10r4891: - added a generic resolve_name() async interface in libcli/resolve/,Andrew Tridgell1-11/+16
which will eventually try all resolution methods setup in smb.conf - only resolution backend at the moment is bcast, which does a parallel broadcast to all configured network interfaces, and takes the first reply that comes in (this nicely demonstrates how to do parallel requests using the async APIs) - converted all the existing code to use the new resolve_name() api - removed all the old nmb code (yay!) (This used to be commit 239c310f255e43dd2d1c2433f666c9faaacbdce3)
2007-10-10r4762: Store the results of a 'net join' in the LDB.Andrew Bartlett2-8/+228
Like Samba3, the storage of the primary domain password is keyed off the domain name, so we can join multiple domains, and just swap 'workgroup =' around. Andrew Bartlett (This used to be commit 54a231780e028c6433cac296f2fbc64e39632dfd)
2007-10-10r4722: Start to add 'net join' to Samba4.Andrew Bartlett5-46/+334
Andrew Bartlett (This used to be commit a9b960609142e15ba5950eb1b22944eb6df18d9c)
2007-10-10r4721: Changes to libnet_passwd to take advantage of the new easier to callAndrew Bartlett2-198/+239
RPC client libs, and to make the fallback between the various SAMR levels easier to manage. I'm starting to enjoy the structure that libnet has actually, and I'm about to build 'net join' on that basis (and I didn't want to have to duplicate the password set code). Andrew Bartlett (This used to be commit f1dd179a50d2c9c81b90a621459c93b0d60e2609)
2007-10-10r4075: implement RemoteTOD server functionStefan Metzmacher1-1/+1
metze (This used to be commit 0c6d4246a45f649e7373606f12db74c2acd0f538)
2007-10-10r4035: more effort on consistent naming of the access mask bits.Andrew Tridgell1-3/+3
This removes the duplicate named SEC_RIGHTS_MAXIMUM_ALLOWED and SEC_RIGHTS_FULL_CONTROL, which are just other names for SEC_FLAG_MAXIMUM_ALLOWED and SEC_RIGHTS_FILE_ALL. The latter names match the new naming conventions in security.idl Also added names for the generic->specific mappings for files are directories (This used to be commit 17a4e0b3aca227b40957ed1e0c57e498debc6ddf)
2007-10-10r3881: Split up the LIBNDR_GEN subsystem into NDR_* and RPC_NDR_* subsystems.Jelmer Vernooij1-1/+1
This reduces the total size of the samba binaries from 119 Mb to 73 Mb. Next step will be to have the build system obtain some of this information by itself, so that we don't have to write ~10 lines per interface manually. (This used to be commit 16d905f6b0cbec591eebc44ee2ac9516a5730378)
2007-10-10r3744: Support building subsystems as a shared library. Modules don't work yet,Jelmer Vernooij1-0/+1
so while this does compile, it does not work yet. (This used to be commit 3d885562c9f83d60c5d4957b067e35387dfa50dd)
2007-10-10r3733: More build system fixes/features:Jelmer Vernooij1-1/+0
- Use .mk files directly (no need for a SMB_*_MK() macro when adding a new SUBSYSTEM, MODULE or BINARY). This allows addition of new modules and subsystems without running configure - Add support for generating .dot files with the Samba4 dependency tree (as used by the graphviz and springgraph utilities) (This used to be commit 64826da834e26ee0488674e27a0eae36491ee179)
2007-10-10r3724: Rename a number of structures, for better consistance between SAMR andAndrew Bartlett1-9/+9
NETLOGON. In particular, rename samr_Name to samr_String - given that many strings in this pipe are not 'names', the previous was just confusing. (I look forward to PIDL turning these into simple char * some day...). Also export out a few changes from testjoin.c to allow for how I have written the new RPC-SAMSYNC test. Andrew Bartlett (This used to be commit 9cd666bcfb1fc752a4717010a7c4f05131dc728e)
2007-10-10r3478: split out some more pieces of includes.hAndrew Tridgell4-0/+4
(This used to be commit 8e9212ecfc61c509f686363d8ec412ce54bc1c8d)
2007-10-10r3462: separate out the crypto includesAndrew Tridgell1-0/+1
(This used to be commit 3f75117db921e493bb77a5dc14b8ce91a6288f30)
2007-10-10r3447: more include/system/XXX.h include filesAndrew Tridgell1-0/+1
(This used to be commit 264ce9181089922547e8f6f67116f2d7277a5105)
2007-10-10r3443: the next stage in the include files re-organisation.Andrew Tridgell1-2/+2
I have created the include/system/ directory, which will contain the wrappers for the system includes for logical subsystems. So far I have created include/system/kerberos.h and include/system/network.h, which contain all the system includes for kerberos code and networking code. These are the included in subsystems that need kerberos or networking respectively. Note that this method avoids the mess of #ifdef HAVE_XXX_H in every C file, instead each C module includes the include/system/XXX.h file for the logical system support it needs, and the details are kept isolated in include/system/ This patch also creates a "struct ipv4_addr" which replaces "struct in_addr" in our code. That avoids every C file needing to import all the system networking headers. (This used to be commit 2e25c71853f8996f73755277e448e7d670810349)
2007-10-10r3428: switched to using minimal includes for the auto-generated RPC code.Andrew Tridgell2-0/+2
The thing that finally convinced me that minimal includes was worth pursuing for rpc was a compiler (tcc) that failed to build Samba due to reaching internal limits of the size of include files. Also the fact that includes.h.gch was 16MB, which really seems excessive. This patch brings it back to 12M, which is still too large, but better. Note that this patch speeds up compile times for both the pch and non-pch case. This change also includes the addition iof a "depends()" option in our IDL files, allowing you to specify that one IDL file depends on another. This capability was needed for the auto-includes generation. (This used to be commit b8f5fa8ac8e8725f3d321004f0aedf4246fc6b49)
2007-10-10r2545: str_charnum -> strlen_m.Andrew Bartlett1-1/+1
These two functions do exactly the same thing, I'll be removing str_charnum shortly. Andrew Bartlett (This used to be commit 5eaa4c97488671a0b7ff539d4d392cbaa29fa489)
2007-10-10r2458: Rename policy handle parameters for the SAMR pipe. Parameters nowTim Potter1-10/+10
have the handle type implied by the parameter name. There are four types of handle: connect, domain, user and group handles. The various samr_Connect functions return a connect handle, and the samr_OpenFoo functions return a foo handle. There is one exception - the samr_{Get,Set}Security function can take any type of handle. Fix up all C callers. (This used to be commit 32f0f3154a8eb63de83145cbc8806b8906ccdc3e)
2007-10-10r2346: fix some minor stuffStefan Metzmacher2-2/+2
metze (This used to be commit 56e21d0ce29b13808bbbd2a6c0464948886d317d)
2007-10-10r2065: add libnet_RemoteTOD() call with levels GENERIC and SRVSVCStefan Metzmacher4-0/+170
metze (This used to be commit 72e3b351d0169366aa88c5445ffa555da6efd1d0)
2007-10-10r2064: fix some error casesStefan Metzmacher1-1/+36
metze (This used to be commit 85ba7b4d60be3f771364aebc9c803da26d2c090b)
2007-10-10r2061: - split libnet header filesStefan Metzmacher4-153/+239
- add LIB_RPC_CONNECT_STANDARD level which takes a server name and the PIPE NAME,UUID and VERSION metze (This used to be commit 6aeaa6aca39c8c2a9edf8d4b3e538bebb68070d7)
2007-10-10r2021: add password change fallback to SetUserInfo level 25,24,23Stefan Metzmacher1-0/+130
metze (This used to be commit d31405ff2f379e9627cc9ee3acaf61e2ccc0f6e4)
2007-10-10r1952: change the _RPC levels into _SAMRStefan Metzmacher2-100/+134
because we may have other rpc levels in future add more comments about what's going on check the rsult of samr_OpenUser metze (This used to be commit 741f95909b42eb55a251e5de991e5b3185714e3e)
2007-10-10r1950: implement libnet_SetPassword_rpc()Stefan Metzmacher1-2/+207
this currently tries only SetUserInfo26 the fallback is not yet done metze (This used to be commit af6b5673b05e7fc1c876a248f99bc71faeec9538)
2007-10-10r1947: fix cup & paste errorsStefan Metzmacher1-14/+18
metze (This used to be commit 1c72f30650655b03fb04a34188a959dfe917b5ec)
2007-10-10r1928: give up on NT_STATUS_PASSWORD_RESTRICTIONStefan Metzmacher1-0/+3
(NOTE: this code pass isn't called yet, because pidl mixes the NTSTATUS of transport and request layer, and will be fixed soon) metze (This used to be commit 84c06d9ab0366772f71be088c53da9618e2555fe)
2007-10-10r1927: allow the domain to be a ip addressStefan Metzmacher1-0/+5
metze (This used to be commit d0e518e7d0edcf64a3d7173ff8d38f221db1ce6e)