#5025 idviews.py: NameError: global name '_dcerpc_bindings_installed' is not defined
Closed: Fixed None Opened 8 years ago by clauluck.

The variable is only defined when running "in_server", but also evaluated in client mode.

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 439, in __call__
    ret = self.run(*args, **options)
  File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 754, in run
    return self.execute(*args, **options)
  File "/usr/lib/python2.7/site-packages/ipalib/plugins/baseldap.py", line 1106, in execute
    dn = self.obj.get_dn(*keys, **options)
  File "/usr/lib/python2.7/site-packages/ipalib/plugins/idviews.py", line 553, in get_dn
    keys[-1]
  File "/usr/lib/python2.7/site-packages/ipalib/plugins/idviews.py", line 451, in resolve_object_to_anchor
    if _dcerpc_bindings_installed:
NameError: global name '_dcerpc_bindings_installed' is not defined

When keys[-1] is a valid username (uid) this execution path is not reached, thus a minor bug.
This patch is enough to overcome this and receive a decent error message (NotFound):

--- /usr/lib/python2.7/site-packages/ipalib/plugins/idviews.py.orig 2015-05-15 14:07:19.210620403 +0200
+++ /usr/lib/python2.7/site-packages/ipalib/plugins/idviews.py  2015-05-15 14:07:22.120653412 +0200
@@ -30,6 +30,7 @@

 from ipapython.dn import DN

+_dcerpc_bindings_installed = False
 if api.env.in_server and api.env.context in ['lite', 'server']:
     try:
         import ipaserver.dcerpc

master:

  • a6d448b idviews: Set dcerpc detection flag properly

ipa-4-1:

  • 534822b idviews: Set dcerpc detection flag properly

Metadata Update from @clauluck:
- Issue assigned to tbabej
- Issue set to the milestone: FreeIPA 4.1.5

7 years ago

Login to comment on this ticket.

Metadata