1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00
Andrew Tridgell 7cbc768376 r4777: added a smb_composite_sesssetup() async composite function. This
encapsulates all the different session setup methods, including the
multi-pass spnego code.

I have hooked this into all the places that previously used the
RAW_SESSSETUP_GENERIC method, and have removed the old
RAW_SESSSETUP_GENERIC code from clisession.c and clitree.c. A nice
side effect is that these two modules are now very simple again, back
to being "raw" session setup handling, which was what was originally
intended.

I have also used this to replace the session setup code in the
smb_composite_connect() code, and used that to build a very simple
replacement for smbcli_tree_full_connection().

As a result, smbclient, smbtorture and all our other SMB connection
code now goes via these composite async functions. That should give
them a good workout!
(This used to be commit 080d0518bc7d6fd4bc3ef783e7d4d2e3275d0799)
2007-10-10 13:08:53 -05:00

146 lines
3.2 KiB
C

/*
Unix SMB/CIFS implementation.
Copyright (C) Andrew Tridgell 2004
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
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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.
*/
/*
this file contains pre-declarations of private structures to avoid the
"scope is only this definition or declaration" warning
*/
union spoolss_PrinterInfo;
union spoolss_FormInfo;
union spoolss_JobInfo;
union spoolss_DriverInfo;
union spoolss_PortInfo;
struct MULTI_QI;
struct COSERVERINFO;
struct epm_floor;
struct epm_tower;
struct drsuapi_DsCrackNames;
struct samr_ChangePasswordUser;
struct samr_OemChangePasswordUser2;
struct samr_ChangePasswordUser3;
struct samr_ChangePasswordUser2;
struct samr_Password;
struct samr_CryptPassword;
struct samr_CryptPasswordEx;
struct samr_LogonHours;
struct netr_Credential;
struct netr_Authenticator;
union netr_Validation;
struct iface_struct;
struct tm;
struct utimbuf;
struct auth_usersupplied_info;
struct auth_serversupplied_info;
struct auth_session_info;
struct creds_CredentialState;
struct ntlmssp_state;
struct auth_methods;
struct schannel_state;
struct spnego_data;
struct gensec_security;
typedef NTSTATUS (*gensec_password_callback)(struct gensec_security *gensec_security, TALLOC_CTX *mem_ctx,
char **password);
struct asn1_data;
struct ldapsrv_call;
struct ldapsrv_connection;
struct rw_buffer;
struct registry_context;
struct registry_key;
struct registry_value;
struct rap_NetShareEnum;
struct rap_NetServerEnum2;
struct smbsrv_request;
struct smbsrv_tcon;
struct smb_signing_context;
struct smbsrv_connection;
struct auth_context;
struct auth_method_context;
struct request_buffer;
struct pvfs_dir;
struct pvfs_filename;
struct pvfs_state;
struct pvfs_file;
struct pvfs_file_handle;
struct dcesrv_context;
struct dcesrv_interface;
struct dcesrv_connection;
struct dcesrv_connection_context;
struct dcesrv_endpoint;
struct dcesrv_call_state;
struct dcesrv_auth;
union libnet_Join;
union libnet_JoinDomain;
union libnet_ChangePassword;
union libnet_SetPassword;
union libnet_find_pdc;
union libnet_rpc_connect;
union libnet_RemoteTOD;
union libnet_JoinDomain;
struct net_functable;
struct net_context;
struct clilist_file_info;
struct xattr_DosEAs;
struct xattr_DosStreams;
struct xattr_NTACL;
struct test_join;
struct test_join_ads_dc;
struct netr_LMSessionKey;
struct ldb_message;
struct dom_sid;
struct security_token;
struct security_acl;
struct security_ace;
struct lsa_RightSet;
struct ldb_val;
struct smbcli_composite;
struct smb_composite_loadfile;
struct smb_composite_savefile;
struct smb_composite_connect;
struct smb_composite_sesssetup;