Commit 0bb01fb3 authored by Jeff Miccolis's avatar Jeff Miccolis
Browse files

SA-2010-069: XSS and access bypass vulnerability fixes.

parent 74b11988
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1054,10 +1054,10 @@ function theme_casetracker_case_summary($case, $project) {
  $rows[] = array(t('Case number:'), $project->project_number.'-'.$case->case_number);
  $rows[] = array(t('Project:'), l($project->title, 'node/'.$case->pid));
  $rows[] = array(t('Opened by:'), theme_username($case));
  $rows[] = array(t('Status:'), casetracker_case_state_load('status', $case->case_status_id));
  $rows[] = array(t('Status:'), check_plain(casetracker_case_state_load('status', $case->case_status_id)));
  $rows[] = array(t('Assigned:'), casetracker_get_name($case->assign_to));
  $rows[] = array(t('Priority:'), casetracker_case_state_load('priority', $case->case_priority_id));
  $rows[] = array(t('Type:'), casetracker_case_state_load('type', $case->case_type_id));
  $rows[] = array(t('Priority:'), check_plain(casetracker_case_state_load('priority', $case->case_priority_id)));
  $rows[] = array(t('Type:'), check_plain(casetracker_case_state_load('type', $case->case_type_id)));
  $rows[] = array(t('Opened on:'), format_date($case->created, 'large'));

  $last_comment = db_result(db_query('SELECT last_comment_timestamp FROM {node_comment_statistics} WHERE nid = %d', $case->nid));
+0 −15
Original line number Diff line number Diff line
@@ -144,21 +144,6 @@ function casetracker_basic_case_access($op, $node) {
  global $user ;
  
  switch ($op) {
    case 'view':
      // we have to check if the OG module is installed, otherwise this will 
      // overule the OG nodeaccess
      if (!module_exists(
          'og')) {
        return user_access('access case tracker') ;
      } // we check if the case isn't created by the current user or is 
// assigned to the current user, if so that user gets access
      elseif (user_access(
          'access case tracker') && 0 < (int)$user->uid &&
           ((int)$node->assign_to === (int)$user->uid ||
           (int)$node->uid === (int)$user->uid)) {
            return true ;
      }
      break ;
    case 'create':
      return user_access('create cases') ;
      break ;
+2 −2
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ function casetracker_dashboard_admin_form() {
    $checked = isset($statesChecked[$csid]) ? $statesChecked[$csid] : false ;
    $form['casetracker_dashboard_admin'][$csid] = array(
        '#type' => 'checkbox', 
        '#title' => t($title), 
        '#title' => check_plain(t($title)), 
        '#default_value' => $checked
    ) ;
  }
@@ -184,7 +184,7 @@ function _casetracker_dashboard_states() {
      )
  ) ;
  foreach ($states as $state) {
    $headers[] = t($state) ;
    $headers[] = check_plain(t($state)) ;
  }
  $headers[] = array(
      'data' => t('Todo'),