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! // Success!
bOpen = true; bOpen = true;
// Set uid/gid (necessary for SUID programs) uid_t uid = getuid();
fchown(mFd, getuid(), getgid()); uid_t euid = geteuid();
if (uid != euid) {
// Set uid/gid (necessary for SUID programs)
fchown(mFd, getuid(), getgid());
}
// Set close on exec // Set close on exec
fcntl(mFd, F_SETFD, FD_CLOEXEC); fcntl(mFd, F_SETFD, FD_CLOEXEC);

@ -2406,6 +2406,9 @@ TDEGenericDeviceType::TDEGenericDeviceType readGenericDeviceTypeFromString(TQStr
else if (query == "HID") { else if (query == "HID") {
ret = TDEGenericDeviceType::HID; ret = TDEGenericDeviceType::HID;
} }
else if (query == "Modem") {
ret = TDEGenericDeviceType::Modem;
}
else if (query == "Monitor") { else if (query == "Monitor") {
ret = TDEGenericDeviceType::Monitor; ret = TDEGenericDeviceType::Monitor;
} }
@ -3154,6 +3157,8 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
} }
} }
// Post PCI 2.0 // Post PCI 2.0
TQString devicepcisubclass = devicepciclass;
devicepcisubclass = devicepcisubclass.remove(0,2);
if (devicepciclass.startsWith("01")) { if (devicepciclass.startsWith("01")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::StorageController); if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::StorageController);
} }
@ -3177,6 +3182,11 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
if (devicepciclass.startsWith("06")) { if (devicepciclass.startsWith("06")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Bridge); 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 (devicepciclass.startsWith("0a")) {
if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Dock); if (!device) device = new TDEGenericDevice(TDEGenericDeviceType::Dock);
} }
@ -4885,6 +4895,9 @@ TQString TDEHardwareDevices::getFriendlyDeviceTypeStringFromType(TDEGenericDevic
else if (query == TDEGenericDeviceType::HID) { else if (query == TDEGenericDeviceType::HID) {
ret = i18n("HID"); ret = i18n("HID");
} }
else if (query == TDEGenericDeviceType::Modem) {
ret = i18n("Modem");
}
else if (query == TDEGenericDeviceType::Monitor) { else if (query == TDEGenericDeviceType::Monitor) {
ret = i18n("Monitor and Display"); ret = i18n("Monitor and Display");
} }
@ -5034,6 +5047,9 @@ TQPixmap TDEHardwareDevices::getDeviceTypeIconFromType(TDEGenericDeviceType::TDE
else if (query == TDEGenericDeviceType::HID) { else if (query == TDEGenericDeviceType::HID) {
ret = DesktopIcon("kcmdevices", size); // FIXME ret = DesktopIcon("kcmdevices", size); // FIXME
} }
else if (query == TDEGenericDeviceType::Modem) {
ret = DesktopIcon("kcmpci", size);
}
else if (query == TDEGenericDeviceType::Monitor) { else if (query == TDEGenericDeviceType::Monitor) {
ret = DesktopIcon("background", size); ret = DesktopIcon("background", size);
} }

@ -57,6 +57,7 @@ enum TDEGenericDeviceType {
Mouse, Mouse,
Keyboard, Keyboard,
HID, HID,
Modem,
Monitor, Monitor,
Network, Network,
Printer, Printer,

Loading…
Cancel
Save