trying to get HEAD building again. If you want the code
[kai/samba.git] / source3 / auth / auth_rhosts.c
index 341108311611e5c06b8fcc8426ed5c8ac927c4c2..fab2d551f29c4e43f66dd41a9e09e97418d7a92c 100644 (file)
@@ -139,7 +139,7 @@ static BOOL check_hosts_equiv(SAM_ACCOUNT *account)
        char *fname = NULL;
 
        fname = lp_hosts_equiv();
-       if (NT_STATUS_IS_ERR(sid_to_uid(pdb_get_user_sid(account), &uid)))
+       if (!NT_STATUS_IS_OK(sid_to_uid(pdb_get_user_sid(account), &uid)))
                return False;
 
        /* note: don't allow hosts.equiv on root */
@@ -162,11 +162,13 @@ static NTSTATUS check_hostsequiv_security(const struct auth_context *auth_contex
                                          const auth_usersupplied_info *user_info, 
                                          auth_serversupplied_info **server_info)
 {
-       NTSTATUS nt_status = NT_STATUS_LOGON_FAILURE;
+       NTSTATUS nt_status;
        SAM_ACCOUNT *account = NULL;
        if (!NT_STATUS_IS_OK(nt_status = 
                             auth_get_sam_account(user_info->internal_username.str, 
                                                  &account))) {
+               if (NT_STATUS_EQUAL(nt_status, NT_STATUS_NO_SUCH_USER)) 
+                       nt_status = NT_STATUS_NOT_IMPLEMENTED;
                return nt_status;
        }
 
@@ -174,14 +176,14 @@ static NTSTATUS check_hostsequiv_security(const struct auth_context *auth_contex
                nt_status = make_server_info_sam(server_info, account);
        } else {
                pdb_free_sam(&account);
-               nt_status = NT_STATUS_LOGON_FAILURE;
+               nt_status = NT_STATUS_NOT_IMPLEMENTED;
        }
 
        return nt_status;
 }
 
 /* module initialisation */
-NTSTATUS auth_init_hostsequiv(struct auth_context *auth_context, const char* param, auth_methods **auth_method) 
+static NTSTATUS auth_init_hostsequiv(struct auth_context *auth_context, const char* param, auth_methods **auth_method) 
 {
        if (!make_auth_methods(auth_context, auth_method)) {
                return NT_STATUS_NO_MEMORY;
@@ -203,7 +205,7 @@ static NTSTATUS check_rhosts_security(const struct auth_context *auth_context,
                                      const auth_usersupplied_info *user_info, 
                                      auth_serversupplied_info **server_info)
 {
-       NTSTATUS nt_status = NT_STATUS_LOGON_FAILURE;
+       NTSTATUS nt_status;
        SAM_ACCOUNT *account = NULL;
        pstring rhostsfile;
        const char *home;
@@ -211,6 +213,8 @@ static NTSTATUS check_rhosts_security(const struct auth_context *auth_context,
        if (!NT_STATUS_IS_OK(nt_status = 
                             auth_get_sam_account(user_info->internal_username.str, 
                                                  &account))) {
+               if (NT_STATUS_EQUAL(nt_status, NT_STATUS_NO_SUCH_USER)) 
+                       nt_status = NT_STATUS_NOT_IMPLEMENTED;
                return nt_status;
        }
 
@@ -223,19 +227,18 @@ static NTSTATUS check_rhosts_security(const struct auth_context *auth_context,
                        nt_status = make_server_info_sam(server_info, account);
                } else {
                        pdb_free_sam(&account);
-                       nt_status = NT_STATUS_LOGON_FAILURE;
                }
                unbecome_root();
        } else {
                pdb_free_sam(&account);
-               nt_status = NT_STATUS_LOGON_FAILURE;
+               nt_status = NT_STATUS_NOT_IMPLEMENTED;
        }
        
        return nt_status;
 }
 
 /* module initialisation */
-NTSTATUS auth_init_rhosts(struct auth_context *auth_context, const char *param, auth_methods **auth_method) 
+static NTSTATUS auth_init_rhosts(struct auth_context *auth_context, const char *param, auth_methods **auth_method) 
 {
        if (!make_auth_methods(auth_context, auth_method)) {
                return NT_STATUS_NO_MEMORY;