Changeset ed24336


Ignore:
Timestamp:
Jul 10, 2013 11:09:44 AM (12 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2
Children:
e9326b4
Parents:
87d35b7 (diff), b1457e5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of github.com:pcbsd/pcbsd

Files:
17 edited

Legend:

Unmodified
Added
Removed
  • src-qt4/PCDM/PCDMd

    r68de35a rb1457e5  
    55 
    66#See if XDMCP support is enabled for logging in to this system 
    7 if [ -f /usr/local/share/PCDM/pcdm.conf .and. -z "`grep ALLOW_REMOTE_LOGIN=TRUE /usr/local/share/PCDM/pcdm.conf`"];  
     7if [ -f /usr/local/share/PCDM/pcdm.conf .and. -z "`grep ALLOW_REMOTE_LOGIN=TRUE /usr/local/share/PCDM/pcdm.conf`" ];  
    88then 
    99  # XDMCP is enabled 
    1010  echo "Starting PCDM XDMCP Server" 
    11   while [ 1 ]; do 
     11  while [ ! -e /var/run/nologin ]; do 
    1212    xinit /usr/local/bin/PCDM-session --once -- /usr/local/bin/X :0 -displayfd /usr/local/share/PCDM/.xdisplay -indirect ${HOST} 
    1313  done 
     
    1818  touch /tmp/.PCDMAUTOLOGINFILE 
    1919  # Now start the X Server 
    20   while [ 1 ]; do 
     20  while [ ! -e /var/run/nologin ]; do 
    2121    /usr/local/bin/pc-checkxdisplay 
    2222    xinit /usr/local/bin/PCDM-session --once -- :0   
  • src-qt4/PCDM/images/.directory

    r1620346 r4018e43  
    11[Dolphin] 
    2 Timestamp=2013,2,12,14,28,59 
     2PreviewsShown=true 
     3Timestamp=2013,7,10,10,57,40 
    34Version=3 
    4 ViewMode=2 
  • src-qt4/PCDM/src/main.cpp

    rabea4e8 rb1457e5  
    5454  } 
    5555  splash.show(); 
     56  QCoreApplication::processEvents(); //Process the splash screen event immediately 
    5657  //qDebug() << "SplashScreen Started:" << QString::number(clock.elapsed())+" ms"; 
    5758  //Initialize the xprocess 
     
    118119    w.show(); 
    119120    a.exec(); 
    120  
    121121  }  // end of PCDM GUI running 
    122    
     122  int retcode = 0; 
    123123  //Wait for the desktop session to finish before exiting 
    124124  desktop.waitForSessionClosed(); 
     125  splash.show(); //show the splash screen again 
     126  splash.showMessage(QObject::tr("System Shutting Down"), Qt::AlignHCenter | Qt::AlignBottom, Qt::white); 
     127  //check for shutdown process 
     128  if(QFile::exists("/var/run/nologin")){ 
     129    //Pause for a few seconds to prevent starting a new session during a shutdown 
     130    QTime wTime = QTime::currentTime().addSecs(30); 
     131    while( QTime::currentTime() < wTime ){  
     132      //Keep processing events during the wait (for splashscreen) 
     133      QCoreApplication::processEvents(QEventLoop::AllEvents, 100);  
     134    } 
     135    //set the return code for a shutdown 
     136    retcode = -1; //make sure it does not start a new session 
     137  } 
    125138   
    126139  //Clean up Code 
     
    132145   
    133146   
    134   return 0; 
     147  return retcode; 
    135148} 
    136149 
     
    138151{ 
    139152 bool neverquit = TRUE; 
    140  bool runonce = FALSE; 
     153 bool runonce = TRUE; //looping is currently not working yet - needs to restart X each time? 
    141154 if(argc==2){ if( QString(argv[1]) == "--once"){ runonce = TRUE; } } 
    142155   
  • src-qt4/PCDM/src/pcdm-gui.cpp

    ra5bc020 r4018e43  
    149149      sdeSwitcher = new QComboBox(this);  
    150150      sdeSwitcher->setFocusPolicy( Qt::NoFocus ); 
     151      sdeSwitcher->setIconSize(currentTheme->itemIconSize("toolbar")); 
    151152      toolbar->addWidget(sdeSwitcher); 
    152153      //Add an additional spacer 
     
    345346    Backend::log("PCDM: Shutting down computer"); 
    346347    system("shutdown -p now"); 
     348    close(); 
    347349  } 
    348350} 
     
    360362    Backend::log("PCDM: Restarting computer"); 
    361363    system("shutdown -r now"); 
     364    close(); 
    362365  } 
    363366} 
  • src-qt4/PCDM/themes/default/default.theme

    ra3c7851 r4018e43  
    4545# TOOLBAR SETTINGS 
    4646TOOLBAR_LOCATION=bottom         # [bottom | top | left | right] 
    47 TOOLBAR_IMAGE_SIZE=32x32     # Set the default size for all images in the toolbar 
     47TOOLBAR_IMAGE_SIZE=28x28     # Set the default size for all images in the toolbar 
    4848TOOLBAR_STYLE=textbesideicon            # [icononly | textonly | textbesideicon | textundericon] 
    4949 
  • src-qt4/pc-usermanager/adddlgcode.cpp

    r1620346 r87d35b7  
    312312           if (groupRadioNew->isChecked() == true) { group = QString::null; } 
    313313           back->addUser(username, fullname, home, shellBox->currentText(), group, password); 
     314           back->setEnc(username, checkEnc->isChecked()); 
    314315           back->changePassword(username, password); 
    315316       } 
  • src-qt4/pc-usermanager/adduser.ui

    r1620346 r87d35b7  
    88    <y>0</y> 
    99    <width>462</width> 
    10     <height>321</height> 
     10    <height>360</height> 
    1111   </rect> 
    1212  </property> 
     
    3131     </property> 
    3232     <layout class="QGridLayout" name="gridLayout"> 
    33       <item row="0" column="0"> 
    34        <widget class="QLabel" name="usernameLabel"> 
    35         <property name="text"> 
    36          <string>Username:</string> 
    37         </property> 
    38         <property name="alignment"> 
    39          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    40         </property> 
    41         <property name="wordWrap"> 
    42          <bool>false</bool> 
    43         </property> 
    44        </widget> 
    45       </item> 
    46       <item row="0" column="1" colspan="2"> 
    47        <widget class="QLineEdit" name="usernameBox"> 
    48         <property name="toolTip"> 
    49          <string>The field is empty</string> 
    50         </property> 
    51         <property name="maxLength"> 
    52          <number>16</number> 
    53         </property> 
    54        </widget> 
    55       </item> 
    56       <item row="1" column="0"> 
    57        <widget class="QLabel" name="fullnameLabel"> 
     33      <item row="2" column="0"> 
     34       <widget class="QLabel" name="homeLabel"> 
    5835        <property name="enabled"> 
    5936         <bool>true</bool> 
     
    6643        </property> 
    6744        <property name="text"> 
    68          <string>Full Name:</string> 
    69         </property> 
    70         <property name="alignment"> 
    71          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    72         </property> 
    73         <property name="wordWrap"> 
    74          <bool>false</bool> 
    75         </property> 
    76        </widget> 
    77       </item> 
    78       <item row="1" column="1" colspan="2"> 
    79        <widget class="QLineEdit" name="fullnameBox"/> 
    80       </item> 
    81       <item row="2" column="0"> 
    82        <widget class="QLabel" name="homeLabel"> 
    83         <property name="enabled"> 
    84          <bool>true</bool> 
    85         </property> 
    86         <property name="frameShape"> 
    87          <enum>QFrame::NoFrame</enum> 
    88         </property> 
    89         <property name="frameShadow"> 
    90          <enum>QFrame::Plain</enum> 
    91         </property> 
    92         <property name="text"> 
    9345         <string>Home Directory:</string> 
    9446        </property> 
     
    9850        <property name="wordWrap"> 
    9951         <bool>false</bool> 
    100         </property> 
    101        </widget> 
    102       </item> 
    103       <item row="2" column="1" colspan="2"> 
    104        <widget class="QLineEdit" name="homeBox"> 
    105         <property name="mode" stdset="0"> 
    106          <number>18</number> 
    107         </property> 
    108        </widget> 
    109       </item> 
    110       <item row="3" column="0"> 
    111        <widget class="QLabel" name="shellLabel"> 
    112         <property name="enabled"> 
    113          <bool>true</bool> 
    114         </property> 
    115         <property name="text"> 
    116          <string>Shell:</string> 
    117         </property> 
    118         <property name="alignment"> 
    119          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    120         </property> 
    121         <property name="wordWrap"> 
    122          <bool>false</bool> 
    123         </property> 
    124        </widget> 
    125       </item> 
    126       <item row="3" column="1" colspan="2"> 
    127        <widget class="QComboBox" name="shellBox"> 
    128         <property name="editable"> 
    129          <bool>true</bool> 
    130         </property> 
    131        </widget> 
    132       </item> 
    133       <item row="4" column="0"> 
    134        <widget class="QLabel" name="groupLabel"> 
    135         <property name="enabled"> 
    136          <bool>true</bool> 
    137         </property> 
    138         <property name="text"> 
    139          <string>Primary Group:</string> 
    140         </property> 
    141         <property name="alignment"> 
    142          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    143         </property> 
    144         <property name="wordWrap"> 
    145          <bool>false</bool> 
    146         </property> 
    147        </widget> 
    148       </item> 
    149       <item row="6" column="0"> 
    150        <widget class="QLabel" name="passLabel"> 
    151         <property name="enabled"> 
    152          <bool>true</bool> 
    153         </property> 
    154         <property name="frameShape"> 
    155          <enum>QFrame::NoFrame</enum> 
    156         </property> 
    157         <property name="frameShadow"> 
    158          <enum>QFrame::Plain</enum> 
    159         </property> 
    160         <property name="text"> 
    161          <string>Password:</string> 
    162         </property> 
    163         <property name="alignment"> 
    164          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    165         </property> 
    166         <property name="wordWrap"> 
    167          <bool>false</bool> 
    168         </property> 
    169        </widget> 
    170       </item> 
    171       <item row="6" column="1" colspan="2"> 
    172        <widget class="QLineEdit" name="passBox"> 
    173         <property name="echoMode"> 
    174          <enum>QLineEdit::Password</enum> 
    175         </property> 
    176        </widget> 
    177       </item> 
    178       <item row="7" column="0"> 
    179        <widget class="QLabel" name="confirmPassLabel"> 
    180         <property name="enabled"> 
    181          <bool>true</bool> 
    182         </property> 
    183         <property name="text"> 
    184          <string>Confirm Password:</string> 
    185         </property> 
    186         <property name="alignment"> 
    187          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    188         </property> 
    189         <property name="wordWrap"> 
    190          <bool>false</bool> 
    191         </property> 
    192        </widget> 
    193       </item> 
    194       <item row="7" column="1" colspan="2"> 
    195        <widget class="QLineEdit" name="confirmPassBox"> 
    196         <property name="echoMode"> 
    197          <enum>QLineEdit::Password</enum> 
    19852        </property> 
    19953       </widget> 
     
    251105         </item> 
    252106        </layout> 
     107       </widget> 
     108      </item> 
     109      <item row="4" column="0"> 
     110       <widget class="QLabel" name="groupLabel"> 
     111        <property name="enabled"> 
     112         <bool>true</bool> 
     113        </property> 
     114        <property name="text"> 
     115         <string>Primary Group:</string> 
     116        </property> 
     117        <property name="alignment"> 
     118         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     119        </property> 
     120        <property name="wordWrap"> 
     121         <bool>false</bool> 
     122        </property> 
     123       </widget> 
     124      </item> 
     125      <item row="7" column="0"> 
     126       <widget class="QLabel" name="confirmPassLabel"> 
     127        <property name="enabled"> 
     128         <bool>true</bool> 
     129        </property> 
     130        <property name="text"> 
     131         <string>Confirm Password:</string> 
     132        </property> 
     133        <property name="alignment"> 
     134         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     135        </property> 
     136        <property name="wordWrap"> 
     137         <bool>false</bool> 
     138        </property> 
     139       </widget> 
     140      </item> 
     141      <item row="6" column="1" colspan="2"> 
     142       <widget class="QLineEdit" name="passBox"> 
     143        <property name="echoMode"> 
     144         <enum>QLineEdit::Password</enum> 
     145        </property> 
     146       </widget> 
     147      </item> 
     148      <item row="6" column="0"> 
     149       <widget class="QLabel" name="passLabel"> 
     150        <property name="enabled"> 
     151         <bool>true</bool> 
     152        </property> 
     153        <property name="frameShape"> 
     154         <enum>QFrame::NoFrame</enum> 
     155        </property> 
     156        <property name="frameShadow"> 
     157         <enum>QFrame::Plain</enum> 
     158        </property> 
     159        <property name="text"> 
     160         <string>Password:</string> 
     161        </property> 
     162        <property name="alignment"> 
     163         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     164        </property> 
     165        <property name="wordWrap"> 
     166         <bool>false</bool> 
     167        </property> 
     168       </widget> 
     169      </item> 
     170      <item row="7" column="1" colspan="2"> 
     171       <widget class="QLineEdit" name="confirmPassBox"> 
     172        <property name="echoMode"> 
     173         <enum>QLineEdit::Password</enum> 
     174        </property> 
     175       </widget> 
     176      </item> 
     177      <item row="3" column="1" colspan="2"> 
     178       <widget class="QComboBox" name="shellBox"> 
     179        <property name="editable"> 
     180         <bool>true</bool> 
     181        </property> 
     182       </widget> 
     183      </item> 
     184      <item row="2" column="1" colspan="2"> 
     185       <widget class="QLineEdit" name="homeBox"> 
     186        <property name="mode" stdset="0"> 
     187         <number>18</number> 
     188        </property> 
     189       </widget> 
     190      </item> 
     191      <item row="3" column="0"> 
     192       <widget class="QLabel" name="shellLabel"> 
     193        <property name="enabled"> 
     194         <bool>true</bool> 
     195        </property> 
     196        <property name="text"> 
     197         <string>Shell:</string> 
     198        </property> 
     199        <property name="alignment"> 
     200         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     201        </property> 
     202        <property name="wordWrap"> 
     203         <bool>false</bool> 
     204        </property> 
     205       </widget> 
     206      </item> 
     207      <item row="0" column="0"> 
     208       <widget class="QLabel" name="usernameLabel"> 
     209        <property name="text"> 
     210         <string>Username:</string> 
     211        </property> 
     212        <property name="alignment"> 
     213         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     214        </property> 
     215        <property name="wordWrap"> 
     216         <bool>false</bool> 
     217        </property> 
     218       </widget> 
     219      </item> 
     220      <item row="0" column="1" colspan="2"> 
     221       <widget class="QLineEdit" name="usernameBox"> 
     222        <property name="toolTip"> 
     223         <string>The field is empty</string> 
     224        </property> 
     225        <property name="maxLength"> 
     226         <number>16</number> 
     227        </property> 
     228       </widget> 
     229      </item> 
     230      <item row="1" column="0"> 
     231       <widget class="QLabel" name="fullnameLabel"> 
     232        <property name="enabled"> 
     233         <bool>true</bool> 
     234        </property> 
     235        <property name="frameShape"> 
     236         <enum>QFrame::NoFrame</enum> 
     237        </property> 
     238        <property name="frameShadow"> 
     239         <enum>QFrame::Plain</enum> 
     240        </property> 
     241        <property name="text"> 
     242         <string>Full Name:</string> 
     243        </property> 
     244        <property name="alignment"> 
     245         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     246        </property> 
     247        <property name="wordWrap"> 
     248         <bool>false</bool> 
     249        </property> 
     250       </widget> 
     251      </item> 
     252      <item row="1" column="1" colspan="2"> 
     253       <widget class="QLineEdit" name="fullnameBox"/> 
     254      </item> 
     255      <item row="8" column="0"> 
     256       <widget class="QLabel" name="label"> 
     257        <property name="text"> 
     258         <string>Encrypt Files:</string> 
     259        </property> 
     260        <property name="alignment"> 
     261         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     262        </property> 
     263       </widget> 
     264      </item> 
     265      <item row="8" column="1"> 
     266       <widget class="QCheckBox" name="checkEnc"> 
     267        <property name="text"> 
     268         <string/> 
     269        </property> 
    253270       </widget> 
    254271      </item> 
  • src-qt4/pc-usermanager/maindlgcode.cpp

    r14f87ef r87d35b7  
    140140    //Do not allow the removal of the currently logged in user 
    141141    if (getenv("USER") == username) deleteButton->setEnabled(false); 
     142 
     143    if ( user->getEnc() ) 
     144      passwordButton->setEnabled(false); 
     145    else 
     146      passwordButton->setEnabled(true); 
    142147     
    143148    QString uid = QString::number(user->getUid()); 
  • src-qt4/pc-usermanager/simpleaddcode.cpp

    r1620346 r87d35b7  
    220220           qDebug() << "Before back->addUser"; 
    221221           back->addUser(username, fullname, "/usr/home/" + username, "/bin/csh", QString::null, password); 
     222           back->setEnc( username, checkEnc->isChecked() ); 
    222223           back->changePassword(username, password); 
    223224           qDebug() << "After back->addUser"; 
  • src-qt4/pc-usermanager/simpleadddlg.ui

    r1620346 r87d35b7  
    1 <ui version="4.0" > 
     1<?xml version="1.0" encoding="UTF-8"?> 
     2<ui version="4.0"> 
    23 <class>SimpleAddDlg</class> 
    3  <widget class="QDialog" name="SimpleAddDlg" > 
    4   <property name="geometry" > 
     4 <widget class="QDialog" name="SimpleAddDlg"> 
     5  <property name="geometry"> 
    56   <rect> 
    67    <x>0</x> 
    78    <y>0</y> 
    89    <width>424</width> 
    9     <height>168</height> 
     10    <height>191</height> 
    1011   </rect> 
    1112  </property> 
    12   <property name="windowTitle" > 
     13  <property name="windowTitle"> 
    1314   <string>Add User</string> 
    1415  </property> 
    15   <property name="windowIcon" > 
    16    <iconset resource="pcbsdusermanager.qrc" > 
     16  <property name="windowIcon"> 
     17   <iconset resource="pcbsdusermanager.qrc"> 
    1718    <normaloff>:/add_user.png</normaloff>:/add_user.png</iconset> 
    1819  </property> 
    19   <property name="modal" > 
     20  <property name="modal"> 
    2021   <bool>true</bool> 
    2122  </property> 
    22   <layout class="QGridLayout" > 
    23    <item row="5" column="0" colspan="2" > 
    24     <layout class="QHBoxLayout" > 
     23  <layout class="QGridLayout"> 
     24   <item row="4" column="1"> 
     25    <spacer name="spacer14"> 
     26     <property name="orientation"> 
     27      <enum>Qt::Vertical</enum> 
     28     </property> 
     29     <property name="sizeType"> 
     30      <enum>QSizePolicy::Expanding</enum> 
     31     </property> 
     32     <property name="sizeHint" stdset="0"> 
     33      <size> 
     34       <width>30</width> 
     35       <height>40</height> 
     36      </size> 
     37     </property> 
     38    </spacer> 
     39   </item> 
     40   <item row="2" column="1"> 
     41    <widget class="QLineEdit" name="passBox"> 
     42     <property name="echoMode"> 
     43      <enum>QLineEdit::Password</enum> 
     44     </property> 
     45    </widget> 
     46   </item> 
     47   <item row="3" column="1"> 
     48    <widget class="QLineEdit" name="confirmPassBox"> 
     49     <property name="echoMode"> 
     50      <enum>QLineEdit::Password</enum> 
     51     </property> 
     52    </widget> 
     53   </item> 
     54   <item row="1" column="0"> 
     55    <widget class="QLabel" name="fullnameLabel"> 
     56     <property name="enabled"> 
     57      <bool>true</bool> 
     58     </property> 
     59     <property name="frameShape"> 
     60      <enum>QFrame::NoFrame</enum> 
     61     </property> 
     62     <property name="frameShadow"> 
     63      <enum>QFrame::Plain</enum> 
     64     </property> 
     65     <property name="text"> 
     66      <string>Full Name:</string> 
     67     </property> 
     68     <property name="alignment"> 
     69      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     70     </property> 
     71     <property name="wordWrap"> 
     72      <bool>false</bool> 
     73     </property> 
     74    </widget> 
     75   </item> 
     76   <item row="6" column="0" colspan="2"> 
     77    <layout class="QHBoxLayout"> 
    2578     <item> 
    26       <spacer name="spacer13" > 
    27        <property name="orientation" > 
     79      <spacer name="spacer13"> 
     80       <property name="orientation"> 
    2881        <enum>Qt::Horizontal</enum> 
    2982       </property> 
    30        <property name="sizeType" > 
     83       <property name="sizeType"> 
    3184        <enum>QSizePolicy::Expanding</enum> 
    3285       </property> 
    33        <property name="sizeHint" stdset="0" > 
     86       <property name="sizeHint" stdset="0"> 
    3487        <size> 
    3588         <width>171</width> 
     
    4093     </item> 
    4194     <item> 
    42       <widget class="QPushButton" name="okButton" > 
    43        <property name="text" > 
     95      <widget class="QPushButton" name="okButton"> 
     96       <property name="text"> 
    4497        <string>O&amp;k</string> 
    4598       </property> 
    46        <property name="icon" > 
     99       <property name="icon"> 
    47100        <iconset> 
    48101         <normaloff>image0</normaloff>image0</iconset> 
    49102       </property> 
    50        <property name="shortcut" > 
     103       <property name="shortcut"> 
    51104        <string>Alt+K</string> 
    52105       </property> 
    53        <property name="default" > 
     106       <property name="default"> 
    54107        <bool>true</bool> 
    55108       </property> 
     
    57110     </item> 
    58111     <item> 
    59       <widget class="QPushButton" name="cancelButton" > 
    60        <property name="text" > 
     112      <widget class="QPushButton" name="cancelButton"> 
     113       <property name="text"> 
    61114        <string>Ca&amp;ncel</string> 
    62115       </property> 
    63        <property name="icon" > 
     116       <property name="icon"> 
    64117        <iconset> 
    65118         <normaloff>image1</normaloff>image1</iconset> 
    66119       </property> 
    67        <property name="shortcut" > 
     120       <property name="shortcut"> 
    68121        <string>Alt+N</string> 
    69122       </property> 
    70        <property name="default" > 
     123       <property name="default"> 
    71124        <bool>false</bool> 
    72125       </property> 
     
    75128    </layout> 
    76129   </item> 
    77    <item row="3" column="0" > 
    78     <widget class="QLabel" name="confirmPassLabel" > 
    79      <property name="enabled" > 
     130   <item row="3" column="0"> 
     131    <widget class="QLabel" name="confirmPassLabel"> 
     132     <property name="enabled"> 
    80133      <bool>true</bool> 
    81134     </property> 
    82      <property name="sizePolicy" > 
    83       <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > 
     135     <property name="sizePolicy"> 
     136      <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> 
    84137       <horstretch>0</horstretch> 
    85138       <verstretch>0</verstretch> 
    86139      </sizepolicy> 
    87140     </property> 
    88      <property name="text" > 
     141     <property name="text"> 
    89142      <string>Confirm Password:</string> 
    90143     </property> 
    91      <property name="alignment" > 
    92       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    93      </property> 
    94      <property name="wordWrap" > 
    95       <bool>false</bool> 
    96      </property> 
    97     </widget> 
    98    </item> 
    99    <item row="2" column="0" > 
    100     <widget class="QLabel" name="passLabel" > 
    101      <property name="enabled" > 
     144     <property name="alignment"> 
     145      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     146     </property> 
     147     <property name="wordWrap"> 
     148      <bool>false</bool> 
     149     </property> 
     150    </widget> 
     151   </item> 
     152   <item row="2" column="0"> 
     153    <widget class="QLabel" name="passLabel"> 
     154     <property name="enabled"> 
    102155      <bool>true</bool> 
    103156     </property> 
    104      <property name="sizePolicy" > 
    105       <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > 
     157     <property name="sizePolicy"> 
     158      <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> 
    106159       <horstretch>0</horstretch> 
    107160       <verstretch>0</verstretch> 
    108161      </sizepolicy> 
    109162     </property> 
    110      <property name="frameShape" > 
     163     <property name="frameShape"> 
    111164      <enum>QFrame::NoFrame</enum> 
    112165     </property> 
    113      <property name="frameShadow" > 
     166     <property name="frameShadow"> 
    114167      <enum>QFrame::Plain</enum> 
    115168     </property> 
    116      <property name="text" > 
     169     <property name="text"> 
    117170      <string>Password:</string> 
    118171     </property> 
    119      <property name="alignment" > 
    120       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    121      </property> 
    122      <property name="wordWrap" > 
    123       <bool>false</bool> 
    124      </property> 
    125     </widget> 
    126    </item> 
    127    <item row="1" column="1" > 
    128     <widget class="QLineEdit" name="fullnameBox" /> 
    129    </item> 
    130    <item row="1" column="0" > 
    131     <widget class="QLabel" name="fullnameLabel" > 
    132      <property name="enabled" > 
    133       <bool>true</bool> 
    134      </property> 
    135      <property name="frameShape" > 
    136       <enum>QFrame::NoFrame</enum> 
    137      </property> 
    138      <property name="frameShadow" > 
    139       <enum>QFrame::Plain</enum> 
    140      </property> 
    141      <property name="text" > 
    142       <string>Full Name:</string> 
    143      </property> 
    144      <property name="alignment" > 
    145       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    146      </property> 
    147      <property name="wordWrap" > 
    148       <bool>false</bool> 
    149      </property> 
    150     </widget> 
    151    </item> 
    152    <item row="0" column="0" > 
    153     <widget class="QLabel" name="usernameLabel" > 
    154      <property name="text" > 
     172     <property name="alignment"> 
     173      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     174     </property> 
     175     <property name="wordWrap"> 
     176      <bool>false</bool> 
     177     </property> 
     178    </widget> 
     179   </item> 
     180   <item row="1" column="1"> 
     181    <widget class="QLineEdit" name="fullnameBox"/> 
     182   </item> 
     183   <item row="0" column="0"> 
     184    <widget class="QLabel" name="usernameLabel"> 
     185     <property name="text"> 
    155186      <string>Username:</string> 
    156187     </property> 
    157      <property name="alignment" > 
    158       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
    159      </property> 
    160      <property name="wordWrap" > 
    161       <bool>false</bool> 
    162      </property> 
    163     </widget> 
    164    </item> 
    165    <item row="0" column="1" > 
    166     <widget class="QLineEdit" name="usernameBox" > 
    167      <property name="toolTip" > 
     188     <property name="alignment"> 
     189      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     190     </property> 
     191     <property name="wordWrap"> 
     192      <bool>false</bool> 
     193     </property> 
     194    </widget> 
     195   </item> 
     196   <item row="0" column="1"> 
     197    <widget class="QLineEdit" name="usernameBox"> 
     198     <property name="toolTip"> 
    168199      <string>The field is empty</string> 
    169200     </property> 
    170      <property name="maxLength" > 
     201     <property name="maxLength"> 
    171202      <number>16</number> 
    172203     </property> 
    173204    </widget> 
    174205   </item> 
    175    <item row="3" column="1" > 
    176     <widget class="QLineEdit" name="confirmPassBox" > 
    177      <property name="echoMode" > 
    178       <enum>QLineEdit::Password</enum> 
    179      </property> 
    180     </widget> 
    181    </item> 
    182    <item row="2" column="1" > 
    183     <widget class="QLineEdit" name="passBox" > 
    184      <property name="echoMode" > 
    185       <enum>QLineEdit::Password</enum> 
    186      </property> 
    187     </widget> 
    188    </item> 
    189    <item row="4" column="1" > 
    190     <spacer name="spacer14" > 
    191      <property name="orientation" > 
    192       <enum>Qt::Vertical</enum> 
    193      </property> 
    194      <property name="sizeType" > 
    195       <enum>QSizePolicy::Expanding</enum> 
    196      </property> 
    197      <property name="sizeHint" stdset="0" > 
    198       <size> 
    199        <width>30</width> 
    200        <height>40</height> 
    201       </size> 
    202      </property> 
    203     </spacer> 
     206   <item row="5" column="1"> 
     207    <widget class="QCheckBox" name="checkEnc"> 
     208     <property name="text"> 
     209      <string/> 
     210     </property> 
     211    </widget> 
     212   </item> 
     213   <item row="5" column="0"> 
     214    <widget class="QLabel" name="label"> 
     215     <property name="text"> 
     216      <string>Encrypt Files:</string> 
     217     </property> 
     218     <property name="alignment"> 
     219      <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> 
     220     </property> 
     221    </widget> 
    204222   </item> 
    205223  </layout> 
    206224 </widget> 
    207  <layoutdefault spacing="6" margin="11" /> 
     225 <layoutdefault spacing="6" margin="11"/> 
    208226 <tabstops> 
    209227  <tabstop>usernameBox</tabstop> 
     
    215233 </tabstops> 
    216234 <resources> 
    217   <include location="pcbsdusermanager.qrc" /> 
     235  <include location="pcbsdusermanager.qrc"/> 
    218236 </resources> 
    219237 <connections> 
     
    224242   <slot>close()</slot> 
    225243   <hints> 
    226     <hint type="sourcelabel" > 
     244    <hint type="sourcelabel"> 
    227245     <x>20</x> 
    228246     <y>20</y> 
    229247    </hint> 
    230     <hint type="destinationlabel" > 
     248    <hint type="destinationlabel"> 
    231249     <x>20</x> 
    232250     <y>20</y> 
  • src-qt4/pc-usermanager/simpledlgcode.cpp

    r14f87ef r87d35b7  
    102102    //Do not allow the removal of the currently logged in user 
    103103    removeUserBut->setEnabled(getenv("USER") != user->getUsername()); 
     104 
     105    if ( user->getEnc() ) 
     106      changePasswordBut->setEnabled(false); 
     107    else 
     108      changePasswordBut->setEnabled(true); 
    104109     
    105110    systemChange = false; 
  • src-qt4/pc-usermanager/user.cpp

    r1620346 r87d35b7  
    3535    shell = "Not set"; 
    3636    fullname = "Not set"; 
     37    enc = false; 
    3738    status = 0; 
    3839    password = ""; 
     
    4546    this->gid = gid; 
    4647    this->home = home; 
     48    if ( QFile::exists(home + "/.pefs.db")) 
     49      this->enc = true;  
     50    else 
     51      this->enc = false;  
    4752    this->shell = shell; 
    4853    this->fullname = fullname; 
     
    5762    this->shell = shell; 
    5863    this->fullname = fullname; 
     64    this->enc = false; 
    5965    status = 0; 
    6066    if (isNew) { status = 2; } 
    6167    this->uid = uid; 
    6268    this->gid = gid; 
     69    this->clearPass = password; 
    6370     
    6471    setPassword(password); 
     
    7986int User::getGid() { 
    8087    return gid; 
     88} 
     89 
     90bool User::getEnc() { 
     91    return enc; 
     92} 
     93 
     94void User::setEnc(bool Enc) { 
     95    this->enc = Enc; 
    8196} 
    8297 
     
    139154} 
    140155 
     156QString User::getClearPassword() 
     157{ 
     158    return clearPass; 
     159} 
     160 
    141161bool User::getDeleted() 
    142162{ 
  • src-qt4/pc-usermanager/user.h

    • Property mode changed from 100755 to 100644
    r1620346 r87d35b7  
    2424 
    2525#include <qapplication.h> 
     26#include <QFile> 
    2627 
    2728#ifndef INC_USER_H 
     
    3738    virtual int getUid(); 
    3839    virtual int getGid(); 
     40    virtual bool getEnc(); 
     41    virtual void setEnc(bool Enc); 
    3942    virtual QString getHome(); 
    4043    virtual QString getShell(); 
     
    4851    virtual bool getNew(); 
    4952    virtual void setNew(); 
     53    virtual QString getClearPassword(); 
    5054    virtual QString getPassword(); 
    5155    virtual void setPassword(QString password); 
     
    6670    uint status; // 0 = No change, 1 = Changes, 2 = New, 3 = Deleted 
    6771    QString password; 
     72    QString clearPass; 
    6873    bool deleteHome; 
     74    bool enc; 
    6975}; 
    7076 
  • src-qt4/pc-usermanager/usermanagerback.cpp

    r1620346 r87d35b7  
    207207} 
    208208 
     209void UserManagerBackend::setEnc(QString username, bool nEnc) 
     210{ 
     211    userList[username].setEnc(nEnc); 
     212} 
     213 
    209214int UserManagerBackend::validateFullname(QString fullname) { 
    210215    int result = 0; 
     
    357362                args << "usermod"; 
    358363                args << userIt->getUsername(); 
    359                 args << "-d"; 
    360                 args << userIt->getHome(); 
     364                // Only change home-dir on non-encrypted users 
     365                if ( ! userIt->getEnc() ) { 
     366                  args << "-d"; 
     367                  args << userIt->getHome(); 
     368                } 
    361369                args << "-s"; 
    362370                args << userIt->getShell(); 
     
    370378                if (userIt->getPassword() != "") 
    371379                { 
     380                    // Refuse to continue if we are trying to change PW 
     381                    // On an encrypted users homedir 
     382                    if ( userIt->getEnc() ) { 
     383                      qDebug() << "Cannot change encrypted password: " << userIt->getUsername(); 
     384                      break; 
     385                    } 
     386                    qDebug() << "Changing password: " << userIt->getUsername(); 
    372387                    args.clear(); 
    373388                    if ( ! chroot.isEmpty() ) 
     
    386401                qDebug() << "Adding user " << userIt->getUsername(); 
    387402                // Create the new home-directory 
    388                 if ( chroot.isEmpty() ) 
     403                if ( chroot.isEmpty() ) { 
    389404                   system("/usr/local/share/pcbsd/scripts/mkzfsdir.sh " + userIt->getHome().toLatin1() ); 
    390                 else { 
     405                   system("pw groupadd " + userIt->getUsername().toLatin1() ); 
     406                } else { 
    391407                   system("mkdir -p " + chroot.toLatin1() + "/" + userIt->getHome().toLatin1() + " 2>/dev/null" ); 
    392408                   system("chroot " + chroot.toLatin1() + " ln -s /usr/home /home 2>/dev/null" ); 
     409                   system("chroot " + chroot.toLatin1() + " pw groupadd " + userIt->getUsername().toLatin1() ); 
    393410                } 
    394411 
     
    399416                args << "-c"; 
    400417                args << userIt->getFullname(); 
     418                args << "-m"; 
    401419                args << "-d"; 
    402420                args << userIt->getHome(); 
     
    407425                    args << "-g"; 
    408426                    args << QString::number(userIt->getGid()); 
     427                } else { 
     428                    args << "-g"; 
     429                    args << userIt->getUsername(); 
    409430                } 
    410431                args << "-G"; 
    411432                args << "operator"; 
    412                 args << "-m"; 
    413433                if ( ! chroot.isEmpty() ) 
    414434                   QProcess::execute("chroot", args); 
     
    439459                   system("chroot " + chroot.toLatin1() + " chown -R " + userIt->getUsername().toLatin1() +":" + userIt->getUsername().toLatin1() + " "  + userIt->getHome().toLatin1() ); 
    440460 
     461                // Are we enabling encryption? 
     462                if ( userIt->getEnc() ) { 
     463                   system("enable_user_pefs " + userIt->getUsername().toLatin1() + " " + userIt->getClearPassword().toLatin1() ); 
     464                } 
     465 
    441466                break; 
    442467            case 3: 
    443468                //Delete User 
    444469                qDebug() << "Deleting user " << userIt->getUsername(); 
     470 
     471                if(userIt->getEnc()) { 
     472                  // Unmount PEFS 
     473                  system("umount " + userIt->getHome().toLatin1() ); 
     474                } 
    445475                if ( ! chroot.isEmpty() ) 
    446476                   args << chroot << "pw"; 
  • src-qt4/pc-usermanager/usermanagerback.h

    r1620346 r87d35b7  
    5454    int validateGroupname(QString groupname); //0 = OK, 1 = Empty, 2 = Invalid input, 3 Groupname already in use 
    5555    void changePassword(QString username, QString password); 
     56    void setEnc(QString username, bool nEnc); 
    5657    void deleteGroup(QString groupname); 
    5758    void addGroup(QString groupname); 
  • src-sh/xtrafiles/local/bin/enable_user_pefs

    r9f8fa2c re961598  
    2626fi 
    2727 
     28if [ "${USERHOMEDIR}" = "/" ] ; then 
     29   echo "Invalid HOMEDIR = / " 
     30   exit 1 
     31fi 
     32 
    2833if [ "$USERHOMEDIR" != "`realpath ${USERHOMEDIR}`" ] ; then 
    2934  NEWDIR=`realpath $USERHOMEDIR` 
     
    3742 
    3843echo "Encrypting ${USERHOMEDIR}" 
    39 umount ${USERHOMEDIR} 2>/dev/null 
    4044 
    41 mv ${USERHOMEDIR} ${USERHOMEDIR}.$$ 
    42 mkdir ${USERHOMEDIR} 
     45mkdir ${USERHOMEDIR}.$$ 
     46tar cvf - -C "${USERHOMEDIR}" . 2>/dev/null | tar xvpf - -C "${USERHOMEDIR}.$$" 2>/dev/null 
     47rm -rf ${USERHOMEDIR}/* 2>/dev/null 
     48rm -rf ${USERHOMEDIR}/.* 2>/dev/null 
    4349chown ${USER}:${USER} ${USERHOMEDIR} 
    4450 
Note: See TracChangeset for help on using the changeset viewer.