[geeklog-cvs] geeklog-1.3/public_html/admin block.php,1.45.2.1,1.45.2.1.2.1 event.php,1.35.2.1,1.35.2.1.2.1 group.php,1.23,1.23.4.1 link.php,1.30.2.1,1.30.2.1.2.1 poll.php,1.28.2.1,1.28.2.1.2.1 story.php,1.79.2.1,1.79.2.1.2.1 topic.php,1.31.2.1,1.31.2.1.2.1

dhaun at geeklog.net dhaun at geeklog.net
Mon Jan 19 15:09:04 EST 2004


Update of /usr/cvs/geeklog/geeklog-1.3/public_html/admin
In directory geeklog_prod:/tmp/cvs-serv8285

Modified Files:
      Tag: geeklog_1_3_7sr2_1
	block.php event.php group.php link.php poll.php story.php 
	topic.php 
Log Message:
Implemented additional checks before deleting an object.


Index: block.php
===================================================================
RCS file: /usr/cvs/geeklog/geeklog-1.3/public_html/admin/block.php,v
retrieving revision 1.45.2.1
retrieving revision 1.45.2.1.2.1
diff -C2 -d -r1.45.2.1 -r1.45.2.1.2.1
*** block.php	23 May 2003 11:49:27 -0000	1.45.2.1
--- block.php	19 Jan 2004 20:09:02 -0000	1.45.2.1.2.1
***************
*** 9,17 ****
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000,2001 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs       - tony at tonybibbs.com                            |
! // |          Mark Limburg     - mlimburg at users.sourceforge.net                |
! // |          Jason Wittenburg - jwhitten at securitygeeks.com                    |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
--- 9,17 ----
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000-2004 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs        - tony at tonybibbs.com                           |
! // |          Mark Limburg      - mlimburg at users.sourceforge.net               |
! // |          Jason Whittenburg - jwhitten at securitygeeks.com                   |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
***************
*** 490,493 ****
--- 490,515 ----
  }
  
+ /**
+ * Delete a block
+ *
+ */ 
+ function deleteBlock ($bid)                                                    
+ {
+     global $_CONF, $_TABLES, $_USER;
+ 
+     $result = DB_query ("SELECT tid,owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon FROM {$_TABLES['blocks']} WHERE bid ='$bid'");
+     $A = DB_fetchArray($result);                                               
+     $access = SEC_hasAccess ($A['owner_id'], $A['group_id'], $A['perm_owner'], 
+             $A['perm_group'], $A['perm_members'], $A['perm_anon']);            
+     if (($access < 3) || (hasBlockTopicAccess ($A['tid']) < 3)) { 
+         COM_accessLog ("User {$_USER['username']} tried to illegally delete block $bid.");                                                                     
+         return COM_refresh ($_CONF['site_admin_url'] . '/block.php');          
+     }
+ 
+     DB_delete ($_TABLES['blocks'], 'bid', $bid);
+ 
+     return COM_refresh ($_CONF['site_admin_url'] . '/block.php?msg=12');
+ }
+ 
  // MAIN
  if (isset ($HTTP_POST_VARS['mode'])) {
***************
*** 509,513 ****
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/block.php');
      } else {
!         DB_delete($_TABLES['blocks'],'bid',$bid,$_CONF['site_admin_url'] . '/block.php?msg=12');
      }
  } else if (($mode == $LANG21[54]) && !empty ($LANG21[54])) { // save
--- 531,535 ----
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/block.php');
      } else {
!         $display .= deleteBlock ($bid);
      }
  } else if (($mode == $LANG21[54]) && !empty ($LANG21[54])) { // save

Index: event.php
===================================================================
RCS file: /usr/cvs/geeklog/geeklog-1.3/public_html/admin/event.php,v
retrieving revision 1.35.2.1
retrieving revision 1.35.2.1.2.1
diff -C2 -d -r1.35.2.1 -r1.35.2.1.2.1
*** event.php	23 May 2003 11:49:27 -0000	1.35.2.1
--- event.php	19 Jan 2004 20:09:02 -0000	1.35.2.1.2.1
***************
*** 9,17 ****
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000,2001 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs       - tony at tonybibbs.com                            |
! // |          Mark Limburg     - mlimburg at users.sourceforge.net                |
! // |          Jason Wittenburg - jwhitten at securitygeeks.com                    |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
--- 9,17 ----
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000-2004 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs        - tony at tonybibbs.com                           |
! // |          Mark Limburg      - mlimburg at users.sourceforge.net               |
! // |          Jason Whittenburg - jwhitten at securitygeeks.com                   |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
***************
*** 561,564 ****
--- 561,587 ----
  }
  
