Changeset 115c84c


Ignore:
Timestamp:
Jul 25, 2013 8:54:58 AM (9 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1
Children:
b2c18fc
Parents:
7e3ff54
Message:

Update qsudo to check if user is apart of "wheel" before asking them for
password.

Update ignore files

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    rfb7fe1b r115c84c  
    473473src-qt4/warden-gui/ui_wizardNewJail.h 
    474474src-sh/pc-extractoverlay/desktop-overlay/boot/grub/themes/pcbsd/.directory 
     475retired/qsu/Makefile 
     476src-qt4/pc-softwaremanager/pc-softwaremanager 
     477src-qt4/pc-softwaremanager/ui_ErrorDialog.h 
     478src-qt4/pc-softwaremanager/ui_configDialog.h 
     479src-qt4/pc-softwaremanager/ui_mainUI.h 
     480src-qt4/qsudo/Makefile 
     481src-qt4/qsudo/i18n/qsudo_af.qm 
     482src-qt4/qsudo/i18n/qsudo_ar.qm 
     483src-qt4/qsudo/i18n/qsudo_az.qm 
     484src-qt4/qsudo/i18n/qsudo_bg.qm 
     485src-qt4/qsudo/i18n/qsudo_bn.qm 
     486src-qt4/qsudo/i18n/qsudo_bs.qm 
     487src-qt4/qsudo/i18n/qsudo_ca.qm 
     488src-qt4/qsudo/i18n/qsudo_cs.qm 
     489src-qt4/qsudo/i18n/qsudo_cy.qm 
     490src-qt4/qsudo/i18n/qsudo_da.qm 
     491src-qt4/qsudo/i18n/qsudo_de.qm 
     492src-qt4/qsudo/i18n/qsudo_el.qm 
     493src-qt4/qsudo/i18n/qsudo_en_GB.qm 
     494src-qt4/qsudo/i18n/qsudo_en_ZA.qm 
     495src-qt4/qsudo/i18n/qsudo_es.qm 
     496src-qt4/qsudo/i18n/qsudo_et.qm 
     497src-qt4/qsudo/i18n/qsudo_eu.qm 
     498src-qt4/qsudo/i18n/qsudo_fa.qm 
     499src-qt4/qsudo/i18n/qsudo_fi.qm 
     500src-qt4/qsudo/i18n/qsudo_fr.qm 
     501src-qt4/qsudo/i18n/qsudo_fr_CA.qm 
     502src-qt4/qsudo/i18n/qsudo_fur.qm 
     503src-qt4/qsudo/i18n/qsudo_gl.qm 
     504src-qt4/qsudo/i18n/qsudo_he.qm 
     505src-qt4/qsudo/i18n/qsudo_hi.qm 
     506src-qt4/qsudo/i18n/qsudo_hr.qm 
     507src-qt4/qsudo/i18n/qsudo_hu.qm 
     508src-qt4/qsudo/i18n/qsudo_id.qm 
     509src-qt4/qsudo/i18n/qsudo_is.qm 
     510src-qt4/qsudo/i18n/qsudo_it.qm 
     511src-qt4/qsudo/i18n/qsudo_ja.qm 
     512src-qt4/qsudo/i18n/qsudo_ka.qm 
     513src-qt4/qsudo/i18n/qsudo_ko.qm 
     514src-qt4/qsudo/i18n/qsudo_lt.qm 
     515src-qt4/qsudo/i18n/qsudo_lv.qm 
     516src-qt4/qsudo/i18n/qsudo_mk.qm 
     517src-qt4/qsudo/i18n/qsudo_mn.qm 
     518src-qt4/qsudo/i18n/qsudo_ms.qm 
     519src-qt4/qsudo/i18n/qsudo_mt.qm 
     520src-qt4/qsudo/i18n/qsudo_nb.qm 
     521src-qt4/qsudo/i18n/qsudo_ne.qm 
     522src-qt4/qsudo/i18n/qsudo_nl.qm 
     523src-qt4/qsudo/i18n/qsudo_pa.qm 
     524src-qt4/qsudo/i18n/qsudo_pl.qm 
     525src-qt4/qsudo/i18n/qsudo_pt.qm 
     526src-qt4/qsudo/i18n/qsudo_pt_BR.qm 
     527src-qt4/qsudo/i18n/qsudo_ro.qm 
     528src-qt4/qsudo/i18n/qsudo_ru.qm 
     529src-qt4/qsudo/i18n/qsudo_sa.qm 
     530src-qt4/qsudo/i18n/qsudo_sk.qm 
     531src-qt4/qsudo/i18n/qsudo_sl.qm 
     532src-qt4/qsudo/i18n/qsudo_sr.qm 
     533src-qt4/qsudo/i18n/qsudo_sv.qm 
     534src-qt4/qsudo/i18n/qsudo_sw.qm 
     535src-qt4/qsudo/i18n/qsudo_ta.qm 
     536src-qt4/qsudo/i18n/qsudo_tg.qm 
     537src-qt4/qsudo/i18n/qsudo_th.qm 
     538src-qt4/qsudo/i18n/qsudo_tr.qm 
     539src-qt4/qsudo/i18n/qsudo_uk.qm 
     540src-qt4/qsudo/i18n/qsudo_uz.qm 
     541src-qt4/qsudo/i18n/qsudo_vi.qm 
     542src-qt4/qsudo/i18n/qsudo_zh_CN.qm 
     543src-qt4/qsudo/i18n/qsudo_zh_HK.qm 
     544src-qt4/qsudo/i18n/qsudo_zh_TW.qm 
     545src-qt4/qsudo/i18n/qsudo_zu.qm 
     546src-qt4/qsudo/qsudo 
     547src-qt4/qsudo/ui_mainwindow.h 
    475548 
    476549# Compiled binaries 
     
    480553src-qt4/pc-systemupdatertray/pc-systemupdatertray 
    481554src-qt4/pc-updategui/pc-updategui 
     555src-qt4/pc-firstbootgui/pc-firstboot 
    482556src-sh/pc-fbsdupdatecheck/pc-fbsdupdatecheck 
     557 
  • src-qt4/qsudo/mainwindow.cpp

    r1f14f705 r115c84c  
    1212#include <QDebug> 
    1313#include <QDir> 
     14#include <QMessageBox> 
    1415#include <QString> 
    1516#include <QProcess> 
     
    2122void MainWindow::ProgramInit() 
    2223{ 
     24  if( ! checkUserGroup() ) { 
     25    QMessageBox::critical(this, tr("Access Denied"), 
     26                                tr("This user does not have administrator permissions on this system!"), 
     27                                QMessageBox::Ok, 
     28                                QMessageBox::Ok); 
     29    exit(1); 
     30  } 
     31 
    2332  tries=3; 
    2433  connect(buttonBox, SIGNAL(clicked(QAbstractButton *)), this, SLOT(slotButtonClicked(QAbstractButton *))); 
     
    4150 
    4251  QProcess *tP = new QProcess(this); 
     52  tP->setProcessChannelMode(QProcess::MergedChannels); 
    4353  tP->start(program, arguments); 
    4454  tP->write(passwordLineEdit->text().toLatin1() + "\n"); 
     
    106116  close(); 
    107117} 
     118 
     119bool MainWindow::checkUserGroup() 
     120{ 
     121   QString loginName = getlogin(); 
     122   QString groupName = "wheel"; // group to check 
     123   QStringList gNames; 
     124   if ( loginName == "root" ) 
     125     return true; 
     126     
     127   QString tmp; 
     128   QFile iFile("/etc/group"); 
     129   if ( ! iFile.open(QIODevice::ReadOnly | QIODevice::Text)) 
     130     return true; //or FALSE? 
     131  
     132   while ( !iFile.atEnd() ) { 
     133     tmp = iFile.readLine().simplified(); 
     134     if ( tmp.indexOf(groupName) == 0 ) { 
     135        gNames = tmp.section(":", 3, 3).split(","); 
     136        break; 
     137     } 
     138   } 
     139   iFile.close(); 
     140 
     141   if ( gNames.isEmpty() ) 
     142      return false; 
     143 
     144   for ( int i = 0; i < gNames.size(); ++i ) 
     145      if ( gNames.at(i).indexOf(loginName) == 0 ) 
     146            return true; 
     147 
     148   return false; 
     149} 
     150 
  • src-qt4/qsudo/mainwindow.h

    r1f14f705 r115c84c  
    2929    void startSudo(); 
    3030    void testPass(); 
     31    bool checkUserGroup(); 
    3132    QProcess *sudoProc; 
    3233    int tries; 
Note: See TracChangeset for help on using the changeset viewer.