⚠️ Urgent! Active Attacks on MODX Revolution Sites Below Revolution 2.6.5
Subscribe: RSS
  • Server OS: Linux CentOS (kernel v2.6.34.6) on HostGator
    PHP Version: 5.2.14
    MySQL Version: 5.1.50 (using phpMyAdmin 3.2.4 for edits)
    Is pdo_mysql installed? Yes
    Browser type and version: Tried in Firefox 3.6.10, IE 9 beta, Chrome 6.0.4

    Problem:
    After upgrading from Revolution 2.0.0-beta-5 to 2.0.3-pl, I am getting this error using a known good login/password:
    ’That account could not be located. Check the username and re-type the password to try again.’

    The public websites themselves are working fine after the upgrade.

    I upgraded by uploading new files to the server, overwriting the old ones, then running setup using the upgrade option. Everything went fine - no warning or error messages.

    I have tried the following fixes:

    • Re-running setup
    • Deleting the setup directory, re-uploading it, and redoing the upgrade.
    • Tried running setup as a new installation, but it didn’t like that my table prefix was the same and would not let me proceed. I have a lot of site data that I can’t afford to lose by setting up new tables.
    • Re-uploading all files
    • Deleting the entire contents of /core/cache except for index.html, while clearing browser cache/cookies
    • Deleting everything in the modx_session table
    • Searched for the 3 old session_* values in modx_system_settings, but they were already gone
    • Tried sending myself a username/password via email. Received the email with new password but I get the same error on login.

    Other notes:
    I have multiple websites set up in different contexts, named after the hostnames, without a period. I am using the following plugin code with the OnHandleRequest event to switch contexts depending on the hostname - this has always worked before and works fine still on the public side:

    $a = array(
    'hostname1.com',
    'hostname2.com',
    'hostname3.com'
    );
    
    $host = $modx->getOption('http_host');
    
    if (in_array($host, $a)) {
      $i = array_search($host, $a);
      $context = str_replace('.','',$a[$i]);
      $modx->switchContext($context);
    }


    I have been trying to figure this out for the past couple days and I am at a loss. Any help would be appreciated.

    • Oh, and the only recent messages in my error_log file are this line, repeated over and over again. It does not seem to be related to attempted manager logins, though. It continues to grow on its own.

      [06-Oct-2010 15:16:56] PHP Warning: PHP Startup: Unable to load dynamic library ’/usr/local/lib/php/extensions/no-debug-zts-20060613/ixed.5.2ts.lin’ - /usr/local/lib/php/extensions/no-debug-zts-20060613/ixed.5.2ts.lin: undefined symbol: executor_globals_id in Unknown on line 0
      • I don’t have much to suggest, but you could try the fix for being locked out of the Manager here: http://bobsguides.com/modx-newbie-faq.html (third from the bottom).

        Check the modx_users table first to make sure the admin is in the DB and has the username you’re using to log in.

        Beyond that, the only thing I can suggest is that either one of more files was corrupted in the download/upload or the process you used to upgrade didn’t overwrite the old files with new ones, leaving some old files in place.
          Get my Book: MODX:The Official Guide
          MODX info for everyone: http://bobsguides.com/MODx.html
          My MODX Extras
          Bob's Guides is now hosted at A2 MODX Hosting
        • Bob, thanks for the suggestions. I checked the modx_user_attributes table as you suggested, and all the values look good. Tried re-uploading the files a 3rd time, making sure to overwrite. Everything looked good in the FileZilla queue, but still no luck logging in.

          Question: what happens if you enter a valid username with an invalid password? Does it give you the error below, or something that indicates that you at least have a valid user?

          That account could not be located. Check the username and re-type the password to try again.

          Can I manually create a new user in the database? I tried to do so using the modx_users and modx_user_attributes tables, but I’m not sure if there are other tables I am missing.

          Or should I assume at this point that it is not a database problem at all, but rather something strange happening in the code itself? I am about to copy over this exact instance to a local dev environment to see if I can make any headway there.

          Thanks


          • Did you happen to install modActiveDirectory, by chance?
              shaun mccormick | bigcommerce mgr of software engineering, former modx co-architect | github | splittingred.com
            • Quote from: splittingred at Oct 08, 2010, 02:45 PM

              Did you happen to install modActiveDirectory, by chance?

              No, I didn’t.
              • Quote from: d9000 at Oct 06, 2010, 08:22 PM

                Oh, and the only recent messages in my error_log file are this line, repeated over and over again. It does not seem to be related to attempted manager logins, though. It continues to grow on its own.

                [06-Oct-2010 15:16:56] PHP Warning: PHP Startup: Unable to load dynamic library ’/usr/local/lib/php/extensions/no-debug-zts-20060613/ixed.5.2ts.lin’ - /usr/local/lib/php/extensions/no-debug-zts-20060613/ixed.5.2ts.lin: undefined symbol: executor_globals_id in Unknown on line 0

                I’ll be honest; I would address that problem first, then figure out if the MODx problem is related or not. That certainly sounds like a major problem with your PHP environment.
                • That has to do with SourceGuardian; I get tons of these in my error logs. I’m told that those aren’t "my" error logs; this is a shared server and the error logs are for the entire server, not just my domain. I don’t even have the SourceGuardian option enabled.
                    Studying MODX in the desert - http://sottwell.com
                    Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                    Join the Slack Community - http://modx.org
                  • Ok, I just got that issue fixed by HostGator support. It does have to do with SourceGuardian, and can be caused by an improperly configured php.ini file left on the server after a PHP upgrade.

                    http://forums.hostgator.com/help-php-error-log-t66413.html?s=87e80d9575d8398e2d2962057d14dc62

                    However, I’m still having the same issue logging in.
                    • I never pinpointed what caused the problem, but I finally got the sites working with Manager again. I did a clean install of 2.0.3-pl into a new database and directory, then imported the following tables from the old upgraded database to get the sites’ content back:

                      modx_categories
                      modx_categories_closure
                      modx_content_type
                      modx_context
                      modx_context_settings
                      modx_site_*

                      Then I reinstalled my packages (wayfinder, formit, googlesitemap) on the new instance. Everything is working great now.