This is for
TWiki:Codev/ForbidUserAction.
--
TWiki:Main/HideyoImazu - 2014-10-17
Bad news: This breaks configure in all revisions after 28283, and up to 28661.
How to reproduce:
- Invoke configure
- Enter configuration password
- Claim that "Yes, I've read all the documentation"
- Open the "Security" section
- You see {ForbidUserAction}δ = HASH(0x1ecf450) - or similar.
- Don't change anything, just hit "Next"
- Go back to TWiki's homepage.
-
Can't use string ("HASH(0x1ecf450)") as a HASH ref while "strict refs" in use at /media/haj/linuxdevel/twiki/trunk/core/lib/TWiki/LoginManager.pm line 408.
The reason:
ForbidUserAction
is declared as a string in
TWiki.spec
, but the default value of ForbidUserAction is the empty hash
{}
. During the round trip through configure (even if you don't change anything!) it will come back as
'{}'
. After that, there is no chance to read TWiki pages. This can't be fixed in configure, you need to manually edit
LocalSite.cfg
and delete the configuration.
Unfortunately, I don't know of an easy way to declare configuration variables as hashes in
TWiki.spec
where you can't enumerate the keys, so I have no idea how to fix this.
I didn't open a new bug item since this code has not yet been released - sorry if this isn't the correct procedure.
--
TWiki:Main.HaraldJoerg - 2015-01-12
Harald, thank you for pointing it out. Now it's fixed.
--
TWiki:Main.HideyoImazu - 2015-01-26