Fix KTempFile not obeying special bits on file creation

This closes Bug 349
Add modem category to TDE hardware manager
pull/16/head
Timothy Pearson 12 years ago
parent 41ea89f79d
commit 9068fffdf8

@ -117,8 +117,12 @@ KTempFile::create(const TQString &filePrefix, const TQString &fileExtension,
// Success!
bOpen = true;
// Set uid/gid (necessary for SUID programs)
fchown(mFd, getuid(), getgid());
uid_t uid = getuid();
uid_t euid = geteuid();
if (uid != euid) {
// Set uid/gid (necessary for SUID programs)
fchown(mFd, getuid(), getgid());
}
// Set close on exec
fcntl(mFd, F_SETFD, FD_CLOEXEC);

@ -1876,7 +1876,7 @@ void TDEHardwareDevices::processHotPluggedHardware() {
break;
}
}
if (device) {
m_deviceList.append(device);
updateParentDeviceInformation(device); // Update parent/child tables for this device
@ -2406,6 +2406,9 @@ TDEGenericDeviceType::TDEGenericDeviceType readGenericDeviceTypeFromString(TQStr
else if (query == "HID") {
ret = TDEGenericDeviceType::HID;
}
else if (query == "Modem") {
ret = TDEGenericDeviceType::Modem;
}
else if (query == "Monitor") {
ret = TDEGenericDeviceType::Monitor;
}
@ -3154,6 +3157,8 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
}
}
// Post PCI 2.0
TQString devicepcisubclass = devicepciclass;
devicepcisubclass = devicepcisubclass.remove(0,2);
if (devicepciclass.startsWith("01")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::StorageController);
}
@ -3177,6 +3182,11 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
if (devicepciclass.startsWith("06")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Bridge);
}
if (devicepciclass.startsWith("07")) {
if (devicepcisubclass.startsWith("03")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Modem);
}
}
if (devicepciclass.startsWith("0a")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Dock);
}
@ -4885,6 +4895,9 @@ TQString TDEHardwareDevices::getFriendlyDeviceTypeStringFromType(TDEGenericDevic
else if (query == TDEGenericDeviceType::HID) {
ret = i18n("HID");
}
else if (query == TDEGenericDeviceType::Modem) {
ret = i18n("Modem");
}
else if (query == TDEGenericDeviceType::Monitor) {
ret = i18n("Monitor and Display");
}
@ -5034,6 +5047,9 @@ TQPixmap TDEHardwareDevices::getDeviceTypeIconFromType(TDEGenericDeviceType::TDE
else if (query == TDEGenericDeviceType::HID) {
ret = DesktopIcon("kcmdevices", size); // FIXME
}
else if (query == TDEGenericDeviceType::Modem) {
ret = DesktopIcon("kcmpci", size);
}
else if (query == TDEGenericDeviceType::Monitor) {
ret = DesktopIcon("background", size);
}

@ -57,6 +57,7 @@ enum TDEGenericDeviceType {
Mouse,
Keyboard,
HID,
Modem,
Monitor,
Network,
Printer,
@ -2031,4 +2032,4 @@ class TDECORE_EXPORT TDEHardwareDevices : public TQObject
friend class TDECPUDevice;
};
#endif
#endif

Loading…
Cancel
Save