smbd_join.c revision dc20a3024900c47dd2ee44b9707e6df38f7d62a5
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * CDDL HEADER START
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * The contents of this file are subject to the terms of the
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * Common Development and Distribution License (the "License").
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * You may not use this file except in compliance with the License.
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * See the License for the specific language governing permissions
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * and limitations under the License.
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * When distributing Covered Code, include this CDDL HEADER in each
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * If applicable, add the following below this CDDL HEADER, with the
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * fields enclosed by brackets "[]" replaced with your own identifying
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * information: Portions Copyright [yyyy] [name of copyright owner]
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * CDDL HEADER END
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp * Use is subject to license terms.
5a7763bf3e9db4cfe6cb523b096cb74af71e3793jmcp#pragma ident "%Z%%M% %I% %E% SMI"
#include <synch.h>
#include <pthread.h>
#include <unistd.h>
#include <string.h>
#include <strings.h>
typedef struct smb_netlogon_info {
unsigned snli_flags;
static boolean_t
return (B_TRUE);
return (B_FALSE);
return (NT_STATUS_SUCCESS);
sizeof (plain_passwd));
sizeof (nbt_domain));
return (NT_STATUS_INVALID_PARAMETER);
return (NT_STATUS_INTERNAL_ERROR);
return (status);
return (status);
return (status);
return (status);
return (NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND);
int rc;
return (B_FALSE);
return (smb_ntdomain_is_valid(0));
smb_netlogon_init(void)
int rc;
if (rc != 0)
goto nli_exit;
if (rc != 0) {
return (rc);
int protocol;
return (NULL);
if (smbrdr_ipc_skip_lsa_query() == 0) {
!= NT_STATUS_SUCCESS) {
if (lsa_enum_trusted_domains()
!= NT_STATUS_SUCCESS) {
return (NULL);