Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37042355
en ru br
Репозитории ALT
S:1.44.0-alt2
5.1: 0.7.3-alt2.git20101007.M51.1
4.1: 0.7.1-alt5.M41.5
www.altlinux.org/Changes

Группа :: Система/Настройка/Сеть
Пакет: NetworkManager

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

Патч: alt-state-if-etcnet.patch
Скачать


diff --git a/NetworkManager/src/nm-manager.c b/NetworkManager/src/nm-manager.c
index e5ebdb2..ba5f10f 100644
--- a/NetworkManager/src/nm-manager.c
+++ b/NetworkManager/src/nm-manager.c
@@ -23,6 +23,8 @@
 #include <string.h>
 #include <dbus/dbus-glib-lowlevel.h>
 #include <dbus/dbus-glib.h>
+#include <stdio.h>
+#include <stdlib.h>
 
 #include "nm-manager.h"
 #include "nm-utils.h"
@@ -386,6 +388,19 @@ nm_manager_update_state (NMManager *manager)
 		}
 	}
 
+	/*not set to disconndcted when there are routes*/
+        {
+		FILE* routes_pipe;
+		char routes_char[4],*dummy;
+		int routes_int;
+		routes_pipe = popen( "/sbin/ip route | wc -l", "r");
+		dummy = fgets( routes_char, 3, routes_pipe );
+		routes_int = atoi(routes_char);
+		if( new_state == NM_STATE_DISCONNECTED && routes_int )
+			new_state = NM_STATE_CONNECTED;
+		pclose(routes_pipe);
+	}
+
 	if (priv->state != new_state) {
 		priv->state = new_state;
 		g_object_notify (G_OBJECT (manager), NM_MANAGER_STATE);
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin