Imported Debian patch 4.0.5-6~numeezy
This commit is contained in:
committed by
Mario Fetka
parent
c44de33144
commit
10dfc9587b
@@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@@ -15,17 +15,7 @@
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
@@ -87,12 +77,12 @@ NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
subdir = migration
|
||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../version.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
@@ -146,7 +136,6 @@ am__uninstall_files_from_dir = { \
|
||||
am__installdirs = "$(DESTDIR)$(appdir)"
|
||||
DATA = $(app_DATA)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
@@ -265,6 +254,7 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign migration/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign migration/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
@@ -458,8 +448,6 @@ uninstall-am: uninstall-appDATA
|
||||
pdf-am ps ps-am tags-am uninstall uninstall-am \
|
||||
uninstall-appDATA
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
||||
@@ -22,12 +22,14 @@ Password migration script
|
||||
|
||||
import cgi
|
||||
import errno
|
||||
import glob
|
||||
from wsgiref.util import request_uri
|
||||
|
||||
from ipapython.ipa_log_manager import root_logger
|
||||
from ipapython.ipautil import get_ipa_basedn
|
||||
from ipapython.dn import DN
|
||||
from ipapython.ipaldap import IPAdmin
|
||||
from ipalib import errors, create_api
|
||||
from ipalib import errors
|
||||
from ipaplatform.paths import paths
|
||||
|
||||
|
||||
@@ -43,6 +45,23 @@ def get_ui_url(environ):
|
||||
return full_url[:index] + "/ipa/ui"
|
||||
|
||||
|
||||
def get_base_dn(ldap_uri):
|
||||
"""
|
||||
Retrieve LDAP server base DN.
|
||||
"""
|
||||
try:
|
||||
conn = IPAdmin(ldap_uri=ldap_uri)
|
||||
conn.do_simple_bind(DN(), '')
|
||||
base_dn = get_ipa_basedn(conn)
|
||||
except Exception, e:
|
||||
root_logger.error('migration context search failed: %s' % e)
|
||||
return ''
|
||||
finally:
|
||||
conn.unbind()
|
||||
|
||||
return base_dn
|
||||
|
||||
|
||||
def bind(ldap_uri, base_dn, username, password):
|
||||
if not base_dn:
|
||||
root_logger.error('migration unable to get base dn')
|
||||
@@ -51,12 +70,12 @@ def bind(ldap_uri, base_dn, username, password):
|
||||
try:
|
||||
conn = IPAdmin(ldap_uri=ldap_uri)
|
||||
conn.do_simple_bind(bind_dn, password)
|
||||
except (errors.ACIError, errors.DatabaseError, errors.NotFound) as e:
|
||||
except (errors.ACIError, errors.DatabaseError, errors.NotFound), e:
|
||||
root_logger.error(
|
||||
'migration invalid credentials for %s: %s' % (bind_dn, e))
|
||||
raise IOError(
|
||||
errno.EPERM, 'Invalid LDAP credentials for user %s' % username)
|
||||
except Exception as e:
|
||||
except Exception, e:
|
||||
root_logger.error('migration bind failed: %s' % e)
|
||||
raise IOError(errno.EIO, 'Bind error')
|
||||
finally:
|
||||
@@ -68,14 +87,19 @@ def application(environ, start_response):
|
||||
return wsgi_redirect(start_response, 'index.html')
|
||||
|
||||
form_data = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)
|
||||
if 'username' not in form_data or 'password' not in form_data:
|
||||
if not form_data.has_key('username') or not form_data.has_key('password'):
|
||||
return wsgi_redirect(start_response, 'invalid.html')
|
||||
|
||||
# API object only for configuration, finalize() not needed
|
||||
api = create_api(mode=None)
|
||||
api.bootstrap(context='server', in_server=True)
|
||||
slapd_sockets = glob.glob(paths.ALL_SLAPD_INSTANCE_SOCKETS)
|
||||
if slapd_sockets:
|
||||
ldap_uri = 'ldapi://%s' % slapd_sockets[0].replace('/', '%2f')
|
||||
else:
|
||||
ldap_uri = 'ldaps://localhost:636'
|
||||
|
||||
base_dn = get_base_dn(ldap_uri)
|
||||
|
||||
try:
|
||||
bind(api.env.ldap_uri, api.env.basedn,
|
||||
bind(ldap_uri, base_dn,
|
||||
form_data['username'].value, form_data['password'].value)
|
||||
except IOError as err:
|
||||
if err.errno == errno.EPERM:
|
||||
|
||||
Reference in New Issue
Block a user