freeipa/install
John Dennis 2bf68115ce Ticket #2850 - Ipactl exception not handled well
Ticket #2850 - Ipactl exception not handled well

There were various places in ipactl which intialized IpactlError with
None as the msg. If you called str() on that exception all was well
because ScriptError.__str__() converted a msg with None to the empty
string (IpactlError is subclassed from ScriptError). But a few places
directly access e.msg which will be None if initialized that way. It's
hard to tell from the stack traces but I'm pretty sure it's those
places which use e.msg directly which will cause the problems seen in
the bug report.

I do not believe it is ever correct to initialize an exception message
to None, I don't even understand what that means. On the other hand
initializing to the empty string is sensible and for that matter is
the default for the class.

This patch makes two fixes:

1) The ScriptError initializer will now convert a msg parameter of
None to the empty string.

2) All places that initialized IpactlError's msg parameter to None
removed the None initializer allowing the msg parameter to default
to the empty string.

I don't know how to test the fix for Ticket #2850 because it's not
clear how it got into that state in the first place, but I do believe
initialing the msg value to None is clearly wrong and should fix the
problem.
2012-08-27 15:30:28 +02:00
..
certmonger Use DN objects instead of strings 2012-08-12 16:23:24 -04:00
conf Use certmonger to renew CA subsystem certificates 2012-07-30 13:39:08 +02:00
html Fixed inconsistent image names. 2011-10-27 14:05:12 +00:00
migration Use DN objects instead of strings 2012-08-12 16:23:24 -04:00
po Update translations 2012-07-31 15:43:54 +02:00
restart_scripts Use DN objects instead of strings 2012-08-12 16:23:24 -04:00
share Add per-service option to store the types of PAC it supports 2012-08-01 16:15:51 +02:00
tools Ticket #2850 - Ipactl exception not handled well 2012-08-27 15:30:28 +02:00
ui Range Web UI 2012-08-21 14:35:19 +02:00
updates Add ACI to allow regenerating ipaNTHash from ipasam 2012-08-22 17:21:27 +03:00
configure.ac Use certmonger to renew CA subsystem certificates 2012-07-30 13:39:08 +02:00
Makefile.am Use certmonger to renew CA subsystem certificates 2012-07-30 13:39:08 +02:00
README.schema Add some basic rules for adding new schema 2010-08-27 13:40:37 -04:00

Ground rules on adding new schema

Brand new schema, particularly when written specifically for IPA, should be
added in share/*.ldif. Any new files need to be explicitly loaded in
ipaserver/install/dsinstance.py. These simply get copied directly into
the new instance schema directory.

Existing schema (e.g. in an LDAP draft) may either be added as a separate
ldif in share or as an update in the updates directory. The advantage of
adding the schema as an update is if 389-ds ever adds the schema then the
installation won't fail due to existing schema failing to load during
bootstrap.

If the new schema requires a new container then this should be added
to install/bootstrap-template.ldif.