The Identity, Policy and Audit system
CentOS Sources
2016-11-03 403b09ab980c02ef36095973349a13e0181c794a
commit | author | age
403b09 1 From 4d7f256b83522de2046bcf783cd6bb2a4a025b29 Mon Sep 17 00:00:00 2001
99b6f7 2 From: Martin Kosek <mkosek@redhat.com>
e3ffab 3 Date: Fri, 5 Sep 2014 11:26:18 +0200
CS 4 Subject: [PATCH] Remove pkinit plugin
99b6f7 5
CB 6 This patch completely removes any signs of pkinit in the IPA package. It
7 should be used only as addition to the first patch attached to the
8 ticket.
9
10 Rebased patch by Jan Zeleny and Rob Crittenden.
11
12 https://fedorahosted.org/freeipa/ticket/616
13 ---
403b09 14  API.txt                     |   7 ---
CS 15  ipaserver/plugins/pkinit.py | 105 --------------------------------------------
16  2 files changed, 112 deletions(-)
17  delete mode 100644 ipaserver/plugins/pkinit.py
99b6f7 18
CB 19 diff --git a/API.txt b/API.txt
403b09 20 index fb5bf83cea0633130217cf1327481c8e9b11c4fc..ab2262966d113fd91d13f36f73e691ce5178b50f 100644
99b6f7 21 --- a/API.txt
CB 22 +++ b/API.txt
403b09 23 @@ -3583,11 +3583,6 @@ command: ping/1
99b6f7 24  args: 0,1,1
403b09 25  option: Str('version?')
CS 26  output: Output('summary', type=[<type 'unicode'>, <type 'NoneType'>])
27 -command: pkinit_anonymous/1
99b6f7 28 -args: 1,1,1
CB 29 -arg: Str('action')
403b09 30 -option: Str('version?')
CS 31 -output: Output('result')
32  command: plugins/1
99b6f7 33  args: 0,3,3
403b09 34  option: Flag('all', autofill=True, cli_name='all', default=True)
CS 35 @@ -6526,8 +6521,6 @@ default: permission_mod/1
36  default: permission_remove_member/1
37  default: permission_show/1
38  default: ping/1
39 -default: pkinit/1
40 -default: pkinit_anonymous/1
41  default: plugins/1
42  default: privilege/1
43  default: privilege_add/1
44 diff --git a/ipaserver/plugins/pkinit.py b/ipaserver/plugins/pkinit.py
99b6f7 45 deleted file mode 100644
403b09 46 index 9aa101063705f54509d3de42c1acd23ca96f4a37..0000000000000000000000000000000000000000
CS 47 --- a/ipaserver/plugins/pkinit.py
99b6f7 48 +++ /dev/null
e3ffab 49 @@ -1,105 +0,0 @@
99b6f7 50 -# Authors:
CB 51 -#   Simo Sorce <ssorce@redhat.com>
52 -#
53 -# Copyright (C) 2010  Red Hat
54 -# see file 'COPYING' for use and warranty information
55 -#
56 -# This program is free software; you can redistribute it and/or modify
57 -# it under the terms of the GNU General Public License as published by
58 -# the Free Software Foundation, either version 3 of the License, or
59 -# (at your option) any later version.
60 -#
61 -# This program is distributed in the hope that it will be useful,
62 -# but WITHOUT ANY WARRANTY; without even the implied warranty of
63 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
64 -# GNU General Public License for more details.
65 -#
66 -# You should have received a copy of the GNU General Public License
67 -# along with this program.  If not, see <http://www.gnu.org/licenses/>.
68 -
69 -from ipalib import api, errors
403b09 70 -from ipalib import Str
99b6f7 71 -from ipalib import Object, Command
CB 72 -from ipalib import _
e3ffab 73 -from ipalib.plugable import Registry
99b6f7 74 -from ipapython.dn import DN
CB 75 -
76 -__doc__ = _("""
77 -Kerberos pkinit options
78 -
79 -Enable or disable anonymous pkinit using the principal
80 -WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with
81 -pkinit support.
82 -
83 -EXAMPLES:
84 -
85 - Enable anonymous pkinit:
86 -  ipa pkinit-anonymous enable
87 -
88 - Disable anonymous pkinit:
89 -  ipa pkinit-anonymous disable
90 -
91 -For more information on anonymous pkinit see:
92 -
93 -http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit
94 -""")
95 -
e3ffab 96 -register = Registry()
CS 97 -
98 -@register()
99b6f7 99 -class pkinit(Object):
CB 100 -    """
101 -    PKINIT Options
102 -    """
103 -    object_name = _('pkinit')
104 -
105 -    label=_('PKINIT')
106 -
107 -
108 -def valid_arg(ugettext, action):
109 -    """
110 -    Accepts only Enable/Disable.
111 -    """
112 -    a = action.lower()
113 -    if a != 'enable' and a != 'disable':
114 -        raise errors.ValidationError(
115 -            name='action',
116 -            error=_('Unknown command %s') % action
117 -        )
118 -
e3ffab 119 -@register()
99b6f7 120 -class pkinit_anonymous(Command):
CB 121 -    __doc__ = _('Enable or Disable Anonymous PKINIT.')
122 -
123 -    princ_name = 'WELLKNOWN/ANONYMOUS@%s' % api.env.realm
124 -    default_dn = DN(('krbprincipalname', princ_name), ('cn', api.env.realm), ('cn', 'kerberos'), api.env.basedn)
125 -
126 -    takes_args = (
127 -        Str('action', valid_arg),
128 -    )
129 -
130 -    def execute(self, action, **options):
131 -        ldap = self.api.Backend.ldap2
132 -        set_lock = False
133 -        lock = None
134 -
e3ffab 135 -        entry_attrs = ldap.get_entry(self.default_dn, ['nsaccountlock'])
99b6f7 136 -
CB 137 -        if 'nsaccountlock' in entry_attrs:
138 -            lock = entry_attrs['nsaccountlock'][0].lower()
139 -
140 -        if action.lower() == 'enable':
141 -            if lock == 'true':
142 -                set_lock = True
143 -                lock = None
144 -        elif action.lower() == 'disable':
145 -            if lock != 'true':
146 -                set_lock = True
147 -                lock = 'TRUE'
148 -
149 -        if set_lock:
e3ffab 150 -            entry_attrs['nsaccountlock'] = lock
CS 151 -            ldap.update_entry(entry_attrs)
99b6f7 152 -
CB 153 -        return dict(result=True)
154 -
155 -- 
403b09 156 2.7.4
99b6f7 157