function drupal_generate_test_ua

Same name in other branches
  1. 9 core/includes/bootstrap.inc \drupal_generate_test_ua()
  2. 8.9.x core/includes/bootstrap.inc \drupal_generate_test_ua()
  3. 10 core/includes/bootstrap.inc \drupal_generate_test_ua()
  4. 11.x core/includes/bootstrap.inc \drupal_generate_test_ua()

Generates a user agent string with a HMAC and timestamp for simpletest.

3 calls to drupal_generate_test_ua()
DrupalWebTestCase::curlInitialize in modules/simpletest/drupal_web_test_case.php
Initializes the cURL connection.
drupal_http_request in includes/common.inc
Performs an HTTP request.
SimpleTestFunctionalTest::testUserAgentValidation in modules/simpletest/simpletest.test
Test validation of the User-Agent header we use to perform test requests.

File

includes/bootstrap.inc, line 2938

Code

function drupal_generate_test_ua($prefix) {
    static $key;
    if (!isset($key)) {
        // We use the salt from settings.php to make the HMAC key, since
        // the database is not yet initialized and we can't access any Drupal variables.
        // The file properties add more entropy not easily accessible to others.
        $key = drupal_get_hash_salt() . filectime(__FILE__) . fileinode(__FILE__);
    }
    // Generate a moderately secure HMAC based on the database credentials.
    $salt = uniqid('', TRUE);
    $check_string = $prefix . ';' . time() . ';' . $salt;
    return $check_string . ';' . drupal_hmac_base64($check_string, $key);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.