Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: A new chatterbox flavour

by The Mad Hatter (Priest)
on Dec 19, 2004 at 13:37 UTC ( #415984=note: print w/replies, xml ) Need Help??


in reply to A new chatterbox flavour

Nice, but you'll need to change how you compare the username in login.callback:
cookie.get( 'userpass' ).indexOf( document.getElementById( ' +user' ).value ) != 0
should un-URL-encode the cookie's value. For a quick (local) fix so I could log in, I changed it to:
cookie.get( 'userpass' ) .replace(/%25/g, '%') .replace(/%20/g, ' ') .indexOf( document.getElementById( 'user' ).value ) != 0
You'll want to do more than just that though for future releases.

Replies are listed 'Best First'.
Re^2: A new chatterbox flavour
by Aristotle (Chancellor) on Dec 19, 2004 at 16:07 UTC

    Duh, of course. Thanks for catching that. Doing it at the comparison point is wrong though, the real fix is to de-escape the URI encoding for cookie data when it's parsed. That means simply:

    --- pmchatter.html.old 2004-12-19 17:05:59.000000000 +0100 +++ pmchatter.html 2004-12-19 17:05:13.000000000 +0100 @@ -17,3 +17,3 @@ var kv = record[ i ].split( /=/ ); - this.data[ kv[ 0 ] ] = kv[ 1 ]; + this.data[ decodeURIComponent( kv[ 0 ] ) ] = d +ecodeURIComponent( kv[ 1 ] ); } @@ -63,3 +63,3 @@ if( userpass.length ) { - req.setRequestHeader( 'Cookie', 'userpass=' + userpass + ); + req.setRequestHeader( 'Cookie', 'userpass=' + encodeUR +IComponent( userpass ) ); }

    I updated the root node.

    Update: it wasn't quite as trivial — need to re-escape the cookie to send it, of course.

    Makeshifts last the longest.

      Good point. I hadn't really studied it much other than looking for where the login "failed" for me.

        But then I forgot to re-escape the cookie… patch and root node updated.

        Makeshifts last the longest.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://415984]
help
Chatterbox?
[Lady_Aleena]: Module is currently 104 lines but will shirnk to 63. The script using the module is currently 40 lines but will grow to 82, 180 to 146 lines total. (This is after rewrting the data files.)

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2017-05-29 03:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?