vfs_default: also call vfs_offload_token_ctx_init in vfswrap_offload_write_send
[samba.git] / source4 / libnet / libnet.c
index 2d55905b372d3db02486e1ad93263d52eedd3617..a590893bee21ab31c1da8bacc4eda1c7519c5652 100644 (file)
@@ -5,7 +5,7 @@
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "includes.h"
 #include "libnet/libnet.h"
 #include "lib/events/events.h"
+#include "param/param.h"
+#include "libcli/resolve/resolve.h"
 
-struct libnet_context *libnet_context_init(struct event_context *ev)
+struct libnet_context *libnet_context_init(struct tevent_context *ev,
+                                          struct loadparm_context *lp_ctx)
 {
        struct libnet_context *ctx;
 
-       /* create brand new libnet context */ 
-       ctx = talloc(ev, struct libnet_context);
-       if (!ctx) {
+       /* We require an event context here */
+       if (!ev) {
                return NULL;
        }
 
-       /* events */
-       if (ev == NULL) {
-               ev = event_context_find(ctx);
-               if (ev == NULL) {
-                       talloc_free(ctx);
-                       return NULL;
-               }
+       /* create brand new libnet context */
+       ctx = talloc_zero(ev, struct libnet_context);
+       if (!ctx) {
+               return NULL;
        }
+
        ctx->event_ctx = ev;
+       ctx->lp_ctx = lp_ctx;
 
-       /* name resolution methods */
-       ctx->name_res_methods = str_list_copy(ctx, lp_name_resolve_order());
+       /* make sure dcerpc is initialized */
+       dcerpc_init();
 
-       /* connected services' params */
-       ZERO_STRUCT(ctx->samr);
-       ZERO_STRUCT(ctx->lsa);
+       /* name resolution methods */
+       ctx->resolve_ctx = lpcfg_resolve_context(lp_ctx);
 
-       /* currently opened user */
-       ZERO_STRUCT(ctx->user_handle);
+       /* default buffer size for various operations requiring specifying a buffer */
+       ctx->samr.buf_size = 128;
 
-       /* init pipe pointer */
-       ctx->pipe = NULL;
-       
        return ctx;
 }