+ /**
+ * Delete an event
+ *  
+ */ 
+ function deleteEvent ($eid)                                                    
+ {
+     global $_CONF, $_TABLES, $_USER;
+               
+     $result = DB_query ("SELECT owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon FROM {$_TABLES['events']} WHERE eid = '$eid'");                 
+     $A = DB_fetchArray ($result);
+     $access = SEC_hasAccess ($A['owner_id'], $A['group_id'], $A['perm_owner'], 
+             $A['perm_group'], $A['perm_members'], $A['perm_anon']);            
+     if ($access < 3) {
+         COM_accessLog ("User {$_USER['username']} tried to illegally delete event $eid.");
+         return COM_refresh ($_CONF['site_admin_url'] . '/event.php');          
+     }
+ 
+     DB_delete ($_TABLES['events'], 'eid', $eid);
+     DB_delete ($_TABLES['personal_events'], 'eid', $eid);
+ 
+     return COM_refresh ($_CONF['site_admin_url'] . '/event.php?msg=18');
+ }
+ 
  // MAIN
  
***************
*** 568,574 ****
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/event.php');
      } else {
!         DB_delete($_TABLES['events'],'eid',$eid);
!         DB_delete($_TABLES['personal_events'],'eid',$eid);
!         $display = COM_refresh ($_CONF['site_admin_url'] . '/event.php?msg=18');
      }
  } else if (($mode == $LANG22[20]) && !empty ($LANG22[20])) { // save
--- 591,595 ----
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/event.php');
      } else {
!         $display .= deleteEvent ($eid);
      }
  } else if (($mode == $LANG22[20]) && !empty ($LANG22[20])) { // save

Index: group.php
===================================================================
RCS file: /usr/cvs/geeklog/geeklog-1.3/public_html/admin/group.php,v
retrieving revision 1.23
retrieving revision 1.23.4.1
diff -C2 -d -r1.23 -r1.23.4.1
*** group.php	20 Sep 2002 20:54:15 -0000	1.23
--- group.php	19 Jan 2004 20:09:02 -0000	1.23.4.1
***************
*** 9,17 ****
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000,2001 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs       - tony at tonybibbs.com                            |
! // |          Mark Limburg     - mlimburg at users.sourceforge.net                |
! // |          Jason Wittenburg - jwhitten at securitygeeks.com                    |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
--- 9,17 ----
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000-2004 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs        - tony at tonybibbs.com                           |
! // |          Mark Limburg      - mlimburg at users.sourceforge.net               |
! // |          Jason Whittenburg - jwhitten at securitygeeks.com                   |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
***************
*** 399,402 ****
--- 399,424 ----
  }
  
