This file is indexed.

/usr/share/drupal6/modules/openid_provider/openid_provider.pages.inc is in drupal6-mod-openid-provider 1.0~beta2-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<?php
// $Id: openid_provider.pages.inc,v 1.1.2.4 2010/02/15 21:13:15 walkah Exp $

/**
 * @file
 * Page callbacks for OpenID Provider.
 */

/**
 * Primary endpoint callback - serves op_endpoint.
 *
 * @param array $request (Optional) request parameters.
 */
function openid_provider_endpoint($request = array()) {
  module_load_include('inc', 'openid');
  module_load_include('inc', 'openid_provider');

  if (count($request) == 0) {
    $request = _openid_response();
  }
  
  if (isset($request['openid.mode'])) {
    switch ($request['openid.mode']) {
      case 'associate':
        openid_provider_association_response($request);
        return;
      case 'checkid_immediate':
      case 'checkid_setup':
        return openid_provider_authentication_response($request);
      case 'check_authentication':
        openid_provider_verification_response($request);
        break;
    }
  }
}

/**
 * Callback page for OpenID Identifier. This page is primarily used for
 * discovery when someone is logging in from a Relying Party.
 */
function openid_provider_page($account) {
  return t('This is the OpenID page for %user.', array('%user' => $account->name));
}

/**
 * Menu callback to continue authentication process after user login. This
 * callback is encountered when a user tries to login to an RP but does not yet
 * have a valid local session
 */
function openid_provider_continue() {
  module_load_include('inc', 'openid');
  
  if (isset($_SESSION['openid_provider']['request'])) {
    $request = $_SESSION['openid_provider']['request'];
    unset($_SESSION['openid_provider']['request']);
    return openid_provider_endpoint($request);
  }
  else {
    drupal_set_message(t('Session expired'));
    drupal_goto();
  }
}

/**
 * Page callback for processing openid_provider_form.
 */
function openid_provider_send() {
  return drupal_get_form('openid_provider_form');
}


/**
 * Page callback for OpenID Sites form where users can configure the
 * auto_release status of RP's they have logged into.
 *
 * @param object $account User account object for the user.
 */
function openid_provider_sites($account) {
  drupal_set_title(check_plain($account->name));
  return drupal_get_form('openid_provider_sites_form', $account);
}

/**
 * Form builder function for openid_provider_sites
 */
function openid_provider_sites_form($form_state, $user = NULL) {
  if (!$user) {
    global $user;
  }
  
  module_load_include('inc', 'openid_provider');

  $result = pager_query("SELECT * FROM {openid_provider_relying_party} WHERE uid=%d ORDER BY last_time DESC", 50, 0, NULL, $user->uid);

  $form['description'] = array(
      '#type' => 'item',
      '#description' => t('Those are the sites you have used your OpenID on. Access control determines determines if you will be asked for approval when login into those sites using your OpenID. You can also completely deny access to those sites if you think they are malicious.'),
  );
  
  $form['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Update'),
  );

  $form['auto_release']['#tree'] = TRUE;
  while ($rp = db_fetch_object($result)) {
      $rps[$rp->rpid] = '';
      $form['site'][$rp->rpid] = array(
          '#value' => l($rp->realm, $rp->realm),
      );
      $form['last_access'][$rp->rpid] = array(
          '#value' => $rp->last_time,
      );
      $form['auto_release'][$rp->rpid] = array(
          '#type' => 'checkbox',
          '#default_value' => $rp->auto_release,
      );
  }

  $form['pager'] = array('#value' => theme('pager', NULL, 50, 0));
  $form['#theme'] = 'openid_provider_sites';

  return $form;
}

/**
 * Form submit callback for openid_provider_sites.
 */
function openid_provider_sites_form_submit($form, &$form_state) {
  foreach ($form_state['values']['auto_release'] as $key => $value) {
    db_query("UPDATE {openid_provider_relying_party} SET auto_release=%d WHERE rpid=%d", $value, $key);
  }
  drupal_set_message(t('Settings saved.'));
}

/**
 * Theme openid sites overview.
 *
 * @ingroup themeable
 */
function theme_openid_provider_sites($form) {
  // If there are rows in this form, then $form['title'] contains a list of
  // the title form elements.
  $header = array(t('Auto release'), t('Site'), t('Last access'));
  foreach (element_children($form['site']) as $key) {
    $row = array();
    $row[] = drupal_render($form['auto_release'][$key]);
    $row[] = drupal_render($form['site'][$key]);
    $row[] = format_date(drupal_render(($form['last_access'][$key])));
    $rows[] = $row;
  }

  unset($form['last_access']);
  $output .= theme('table', $header, $rows);
  if ($form['pager']['#value']) {
    $output .= drupal_render($form['pager']);
  }

  $output .= drupal_render($form);

  return $output;
}