Page 2 of 2

Re: [Opgelost] Admin (beetje) in de war na upgrade 1.4.1 -> 1.5.1

Posted: Sat Jan 17, 2009 7:23 pm
by Rolf
Hallo Dee,

Bij het inloggen via FrontEndUsers met gebruik van 'onthoud inloggegevens' [ functie {$input_rememberme} ] wordt de melding 'Got here 3' weergegeven in plaats van het normale scherm.
Net als bij het vorige probleem stopt de paginabron direct na op {cms_module module=frontendusers}...
Dus eigenlijk een soortgelijk geval met FEU als in de vorige bug.

Oók op een andere eigen website kom ik dit tegen. (beiden CMSMS 1.5.1 en FEU 1.5.4)

In dit forumartikel komt hetzelfde probleem naar voren, maar nog geen oplossing:
- http://forum.cmsmadesimple.org/index.ph ... .msg140316


Ben eens aan het zoeken geweest waar deze tekst nou eigenlijk vandaan komt...

Deze komt in hetzelfde bestand voor zoals hier boven, nml. modules/FrontEndUsers/FrontEndUsers.module.php in regel 2208.

Code: Select all


  function _encrypt($key,$data)
  {
    if( !function_exists('mcrypt_module_open') ) return FALSE;
    die('got here 3');   <----------------------------------------------------------------
    srand((double) microtime() * 1000000);
    $encdata = FALSE;
    $td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
    if( $td === FALSE ) return FALSE;

    echo "DEBUG: key size = ".mcrypt_enc_get_key_size($td)."<br/>";
    $key = substr($key,0,mcrypt_enc_get_key_size($td));
    echo "DEBUG: key = $key<br/>";
    $iv_size = mcrypt_enc_get_iv_size($td);
    echo "DEBUG: iv size = $iv_size<br/>";
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    // initialize encryption handle
    $tmp = $mcrypt_generic_init($td,$key, $iv);
    if( $tmp != -1 )
      {
	$tmp = mcrypt_generic($td,$data);
	pritn_r( $tmp ); 
	mcrypt_generic_deinit($td);
	$encdata = $iv.$tmp;
      }
    mcrypt_module_close($td);
    return $encdata;
    die();
  }

Zou hier ook een foutje in kunnen zitten of gaat er misschien al iets eerder wat fout op een andere plek?

Alvast bedankt, Rolf

Re: [Opgelost] Admin (beetje) in de war na upgrade 1.4.1 -> 1.5.1

Posted: Sun Jan 18, 2009 1:44 pm
by Rolf
Hallo Dee en anderen,

Met hetgeen wat Dee me eerder vertelde ben ik, samen met mijn buurman deze file aan het debuggen geweest.

De regel waarin de 'got here 3' in staat is volgens ons gewoon een regel die ooit gebruikt is om het script te testen en er simpelweg vergeten is er weer uit te halen.
Verder stond er nog een typfout in: 'pritn' in plaats van 'print'
En ook nog een paar soortgelijke fouten zoals Dee eerder constateerde.

De originele code van modules/FrontEndUsers/FrontEndUsers.module.php is

Code: Select all


//Regel 2205

  function _encrypt($key,$data)
  {
    if( !function_exists('mcrypt_module_open') ) return FALSE;
    die('got here 3');  <------------------------------
    srand((double) microtime() * 1000000);
    $encdata = FALSE;
    $td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
    if( $td === FALSE ) return FALSE;

    echo "DEBUG: key size = ".mcrypt_enc_get_key_size($td)."<br/>";
    $key = substr($key,0,mcrypt_enc_get_key_size($td));
    echo "DEBUG: key = $key<br/>";
    $iv_size = mcrypt_enc_get_iv_size($td);
    echo "DEBUG: iv size = $iv_size<br/>";
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    // initialize encryption handle
    $tmp = $mcrypt_generic_init($td,$key, $iv);  <------------------------------
    if( $tmp != -1 )
      {
	$tmp = mcrypt_generic($td,$data);
	pritn_r( $tmp );   <------------------------------
	mcrypt_generic_deinit($td);
	$encdata = $iv.$tmp;
      }
    mcrypt_module_close($td);
    return $encdata;
    die();
  }