+ **
+ * Delete a group
+ *
+ */  
+ function deleteGroup ($grp_id)
+ {       
+     global $_CONF, $_TABLES, $_USER;
+         
+     if (!SEC_inGroup ('Root') && (DB_getItem ($_TABLES['groups'], 'grp_name',
+             "grp_id = $grp_id") == 'Root')) {
+         COM_accessLog ("User {$_USER['username']} tried to delete the Root group with insufficient privileges.");
+         return COM_refresh ($_CONF['site_admin_url'] . '/group.php');
+     }
+ 
+     DB_delete ($_TABLES['access'], 'acc_grp_id', $grp_id);
+     DB_delete ($_TABLES['group_assignments'], 'ug_grp_id', $grp_id);
+     DB_delete ($_TABLES['group_assignments'], 'ug_main_grp_id', $grp_id);
+     DB_delete ($_TABLES['groups'], 'grp_id', $grp_id);
+ 
+     return COM_refresh ($_CONF['site_admin_url'] . '/group.php?msg=50');
+ }
+ 
  // MAIN
  if (($mode == $LANG_ACCESS['delete']) && !empty ($LANG_ACCESS['delete'])) {
***************
*** 405,411 ****
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/group.php');
      } else {
!         DB_delete($_TABLES['access'],'acc_grp_id',$grp_id);
!         DB_delete($_TABLES['groups'],'grp_id',$grp_id);
!         $display = COM_refresh($_CONF['site_admin_url'] . '/group.php?msg=50');
      }
  } else if (($mode == $LANG_ACCESS['save']) && !empty ($LANG_ACCESS['save'])) {
--- 427,431 ----
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/group.php');
      } else {
!         $display .= deleteGroup ($grp_id);
      }
  } else if (($mode == $LANG_ACCESS['save']) && !empty ($LANG_ACCESS['save'])) {

Index: link.php
===================================================================
RCS file: /usr/cvs/geeklog/geeklog-1.3/public_html/admin/link.php,v
retrieving revision 1.30.2.1
retrieving revision 1.30.2.1.2.1
diff -C2 -d -r1.30.2.1 -r1.30.2.1.2.1
*** link.php	23 May 2003 11:49:27 -0000	1.30.2.1
--- link.php	19 Jan 2004 20:09:02 -0000	1.30.2.1.2.1
***************
*** 9,17 ****
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000,2001 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs       - tony at tonybibbs.com                            |
! // |          Mark Limburg     - mlimburg at users.sourceforge.net                |
! // |          Jason Wittenburg - jwhitten at securitygeeks.com                    |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
--- 9,17 ----
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000-2004 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs        - tony at tonybibbs.com                           |
! // |          Mark Limburg      - mlimburg at users.sourceforge.net               |
! // |          Jason Whittenburg - jwhitten at securitygeeks.com                   |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
***************
*** 310,313 ****
--- 310,335 ----
  }
  
+ /**
+ * Delete a link
+ *
+ */ 
+ function deleteLink ($lid)                                                     
+ {
+     global $_CONF, $_TABLES, $_USER;
+ 
+     $result = DB_query ("SELECT owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon FROM {$_TABLES['links']} WHERE lid ='$lid'");
+     $A = DB_fetchArray ($result);                                              
+     $access = SEC_hasAccess ($A['owner_id'], $A['group_id'], $A['perm_owner'], 
+             $A['perm_group'], $A['perm_members'], $A['perm_anon']);            
+     if ($access < 3) {
+         COM_accessLog ("User {$_USER['username']} tried to illegally delete link $lid.");                                                                      
+         return COM_refresh ($_CONF['site_admin_url'] . '/link.php');           
+     }
+ 
+     DB_delete ($_TABLES['links'], 'lid', $lid);
+ 
+     return COM_refresh ($_CONF['site_admin_url'] . '/link.php?msg=16');
+ }
+ 
  // MAIN
  
