diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-02-10 20:21:11 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-02-22 16:20:11 +1100 |
commit | e3821f2c40691cc747d887bac14d4e3d37f0763b (patch) | |
tree | 8cfef9090749a0b93f0f6e24ee7b20b18aa7d2fa /source4/libcli/security | |
parent | d7fa34905223ebbf02dadcea0720062a30c3bbab (diff) | |
download | samba-e3821f2c40691cc747d887bac14d4e3d37f0763b.tar.gz samba-e3821f2c40691cc747d887bac14d4e3d37f0763b.tar.xz samba-e3821f2c40691cc747d887bac14d4e3d37f0763b.zip |
s4-auth Move libcli/security/session.c to the top level
This code is now useful in common, as the elements of the
auth_session_info structure have now been defined in common IDL.
Andrew Bartlett
Diffstat (limited to 'source4/libcli/security')
-rw-r--r-- | source4/libcli/security/session.c | 65 | ||||
-rw-r--r-- | source4/libcli/security/session.h | 33 | ||||
-rw-r--r-- | source4/libcli/security/wscript_build | 9 |
3 files changed, 0 insertions, 107 deletions
diff --git a/source4/libcli/security/session.c b/source4/libcli/security/session.c deleted file mode 100644 index 401e11c489f..00000000000 --- a/source4/libcli/security/session.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - session_info utility functions - - Copyright (C) Andrew Bartlett 2008-2010 - - 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 3 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, see <http://www.gnu.org/licenses/>. -*/ - -#include "includes.h" -#include "auth/session.h" -#include "libcli/security/session.h" -#include "libcli/security/security.h" - -enum security_user_level security_session_user_level(struct auth_session_info *session_info, - const struct dom_sid *domain_sid) -{ - if (!session_info) { - return SECURITY_ANONYMOUS; - } - - if (security_token_is_system(session_info->security_token)) { - return SECURITY_SYSTEM; - } - - if (security_token_is_anonymous(session_info->security_token)) { - return SECURITY_ANONYMOUS; - } - - if (security_token_has_builtin_administrators(session_info->security_token)) { - return SECURITY_ADMINISTRATOR; - } - - if (domain_sid) { - struct dom_sid *rodc_dcs; - rodc_dcs = dom_sid_add_rid(session_info, domain_sid, DOMAIN_RID_READONLY_DCS); - if (security_token_has_sid(session_info->security_token, rodc_dcs)) { - talloc_free(rodc_dcs); - return SECURITY_RO_DOMAIN_CONTROLLER; - } - talloc_free(rodc_dcs); - } - - if (security_token_has_enterprise_dcs(session_info->security_token)) { - return SECURITY_DOMAIN_CONTROLLER; - } - - if (security_token_has_nt_authenticated_users(session_info->security_token)) { - return SECURITY_USER; - } - - return SECURITY_ANONYMOUS; -} diff --git a/source4/libcli/security/session.h b/source4/libcli/security/session.h deleted file mode 100644 index cf696654973..00000000000 --- a/source4/libcli/security/session.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - session_info utility functions - - Copyright (C) Andrew Bartlett 2008-2010 - - 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 3 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, see <http://www.gnu.org/licenses/>. -*/ - -enum security_user_level { - SECURITY_ANONYMOUS = 0, - SECURITY_USER = 10, - SECURITY_RO_DOMAIN_CONTROLLER = 20, - SECURITY_DOMAIN_CONTROLLER = 30, - SECURITY_ADMINISTRATOR = 40, - SECURITY_SYSTEM = 50 -}; - -#include "libcli/security/session_proto.h" - -struct auth_session_info; diff --git a/source4/libcli/security/wscript_build b/source4/libcli/security/wscript_build deleted file mode 100644 index 9c277236c47..00000000000 --- a/source4/libcli/security/wscript_build +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env python - -bld.SAMBA_LIBRARY('security-session', - source='session.c', - autoproto='session_proto.h', - public_deps='security', - private_library=True - ) - |