Changeset 745 for trunk/server/source4/auth/ntlm/auth_developer.c
- Timestamp:
- Nov 27, 2012, 4:43:17 PM (13 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
source4/auth/ntlm/auth_developer.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 581,587,591,594,597,600,615,618,740
- Property svn:mergeinfo changed
-
trunk/server/source4/auth/ntlm/auth_developer.c
r414 r745 24 24 #include "auth/ntlm/auth_proto.h" 25 25 #include "libcli/security/security.h" 26 #include "librpc/gen_ndr/ndr_samr.h"27 26 28 27 static NTSTATUS name_to_ntstatus_want_check(struct auth_method_context *ctx, … … 49 48 TALLOC_CTX *mem_ctx, 50 49 const struct auth_usersupplied_info *user_info, 51 struct auth_ serversupplied_info **_server_info)50 struct auth_) 52 51 { 53 52 NTSTATUS nt_status; 54 struct auth_serversupplied_info *server_info; 53 struct auth_user_info_dc *user_info_dc; 54 struct auth_user_info *info; 55 55 uint32_t error_num; 56 56 const char *user; … … 67 67 NT_STATUS_NOT_OK_RETURN(nt_status); 68 68 69 server_info = talloc(mem_ctx, struct auth_serversupplied_info); 70 NT_STATUS_HAVE_NO_MEMORY(server_info); 71 72 server_info->account_sid = dom_sid_parse_talloc(server_info, SID_NT_ANONYMOUS); 73 NT_STATUS_HAVE_NO_MEMORY(server_info->account_sid); 74 75 /* is this correct? */ 76 server_info->primary_group_sid = dom_sid_parse_talloc(server_info, SID_BUILTIN_GUESTS); 77 NT_STATUS_HAVE_NO_MEMORY(server_info->primary_group_sid); 78 79 server_info->n_domain_groups = 0; 80 server_info->domain_groups = NULL; 69 user_info_dc = talloc(mem_ctx, struct auth_user_info_dc); 70 NT_STATUS_HAVE_NO_MEMORY(user_info_dc); 71 72 /* This returns a pointer to a struct dom_sid, which is the 73 * same as a 1 element list of struct dom_sid */ 74 user_info_dc->num_sids = 1; 75 user_info_dc->sids = dom_sid_parse_talloc(user_info_dc, SID_NT_ANONYMOUS); 76 NT_STATUS_HAVE_NO_MEMORY(user_info_dc->sids); 81 77 82 78 /* annoying, but the Anonymous really does have a session key, 83 79 and it is all zeros! */ 84 server_info->user_session_key = data_blob_talloc(server_info, NULL, 16); 85 NT_STATUS_HAVE_NO_MEMORY(server_info->user_session_key.data); 86 87 server_info->lm_session_key = data_blob_talloc(server_info, NULL, 16); 88 NT_STATUS_HAVE_NO_MEMORY(server_info->lm_session_key.data); 89 90 data_blob_clear(&server_info->user_session_key); 91 data_blob_clear(&server_info->lm_session_key); 92 93 server_info->account_name = talloc_asprintf(server_info, "NAME TO NTSTATUS %s ANONYMOUS LOGON", user); 94 NT_STATUS_HAVE_NO_MEMORY(server_info->account_name); 95 96 server_info->domain_name = talloc_strdup(server_info, "NT AUTHORITY"); 97 NT_STATUS_HAVE_NO_MEMORY(server_info->domain_name); 98 99 server_info->full_name = talloc_asprintf(server_info, "NAME TO NTSTATUS %s Anonymous Logon", user); 100 NT_STATUS_HAVE_NO_MEMORY(server_info->full_name); 101 102 server_info->logon_script = talloc_strdup(server_info, ""); 103 NT_STATUS_HAVE_NO_MEMORY(server_info->logon_script); 104 105 server_info->profile_path = talloc_strdup(server_info, ""); 106 NT_STATUS_HAVE_NO_MEMORY(server_info->profile_path); 107 108 server_info->home_directory = talloc_strdup(server_info, ""); 109 NT_STATUS_HAVE_NO_MEMORY(server_info->home_directory); 110 111 server_info->home_drive = talloc_strdup(server_info, ""); 112 NT_STATUS_HAVE_NO_MEMORY(server_info->home_drive); 113 114 server_info->last_logon = 0; 115 server_info->last_logoff = 0; 116 server_info->acct_expiry = 0; 117 server_info->last_password_change = 0; 118 server_info->allow_password_change = 0; 119 server_info->force_password_change = 0; 120 121 server_info->logon_count = 0; 122 server_info->bad_password_count = 0; 123 124 server_info->acct_flags = ACB_NORMAL; 125 126 server_info->authenticated = false; 127 128 *_server_info = server_info; 80 user_info_dc->user_session_key = data_blob_talloc(user_info_dc, NULL, 16); 81 NT_STATUS_HAVE_NO_MEMORY(user_info_dc->user_session_key.data); 82 83 user_info_dc->lm_session_key = data_blob_talloc(user_info_dc, NULL, 16); 84 NT_STATUS_HAVE_NO_MEMORY(user_info_dc->lm_session_key.data); 85 86 data_blob_clear(&user_info_dc->user_session_key); 87 data_blob_clear(&user_info_dc->lm_session_key); 88 89 user_info_dc->info = info = talloc_zero(user_info_dc, struct auth_user_info); 90 NT_STATUS_HAVE_NO_MEMORY(user_info_dc->info); 91 92 info->account_name = talloc_asprintf(user_info_dc, "NAME TO NTSTATUS %s ANONYMOUS LOGON", user); 93 NT_STATUS_HAVE_NO_MEMORY(info->account_name); 94 95 info->domain_name = talloc_strdup(user_info_dc, "NT AUTHORITY"); 96 NT_STATUS_HAVE_NO_MEMORY(info->domain_name); 97 98 info->full_name = talloc_asprintf(user_info_dc, "NAME TO NTSTATUS %s Anonymous Logon", user); 99 NT_STATUS_HAVE_NO_MEMORY(info->full_name); 100 101 info->logon_script = talloc_strdup(user_info_dc, ""); 102 NT_STATUS_HAVE_NO_MEMORY(info->logon_script); 103 104 info->profile_path = talloc_strdup(user_info_dc, ""); 105 NT_STATUS_HAVE_NO_MEMORY(info->profile_path); 106 107 info->home_directory = talloc_strdup(user_info_dc, ""); 108 NT_STATUS_HAVE_NO_MEMORY(info->home_directory); 109 110 info->home_drive = talloc_strdup(user_info_dc, ""); 111 NT_STATUS_HAVE_NO_MEMORY(info->home_drive); 112 113 info->last_logon = 0; 114 info->last_logoff = 0; 115 info->acct_expiry = 0; 116 info->last_password_change = 0; 117 info->allow_password_change = 0; 118 info->force_password_change = 0; 119 120 info->logon_count = 0; 121 info->bad_password_count = 0; 122 123 info->acct_flags = ACB_NORMAL; 124 125 info->authenticated = true; 126 127 *_user_info_dc = user_info_dc; 129 128 130 129 return nt_status; … … 152 151 * @return NT_STATUS_UNSUCCESSFUL 153 152 **/ 154 static NTSTATUS fixed_challenge_get_challenge(struct auth_method_context *ctx, TALLOC_CTX *mem_ctx, DATA_BLOB *_blob) 155 { 156 DATA_BLOB blob; 153 static NTSTATUS fixed_challenge_get_challenge(struct auth_method_context *ctx, TALLOC_CTX *mem_ctx, uint8_t chal[8]) 154 { 157 155 const char *challenge = "I am a teapot"; 158 156 159 blob = data_blob_talloc(mem_ctx, challenge, 8); 160 NT_STATUS_HAVE_NO_MEMORY(blob.data); 161 162 *_blob = blob; 157 memcpy(chal, challenge, 8); 158 163 159 return NT_STATUS_OK; 164 160 } … … 175 171 TALLOC_CTX *mem_ctx, 176 172 const struct auth_usersupplied_info *user_info, 177 struct auth_ serversupplied_info **_server_info)173 struct auth_) 178 174 { 179 175 /* don't handle any users */
Note:
See TracChangeset
for help on using the changeset viewer.