***************
*** 317,321 ****
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/link.php');
      } else {
!         DB_delete($_TABLES['links'],'lid',$lid,$_CONF['site_admin_url'] . '/link.php?msg=16');
      }
  } else if (($mode == $LANG23[21]) && !empty ($LANG23[21])) { // save
--- 339,343 ----
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/link.php');
      } else {
!         $display .= deleteLink ($lid);
      }
  } else if (($mode == $LANG23[21]) && !empty ($LANG23[21])) { // save

Index: poll.php
===================================================================
RCS file: /usr/cvs/geeklog/geeklog-1.3/public_html/admin/poll.php,v
retrieving revision 1.28.2.1
retrieving revision 1.28.2.1.2.1
diff -C2 -d -r1.28.2.1 -r1.28.2.1.2.1
*** poll.php	23 May 2003 11:49:27 -0000	1.28.2.1
--- poll.php	19 Jan 2004 20:09:02 -0000	1.28.2.1.2.1
***************
*** 9,17 ****
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000,2001 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs       - tony at tonybibbs.com                            |
! // |          Mark Limburg     - mlimburg at users.sourceforge.net                |
! // |          Jason Wittenburg - jwhitten at securitygeeks.com                    |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
--- 9,17 ----
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000-2004 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs        - tony at tonybibbs.com                           |
! // |          Mark Limburg      - mlimburg at users.sourceforge.net               |
! // |          Jason Whittenburg - jwhitten at securitygeeks.com                   |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
***************
*** 339,342 ****
--- 339,365 ----
  }
  
+ /**
+ * Delete a poll
+ *
+ */ 
+ function deletePoll ($qid)                                                     
+ {
+     global $_CONF, $_TABLES, $_USER;
+ 
+     $result = DB_query ("SELECT owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon FROM {$_TABLES['pollquestions']} WHERE qid = '$qid'");
+     $Q = DB_fetchArray ($result);                                              
+     $access = SEC_hasAccess ($Q['owner_id'], $Q['group_id'], $Q['perm_owner'], 
+             $Q['perm_group'], $Q['perm_members'], $Q['perm_anon']);            
+     if ($access < 3) {
+         COM_accessLog ("User {$_USER['username']} tried to illegally delete poll $qid.");                                                                      
+         return COM_refresh ($_CONF['site_admin_url'] . '/poll.php');           
+     }
+ 
+     DB_delete ($_TABLES['pollquestions'], 'qid', $qid);
+     DB_delete ($_TABLES['pollanswers'], 'qid', $qid);
+ 
+     return COM_refresh ($_CONF['site_admin_url'] . '/poll.php?msg=20');
+ }
+ 
  // MAIN
  
***************
*** 360,366 ****
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/poll.php');
      } else {
!         DB_delete($_TABLES['pollquestions'],'qid',$qid);
!         DB_delete($_TABLES['pollanswers'],'qid',$qid);
!         $display .= COM_refresh($_CONF['site_admin_url'] . '/poll.php?msg=20');
      }
  } else { // 'cancel' or no mode at all
--- 383,387 ----
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/poll.php');
      } else {
!         $display .= deletePoll ($qid);
      }
  } else { // 'cancel' or no mode at all

Index: story.php
===================================================================
RCS file: /usr/cvs/geeklog/geeklog-1.3/public_html/admin/story.php,v
retrieving revision 1.79.2.1
retrieving revision 1.79.2.1.2.1
diff -C2 -d -r1.79.2.1 -r1.79.2.1.2.1
*** story.php	23 May 2003 11:43:47 -0000	1.79.2.1
--- story.php	19 Jan 2004 20:09:02 -0000	1.79.2.1.2.1
***************
*** 9,17 ****
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000,2001 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs       - tony at tonybibbs.com                            |
! // |          Mark Limburg     - mlimburg at users.sourceforge.net                |
! // |          Jason Wittenburg - jwhitten at securitygeeks.com                    |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
--- 9,17 ----
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000-2004 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs        - tony at tonybibbs.com                           |
! // |          Mark Limburg      - mlimburg at users.sourceforge.net               |
! // |          Jason Whittenburg - jwhitten at securitygeeks.com                   |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
***************
*** 844,847 ****
--- 844,858 ----
          DB_delete($_TABLES['storysubmission'],'sid',$sid,$_CONF['site_admin_url'] . "/moderation.php");
      } else {
+ 
+         $result = DB_query ("SELECT tid,owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon FROM {$_TABLES['stories']} WHERE sid = '$sid'");
+         $A = DB_fetchArray ($result);
+         $access = SEC_hasAccess ($A['owner_id'], $A['group_id'], $A['perm_owner'], $A['perm_group'], $A['perm_members'], $A['perm_anon']);
+         $access = min ($access, SEC_hasTopicAccess ($A['tid']));
+         if ($access < 3) {
+             COM_accessLog ("User {$_USER['username']} tried to illegally delete story $sid.");
+             echo COM_refresh ($_CONF['site_admin_url'] . '/story.php');
+             exit;
+         }
+ 
          $result = DB_query("SELECT ai_filename FROM {$_TABLES['article_images']} WHERE ai_sid = '$sid'");
          $nrows = DB_numRows($result);

Index: topic.php
===================================================================
RCS file: /usr/cvs/geeklog/geeklog-1.3/public_html/admin/topic.php,v
retrieving revision 1.31.2.1
retrieving revision 1.31.2.1.2.1
diff -C2 -d -r1.31.2.1 -r1.31.2.1.2.1
*** topic.php	23 May 2003 11:49:27 -0000	1.31.2.1
--- topic.php	19 Jan 2004 20:09:02 -0000	1.31.2.1.2.1
***************
*** 9,17 ****
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000,2001 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs       - tony at tonybibbs.com                            |
! // |          Mark Limburg     - mlimburg at users.sourceforge.net                |
! // |          Jason Wittenburg - jwhitten at securitygeeks.com                    |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
--- 9,17 ----
  // |                                                                           |
  // +---------------------------------------------------------------------------+
! // | Copyright (C) 2000-2004 by the following authors:                         |
  // |                                                                           |
! // | Authors: Tony Bibbs        - tony at tonybibbs.com                           |
! // |          Mark Limburg      - mlimburg at users.sourceforge.net               |
! // |          Jason Whittenburg - jwhitten at securitygeeks.com                   |
  // +---------------------------------------------------------------------------+
  // |                                                                           |
***************
*** 269,272 ****
--- 269,295 ----
  }
  
