Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37828157
en ru br
Репозитории ALT
5.1: 3.5.10-alt4
4.1: 3.5.10-alt2.M41.1
4.0: 3.5.9-alt0.M40.1
3.0: 3.4.1-alt4
+backports:3.5.6-alt2.0.M30
www.altlinux.org/Changes

Группа :: Графические оболочки/KDE
Пакет: kdenetwork

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: kdenetwork-3.5.8-alt-etsnet-resolv-mods.patch
Скачать


--- kdenetwork-3.5.8/kppp/pppdata.h~	2005-09-10 12:20:37 +0400
+++ kdenetwork-3.5.8/kppp/pppdata.h	2008-01-16 19:04:20 +0300
@@ -489,6 +489,8 @@ public:
   void winPosStatWin(int &, int &);
   void setWinPosStatWin(int, int);
 
+  bool etcnetResolvMods();
+
 private:
   QString passwd;
   KConfig* config;                       // configuration object
@@ -504,6 +506,8 @@ private:
   int pppderror;                         // error encounterd running pppd
   int pppdVer, pppdMod, pppdPatch;       // pppd version
   bool waitcallback;			 // callback waiting flag
+  bool etcnet_resolv_mods;		// etcnet resolv.conf modifications flag
+  bool etcnet_resolv_mods_checked;	// is checked for etcnet resolv.conf modifications
 
   QStringList phonelist;
 };
--- kdenetwork-3.5.8/kppp/pppdata.cpp~	2008-01-17 14:15:32 +0300
+++ kdenetwork-3.5.8/kppp/pppdata.cpp	2008-01-17 15:56:29 +0300
@@ -48,10 +48,30 @@ PPPData::PPPData()
      pppderror(0),
      waitcallback(false)
 {
+     etcnet_resolv_mods_checked = false;
+     etcnet_resolv_mods = true;
 }
 
 
 //
+// check for resolv.conf modifications
+//
+bool PPPData::etcnetResolvMods()
+{
+    if( !etcnet_resolv_mods_checked )
+    {
+	etcnet_resolv_mods_checked = true;
+	KConfig sysconfig_network("/etc/sysconfig/network", true, false);
+	QString mods = sysconfig_network.readEntry("RESOLV_MODS", "yes");
+	mods.remove("\"");
+	mods.remove("\'");
+	if( mods == "no" || mods == "0" || mods == "false" )
+	    etcnet_resolv_mods = false;
+    }
+    return etcnet_resolv_mods;
+}
+
+//
 // open configuration file
 //
 bool PPPData::open() {
--- kdenetwork-3.5.8/kppp/connect.cpp~	2008-01-16 19:58:52 +0300
+++ kdenetwork-3.5.8/kppp/connect.cpp	2008-01-16 20:07:01 +0300
@@ -1407,6 +1407,7 @@ void auto_hostname() {
 // Replace the DNS domain entry in the /etc/resolv.conf file and
 // disable the nameserver entries if option is enabled
 void add_domain(const QString &domain) {
+  if( gpppdata.etcnetResolvMods() ) return;
 
   int fd;
   char c;
@@ -1458,6 +1459,7 @@ void add_domain(const QString &domain) {
 // adds the DNS entries in the /etc/resolv.conf file
 void adddns()
 {
+  if( gpppdata.etcnetResolvMods() ) return;
   int fd;
 
   if ((fd = Requester::rq->openResolv(O_WRONLY|O_APPEND)) >= 0) {
@@ -1476,6 +1478,7 @@ void adddns()
 }
 
 void addpeerdns() {
+  if( gpppdata.etcnetResolvMods() ) return;
   int fd, fd2;
 
   if((fd = Requester::rq->openResolv(O_WRONLY|O_APPEND)) >= 0) {
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin