summaryrefslogtreecommitdiff
path: root/source4/include
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-26 01:16:41 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-26 01:16:41 +0000
commite0ac659917066dbf7f8fdbcc7684ce2b49dd04d9 (patch)
tree349f47df69b41ca0c9a11452e7f56e6c6c3647ce /source4/include
parent06942f3ddbb897c66644c253d1d2a7a21a31702e (diff)
downloadsamba-e0ac659917066dbf7f8fdbcc7684ce2b49dd04d9.tar.gz
samba-e0ac659917066dbf7f8fdbcc7684ce2b49dd04d9.tar.bz2
samba-e0ac659917066dbf7f8fdbcc7684ce2b49dd04d9.zip
signed DCERPC over TCP now works !
* moved ntlmssp code into libcli/auth/, and updated to latest ntlmssp code from samba3 (thanks Andrew! the new interface is great) * added signing/ntlmssp support in the dcerpc code * added a dcerpc_auth.c module for the various dcerpc auth mechanisms (This used to be commit c18c9b5585a3e5f7868562820c14f7cb529cdbcd)
Diffstat (limited to 'source4/include')
-rw-r--r--source4/include/includes.h2
-rw-r--r--source4/include/ntlmssp.h133
2 files changed, 1 insertions, 134 deletions
diff --git a/source4/include/includes.h b/source4/include/includes.h
index 908d2a4e76..2b4eff6eb4 100644
--- a/source4/include/includes.h
+++ b/source4/include/includes.h
@@ -756,7 +756,7 @@ extern int errno;
#include "md5.h"
#include "hmacmd5.h"
-#include "ntlmssp.h"
+#include "libcli/auth/ntlmssp.h"
#include "auth.h"
#include "passdb.h"
diff --git a/source4/include/ntlmssp.h b/source4/include/ntlmssp.h
deleted file mode 100644
index f0278ffece..0000000000
--- a/source4/include/ntlmssp.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- SMB parameters and setup
- Copyright (C) Andrew Tridgell 1992-1997
- Copyright (C) Luke Kenneth Casson Leighton 1996-1997
- Copyright (C) Paul Ashton 1997
-
- 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.
-*/
-
-/* NTLMSSP mode */
-enum NTLMSSP_ROLE
-{
- NTLMSSP_SERVER,
- NTLMSSP_CLIENT
-};
-
-/* NTLMSSP message types */
-enum NTLM_MESSAGE_TYPE
-{
- NTLMSSP_NEGOTIATE = 1,
- NTLMSSP_CHALLENGE = 2,
- NTLMSSP_AUTH = 3,
- NTLMSSP_UNKNOWN = 4
-};
-
-/* NTLMSSP negotiation flags */
-#define NTLMSSP_NEGOTIATE_UNICODE 0x00000001
-#define NTLMSSP_NEGOTIATE_OEM 0x00000002
-#define NTLMSSP_REQUEST_TARGET 0x00000004
-#define NTLMSSP_NEGOTIATE_SIGN 0x00000010 /* Message integrity */
-#define NTLMSSP_NEGOTIATE_SEAL 0x00000020 /* Message confidentiality */
-#define NTLMSSP_NEGOTIATE_DATAGRAM_STYLE 0x00000040
-#define NTLMSSP_NEGOTIATE_LM_KEY 0x00000080
-#define NTLMSSP_NEGOTIATE_NETWARE 0x00000100
-#define NTLMSSP_NEGOTIATE_NTLM 0x00000200
-#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 0x00001000
-#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 0x00002000
-#define NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL 0x00004000
-#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 0x00008000
-#define NTLMSSP_TARGET_TYPE_DOMAIN 0x10000
-#define NTLMSSP_TARGET_TYPE_SERVER 0x20000
-#define NTLMSSP_CHAL_INIT_RESPONSE 0x00010000
-
-#define NTLMSSP_CHAL_ACCEPT_RESPONSE 0x00020000
-#define NTLMSSP_CHAL_NON_NT_SESSION_KEY 0x00040000
-#define NTLMSSP_NEGOTIATE_NTLM2 0x00080000
-#define NTLMSSP_CHAL_TARGET_INFO 0x00800000
-#define NTLMSSP_NEGOTIATE_128 0x20000000 /* 128-bit encryption */
-#define NTLMSSP_NEGOTIATE_KEY_EXCH 0x40000000
-#define NTLMSSP_NEGOTIATE_080000000 0x80000000
-
-#define NTLMSSP_NAME_TYPE_DOMAIN 0x01
-#define NTLMSSP_NAME_TYPE_SERVER 0x02
-#define NTLMSSP_NAME_TYPE_DOMAIN_DNS 0x03
-#define NTLMSSP_NAME_TYPE_SERVER_DNS 0x04
-
-typedef struct ntlmssp_state
-{
- TALLOC_CTX *mem_ctx;
- enum NTLMSSP_ROLE role;
- BOOL unicode;
- char *user;
- char *domain;
- char *workstation;
- DATA_BLOB lm_resp;
- DATA_BLOB nt_resp;
- DATA_BLOB chal;
- void *auth_context;
- const uint8 *(*get_challenge)(struct ntlmssp_state *ntlmssp_state);
- NTSTATUS (*check_password)(struct ntlmssp_state *ntlmssp_state);
-
- const char *(*get_global_myname)(void);
- const char *(*get_domain)(void);
-
- int server_role;
- uint32 expected_state;
-} NTLMSSP_STATE;
-
-typedef struct ntlmssp_client_state
-{
- TALLOC_CTX *mem_ctx;
- unsigned int ref_count;
-
- BOOL unicode;
- BOOL use_ntlmv2;
- char *user;
- char *domain;
- char *workstation;
- char *password;
-
- const char *(*get_global_myname)(void);
- const char *(*get_domain)(void);
-
- DATA_BLOB chal;
- DATA_BLOB lm_resp;
- DATA_BLOB nt_resp;
- DATA_BLOB session_key;
-
- uint32 neg_flags;
-
- /* SMB Signing */
-
- uint32 ntlmssp_seq_num;
-
- /* ntlmv2 */
- char cli_sign_const[16];
- char cli_seal_const[16];
- char srv_sign_const[16];
- char srv_seal_const[16];
-
- unsigned char cli_sign_hash[258];
- unsigned char cli_seal_hash[258];
- unsigned char srv_sign_hash[258];
- unsigned char srv_seal_hash[258];
-
- /* ntlmv1 */
- unsigned char ntlmssp_hash[258];
-
-} NTLMSSP_CLIENT_STATE;
-