+ /**
+ * Delete a topic
+ * 
+ */
+ function deleteTopic ($tid)
+ {
+     global $_CONF, $_TABLES, $_USER;
+     
+     $result = DB_query ("SELECT owner_id,group_id,perm_owner,perm_group,perm_members,perm_anon FROM {$_TABLES['topics']} WHERE tid ='$tid'");    $A = DB_fetchArray ($result);     $access = SEC_hasAccess ($A['owner_id'], $A['group_id'], $A['perm_owner'],
+             $A['perm_group'], $A['perm_members'], $A['perm_anon']);
+     if ($access < 3) {
+         COM_accessLog ("User {$_USER['username']} tried to illegally delete topic $tid.");
+         return COM_refresh ($_CONF['site_admin_url'] . '/topic.php');
+     }
+ 
+     DB_delete ($_TABLES['stories'], 'tid', $tid);
+     DB_delete ($_TABLES['storysubmission'], 'tid', $tid);
+     DB_delete ($_TABLES['blocks'], 'tid', $tid);
+     DB_delete ($_TABLES['topics'], 'tid', $tid);
+ 
+     return COM_refresh ($_CONF['site_admin_url'] . '/topic.php?msg=14');
+ }
+ 
  ###############################################################################
  # MAIN
***************
*** 278,285 ****
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/topic.php');
      } else {
!         DB_delete($_TABLES['stories'],'tid',$tid);
!         DB_delete($_TABLES['storysubmission'],'tid',$tid);
!         DB_delete($_TABLES['blocks'],'tid',$tid);
!         DB_delete($_TABLES['topics'],'tid',$tid,$_CONF['site_admin_url'] . '/topic.php?msg=14');
      }
  } else if (($mode == $LANG27[19]) && !empty ($LANG27[19])) { // save
--- 301,305 ----
          $display .= COM_refresh ($_CONF['site_admin_url'] . '/topic.php');
      } else {
!         $display .= deleteTopic ($tid);
      }
  } else if (($mode == $LANG27[19]) && !empty ($LANG27[19])) { // save





More information about the geeklog-cvs mailing list