diff --git a/po/el.po b/po/el.po index 8a36618ff1..7890d9b9ce 100644 --- a/po/el.po +++ b/po/el.po @@ -4,21 +4,22 @@ # Nikos Charonitakis , 2005. # Kostas Papadimas , 2005-2007. # Dimitris Glezos , 2006. -# Jennie Petoumenou , 2008. +# Jennie Petoumenou , 2008, 2009. +# Tournaris Pavlos , 2009. msgid "" msgstr "" "Project-Id-Version: NetworkManager.HEAD\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." -"cgi?product=NetworkManager&component=general\n" -"POT-Creation-Date: 2008-12-07 22:31+0000\n" -"PO-Revision-Date: 2008-12-18 16:53+0100\n" -"Last-Translator: Jennie Petoumenou \n" -"Language-Team: Greek \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=NetworkManager&component=general\n" +"POT-Creation-Date: 2009-08-27 03:24+0000\n" +"PO-Revision-Date: 2009-09-10 11:08+0200\n" +"Last-Translator: Tournaris Pavlos \n" +"Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 0.2\n" +"X-Generator: Lokalize 0.3\n" #: ../libnm-util/crypto.c:120 #, c-format @@ -28,7 +29,7 @@ msgstr "Το αρχείο κλειδιού PEM δεν είχε ετικέτα τ #: ../libnm-util/crypto.c:130 #, c-format msgid "Doesn't look like a PEM private key file." -msgstr "Δεν μοιάζει με αρχείο ιδιωτικού κλειδιού PEM." +msgstr "Δε μοιάζει με αρχείο ιδιωτικού κλειδιού PEM." #: ../libnm-util/crypto.c:138 #, c-format @@ -75,7 +76,7 @@ msgstr "Αδύνατη η αποκωδικοποίηση του ιδιωτικο #: ../libnm-util/crypto.c:267 #, c-format msgid "PEM certificate '%s' had no end tag '%s'." -msgstr "Το πιστοποιητικό PEM '%s' δεν διέθετε ετικέτα τέλους '%s'." +msgstr "Το πιστοποιητικό PEM '%s' δε διέθετε ετικέτα τέλους '%s'." #: ../libnm-util/crypto.c:277 #, c-format @@ -96,7 +97,7 @@ msgstr "Δεν επαρκεί η μνήμη για την αποθήκευση #: ../libnm-util/crypto.c:324 #, c-format msgid "IV must be an even number of bytes in length." -msgstr "Το μήκος του IV πρέπει να αντιστοιχεί σε άρτιο αριθμό bytes." +msgstr "Το μήκος του IV πρέπει να αντιστοιχεί σε άρτιο αριθμό byte." #: ../libnm-util/crypto.c:333 #, c-format @@ -199,9 +200,10 @@ msgid "Couldn't verify PKCS#12 file: %s" msgstr "Αδύνατη η διαπίστωση του αρχείου PKCS#12: %s" #: ../libnm-util/crypto_nss.c:57 +#: ../system-settings/plugins/ifcfg-rh/crypto.c:52 #, c-format msgid "Failed to initialize the crypto engine: %d." -msgstr "Απέτυχε η αρχικοποίηση της μηχανής crypto: %d." +msgstr "Απέτυχε η αρχικοποίηση της μηχανής κρυπτογραφίας: %d." #: ../libnm-util/crypto_nss.c:111 #, c-format @@ -256,67 +258,62 @@ msgstr "Αδύνατη η αρχικοποίηση του αποκωδικοπο #: ../libnm-util/crypto_nss.c:356 #, c-format msgid "Couldn't decode PKCS#12 file: %d" -msgstr "Αδύνατη η αρχικοποίηση του αρχείου PKCS#12: %d" +msgstr "Αδύνατη η αποκωδικοποίηση του αρχείου PKCS#12: %d" #: ../libnm-util/crypto_nss.c:365 #, c-format msgid "Couldn't verify PKCS#12 file: %d" msgstr "Αδύνατη η διαπίστωση του αρχείου PKCS#12: %d" -#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:454 +#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:464 #, c-format msgid "error processing netlink message: %s" msgstr "σφάλμα κατά την επεξεργασία μηνύματος netlink: %s" -#: ../src/nm-netlink-monitor.c:251 +#: ../src/nm-netlink-monitor.c:260 #, c-format msgid "unable to allocate netlink handle for monitoring link status: %s" msgstr "" "αδύνατη η δέσμευση χειριστή netlink για την παρακολούθηση της κατάστασης της " "σύνδεσης: %s" -#: ../src/nm-netlink-monitor.c:261 +#: ../src/nm-netlink-monitor.c:270 #, c-format msgid "unable to connect to netlink for monitoring link status: %s" msgstr "" "αδύνατη η σύνδεση με το netlink για την παρακολούθηση της κατάστασης της " "σύνδεσης: %s" -#: ../src/nm-netlink-monitor.c:269 +#: ../src/nm-netlink-monitor.c:278 #, c-format msgid "unable to join netlink group for monitoring link status: %s" msgstr "" "αδύνατη η ένταξη στην ομάδα του netlink για την παρακολούθηση της κατάστασης " "της σύνδεσης: %s" -#: ../src/nm-netlink-monitor.c:277 +#: ../src/nm-netlink-monitor.c:286 #, c-format msgid "unable to allocate netlink link cache for monitoring link status: %s" msgstr "" "αδύνατη η εκχώρηση λανθάνουσας μνήμης στη σύνδεση netlink για την " "παρακολούθηση της κατάστασης της σύνδεσης δικτύου: %s" -#: ../src/nm-netlink-monitor.c:418 -#, c-format -msgid "error updating link cache: %s" -msgstr "σφάλμα κατά την ενημέρωση της λανθάνουσας μνήμης της σύνδεσης: %s" - -#: ../src/nm-netlink-monitor.c:484 +#: ../src/nm-netlink-monitor.c:494 msgid "error occurred while waiting for data on socket" msgstr "σφάλμα κατά την αναμονή για δεδομένα στην υποδοχή" -#: ../src/NetworkManager.c:293 +#: ../src/NetworkManager.c:330 #, c-format msgid "Invalid option. Please use --help to see a list of valid options.\n" msgstr "" "Άκυρη επιλογή. Παρακαλώ χρησιμοποιήστε --help για να δείτε τη λίστα των " "έγκυρων επιλογών.\n" -#: ../src/dhcp-manager/nm-dhcp-dhclient.c:88 +#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304 msgid "# Created by NetworkManager\n" msgstr "# Δημιουργήθηκε από το NetworkManager\n" -#: ../src/dhcp-manager/nm-dhcp-dhclient.c:94 +#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310 #, c-format msgid "" "# Merged from %s\n" @@ -325,18 +322,64 @@ msgstr "" "# Συγχωνεύθηκαν από το %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:256 +#: ../src/named-manager/nm-named-manager.c:315 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "ΣΗΜΕΙΩΣΗ: Ο libc resolver μπορεί να μην υποστηρίζει περισσότερους από 3 " "εξυπηρετητές ονομάτων." -#: ../src/named-manager/nm-named-manager.c:258 +#: ../src/named-manager/nm-named-manager.c:317 msgid "The nameservers listed below may not be recognized." msgstr "Οι κάτωθι εξυπηρετητές ονομάτων ίσως να μην αναγνωρίζονται." -#: ../system-settings/src/main.c:380 +#: ../src/system-settings/nm-default-wired-connection.c:194 #, c-format msgid "Auto %s" msgstr "Αυτόματο %s" +#: ../system-settings/plugins/ifcfg-rh/reader.c:2446 +msgid "System" +msgstr "Σύστημα" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1 +msgid "Connection sharing via a protected WiFi network" +msgstr "Κοινή χρήση σύνδεσης μέσω προστατευμένου ασύρματου δικτύου" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2 +msgid "Connection sharing via an open WiFi network" +msgstr "Κοινή χρήση σύνδεσης μέσω ανοιχτού ασύρματου δικτύου" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:3 +msgid "Modify persistent system hostname" +msgstr "Αλλαγή πάγιου ονόματος συστήματος" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:4 +msgid "Modify system connections" +msgstr "Τροποποίηση συνδέσεων συστήματος" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:5 +msgid "System policy prevents modification of system settings" +msgstr "" +"Η πολιτική συστήματος δεν επιτρέπει τροποποίηση των ρυθμίσεων συστήματος" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6 +#| msgid "System policy prevents modification of system settings" +msgid "System policy prevents modification of the persistent system hostname" +msgstr "" +"Η πολιτική συστήματος δεν επιτρέπει τροποποίηση του πάγιου ονόματος " +"συστήματος" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:7 +msgid "System policy prevents sharing connections via a protected WiFi network" +msgstr "" +"Η πολιτική συστήματος δεν επιτρέπει κοινή χρήση συνδέσεων μέσω " +"προστατευμένου ασύρματου δικτύου" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:8 +msgid "System policy prevents sharing connections via an open WiFi network" +msgstr "" +"Η πολιτική συστήματος δεν επιτρέπει κοινή χρήση συνδέσεων μέσω ανοιχτού " +"ασύρματου δικτύου" + +#~ msgid "error updating link cache: %s" +#~ msgstr "σφάλμα κατά την ενημέρωση της λανθάνουσας μνήμης της σύνδεσης: %s" diff --git a/po/te.po b/po/te.po index 5dd39f9965..7b3ace2288 100644 --- a/po/te.po +++ b/po/te.po @@ -1,15 +1,15 @@ -# translation of NetworkManager.po.master.te.po to Telugu +# translation of NetworkManager.master.te.po to Telugu # Telugu translation of NetworkManager. # Copyright (C) 2009 NetworkManager's COPYRIGHT HOLDER # This file is distributed under the same license as the NetworkManager package. # -# Krishna Babu K , 2009. +# Krishna Babu K , 2009, 2010. msgid "" msgstr "" -"Project-Id-Version: NetworkManager.po.master.te\n" +"Project-Id-Version: NetworkManager.master.te\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n" -"POT-Creation-Date: 2009-06-12 03:24+0000\n" -"PO-Revision-Date: 2009-06-12 17:50+0530\n" +"POT-Creation-Date: 2009-09-29 03:25+0000\n" +"PO-Revision-Date: 2010-01-29 15:20+0530\n" "Last-Translator: Krishna Babu K \n" "Language-Team: Telugu \n" "MIME-Version: 1.0\n" @@ -17,6 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n\n" +"\n" #: ../libnm-util/crypto.c:120 #, c-format @@ -103,8 +104,9 @@ msgstr "IV నిల్వవుంచుటకు సరిపోవునం msgid "IV contains non-hexadecimal digits." msgstr "IV నాన్-హెక్సాడెసిమల్ సంఖ్యలను కలిగివుంది." -#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143 -#: ../libnm-util/crypto_nss.c:169 +#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:148 +#: ../libnm-util/crypto_gnutls.c:266 ../libnm-util/crypto_nss.c:171 +#: ../libnm-util/crypto_nss.c:335 #, c-format msgid "Private key cipher '%s' was unknown." msgstr "వ్యక్తిగత కీ సైఫర్ '%s' అనునది తెలియనిది." @@ -124,72 +126,111 @@ msgstr "వ్యక్తిగత కీ రకమును నిర్ణయ msgid "Not enough memory to store decrypted private key." msgstr "డీక్రిప్టు చేసిన వ్యక్తిగత కీను నిల్వవుంచుటకు సరిపోవునంత మెమొరీలేదు." -#: ../libnm-util/crypto_gnutls.c:46 +#: ../libnm-util/crypto_gnutls.c:49 msgid "Failed to initialize the crypto engine." msgstr "క్రిప్టో యింజన్‌ను సిద్దముచేయుటలో విఫలమైంది." -#: ../libnm-util/crypto_gnutls.c:90 +#: ../libnm-util/crypto_gnutls.c:93 #, c-format msgid "Failed to initialize the MD5 engine: %s / %s." msgstr "MD5 యింజన్ సిద్దము చేయుటలో విఫలమైంది: %s / %s." -#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178 +#: ../libnm-util/crypto_gnutls.c:156 +#, c-format +msgid "Invalid IV length (must be at least %zd)." +msgstr "చెల్లని IV పొడవు (తప్పక కనీసం %zd అయివుండాలి)." + +#: ../libnm-util/crypto_gnutls.c:165 ../libnm-util/crypto_nss.c:188 #, c-format msgid "Not enough memory for decrypted key buffer." msgstr "డిక్రిప్టెడ్ కీ బఫర్ కొరకు సరిపోవునంత మెమొరి లేదు." -#: ../libnm-util/crypto_gnutls.c:160 +#: ../libnm-util/crypto_gnutls.c:173 #, c-format msgid "Failed to initialize the decryption cipher context: %s / %s." msgstr "డిక్రిప్షన్ సైఫర్ కాంటెస్టును సిద్దము చేయుటలో విఫలమైంది: %s / %s." -#: ../libnm-util/crypto_gnutls.c:169 +#: ../libnm-util/crypto_gnutls.c:182 #, c-format msgid "Failed to set symmetric key for decryption: %s / %s." msgstr "వివరణ కొరకు సిమెట్రిక్ కీను అమర్చుటలో విఫలమైంది: %s / %s." -#: ../libnm-util/crypto_gnutls.c:178 +#: ../libnm-util/crypto_gnutls.c:191 #, c-format msgid "Failed to set IV for decryption: %s / %s." msgstr "వివరణ కొరకు IV అమర్చుటలో విఫలమైంది: %s / %s." -#: ../libnm-util/crypto_gnutls.c:187 +#: ../libnm-util/crypto_gnutls.c:200 #, c-format msgid "Failed to decrypt the private key: %s / %s." msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది: %s / %s." -#: ../libnm-util/crypto_gnutls.c:200 +#: ../libnm-util/crypto_gnutls.c:210 ../libnm-util/crypto_nss.c:266 +#, c-format +#| msgid "Failed to decrypt the private key: %d." +msgid "Failed to decrypt the private key: unexpected padding length." +msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది: అనుకోని పాడింగ్ పొడవు." + +#: ../libnm-util/crypto_gnutls.c:221 ../libnm-util/crypto_nss.c:277 #, c-format msgid "Failed to decrypt the private key." msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది." -#: ../libnm-util/crypto_gnutls.c:235 +#: ../libnm-util/crypto_gnutls.c:286 ../libnm-util/crypto_nss.c:355 +#, c-format +msgid "Could not allocate memory for encrypting." +msgstr "ఎన్క్రిప్టింగ్ కొరకు మెమొరీ కేటాయించలేక పోయింది." + +#: ../libnm-util/crypto_gnutls.c:294 +#, c-format +#| msgid "Failed to initialize the decryption cipher context: %s / %s." +msgid "Failed to initialize the encryption cipher context: %s / %s." +msgstr "ఎన్క్రిప్షన్ సైఫర్ కాంటెస్టును సిద్దము చేయుటలో విఫలమైంది: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:303 +#, c-format +#| msgid "Failed to set symmetric key for decryption: %s / %s." +msgid "Failed to set symmetric key for encryption: %s / %s." +msgstr "ఎన్క్రిప్షన్ కొరకు సిమెట్రిక్ కీను అమర్చుటలో విఫలమైంది: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:313 +#, c-format +#| msgid "Failed to set IV for decryption: %s / %s." +msgid "Failed to set IV for encryption: %s / %s." +msgstr "ఎన్క్రిప్షన్ కొరకు IV అమర్చుటలో విఫలమైంది: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:322 +#, c-format +#| msgid "Failed to decrypt the private key: %s / %s." +msgid "Failed to encrypt the data: %s / %s." +msgstr "డాటాను ఎన్క్రిప్టు చేయుటలో విఫలమైంది: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:362 #, c-format msgid "Error initializing certificate data: %s" msgstr "దృవీకరణపత్రం డాటాను సిద్దపరచుటలో దోషము: %s" -#: ../libnm-util/crypto_gnutls.c:257 +#: ../libnm-util/crypto_gnutls.c:384 #, c-format msgid "Couldn't decode certificate: %s" msgstr "దృవీకరణపత్రమును డీకోడ్ చేయలేక పోయింది: %s" -#: ../libnm-util/crypto_gnutls.c:281 +#: ../libnm-util/crypto_gnutls.c:408 #, c-format msgid "Couldn't initialize PKCS#12 decoder: %s" msgstr "PKCS#12 డీకోడర్‌ను సిద్దపరచలేక పోయింది: %s" -#: ../libnm-util/crypto_gnutls.c:294 +#: ../libnm-util/crypto_gnutls.c:421 #, c-format msgid "Couldn't decode PKCS#12 file: %s" msgstr "PKCS#12 ఫైలును డీకోడ్ పరచలేక పోయింది: %s" -#: ../libnm-util/crypto_gnutls.c:306 +#: ../libnm-util/crypto_gnutls.c:433 #, c-format msgid "Couldn't verify PKCS#12 file: %s" msgstr "PKCS#12 ఫైలును నిర్ధారించలేక పోయింది: %s" #: ../libnm-util/crypto_nss.c:57 -#: ../system-settings/plugins/ifcfg-rh/crypto.c:52 #, c-format msgid "Failed to initialize the crypto engine: %d." msgstr "క్రిప్టో యింజన్ సిద్దము చేయుటలో విఫలమైంది: %d." @@ -199,105 +240,186 @@ msgstr "క్రిప్టో యింజన్ సిద్దము చే msgid "Failed to initialize the MD5 context: %d." msgstr "MD5 కాంటెస్టును సిద్దము చేయుటలో విఫలమైంది: %d." -#: ../libnm-util/crypto_nss.c:186 +#: ../libnm-util/crypto_nss.c:179 +#, c-format +msgid "Invalid IV length (must be at least %d)." +msgstr "చెల్లని IV పొడవు (తప్పక కనీసం %d వుండాలి)." + +#: ../libnm-util/crypto_nss.c:196 #, c-format msgid "Failed to initialize the decryption cipher slot." msgstr "డిక్రిప్షన్ సైఫర్ స్లాట్‌ను సిద్దము చేయుటలో విఫలమైంది." -#: ../libnm-util/crypto_nss.c:196 +#: ../libnm-util/crypto_nss.c:206 #, c-format msgid "Failed to set symmetric key for decryption." msgstr "వివరణ కొరకు సిమెట్రిక్ కీ అమర్చుటలో విఫలమైంది." -#: ../libnm-util/crypto_nss.c:206 +#: ../libnm-util/crypto_nss.c:216 #, c-format msgid "Failed to set IV for decryption." msgstr "వివరణ కొరకు IV అమర్చుటలో విఫలమైంది." -#: ../libnm-util/crypto_nss.c:214 +#: ../libnm-util/crypto_nss.c:224 #, c-format msgid "Failed to initialize the decryption context." msgstr "వివరణ సందర్భమును సిద్దపరచుటలో విఫలమైంది." -#: ../libnm-util/crypto_nss.c:227 +#: ../libnm-util/crypto_nss.c:237 #, c-format msgid "Failed to decrypt the private key: %d." msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది: %d." -#: ../libnm-util/crypto_nss.c:239 +#: ../libnm-util/crypto_nss.c:245 +#, c-format +#| msgid "Failed to decrypt the private key: %d." +msgid "Failed to decrypt the private key: decrypted data too large." +msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది: డిక్రిప్టు చేసిన డాటా మరీ పెద్దది." + +#: ../libnm-util/crypto_nss.c:256 #, c-format msgid "Failed to finalize decryption of the private key: %d." msgstr "వ్యక్తిగత కీ యొక్క డిక్రిప్షన్ ఖరారు చేయుటలో విఫలమైంది: %d." -#: ../libnm-util/crypto_nss.c:284 +#: ../libnm-util/crypto_nss.c:363 +#, c-format +#| msgid "Failed to initialize the decryption cipher slot." +msgid "Failed to initialize the encryption cipher slot." +msgstr "ఎన్క్రిప్షన్ సైఫర్ స్లాట్‌ను సిద్దముచేయుటలో విఫలమైంది." + +#: ../libnm-util/crypto_nss.c:371 +#, c-format +#| msgid "Failed to set symmetric key for decryption." +msgid "Failed to set symmetric key for encryption." +msgstr "ఎన్క్రిప్షన్ కొరకు సిమ్మెట్రిక్ కీను అమర్చుటలో విఫలమైంది." + +#: ../libnm-util/crypto_nss.c:379 +#, c-format +#| msgid "Failed to set IV for decryption." +msgid "Failed to set IV for encryption." +msgstr "ఎన్క్రిప్షన్ కొరకు IV అమర్చుటలో విఫలమైంది." + +#: ../libnm-util/crypto_nss.c:387 +#, c-format +#| msgid "Failed to initialize the decryption context." +msgid "Failed to initialize the encryption context." +msgstr "ఎన్క్రిప్షన్ సందర్భమును సిద్దముచేయుటలో విఫలమైంది." + +#: ../libnm-util/crypto_nss.c:395 +#, c-format +#| msgid "Failed to decrypt the private key: %d." +msgid "Failed to encrypt: %d." +msgstr "ఎన్క్రిప్టు చేయుటకు విఫలమైంది: %d." + +#: ../libnm-util/crypto_nss.c:403 +#, c-format +msgid "Unexpected amount of data after encrypting." +msgstr "ఎన్క్రిప్టు చేసిన తర్వాత అనుకోని డాటా మొత్తము." + +#: ../libnm-util/crypto_nss.c:446 #, c-format msgid "Couldn't decode certificate: %d" msgstr "దృవీకరణపత్రమును డీకోడ్ చేయలేక పోయింది: %d" -#: ../libnm-util/crypto_nss.c:319 +#: ../libnm-util/crypto_nss.c:481 #, c-format msgid "Couldn't convert password to UCS2: %d" msgstr "సంకేతపదమును UCS2కు మార్చలేక పోయింది: %d" -#: ../libnm-util/crypto_nss.c:347 +#: ../libnm-util/crypto_nss.c:509 #, c-format msgid "Couldn't initialize PKCS#12 decoder: %d" msgstr "PKCS#12 డీకోడర్‌ను సిద్దము చేయలేక పోయింది: %d" -#: ../libnm-util/crypto_nss.c:356 +#: ../libnm-util/crypto_nss.c:518 #, c-format msgid "Couldn't decode PKCS#12 file: %d" msgstr "PKCS#12 ఫైలు డీకోడ్ చేయలేక పోయింది: %d" -#: ../libnm-util/crypto_nss.c:365 +#: ../libnm-util/crypto_nss.c:527 #, c-format msgid "Couldn't verify PKCS#12 file: %d" msgstr "PKCS#12 ఫైలు నిర్దారించలేక పోయింది: %d" -#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458 +#: ../libnm-util/crypto_nss.c:556 +#| msgid "Could not decode private key." +msgid "Could not generate random data." +msgstr "యాదృశ్చిక డాటాను జనియింపచేయలేక పోయింది." + +#: ../libnm-util/nm-utils.c:1522 +#, c-format +#| msgid "Not enough memory to decrypt private key." +msgid "Not enough memory to make encryption key." +msgstr "ఎన్క్రిప్షన్ కీను తయారుచేయుటకు సరిపోవు మెమొరీ లేదు." + +#: ../libnm-util/nm-utils.c:1633 +#| msgid "Not enough memory to store PEM file data." +msgid "Could not allocate memory for PEM file creation." +msgstr "మెమొరీను PEM ఫైలు సృష్టీకరణ కొరకు కేటాయించలేక పోయింది." + +#: ../libnm-util/nm-utils.c:1645 +#, c-format +msgid "Could not allocate memory for writing IV to PEM file." +msgstr "IVను PEM ఫైలునకు వ్రాయుటకు మెమొరీను కేటాయించలేక పోయింది." + +#: ../libnm-util/nm-utils.c:1657 +#, c-format +msgid "Could not allocate memory for writing encrypted key to PEM file." +msgstr "ఎన్క్రిప్టు చేసిన కీను PEM ఫైలునకు వ్రాయుటకు మెమొరీను కేటాయించలేక పోయింది." + +#: ../libnm-util/nm-utils.c:1676 +#, c-format +#| msgid "Not enough memory to store PEM file data." +msgid "Could not allocate memory for PEM file data." +msgstr "PEM ఫైలు డాటా కొరకు మెమొరీను కేటాయించలేక పోయింది." + +#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:464 +#: ../src/nm-netlink-monitor.c:569 +#: ../src/ip6-manager/nm-netlink-listener.c:352 #, c-format msgid "error processing netlink message: %s" msgstr "నెట్‌లింక్ సందేశమును ప్రోసెసింగ్ చేయుటలో దోషము: %s" -#: ../src/nm-netlink-monitor.c:255 +#: ../src/nm-netlink-monitor.c:260 #, c-format msgid "unable to allocate netlink handle for monitoring link status: %s" msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్‌లింకు హాండిల్‌ను కేటాయించలేక పోయింది: %s" -#: ../src/nm-netlink-monitor.c:265 +#: ../src/nm-netlink-monitor.c:270 #, c-format msgid "unable to connect to netlink for monitoring link status: %s" msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్‌లింకుకు అనుసంధానము కాలేకపోయింది: %s" -#: ../src/nm-netlink-monitor.c:273 +#: ../src/nm-netlink-monitor.c:278 #, c-format msgid "unable to join netlink group for monitoring link status: %s" msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్‌లింకు సమూహమును కలుపలేక పోయింది:%s" -#: ../src/nm-netlink-monitor.c:281 +#: ../src/nm-netlink-monitor.c:286 #, c-format msgid "unable to allocate netlink link cache for monitoring link status: %s" msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్‌లింకు క్యాచీని కేటాయించలేక పోయింది: %s" -#: ../src/nm-netlink-monitor.c:422 +#: ../src/nm-netlink-monitor.c:494 +#: ../src/ip6-manager/nm-netlink-listener.c:382 +msgid "error occurred while waiting for data on socket" +msgstr "సాకెట్ నందు డాటా కొరకు వేచివుండునప్పుడు దోషము సంభవించినది" + +#: ../src/nm-netlink-monitor.c:558 #, c-format msgid "error updating link cache: %s" msgstr "లింకు క్యాచీని నవీకరించుటలో దోషము: %s" -#: ../src/nm-netlink-monitor.c:488 -msgid "error occurred while waiting for data on socket" -msgstr "సాకెట్ నందు డాటా కొరకు వేచివుండునప్పుడు దోషము సంభవించినది" - -#: ../src/NetworkManager.c:329 +#: ../src/NetworkManager.c:330 #, c-format msgid "Invalid option. Please use --help to see a list of valid options.\n" msgstr "చెల్లని ఐచ్చికము. చెల్లునటువంటి ఐచ్చికముల జాబితా కొరకు --help వుపయోగించండి.\n" -#: ../src/dhcp-manager/nm-dhcp-dhclient.c:97 +#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304 msgid "# Created by NetworkManager\n" msgstr "# నెట్వర్కునిర్వాహిక ద్వారా సృష్టించబడింది\n" -#: ../src/dhcp-manager/nm-dhcp-dhclient.c:103 +#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310 #, c-format msgid "" "# Merged from %s\n" @@ -306,28 +428,71 @@ msgstr "" "# %sనుండి కలుపబడింది\n" "\n" -#: ../src/named-manager/nm-named-manager.c:255 +#: ../src/ip6-manager/nm-netlink-listener.c:200 +#, c-format +#| msgid "unable to allocate netlink handle for monitoring link status: %s" +msgid "unable to allocate netlink handle: %s" +msgstr "నెట్‌లింక్ సంభాలికను కేటాయించలేక పోయింది: %s" + +#: ../src/ip6-manager/nm-netlink-listener.c:210 +#, c-format +#| msgid "unable to connect to netlink for monitoring link status: %s" +msgid "unable to connect to netlink: %s" +msgstr "నెట్‌లింక్‌కు అనుసంధానము కాలేకపోయింది: %s" + +#: ../src/ip6-manager/nm-netlink-listener.c:307 +#, c-format +#| msgid "unable to join netlink group for monitoring link status: %s" +msgid "unable to join netlink group: %s" +msgstr "నెట్‌లింకు సమూహాన్ని చేర్చుకొనలేక పోయింది: %s" + +#: ../src/named-manager/nm-named-manager.c:315 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "గమనిక: libc రిజాల్వర్ 3 నామపు సేవికలకన్నా యెక్కువ వాటికి మద్దతివ్వలేదు." -#: ../src/named-manager/nm-named-manager.c:257 +#: ../src/named-manager/nm-named-manager.c:317 msgid "The nameservers listed below may not be recognized." msgstr "క్రిందన జాబితాచేసివున్న నామపుసేవికలు గుర్తించబడక పోవచ్చును." -#: ../src/system-settings/nm-default-wired-connection.c:182 +#: ../src/system-settings/nm-default-wired-connection.c:194 #, c-format msgid "Auto %s" msgstr "స్వయంచాలక %s" -#: ../system-settings/plugins/ifcfg-rh/reader.c:2168 +#: ../system-settings/plugins/ifcfg-rh/reader.c:2406 msgid "System" msgstr "సిస్టమ్" #: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1 +msgid "Connection sharing via a protected WiFi network" +msgstr "రక్షిత WiFi నెట్వర్కు ద్వారా అనుసంధానపు భాగస్వామ్యము." + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2 +msgid "Connection sharing via an open WiFi network" +msgstr "ఓపెన్ WiFi నెట్వర్కు ద్వారా అనుసంధానపు భాగస్వామ్యము" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:3 +msgid "Modify persistent system hostname" +msgstr "నిరంతర సిస్టమ్ హోస్టునామము మార్చుము" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:4 msgid "Modify system connections" msgstr "సిస్టమ్ అనుసంధానములను సవరించుము" -#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2 +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:5 msgid "System policy prevents modification of system settings" msgstr "సిస్టమ్ అమరికలు సవరించుటకు సిస్టమ్ పాలసి నిరోధిస్తుంది" +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6 +#| msgid "System policy prevents modification of system settings" +msgid "System policy prevents modification of the persistent system hostname" +msgstr "నిరంతర సిస్టమ్ హోస్టునామమును సవరించుటను సిస్టమ్ విధానము నిరోధించుచున్నది" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:7 +msgid "System policy prevents sharing connections via a protected WiFi network" +msgstr "రక్షిత WiFi నెట్వర్కు ద్వారా అనుసంధానములను భాగస్వామ్యపరచుట సిస్టమ్ విధానము నిరోధించుచున్నది" + +#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:8 +msgid "System policy prevents sharing connections via an open WiFi network" +msgstr "ఓపెన్ WiFi నెట్వర్కు ద్వారా అనుసంధానములను భాగస్వామ్యపరచుట సిస్టమ్ విధానము నిరోధించుచున్నది" + diff --git a/src/NetworkManagerPolicy.c b/src/NetworkManagerPolicy.c index 7034520fb0..1b7801c510 100644 --- a/src/NetworkManagerPolicy.c +++ b/src/NetworkManagerPolicy.c @@ -252,13 +252,84 @@ get_best_device (NMManager *manager, NMActRequest **out_req) return best; } +static gboolean +is_localhost_mapping (const char *str) +{ + return (!strncmp (str, "127.0.0.1", strlen ("127.0.0.1")) && strstr (str, "localhost")); +} + +static gboolean +find_token (const char *line, const char *token) +{ + const char *start = line, *p = line; + + g_return_val_if_fail (line != NULL, FALSE); + g_return_val_if_fail (token != NULL, FALSE); + g_return_val_if_fail (strlen (token) > 0, FALSE); + + /* Walk through the line to find the next whitespace character */ + while (p <= line + strlen (line)) { + if (isblank (*p) || (*p == '\0')) { + /* Token starts with 'start' and ends with 'end' */ + if ((p > start) && *start && !strncmp (start, token, (p - start))) + return TRUE; /* found */ + + /* not found; advance start and continue looking */ + start = p + 1; + } + p++; + } + + return FALSE; +} + +#if 0 +/* Testcase for find_token; break it out and add it to the testsuite */ + +typedef struct { + const char *line; + const char *token; + gboolean expected; +} Foo; + +static Foo foo[] = { + { "127.0.0.1\tfoobar\tblah", "blah", TRUE }, + { "", "blah", FALSE }, + { "1.1.1.1\tbork\tfoo", "blah", FALSE }, + { "127.0.0.1 foobar\tblah", "blah", TRUE }, + { "127.0.0.1 foobar blah", "blah", TRUE }, + { "192.168.1.1 blah borkbork", "blah", TRUE }, + { "192.168.1.1 foobar\tblah borkbork", "blah", TRUE }, + { "192.168.1.1\tfoobar\tblah\tborkbork", "blah", TRUE }, + { "192.168.1.1 \tfoobar \tblah \tborkbork\t ", "blah", TRUE }, + { "\t\t\t\t \t\t\tasdfadf a\t\t\t\t\t \t\t\t\t\t ", "blah", FALSE }, + { NULL, NULL, FALSE } +}; + +int main(int argc, char **argv) +{ + Foo *iter = &foo[0]; + + while (iter->line) { + if (find_token (iter->line, iter->token) != iter->expected) { + g_message ("Failed: '%s' <= '%s' (%d)", iter->line, iter->token, iter->expected); + return 1; + } + iter++; + } + + g_message ("Success"); + return 0; +} +#endif + #define FALLBACK_HOSTNAME "localhost.localdomain" static gboolean update_etc_hosts (const char *hostname) { char *contents = NULL; - char **lines = NULL, **line; + char **lines = NULL, **line, **host_mapping = NULL; GError *error = NULL; gboolean initial_comments = TRUE; gboolean added = FALSE; @@ -285,25 +356,62 @@ update_etc_hosts (const char *hostname) return FALSE; } - /* Replace any 127.0.0.1 entry that is at the beginning of the file or right - * after initial comments. If there is no 127.0.0.1 entry at the beginning - * or after initial comments, add one there and ignore any other 127.0.0.1 - * entries. + /* Two-pass modification of /etc/hosts: + * + * 1) Look for a non-comment, non-localhost line that contains the current + * hostname. Mark that line. + * + * 2) For each line in the existing /etc/hosts, add it to the new /etc/hosts + * unless it starts with 127.0.0.1 and is right after the initial comments + * (if any) and contains "localhost". */ + + /* Find any existing hostname mapping */ for (line = lines; lines && *line; line++) { + /* Look for any line that (a) contains the current hostname, and + * (b) does not start with '127.0.0.1' and contain 'localhost'. + */ + if ( strlen (*line) + && (*line[0] != '#') + && find_token (*line, hostname) + && !is_localhost_mapping (*line)) { + host_mapping = line; + break; + } + } + + /* Construct the new hosts file; replace any 127.0.0.1 entry that is at the + * beginning of the file or right after initial comments and contains + * the string 'localhost'. If there is no 127.0.0.1 entry at the beginning + * or after initial comments that contains 'localhost', add one there + * and ignore any other 127.0.0.1 entries that contain 'localhost'. + */ + for (line = lines, initial_comments = TRUE; lines && *line; line++) { gboolean add_line = TRUE; /* This is the first line after the initial comments */ - if (initial_comments && (*line[0] != '#')) { + if (strlen (*line) && initial_comments && (*line[0] != '#')) { initial_comments = FALSE; - g_string_append_printf (new_contents, "127.0.0.1\t%s", hostname); + + /* If some other line contained the hostname, make a simple + * localhost mapping and assume the user knows what they are doing + * with their manual hostname entry. Otherwise if the hostname + * wasn't found somewhere else, add it to the localhost mapping line + * to make sure it's mapped to something. + */ + if (host_mapping) + g_string_append (new_contents, "127.0.0.1"); + else + g_string_append_printf (new_contents, "127.0.0.1\t%s", hostname); + if (strcmp (hostname, FALLBACK_HOSTNAME)) g_string_append_printf (new_contents, "\t" FALLBACK_HOSTNAME); + g_string_append (new_contents, "\tlocalhost\n"); added = TRUE; /* Don't add the entry if it's supposed to be the actual localhost reverse mapping */ - if (!strncmp (*line, "127.0.0.1", strlen ("127.0.0.1")) && strstr (*line, "localhost")) + if (is_localhost_mapping (*line)) add_line = FALSE; } diff --git a/src/modem-manager/nm-modem-gsm.c b/src/modem-manager/nm-modem-gsm.c index 60d8b4f8dc..a7bd361c0d 100644 --- a/src/modem-manager/nm-modem-gsm.c +++ b/src/modem-manager/nm-modem-gsm.c @@ -55,6 +55,7 @@ typedef struct { DBusGProxyCall *call; GHashTable *connect_properties; + guint32 pin_tries; } NMModemGsmPrivate; @@ -153,6 +154,28 @@ translate_mm_error (GError *error) return reason; } +static void +ask_for_pin (NMModemGsm *self, gboolean always_ask) +{ + NMModemGsmPrivate *priv; + guint32 tries = 0; + + g_return_if_fail (self != NULL); + g_return_if_fail (NM_IS_MODEM_GSM (self)); + + priv = NM_MODEM_GSM_GET_PRIVATE (self); + + if (!always_ask) + tries = priv->pin_tries++; + + g_signal_emit_by_name (self, NM_MODEM_NEED_AUTH, + NM_SETTING_GSM_SETTING_NAME, + (tries || always_ask) ? TRUE : FALSE, + SECRETS_CALLER_MOBILE_BROADBAND, + NM_SETTING_GSM_PIN, + NULL); +} + static void stage1_prepare_done (DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data) { @@ -170,29 +193,17 @@ stage1_prepare_done (DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data if (dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID)) g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, TRUE, NM_DEVICE_STATE_REASON_NONE); else { - const char *required_secret = NULL; - gboolean retry_secret = FALSE; - if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_PIN)) - required_secret = NM_SETTING_GSM_PIN; - else if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_WRONG)) { - required_secret = NM_SETTING_GSM_PIN; - retry_secret = TRUE; - } else { + ask_for_pin (self, FALSE); + else if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_WRONG)) + ask_for_pin (self, TRUE); + else { nm_warning ("GSM connection failed: (%d) %s", error ? error->code : -1, error && error->message ? error->message : "(unknown)"); - } - if (required_secret) { - g_signal_emit_by_name (self, NM_MODEM_NEED_AUTH, - NM_SETTING_GSM_SETTING_NAME, - retry_secret, - SECRETS_CALLER_MOBILE_BROADBAND, - required_secret, - NULL); - } else g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, FALSE, translate_mm_error (error)); + } g_error_free (error); } @@ -212,6 +223,68 @@ do_connect (NMModemGsm *self) G_TYPE_INVALID); } +static void stage1_enable_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data); + +static void +do_enable (NMModemGsm *self) +{ + DBusGProxy *proxy; + + g_return_if_fail (self != NULL); + g_return_if_fail (NM_IS_MODEM_GSM (self)); + + proxy = nm_modem_get_proxy (NM_MODEM (self), MM_DBUS_INTERFACE_MODEM); + dbus_g_proxy_begin_call_with_timeout (proxy, + "Enable", stage1_enable_done, + self, NULL, 20000, + G_TYPE_BOOLEAN, TRUE, + G_TYPE_INVALID); +} + +static void +stage1_pin_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data) +{ + NMModemGsm *self = NM_MODEM_GSM (user_data); + GError *error = NULL; + + if (dbus_g_proxy_end_call (proxy, call_id, &error, G_TYPE_INVALID)) { + /* Success; go back and try the enable again */ + do_enable (self); + } else { + nm_warning ("GSM PIN unlock failed: (%d) %s", + error ? error->code : -1, + error && error->message ? error->message : "(unknown)"); + g_error_free (error); + + g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, FALSE, NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED); + } +} + +static void +handle_enable_pin_required (NMModemGsm *self) +{ + NMModemGsmPrivate *priv = NM_MODEM_GSM_GET_PRIVATE (self); + const char *pin = NULL; + GValue *value; + DBusGProxy *proxy; + + /* See if we have a PIN already */ + value = g_hash_table_lookup (priv->connect_properties, "pin"); + if (value && G_VALUE_HOLDS_STRING (value)) + pin = g_value_get_string (value); + + /* If we do, send it */ + if (pin) { + proxy = nm_modem_get_proxy (NM_MODEM (self), MM_DBUS_INTERFACE_MODEM_GSM_CARD); + dbus_g_proxy_begin_call_with_timeout (proxy, + "SendPin", stage1_pin_done, + self, NULL, 10000, + G_TYPE_STRING, pin, + G_TYPE_INVALID); + } else + ask_for_pin (self, FALSE); +} + static void stage1_enable_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data) { @@ -224,11 +297,17 @@ stage1_enable_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_da nm_warning ("GSM modem enable failed: (%d) %s", error ? error->code : -1, error && error->message ? error->message : "(unknown)"); + + if (dbus_g_error_has_name (error, MM_MODEM_ERROR_SIM_PIN)) + handle_enable_pin_required (self); + else + g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, FALSE, NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED); + g_error_free (error); - g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, FALSE, NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED); } } + static GHashTable * create_connect_properties (NMConnection *connection) { @@ -302,7 +381,6 @@ real_act_stage1_prepare (NMModem *modem, *out_setting_name = nm_connection_need_secrets (connection, out_hints); if (!*out_setting_name) { gboolean enabled = nm_modem_get_mm_enabled (modem); - DBusGProxy *proxy; if (priv->connect_properties) g_hash_table_destroy (priv->connect_properties); @@ -310,14 +388,8 @@ real_act_stage1_prepare (NMModem *modem, if (enabled) do_connect (self); - else { - proxy = nm_modem_get_proxy (modem, MM_DBUS_INTERFACE_MODEM); - dbus_g_proxy_begin_call_with_timeout (proxy, - "Enable", stage1_enable_done, - modem, NULL, 20000, - G_TYPE_BOOLEAN, TRUE, - G_TYPE_INVALID); - } + else + do_enable (self); } else { /* NMModem will handle requesting secrets... */ } @@ -418,6 +490,8 @@ real_deactivate_quickly (NMModem *modem, NMDevice *device) priv->call = NULL; } + priv->pin_tries = 0; + NM_MODEM_CLASS (nm_modem_gsm_parent_class)->deactivate_quickly (modem, device); } diff --git a/src/modem-manager/nm-modem.c b/src/modem-manager/nm-modem.c index 3d32e1914a..40a76b1db5 100644 --- a/src/modem-manager/nm-modem.c +++ b/src/modem-manager/nm-modem.c @@ -855,19 +855,8 @@ modem_properties_changed (DBusGProxy *proxy, value = g_hash_table_lookup (props, "Enabled"); if (value && G_VALUE_HOLDS_BOOLEAN (value)) { - NMDeviceState state; - priv->mm_enabled = g_value_get_boolean (value); g_object_notify (G_OBJECT (self), NM_MODEM_ENABLED); - - if (priv->mm_enabled == FALSE) { - state = nm_device_interface_get_state (NM_DEVICE_INTERFACE (self)); - if (IS_ACTIVATING_STATE (state) || (state == NM_DEVICE_STATE_ACTIVATED)) { - nm_device_state_changed (NM_DEVICE (self), - NM_DEVICE_STATE_DISCONNECTED, - NM_DEVICE_STATE_REASON_NONE); - } - } } } diff --git a/src/nm-device-cdma.c b/src/nm-device-cdma.c index 4ab684d3ca..3ee797dc00 100644 --- a/src/nm-device-cdma.c +++ b/src/nm-device-cdma.c @@ -284,9 +284,20 @@ real_set_enabled (NMDeviceInterface *device, gboolean enabled) { NMDeviceCdma *self = NM_DEVICE_CDMA (device); NMDeviceCdmaPrivate *priv = NM_DEVICE_CDMA_GET_PRIVATE (self); + NMDeviceState state; - if (priv->modem) + if (priv->modem) { nm_modem_set_mm_enabled (priv->modem, enabled); + + if (enabled == FALSE) { + state = nm_device_interface_get_state (device); + if (state == NM_DEVICE_STATE_ACTIVATED) { + nm_device_state_changed (NM_DEVICE (device), + NM_DEVICE_STATE_DISCONNECTED, + NM_DEVICE_STATE_REASON_NONE); + } + } + } } /*****************************************************************************/ diff --git a/src/nm-device-gsm.c b/src/nm-device-gsm.c index efe46ba164..b99243d881 100644 --- a/src/nm-device-gsm.c +++ b/src/nm-device-gsm.c @@ -284,9 +284,20 @@ real_set_enabled (NMDeviceInterface *device, gboolean enabled) { NMDeviceGsm *self = NM_DEVICE_GSM (device); NMDeviceGsmPrivate *priv = NM_DEVICE_GSM_GET_PRIVATE (self); + NMDeviceState state; - if (priv->modem) + if (priv->modem) { nm_modem_set_mm_enabled (priv->modem, enabled); + + if (enabled == FALSE) { + state = nm_device_interface_get_state (device); + if (state == NM_DEVICE_STATE_ACTIVATED) { + nm_device_state_changed (NM_DEVICE (device), + NM_DEVICE_STATE_DISCONNECTED, + NM_DEVICE_STATE_REASON_NONE); + } + } + } } /*****************************************************************************/ diff --git a/system-settings/plugins/ifupdown/plugin.c b/system-settings/plugins/ifupdown/plugin.c index 18afce4f4a..ae09840eb1 100644 --- a/system-settings/plugins/ifupdown/plugin.c +++ b/system-settings/plugins/ifupdown/plugin.c @@ -355,7 +355,7 @@ SCPluginIfupdown_init (NMSystemConfigInterface *config) ifparser_init (); block = ifparser_getfirst (); while (block) { - if(!strcmp ("auto", block->type)) + if(!strcmp ("auto", block->type) || !strcmp ("allow-hotplug", block->type)) g_hash_table_insert (auto_ifaces, block->name, GUINT_TO_POINTER (1)); else if (!strcmp ("iface", block->type) && strcmp ("lo", block->name)) { NMIfupdownConnection *exported;