//Regel 2235

  function _decrypt($key,$encdata)
  {
    if( !function_exists('mcrypt_module_open') ) return FALSE;
    $data = FALSE;
    $td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
    if( $td === FALSE ) return FALSE;

    $key = substr($key,0,mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    // initialize encryption handle
    $tmp = $mcrypt_generic_init($td,$key, $iv); <------------------------------
    if( $tmp != -1 )
      {
	$data = mdecrypt_generic($td,$encdata);  <------------------------------
	mcrypt_generic_deinit($td);
      }
    mcrypt_module_close($td);
    return $data;
  }

We hebben er nu het volgende van gemaakt en het inloggen gaat nu goed (geen 'got here 3' melding meer en ook geen andere foutmeldingen):

Code: Select all


// Regel 2205

  function _encrypt($key,$data)
  {
    if( !function_exists('mcrypt_module_open') ) return FALSE;
    //die('got here 3'); <------------------------------
    srand((double) microtime() * 1000000);
    $encdata = FALSE;
    $td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
    if( $td === FALSE ) return FALSE;

    echo "DEBUG: key size = ".mcrypt_enc_get_key_size($td)."<br/>";
    $key = substr($key,0,mcrypt_enc_get_key_size($td));
    echo "DEBUG: key = $key<br/>";
    $iv_size = mcrypt_enc_get_iv_size($td);
    echo "DEBUG: iv size = $iv_size<br/>";
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    // initialize encryption handle
    $tmp = mcrypt_generic_init($td,$key, $iv); <------------------------------
    if( $tmp != -1 )
      {
	$tmp = mcrypt_generic($td,$data);
	print_r( $tmp ); <------------------------------
	mcrypt_generic_deinit($td);
	$encdata = $iv.$tmp;
      }
    mcrypt_module_close($td);
    return $encdata;
    die();
  }

// Regel 2235

  function _decrypt($key,$encdata)
  {
    if( !function_exists('mcrypt_module_open') ) return FALSE;
    $data = FALSE;
    $td = @mcrypt_module_open(MCRYPT_DES,'',MCRYPT_MODE_ECB,'');
    if( $td === FALSE ) return FALSE;

    $key = substr($key,0,mcrypt_enc_get_key_size($td));
    $iv_size = mcrypt_enc_get_iv_size($td); 
    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

    // initialize encryption handle
    $tmp = mcrypt_generic_init($td,$key, $iv); <------------------------------
    if( $tmp != -1 )
      {
	$data = @mdecrypt_generic($td,$encdata); <------------------------------
	mcrypt_generic_deinit($td);
      }
    mcrypt_module_close($td);
    return $data;
  }


Heeft iemand hier nog wat opmerkingen over?
Klopt dit wat wij hebben gewijzigd...?

En kan ik dit op een soortgelijke manier als bug aangeven bij http://dev.cmsmadesimple.org/bug/list/14 ?

Groet, ®olf

ps. heb geprobeerd pijlen bij de wijzingen te zetten, kan zijn dat ik nog wat over het hoofd heb gezien...

Re: [Opgelost] Admin (beetje) in de war na upgrade 1.4.1 -> 1.5.1 + andere FEU bugs

Posted: Tue Jan 20, 2009 9:30 am
by Rolf
Hoi allemaal,

Gisteren is versie 1.6 uitgekomen van FEU.
Ook daar zaten deze fouten nog in, maar wel veel verbeteringen i.v.m. het ingelogd blijven op de site!! Yeah.

Ik heb zojuist bovenstaande gemeld via de Forge http://dev.cmsmadesimple.org/bug/view/2906
Mijn eerste melding... Ben benieuwd hoe dat nu werkt...  ::)

Groet, Rolf

Re: [Opgelost] Admin (beetje) in de war na upgrade 1.4.1 -> 1.5.1 + andere FEU bugs

Posted: Wed Jan 21, 2009 2:08 pm
by Rolf
Hallo,

Callguy's kort en bondige antwoord  :D :
Should be fixed in revision 351
http://viewsvn.cmsmadesimple.org/filede ... module.php

Groet, Rolf

Re: [Opgelost] Admin (beetje) in de war na upgrade 1.4.1 -> 1.5.1 + andere FEU b

Posted: Sun Jan 25, 2009 10:50 pm
by Art-art
Hi Rolf,

Heb de tip van Dee voor het oplossen van het probleem bij XS4ALL toegepast. Alles OK nu!  ;D
Dank voor de hulp.

Groeten,

Arthur