[ic] Logging password change in Admin breaks userdb functions

Gert van der Spoel gert at 3edge.com
Tue Apr 19 18:46:22 UTC 2011


> -----Original Message-----
> From: interchange-users-bounces at icdevgroup.org [mailto:interchange-users-
> bounces at icdevgroup.org] On Behalf Of Jeff Boes
> Sent: dinsdag 19 april 2011 19:44
> To: interchange-users at icdevgroup.org
> Subject: [ic] Logging password change in Admin breaks userdb functions
> 
> I'm quite puzzled by this one: we simply wanted to log when someone
> modified a password in the IC admin, by emitting a
> message to a dedicated log file. I tracked down the action to
> user_change_pass.html, made my own copy of that in my
> catalog directory (pages/admin/user_change_password.html), and added:
> 
> 	[button text="[if scratch old_needed][L]Change[/L][else][L]Set
> Password[/L][/else][/if]"]
> 	mv_todo=set
>     ***  mv_check=log_password_change
> 	mv_click=MMChange
> 	[/button]
> 
> (I also tried this with "mv_click=log_password_change", "mv_cleanup=...",
> inverting the order of the two mv_* variables,
> with no improvement.)
> 
> If "log_password_change" is in the mix, the operation to change the
> password fails with:
> 
> Attempted database operation without table, fields, or key.
>   Table: ''
>   Fields:''
>   Key:   ''
> 
> which is emitted from deep within Vend::Data. If I comment out
> log_password_change, it works fine.
> 
> log_password_change could not be more innocuous:
> 
>   [log type=error file="var/log/access.log" hide=1 interpolate=1]
>   Password modified for user "[cgi mv_username]"
>   [/log]
> 
> What the heck is going on here?

Hi Jeff,

I copied what you did and reproduced the situation. Eventually I changed to:
        [button text="[if scratch old_needed][L]Change[/L][else][L]Set
Password[/L][/else][/if]"]
                mv_todo=set
                mv_click=MMChange
  [log type=error file="var/log/debug.log" hide=1 interpolate=1]
  Password modified for user "[cgi mv_username]"
  [/log]
        [/button]

for a test. 

I did still get the same database error, but it had changed the password and
it wrote in my debug log the 'Password modified for user' message ... 

As if it is trying to do a second database write because of the newly added
lines.

Getting dizzied from the mv_click = Set Password, but in the button itself
having an mv_click = MMChange, couple to then mv_check and mv_todo ? .. To
many mv's for an ic? Hehe ...

CU,

Gert





More information about the interchange-users mailing list