Merge commit 'origin/master' into dhcp6

This commit is contained in:
Dan Williams 2010-01-20 15:42:26 -08:00
commit ac2505b64c
15 changed files with 2543 additions and 1196 deletions

View file

@ -83,7 +83,7 @@ dnl Make sha1.c happy on big endian systems
dnl
AC_C_BIGENDIAN
AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch, slackware, paldo or mandriva]))
AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch, slackware, paldo, mandriva or pardus]))
if test "z$with_distro" = "z"; then
AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
@ -94,6 +94,7 @@ if test "z$with_distro" = "z"; then
AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware")
AC_CHECK_FILE(/etc/frugalware-release,with_distro="frugalware")
AC_CHECK_FILE(/etc/mandriva-release,with_distro="mandriva")
AC_CHECK_FILE(/etc/pardus-release,with_distro="pardus")
if test "z$with_distro" = "z"; then
with_distro=`lsb_release -is`
fi
@ -105,7 +106,7 @@ if test "z$with_distro" = "z"; then
exit 1
else
case $with_distro in
redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|mandriva) ;;
redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|mandriva|pardus) ;;
*)
echo "Your distribution (${with_distro}) is not yet supported! (patches welcome)"
exit 1
@ -158,6 +159,11 @@ if test x"$with_distro" = xmandriva; then
AC_DEFINE(TARGET_MANDRIVA, 1, [Define if you have Mandriva])
fi
AM_CONDITIONAL(TARGET_PARDUS, test x"$with_distro" = xpardus)
if test x"$with_distro" = xpardus; then
AC_DEFINE(TARGET_PARDUS, 1, [Define if you have Pardus])
fi
AC_MSG_CHECKING([Linux Wireless Extensions >= 18])
AC_TRY_COMPILE([#ifndef __user
#define __user

View file

@ -7,12 +7,14 @@
The hardware address of the device.
</tp:docstring>
</property>
<property name="Companion" type="s" access="read">
<property name="Companion" type="o" access="read">
<tp:docstring>
The object path of the companion device.
</tp:docstring>
</property>
<property name="ActiveChannel" type="o" access="read">
<property name="ActiveChannel" type="u" access="read">
<tp:docstring>
The currently active channel.
</tp:docstring>

View file

@ -95,8 +95,8 @@ nm_device_bt_get_hw_address (NMDeviceBt *device)
priv = NM_DEVICE_BT_GET_PRIVATE (device);
if (!priv->hw_address) {
priv->hw_address = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRED,
DBUS_PROP_HW_ADDRESS);
NM_DBUS_INTERFACE_DEVICE_BLUETOOTH,
DBUS_PROP_HW_ADDRESS);
}
return priv->hw_address;

475
po/de.po
View file

@ -7,156 +7,83 @@
# Thomas Gier <info@thomasgier.de>, 2007.
# Andre Klapper <ak-47@gmx.net>, 2007.
# Hauke Mehrtens <hauke@hauke-m.de>, 2008.
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: NetworkManager HEAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-11-25 21:44+0100\n"
"PO-Revision-Date: 2008-11-22 00:08+0100\n"
"Last-Translator: Hauke Mehrtens <hauke@hauke-m.de>\n"
"POT-Creation-Date: 2009-10-15 23:02+0200\n"
"PO-Revision-Date: 2009-10-14 11:27+0200\n"
"Last-Translator: Christian Kirbach <Christian.Kirbach@googlemail.com>\n"
"Language-Team: German <gnome-de@gnome.org>\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"
#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:454
#, c-format
msgid "error processing netlink message: %s"
msgstr "Fehler beim Verarbeiten der netlink Nachricht: %s"
#: ../src/nm-netlink-monitor.c:251
#, c-format
msgid "unable to allocate netlink handle for monitoring link status: %s"
msgstr ""
"Kann netlink handle zur Überwachung von Netzwerkverbindung nicht belegen: %s"
#: ../src/nm-netlink-monitor.c:261
#, c-format
msgid "unable to connect to netlink for monitoring link status: %s"
msgstr ""
"Kann nicht mit netlink zur Überwachung von Netzwerkverbindung verbinden: %s"
#: ../src/nm-netlink-monitor.c:269
#, c-format
msgid "unable to join netlink group for monitoring link status: %s"
msgstr ""
"Kann nicht mit netlink Gruppe zur Überwachung der Netzwerkverbindung "
"verbinden: %s"
#: ../src/nm-netlink-monitor.c:277
#, c-format
msgid "unable to allocate netlink link cache for monitoring link status: %s"
msgstr ""
"Kann netlink Cache zur Überwachung der Netzwerkverbindung nicht belegen: %s"
#: ../src/nm-netlink-monitor.c:418
#, c-format
msgid "error updating link cache: %s"
msgstr "Fehler beim aktualisieren des Verbindungscaches: %s"
#: ../src/nm-netlink-monitor.c:484
msgid "error occurred while waiting for data on socket"
msgstr "Während des Wartens auf Daten am Socket ist ein Fehler aufgetreten"
#: ../src/NetworkManager.c:293
#, c-format
msgid "Invalid option. Please use --help to see a list of valid options.\n"
msgstr ""
"Ungültige Option. Benutzen Sie Bitte --help um eine Liste der gültigen "
"Optionen zu erhalten.\n"
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:88
msgid "# Created by NetworkManager\n"
msgstr "# Erzeugt vom NetzwerkManager\n"
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:94
#, c-format
msgid ""
"# Merged from %s\n"
"\n"
msgstr ""
"# Zusammengefügt aus %s\n"
"\n"
#: ../src/named-manager/nm-named-manager.c:256
msgid "NOTE: the libc resolver may not support more than 3 nameservers."
msgstr ""
"Achtung: der libc resolver unterstützt wahrscheinlich nicht mehr als 3 "
"Nameserver."
#: ../src/named-manager/nm-named-manager.c:258
msgid "The nameservers listed below may not be recognized."
msgstr "Die Nameserver unter diesem werden wahrscheinlich nicht benutzt."
#: ../system-settings/src/main.c:376
#, c-format
msgid "Auto %s"
msgstr "Auto %s"
#: ../libnm-util/crypto.c:120
#, c-format
msgid "PEM key file had no end tag '%s'."
msgstr "PEM Schlüssel Datei hat keine abschließendes Tag '%s'."
msgstr "PEM-Schlüssel Datei hat kein abschließendes Tag »%s«."
#: ../libnm-util/crypto.c:130
#, c-format
msgid "Doesn't look like a PEM private key file."
msgstr "Das sieht nicht nach einem privatem PEM Schlüssel aus."
msgstr "Dies scheint kein privater PEM-Schlüssel zu sein."
#: ../libnm-util/crypto.c:138
#, c-format
msgid "Not enough memory to store PEM file data."
msgstr ""
"Es steht nicht genug Speicher zum Speichern der PEM Datei zur Verfügung."
"Es steht nicht genug Speicher zum Speichern der PEM-Datei zur Verfügung."
#: ../libnm-util/crypto.c:154
#, c-format
msgid "Malformed PEM file: Proc-Type was not first tag."
msgstr "Fehlerhafte PEM Datei: Proc-Type ist nicht der erste Tag."
msgstr "Fehlerhafte PEM-Datei: Proc-Type ist nicht der erste Tag."
#: ../libnm-util/crypto.c:162
#, c-format
msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
msgstr "Fehlerhafte PEM Datei: unbekannter Proc-Type Tag '%s'."
msgstr "Fehlerhafte PEM-Datei: unbekannter Proc-Type Tag »%s«."
#: ../libnm-util/crypto.c:172
#, c-format
msgid "Malformed PEM file: DEK-Info was not the second tag."
msgstr "Fehlerhafte PEM Datei: DEK-Info ist nicht der zweite Tag."
msgstr "Fehlerhafte PEM-Datei: DEK-Info ist nicht der zweite Tag."
#: ../libnm-util/crypto.c:183
#, c-format
msgid "Malformed PEM file: no IV found in DEK-Info tag."
msgstr "Fehlerhafte PEM Datei: kein IV im DEK-Info Tag gefunden."
msgstr "Fehlerhafte PEM-Datei: kein IV im DEK-Info Tag gefunden."
#: ../libnm-util/crypto.c:190
#, c-format
msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
msgstr "Fehlerhafte PEM Datei: falsches Format des IV in DEK-Info Tag."
msgstr "Fehlerhafte PEM-Datei: falsches Format des IV in DEK-Info Tag."
#: ../libnm-util/crypto.c:203
#, c-format
msgid "Malformed PEM file: unknown private key cipher '%s'."
msgstr ""
"Fehlerhafte PEM Datei: unbekannte Verschlüsselung '%s' des privaten "
"Fehlerhafte PEM-Datei: Unbekannte Verschlüsselung »%s« des privaten "
"Schlüssels."
#: ../libnm-util/crypto.c:222
#, c-format
msgid "Could not decode private key."
msgstr "Konnte privaten Schlüssel nicht dekodieren."
msgstr "Der private Schlüssel konnte nicht dekodiert werden."
#: ../libnm-util/crypto.c:267
#, c-format
msgid "PEM certificate '%s' had no end tag '%s'."
msgstr "PEM Zertifikat '%s' hat keine abschließendes Tag '%s'."
msgstr "PEM-Zertifikat »%s« hat kein abschließendes Tag »%s«."
#: ../libnm-util/crypto.c:277
#, c-format
msgid "Failed to decode certificate."
msgstr "Fehler beim dekodieren des Zertifikats."
msgstr "Das Dekodieren des Zertifikats ist fehlgeschlagen."
#: ../libnm-util/crypto.c:286
#, c-format
@ -183,21 +110,22 @@ msgstr "Nicht genug Speicher zum Sichern des IV."
msgid "IV contains non-hexadecimal digits."
msgstr "IV enthält nicht hexadezimale Zeichen."
#: ../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:336
#, c-format
msgid "Private key cipher '%s' was unknown."
msgstr "Unbekannte Verschlüsselung '%s' des privaten Schlüssels."
msgstr "Unbekannte Verschlüsselung »%s« des privaten Schlüssels."
#: ../libnm-util/crypto.c:391
#, c-format
msgid "Not enough memory to decrypt private key."
msgstr "Nicht genug Speicher zum entschlüsseln des privaten Schlüssels."
msgstr "Nicht genug Speicher zum Entschlüsseln des privaten Schlüssels."
#: ../libnm-util/crypto.c:511
#, c-format
msgid "Unable to determine private key type."
msgstr "Kann die Art des privaten Schlüssels nicht bestimmen."
msgstr "Die Art des privaten Schlüssels kann nicht bestimmt werden."
#: ../libnm-util/crypto.c:530
#, c-format
@ -205,138 +133,393 @@ msgid "Not enough memory to store decrypted private key."
msgstr ""
"Nicht genug Speicher zum Speichern des entschlüsselten privaten Schlüssels."
#: ../libnm-util/crypto_gnutls.c:46
#: ../libnm-util/crypto_gnutls.c:49
msgid "Failed to initialize the crypto engine."
msgstr "Fehler beim Initialisieren der Verschlüsselung."
#: ../libnm-util/crypto_gnutls.c:90
#: ../libnm-util/crypto_gnutls.c:93
#, c-format
msgid "Failed to initialize the MD5 engine: %s / %s."
msgstr "Fehler beim Initialisieren von 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 "Ungültige Länge des IV (muss zumindest %zd sein)."
#: ../libnm-util/crypto_gnutls.c:165 ../libnm-util/crypto_nss.c:188
#, c-format
msgid "Not enough memory for decrypted key buffer."
msgstr "Nicht genug Speicher für den Entschlüsselungs-Puffer."
msgstr "Nicht genug Speicher für den Puffer zur Entschlüsselung."
#: ../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 "Fehler beim Initialisieren des Entschlüsselungs-Kontextes: %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 ""
"Fehler beim setzen des symmetrischen Schlüssels für die Entschlüsselung: %"
"Fehler beim Festlegen des symmetrischen Schlüssels für die Entschlüsselung: %"
"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 "Fehler beim setzen des IV für die Verschlüsselung: %s / %s."
msgstr "Fehler beim Festlegen des IV für die Verschlüsselung: %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 "Fehler beim Entschlüsseln des privaten Schlüssels: %s / %s."
#: ../libnm-util/crypto_gnutls.c:200
#: ../libnm-util/crypto_gnutls.c:210 ../libnm-util/crypto_nss.c:267
#, c-format
msgid "Failed to decrypt the private key: unexpected padding length."
msgstr ""
"Fehler beim Entschlüsseln des privaten Schlüssels: Unerwartete Fülllänge."
#: ../libnm-util/crypto_gnutls.c:221 ../libnm-util/crypto_nss.c:278
#, c-format
msgid "Failed to decrypt the private key."
msgstr "Fehler beim Entschlüsseln des privaten Schlüssels."
#: ../libnm-util/crypto_gnutls.c:235
#: ../libnm-util/crypto_gnutls.c:286 ../libnm-util/crypto_nss.c:356
#, c-format
msgid "Error initializing certificate data: %s"
msgstr "Fehler beim Initialisieren des Zertifikates: %s"
#: ../libnm-util/crypto_gnutls.c:257
#, c-format
msgid "Couldn't decode certificate: %s"
msgstr "Konnte Zertifikat nicht dekodieren: %s"
#: ../libnm-util/crypto_gnutls.c:281
#, c-format
msgid "Couldn't initialize PKCS#12 decoder: %s"
msgstr "Konnte PKCS#12 Decoder nicht initialisieren: %s"
msgid "Could not allocate memory for encrypting."
msgstr "Es konnte kein Arbeitsspeicher zur Verschlüsselung angefordert werden."
#: ../libnm-util/crypto_gnutls.c:294
#, c-format
msgid "Couldn't decode PKCS#12 file: %s"
msgstr "Konnte PKCS#12 nicht decodieren: %s"
msgid "Failed to initialize the encryption cipher context: %s / %s."
msgstr "Fehler beim Initialisieren des Verschlüsselungs-Kontextes: %s / %s."
#: ../libnm-util/crypto_gnutls.c:306
#: ../libnm-util/crypto_gnutls.c:303
#, c-format
msgid "Failed to set symmetric key for encryption: %s / %s."
msgstr ""
"Fehler beim Festlegen des symmetrischen Schlüssels für die Verschlüsselung: %"
"s / %s."
#: ../libnm-util/crypto_gnutls.c:313
#, c-format
msgid "Failed to set IV for encryption: %s / %s."
msgstr "Fehler beim Festlegen des IV für die Verschlüsselung: %s / %s."
#: ../libnm-util/crypto_gnutls.c:322
#, c-format
msgid "Failed to encrypt the data: %s / %s."
msgstr "Fehler beim Verschlüsseln der Daten: %s / %s."
#: ../libnm-util/crypto_gnutls.c:362
#, c-format
msgid "Error initializing certificate data: %s"
msgstr "Fehler beim Initialisieren des Zertifikats: %s"
#: ../libnm-util/crypto_gnutls.c:384
#, c-format
msgid "Couldn't decode certificate: %s"
msgstr "Zertifikat konnte nicht dekodiert werden: %s"
#: ../libnm-util/crypto_gnutls.c:408
#, c-format
msgid "Couldn't initialize PKCS#12 decoder: %s"
msgstr "PKCS#12-Decoder konnte nicht initialisiert werden: %s"
#: ../libnm-util/crypto_gnutls.c:421
#, c-format
msgid "Couldn't decode PKCS#12 file: %s"
msgstr "PKCS#12 konnte nicht decodiert werden: %s"
#: ../libnm-util/crypto_gnutls.c:433
#, c-format
msgid "Couldn't verify PKCS#12 file: %s"
msgstr "Konnte PKCS#12 Datei nicht überprüfen: %s"
msgstr "PKCS#12-Datei konnte nicht überprüft werden: %s"
#: ../libnm-util/crypto_nss.c:57
#, c-format
msgid "Failed to initialize the crypto engine: %d."
msgstr "Fehler beim Erstellen der Verschlüsselung: %d."
msgstr "Fehler beim Initialisieren der Verschlüsselung: %d."
#: ../libnm-util/crypto_nss.c:111
#, c-format
msgid "Failed to initialize the MD5 context: %d."
msgstr "Fehler beim Erstellen des MD5-Kontextes: %d."
msgstr "Fehler beim Initialisieren des MD5-Kontextes: %d."
#: ../libnm-util/crypto_nss.c:186
#: ../libnm-util/crypto_nss.c:179
#, c-format
msgid "Failed to initialize the decryption cipher slot."
msgstr "Fehler beim Erstellen des Verschlüsselungs-Slots."
msgid "Invalid IV length (must be at least %d)."
msgstr "Ungültige Länge des IV (muss zumindest %d sein)."
#: ../libnm-util/crypto_nss.c:196
#, c-format
msgid "Failed to set symmetric key for decryption."
msgstr ""
"Fehler beim Setzen des symmetrischen Schlüssels für die Entschlüsselung."
msgid "Failed to initialize the decryption cipher slot."
msgstr "Fehler beim Einrichten des Verschlüsselungs-Slots."
#: ../libnm-util/crypto_nss.c:206
#, c-format
msgid "Failed to set IV for decryption."
msgstr "Fehler beim Setzten des IV für die Entschlüsselung."
msgid "Failed to set symmetric key for decryption."
msgstr ""
"Fehler beim Festlegen des symmetrischen Schlüssels für die Entschlüsselung."
#: ../libnm-util/crypto_nss.c:214
#: ../libnm-util/crypto_nss.c:216
#, c-format
msgid "Failed to set IV for decryption."
msgstr "Fehler beim Festlegen des IV für die Entschlüsselung."
#: ../libnm-util/crypto_nss.c:224
#, c-format
msgid "Failed to initialize the decryption context."
msgstr "Fehler beim Erstellen des Entschlüsselungs-Kontextes."
msgstr "Fehler beim Einrichten des Entschlüsselungs-Kontextes."
#: ../libnm-util/crypto_nss.c:227
#: ../libnm-util/crypto_nss.c:237
#, c-format
msgid "Failed to decrypt the private key: %d."
msgstr "Fehler beim Entschlüsseln des privaten Schlüssels: %d."
#: ../libnm-util/crypto_nss.c:239
#: ../libnm-util/crypto_nss.c:245
#, c-format
msgid "Failed to decrypt the private key: decrypted data too large."
msgstr ""
"Fehler beim Entschlüsseln des privaten Schlüssels: Die entschlüsselten Daten "
"sind zu groß."
#: ../libnm-util/crypto_nss.c:256
#, c-format
msgid "Failed to finalize decryption of the private key: %d."
msgstr ""
"Fehler beim Abschließen der Entschlüsselung des privaten Schlüssels: %d."
#: ../libnm-util/crypto_nss.c:284
#: ../libnm-util/crypto_nss.c:364
#, c-format
msgid "Failed to initialize the encryption cipher slot."
msgstr "Fehler beim Einrichten des Verschlüsselungs-Slots."
#: ../libnm-util/crypto_nss.c:372
#, c-format
msgid "Failed to set symmetric key for encryption."
msgstr ""
"Fehler beim Festlegen des symmetrischen Schlüssels für die Verschlüsselung."
#: ../libnm-util/crypto_nss.c:380
#, c-format
msgid "Failed to set IV for encryption."
msgstr "Fehler beim Festlegen des IV für die Verschlüsselung."
#: ../libnm-util/crypto_nss.c:388
#, c-format
msgid "Failed to initialize the encryption context."
msgstr "Fehler beim Initialisieren des Verschlüsselungs-Kontextes."
#: ../libnm-util/crypto_nss.c:396
#, c-format
msgid "Failed to encrypt: %d."
msgstr "Fehler beim Verschlüsseln: %d."
#: ../libnm-util/crypto_nss.c:404
#, c-format
msgid "Unexpected amount of data after encrypting."
msgstr "Unerwartete Datenmenge nach der Verschlüsselung."
#: ../libnm-util/crypto_nss.c:447
#, c-format
msgid "Couldn't decode certificate: %d"
msgstr "Konnte Zertifikate nicht dekodieren: %d"
msgstr "Zertifikat konnte nicht dekodiert werden: %d"
#: ../libnm-util/crypto_nss.c:319
#: ../libnm-util/crypto_nss.c:482
#, c-format
msgid "Couldn't convert password to UCS2: %d"
msgstr "Konnte Passwort nicht zu UCS2 konvertieren: %d"
msgstr "Passwort konnte nicht zu UCS2 konvertiert werden: %d"
#: ../libnm-util/crypto_nss.c:347
#: ../libnm-util/crypto_nss.c:510
#, c-format
msgid "Couldn't initialize PKCS#12 decoder: %d"
msgstr "Konnte PKCS#12 Decoder nicht initialisieren: %d"
msgstr "PKCS#12-Decoder konnte nicht initialisiert werden: %d"
#: ../libnm-util/crypto_nss.c:356
#: ../libnm-util/crypto_nss.c:519
#, c-format
msgid "Couldn't decode PKCS#12 file: %d"
msgstr "Konnte PKCS#12 Datei nicht decodieren: %d"
msgstr "PKCS#12-Datei konnte nicht decodiert werden: %d"
#: ../libnm-util/crypto_nss.c:365
#: ../libnm-util/crypto_nss.c:528
#, c-format
msgid "Couldn't verify PKCS#12 file: %d"
msgstr "Konnte PKCS#12 Datei nicht überprüfen: %d"
msgstr "PKCS#12-Datei konnte nicht überprüft werden: %d"
#: ../libnm-util/crypto_nss.c:557
msgid "Could not generate random data."
msgstr "Zufällige Daten konnten nicht erstellt werden."
#: ../libnm-util/nm-utils.c:1522
#, c-format
msgid "Not enough memory to make encryption key."
msgstr "Nicht genug Speicher zum Erstellen eines Schlüssels."
#: ../libnm-util/nm-utils.c:1633
msgid "Could not allocate memory for PEM file creation."
msgstr ""
"Es konnte kein Speicher zum Erstellen der PEM-Datei angefordert werden."
#: ../libnm-util/nm-utils.c:1645
#, c-format
msgid "Could not allocate memory for writing IV to PEM file."
msgstr ""
"Es konnte kein Speicher zum Schreiben des IV in die PEM-Datei angefordert "
"werden."
#: ../libnm-util/nm-utils.c:1657
#, c-format
msgid "Could not allocate memory for writing encrypted key to PEM file."
msgstr ""
"Es konnte kein Speicher zum Schreiben des IV in die PEM-Datei angefordert "
"werden."
#: ../libnm-util/nm-utils.c:1676
#, c-format
msgid "Could not allocate memory for PEM file data."
msgstr ""
"Es konnte kein Speicher für die Daten der PEM-Datei angefordert werden."
#: ../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 "Fehler beim Verarbeiten der netlink-Nachricht: %s"
#: ../src/nm-netlink-monitor.c:260
#, c-format
msgid "unable to allocate netlink handle for monitoring link status: %s"
msgstr ""
"Es kann kein netlink-Handle zur Überwachung der Netzwerkverbindung "
"angefordert werden: %s"
#: ../src/nm-netlink-monitor.c:270
#, c-format
msgid "unable to connect to netlink for monitoring link status: %s"
msgstr ""
"Es kann nicht mit netlink zur Überwachung der Netzwerkverbindung verbunden "
"werden: %s"
#: ../src/nm-netlink-monitor.c:278
#, c-format
msgid "unable to join netlink group for monitoring link status: %s"
msgstr ""
"Es kann nicht mit einer netlink-Gruppe zur Überwachung der "
"Netzwerkverbindung verbunden werden: %s"
#: ../src/nm-netlink-monitor.c:286
#, c-format
msgid "unable to allocate netlink link cache for monitoring link status: %s"
msgstr ""
"Es kann kein netlink-Cache zur Überwachung der Netzwerkverbindung belegt "
"werden: %s"
#: ../src/nm-netlink-monitor.c:494
#: ../src/ip6-manager/nm-netlink-listener.c:382
msgid "error occurred while waiting for data on socket"
msgstr "Während des Wartens auf Daten am Socket ist ein Fehler aufgetreten"
#: ../src/nm-netlink-monitor.c:558
#, c-format
msgid "error updating link cache: %s"
msgstr "Fehler beim Aktualisieren des Verbindungs-Cache: %s"
#: ../src/NetworkManager.c:330
#, c-format
msgid "Invalid option. Please use --help to see a list of valid options.\n"
msgstr ""
"Ungültige Option. Verwenden Sie Bitte »--help«, um eine Liste der gültigen "
"Optionen zu erhalten.\n"
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304
msgid "# Created by NetworkManager\n"
msgstr "# Erstellt von NetworkManager\n"
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310
#, c-format
msgid ""
"# Merged from %s\n"
"\n"
msgstr ""
"# Zusammengefügt aus %s\n"
"\n"
#: ../src/ip6-manager/nm-netlink-listener.c:200
#, c-format
msgid "unable to allocate netlink handle: %s"
msgstr "Es Kann kein netlink-Handle angefordert werden: %s"
#: ../src/ip6-manager/nm-netlink-listener.c:210
#, c-format
msgid "unable to connect to netlink: %s"
msgstr "Es kann nicht mit netlink verbunden werden: %s"
#: ../src/ip6-manager/nm-netlink-listener.c:307
#, c-format
msgid "unable to join netlink group: %s"
msgstr "Der netlink-Gruppe kann nicht beigetreten werden: %s"
#: ../src/named-manager/nm-named-manager.c:315
msgid "NOTE: the libc resolver may not support more than 3 nameservers."
msgstr ""
"HINWEIS: Der libc-Auflöser unterstützt eventuell nicht mehr als 3 Server zur "
"Namensauflösung."
#: ../src/named-manager/nm-named-manager.c:317
msgid "The nameservers listed below may not be recognized."
msgstr ""
"Die nachfolgend aufgelisteten Server zur Namensauflösung werden eventuell "
"nicht erkannt."
#: ../src/system-settings/nm-default-wired-connection.c:157
#, c-format
msgid "Auto %s"
msgstr "Auto %s"
#: ../system-settings/plugins/ifcfg-rh/reader.c:2406
msgid "System"
msgstr "System"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
msgid "Connection sharing via a protected WiFi network"
msgstr "Verbindungsfreigabe über ein geschütztes WiFi-Netzwerk"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
msgid "Connection sharing via an open WiFi network"
msgstr "Verbindungsfreigabe über ein offenes WiFi-Netzwerk"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:3
msgid "Modify persistent system hostname"
msgstr "Den ständigen Rechnernamen des Systems bearbeiten"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:4
msgid "Modify system connections"
msgstr "System-Verbindungen bearbeiten"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:5
msgid "System policy prevents modification of system settings"
msgstr ""
"Die Systemrichtlinien verhindern das Bearbeiten von Systemeinstellungen"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6
msgid "System policy prevents modification of the persistent system hostname"
msgstr ""
"Die Systemrichtlinien verhindern das Bearbeiten des ständigen Rechnernamens "
"des Systems"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:7
msgid "System policy prevents sharing connections via a protected WiFi network"
msgstr ""
"Die Systemrichtlinien verhindern Verbindungsfreigaben über ein geschütztes "
"WiFi-Netzwerk"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:8
msgid "System policy prevents sharing connections via an open WiFi network"
msgstr ""
"Die Systemrichtlinien verhindern Verbindungsfreigaben über ein offenes WiFi-"
"Netzwerk"
#~ msgid "operation took too long"
#~ msgstr "Vorgang dauerte zu lange"

614
po/hu.po
View file

@ -1,76 +1,418 @@
# Hungarian translation of NetworkManager
# Gabor Kelemen <kelemeng@gnome.hu>, 2005, 2006, 2007, 2008.
# This file is distributed under the same license as the NetworkManager package.
# Copyright (C) 2005, Free Software Foundation. Inc.
#
# Gabor Kelemen <kelemeng at gnome dot hu>, 2005, 2006, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: NetworkManager.HEAD.hu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-09-05 18:57+0000\n"
"PO-Revision-Date: 2008-09-25 21:33+0200\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <gnome@fsf.hu>\n"
"Project-Id-Version: NetworkManager master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
"POT-Creation-Date: 2009-09-29 03:25+0000\n"
"PO-Revision-Date: 2010-01-03 14:57+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng at gnome dot hu>\n"
"Language-Team: Hungarian <gnome at fsf dot hu>\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: KBabel 1.11.4\n"
#: ../src/nm-netlink-monitor.c:193 ../src/nm-netlink-monitor.c:474
#: ../libnm-util/crypto.c:120
#, c-format
msgid "PEM key file had no end tag '%s'."
msgstr "A PEM kulcsfájl nem rendelkezik „%s” zárócímkével."
#: ../libnm-util/crypto.c:130
#, c-format
msgid "Doesn't look like a PEM private key file."
msgstr "Nem tűnik PEM személyes kulcs fájlnak."
#: ../libnm-util/crypto.c:138
#, c-format
msgid "Not enough memory to store PEM file data."
msgstr "Nincs elég memória a PEM fájl adatainak tárolásához."
#: ../libnm-util/crypto.c:154
#, c-format
msgid "Malformed PEM file: Proc-Type was not first tag."
msgstr "Rosszul formázott PEM fájl: a Proc-Type nem az első címke."
#: ../libnm-util/crypto.c:162
#, c-format
msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
msgstr "Rosszul formázott PEM fájl: ismeretlen Proc-Type címke („%s”)."
#: ../libnm-util/crypto.c:172
#, c-format
msgid "Malformed PEM file: DEK-Info was not the second tag."
msgstr "Rosszul formázott PEM fájl: A DEK-Info nem a második címke."
#: ../libnm-util/crypto.c:183
#, c-format
msgid "Malformed PEM file: no IV found in DEK-Info tag."
msgstr "Rosszul formázott PEM fájl: nem található IV a DEK-Info címkében."
#: ../libnm-util/crypto.c:190
#, c-format
msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
msgstr "Rosszul formázott PEM fájl: az IV formátuma érvénytelen a DEK-Info címkében."
#: ../libnm-util/crypto.c:203
#, c-format
msgid "Malformed PEM file: unknown private key cipher '%s'."
msgstr "Rosszul formázott PEM fájl: ismeretlen személyes kulcs titkosító: „%s”."
#: ../libnm-util/crypto.c:222
#, c-format
msgid "Could not decode private key."
msgstr "A személyes kulcs nem fejthető vissza."
#: ../libnm-util/crypto.c:267
#, c-format
msgid "PEM certificate '%s' had no end tag '%s'."
msgstr "A(z) „%s” PEM tanúsítvány nem tartalmaz záró „%s” címkét."
#: ../libnm-util/crypto.c:277
#, c-format
msgid "Failed to decode certificate."
msgstr "A tanúsítvány visszafejtése meghiúsult."
#: ../libnm-util/crypto.c:286
#, c-format
msgid "Not enough memory to store certificate data."
msgstr "Nincs elég memória a tanúsítvány adatainak tárolásához."
#: ../libnm-util/crypto.c:294
#, c-format
msgid "Not enough memory to store file data."
msgstr "Nincs elég memória a fájl adatainak tárolásához."
#: ../libnm-util/crypto.c:324
#, c-format
msgid "IV must be an even number of bytes in length."
msgstr "Az IV hosszának páros számú bájtnak kell lennie."
#: ../libnm-util/crypto.c:333
#, c-format
msgid "Not enough memory to store the IV."
msgstr "Nincs elég memória az IV tárolásához."
#: ../libnm-util/crypto.c:344
#, c-format
msgid "IV contains non-hexadecimal digits."
msgstr "Az IV nem hexadecimális számjegyeket tartalmaz."
#: ../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 "A(z) „%s” személyeskulcs-titkosító ismeretlen."
#: ../libnm-util/crypto.c:391
#, c-format
msgid "Not enough memory to decrypt private key."
msgstr "Nincs elég memória a személyes kulcs visszafejtéséhez."
#: ../libnm-util/crypto.c:511
#, c-format
msgid "Unable to determine private key type."
msgstr "A személyes kulcs típusa nem határozható meg."
#: ../libnm-util/crypto.c:530
#, c-format
msgid "Not enough memory to store decrypted private key."
msgstr "Nincs elég memória a visszafejtett személyes kulcs tárolásához."
#: ../libnm-util/crypto_gnutls.c:49
msgid "Failed to initialize the crypto engine."
msgstr "A titkosító alrendszer előkészítése meghiúsult."
#: ../libnm-util/crypto_gnutls.c:93
#, c-format
msgid "Failed to initialize the MD5 engine: %s / %s."
msgstr "Az MD5 alrendszer előkészítése meghiúsult: %s / %s."
#: ../libnm-util/crypto_gnutls.c:156
#, c-format
msgid "Invalid IV length (must be at least %zd)."
msgstr "Érvénytelen IV hossz (legalább %zd hosszúnak kell lennie)."
#: ../libnm-util/crypto_gnutls.c:165 ../libnm-util/crypto_nss.c:188
#, c-format
msgid "Not enough memory for decrypted key buffer."
msgstr "Nincs elég memória a visszafejtett kulcspufferhez."
#: ../libnm-util/crypto_gnutls.c:173
#, c-format
msgid "Failed to initialize the decryption cipher context: %s / %s."
msgstr "A visszafejtési titkosító kontextusának előkészítése meghiúsult: %s /%s."
#: ../libnm-util/crypto_gnutls.c:182
#, c-format
msgid "Failed to set symmetric key for decryption: %s / %s."
msgstr "A szimmetrikus kulcs beállítása meghiúsult a visszafejtéshez: %s / %s."
#: ../libnm-util/crypto_gnutls.c:191
#, c-format
msgid "Failed to set IV for decryption: %s / %s."
msgstr "Az IV beállítása meghiúsult a visszafejtéshez: %s / %s."
#: ../libnm-util/crypto_gnutls.c:200
#, c-format
msgid "Failed to decrypt the private key: %s / %s."
msgstr "A személyes kulcs visszafejtése meghiúsult: %s / %s."
#: ../libnm-util/crypto_gnutls.c:210 ../libnm-util/crypto_nss.c:266
#, c-format
msgid "Failed to decrypt the private key: unexpected padding length."
msgstr "A személyes kulcs visszafejtése meghiúsult: váratlan kitöltéshossz."
#: ../libnm-util/crypto_gnutls.c:221 ../libnm-util/crypto_nss.c:277
#, c-format
msgid "Failed to decrypt the private key."
msgstr "A személyes kulcs visszafejtése meghiúsult."
#: ../libnm-util/crypto_gnutls.c:286 ../libnm-util/crypto_nss.c:355
#, c-format
msgid "Could not allocate memory for encrypting."
msgstr "Nem sikerült memóriát foglalni a titkosításhoz."
#: ../libnm-util/crypto_gnutls.c:294
#, c-format
msgid "Failed to initialize the encryption cipher context: %s / %s."
msgstr "A titkosító kontextusának előkészítése meghiúsult: %s / %s."
#: ../libnm-util/crypto_gnutls.c:303
#, c-format
msgid "Failed to set symmetric key for encryption: %s / %s."
msgstr "A szimmetrikus kulcs beállítása meghiúsult a titkosításhoz: %s / %s."
#: ../libnm-util/crypto_gnutls.c:313
#, c-format
msgid "Failed to set IV for encryption: %s / %s."
msgstr "Az IV beállítása meghiúsult a titkosításhoz: %s / %s."
#: ../libnm-util/crypto_gnutls.c:322
#, c-format
msgid "Failed to encrypt the data: %s / %s."
msgstr "Az adatot nem sikerült titkosítani: %s / %s."
#: ../libnm-util/crypto_gnutls.c:362
#, c-format
msgid "Error initializing certificate data: %s"
msgstr "Hiba a tanúsítvány adatainak előkészítésekor: %s"
#: ../libnm-util/crypto_gnutls.c:384
#, c-format
msgid "Couldn't decode certificate: %s"
msgstr "A tanúsítvány nem fejthető vissza: %s"
#: ../libnm-util/crypto_gnutls.c:408
#, c-format
msgid "Couldn't initialize PKCS#12 decoder: %s"
msgstr "A PKCS#12 dekódoló nem készíthető elő: %s"
#: ../libnm-util/crypto_gnutls.c:421
#, c-format
msgid "Couldn't decode PKCS#12 file: %s"
msgstr "A PKCS#12 fájl nem fejthető vissza: %s"
#: ../libnm-util/crypto_gnutls.c:433
#, c-format
msgid "Couldn't verify PKCS#12 file: %s"
msgstr "A PKCS#12 fájl nem ellenőrizhető: %s"
#: ../libnm-util/crypto_nss.c:57
#, c-format
msgid "Failed to initialize the crypto engine: %d."
msgstr "A titkosító alrendszer előkészítése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:111
#, c-format
msgid "Failed to initialize the MD5 context: %d."
msgstr "Az MD5 kontextus előkészítése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:179
#, c-format
msgid "Invalid IV length (must be at least %d)."
msgstr "Érvénytelen IV hossz (legalább %d hosszúnak kell lennie)."
#: ../libnm-util/crypto_nss.c:196
#, c-format
msgid "Failed to initialize the decryption cipher slot."
msgstr "A visszafejtési titkosítóhely előkészítése meghiúsult."
#: ../libnm-util/crypto_nss.c:206
#, c-format
msgid "Failed to set symmetric key for decryption."
msgstr "A szimmetrikus kulcs nem állítható be a visszafejtéshez."
#: ../libnm-util/crypto_nss.c:216
#, c-format
msgid "Failed to set IV for decryption."
msgstr "Az IV nem állítható be a visszafejtéshez."
#: ../libnm-util/crypto_nss.c:224
#, c-format
msgid "Failed to initialize the decryption context."
msgstr "A visszafejtési kontextus előkészítése meghiúsult."
#: ../libnm-util/crypto_nss.c:237
#, c-format
msgid "Failed to decrypt the private key: %d."
msgstr "A személyes kulcs visszafejtése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:245
#, c-format
msgid "Failed to decrypt the private key: decrypted data too large."
msgstr "A személyes kulcs visszafejtése meghiúsult: a visszafejtett adatok túl nagyok."
#: ../libnm-util/crypto_nss.c:256
#, c-format
msgid "Failed to finalize decryption of the private key: %d."
msgstr "A személyes kulcs visszafejtésének befejezése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:363
#, c-format
msgid "Failed to initialize the encryption cipher slot."
msgstr "A titkosítóhely előkészítése meghiúsult."
#: ../libnm-util/crypto_nss.c:371
#, c-format
msgid "Failed to set symmetric key for encryption."
msgstr "A szimmetrikus kulcs nem állítható be a titkosításhoz."
#: ../libnm-util/crypto_nss.c:379
#, c-format
msgid "Failed to set IV for encryption."
msgstr "Az IV nem állítható be a titkosításhoz."
#: ../libnm-util/crypto_nss.c:387
#, c-format
msgid "Failed to initialize the encryption context."
msgstr "A titkosítási kontextus előkészítése meghiúsult."
#: ../libnm-util/crypto_nss.c:395
#, c-format
msgid "Failed to encrypt: %d."
msgstr "A titkosítás meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:403
#, c-format
msgid "Unexpected amount of data after encrypting."
msgstr "Váratlan mennyiségű adat a titkosítás után."
#: ../libnm-util/crypto_nss.c:446
#, c-format
msgid "Couldn't decode certificate: %d"
msgstr "A tanúsítvány nem fejthető vissza: %d"
#: ../libnm-util/crypto_nss.c:481
#, c-format
msgid "Couldn't convert password to UCS2: %d"
msgstr "A jelszó nem alakítható UCS2 formátumra: %d"
#: ../libnm-util/crypto_nss.c:509
#, c-format
msgid "Couldn't initialize PKCS#12 decoder: %d"
msgstr "A PKCS#12 dekódoló nem készíthető elő: %d"
#: ../libnm-util/crypto_nss.c:518
#, c-format
msgid "Couldn't decode PKCS#12 file: %d"
msgstr "A PKCS#12 fájl nem fejthető vissza: %d"
#: ../libnm-util/crypto_nss.c:527
#, c-format
msgid "Couldn't verify PKCS#12 file: %d"
msgstr "A PKCS#12 fájl nem ellenőrizhető: %d"
#: ../libnm-util/crypto_nss.c:556
msgid "Could not generate random data."
msgstr "Nem sikerült a véletlen adatok előállítása."
#: ../libnm-util/nm-utils.c:1522
#, c-format
msgid "Not enough memory to make encryption key."
msgstr "Nincs elég memória titkosítási kulcs készítéséhez."
#: ../libnm-util/nm-utils.c:1633
msgid "Could not allocate memory for PEM file creation."
msgstr "Nem sikerült memóriát foglalni PEM fájl készítéséhez."
#: ../libnm-util/nm-utils.c:1645
#, c-format
msgid "Could not allocate memory for writing IV to PEM file."
msgstr "Nem sikerült memóriát foglalni az IV írásához PEM fájlba."
#: ../libnm-util/nm-utils.c:1657
#, c-format
msgid "Could not allocate memory for writing encrypted key to PEM file."
msgstr "Nem sikerült memóriát foglalni a titkosított kulcs PEM fájlba írásához."
#: ../libnm-util/nm-utils.c:1676
#, c-format
msgid "Could not allocate memory for PEM file data."
msgstr "Nem sikerült memóriát foglalni a PEM fájl adatainak."
#: ../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 "hiba a netlink üzenet feldolgozásakor: %s"
#: ../src/nm-netlink-monitor.c:250
#: ../src/nm-netlink-monitor.c:260
#, c-format
msgid "unable to allocate netlink handle for monitoring link status: %s"
msgstr ""
"nem lehet netlink kezelőt lefoglalni a kapcsolat állapotának megfigyelése "
"érdekében: %s"
#: ../src/nm-netlink-monitor.c:260
#: ../src/nm-netlink-monitor.c:270
#, c-format
msgid "unable to connect to netlink for monitoring link status: %s"
msgstr ""
"nem lehet kapcsolódni a netlinkhez a kapcsolat állapotának megfigyelése "
"érdekében: %s"
#: ../src/nm-netlink-monitor.c:268
#: ../src/nm-netlink-monitor.c:278
#, c-format
msgid "unable to join netlink group for monitoring link status: %s"
msgstr ""
"nem lehet csatlakozni a netlink csoporthoz a kapcsolat állapotának "
"megfigyelése érdekében: %s"
#: ../src/nm-netlink-monitor.c:276
#: ../src/nm-netlink-monitor.c:286
#, c-format
msgid "unable to allocate netlink link cache for monitoring link status: %s"
msgstr ""
"nem lehet netlink kapcsolat-gyorsítótárat lefoglalni a kapcsolat állapotának "
"megfigyelése érdekében: %s"
#: ../src/nm-netlink-monitor.c:439
#: ../src/nm-netlink-monitor.c:494
#: ../src/ip6-manager/nm-netlink-listener.c:382
msgid "error occurred while waiting for data on socket"
msgstr "hiba lépett fel adatokra várakozás közben a foglalaton"
#: ../src/nm-netlink-monitor.c:558
#, c-format
msgid "error updating link cache: %s"
msgstr "hiba a kapcsolat gyorsítótárának frissítésekor: %s"
#: ../src/nm-netlink-monitor.c:497
#, c-format
msgid "error occurred while waiting for data on socket"
msgstr "hiba lépett fel adatokra várakozás közben a foglalaton"
#: ../src/NetworkManager.c:250
#: ../src/NetworkManager.c:330
#, c-format
msgid "Invalid option. Please use --help to see a list of valid options.\n"
msgstr ""
"Érvénytelen kapcsoló. Az érvényes kapcsolók listájáért használja a --help "
"kapcsolót.\n"
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:87
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304
msgid "# Created by NetworkManager\n"
msgstr "# Készítette a NetworkManager\n"
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:93
#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310
#, c-format
msgid ""
"# Merged from %s\n"
@ -79,201 +421,73 @@ msgstr ""
"# Összefésülve ebből: %s\n"
"\n"
#: ../src/named-manager/nm-named-manager.c:240
#: ../src/ip6-manager/nm-netlink-listener.c:200
#, c-format
msgid "unable to allocate netlink handle: %s"
msgstr "nem lehet netlink kezelőt lefoglalni: %s"
#: ../src/ip6-manager/nm-netlink-listener.c:210
#, c-format
msgid "unable to connect to netlink: %s"
msgstr "nem lehet kapcsolódni a netlinkhez: %s"
#: ../src/ip6-manager/nm-netlink-listener.c:307
#, c-format
msgid "unable to join netlink group: %s"
msgstr "nem lehet csatlakozni a netlink csoporthoz: %s"
#: ../src/named-manager/nm-named-manager.c:315
msgid "NOTE: the libc resolver may not support more than 3 nameservers."
msgstr "MEGJEGYZÉS: a libc feloldó nem támogat háromnál több névkiszolgálót."
#: ../src/named-manager/nm-named-manager.c:242
#: ../src/named-manager/nm-named-manager.c:317
msgid "The nameservers listed below may not be recognized."
msgstr "Az alább felsorolt névkiszolgálók lehet, hogy nem kerülnek felismerésre."
#: ../system-settings/src/main.c:366
#: ../src/system-settings/nm-default-wired-connection.c:194
#, c-format
msgid "Auto %s"
msgstr "Automatikus %s"
#: ../libnm-util/crypto.c:125
#, c-format
msgid "PEM key file had no end tag '%s'."
msgstr "A PEM kulcsfájl nem rendelkezik „%s” zárócímkével."
#: ../system-settings/plugins/ifcfg-rh/reader.c:2406
msgid "System"
msgstr "Rendszer"
#: ../libnm-util/crypto.c:135
#, c-format
msgid "Doesn't look like a PEM private key file."
msgstr "Nem tűnik PEM személyes kulcs fájlnak."
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
msgid "Connection sharing via a protected WiFi network"
msgstr "Kapcsolatmegosztás védett WiFi hálózaton"
#: ../libnm-util/crypto.c:143
#, c-format
msgid "Not enough memory to store PEM file data."
msgstr "Nincs elég memória a PEM fájl adatainak tárolásához."
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
msgid "Connection sharing via an open WiFi network"
msgstr "Kapcsolatmegosztás nyílt WiFi hálózaton"
#: ../libnm-util/crypto.c:159
#, c-format
msgid "Malformed PEM file: Proc-Type was not first tag."
msgstr "Rosszul formázott PEM fájl: a Proc-Type nem az első címke."
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:3
msgid "Modify persistent system hostname"
msgstr "Állandó rendszergépnév módosítása"
#: ../libnm-util/crypto.c:167
#, c-format
msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
msgstr "Rosszul formázott PEM fájl: ismeretlen Proc-Type címke („%s”)."
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:4
msgid "Modify system connections"
msgstr "Rendszerkapcsolatok módosítása"
#: ../libnm-util/crypto.c:177
#, c-format
msgid "Malformed PEM file: DEK-Info was not the second tag."
msgstr "Rosszul formázott PEM fájl: A DEK-Info nem a második címke."
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:5
msgid "System policy prevents modification of system settings"
msgstr "A rendszer házirendje megakadályozza a rendszerbeállítások módosítását"
#: ../libnm-util/crypto.c:188
#, c-format
msgid "Malformed PEM file: no IV found in DEK-Info tag."
msgstr "Rosszul formázott PEM fájl: nem található IV a DEK-Info címkében."
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6
msgid "System policy prevents modification of the persistent system hostname"
msgstr ""
"A rendszer házirendje megakadályozza a rendszer állandó gépnevének "
"módosítását"
#: ../libnm-util/crypto.c:195
#, c-format
msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
msgstr "Rosszul formázott PEM fájl: az IV formátuma érvénytelen a DEK-Info címkében."
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:7
msgid "System policy prevents sharing connections via a protected WiFi network"
msgstr ""
"A rendszer házirendje megakadályozza a kapcsolatok megosztását védett WiFi "
"hálózaton"
#: ../libnm-util/crypto.c:208
#, c-format
msgid "Malformed PEM file: unknown private key cipher '%s'."
msgstr "Rosszul formázott PEM fájl: ismeretlen személyes kulcs titkosító: „%s”."
#: ../libnm-util/crypto.c:227
#, c-format
msgid "Could not decode private key."
msgstr "A személyes kulcs nem fejthető vissza."
#: ../libnm-util/crypto.c:271
#, c-format
msgid "PEM certificate '%s' had no end tag '%s'."
msgstr "A(z) „%s” PEM tanúsítvány nem tartalmaz záró „%s” címkét."
#: ../libnm-util/crypto.c:281
#, c-format
msgid "Failed to decode certificate."
msgstr "A tanúsítvány visszafejtése meghiúsult."
#: ../libnm-util/crypto.c:290 ../libnm-util/crypto.c:298
#, c-format
msgid "Not enough memory to store certificate data."
msgstr "Nincs elég memória a tanúsítvány adatainak tárolásához."
#: ../libnm-util/crypto.c:328
#, c-format
msgid "IV must be an even number of bytes in length."
msgstr "Az IV hosszának páros számú bájtnak kell lennie."
#: ../libnm-util/crypto.c:337
#, c-format
msgid "Not enough memory to store the IV."
msgstr "Nincs elég memória az IV tárolásához."
#: ../libnm-util/crypto.c:348
#, c-format
msgid "IV contains non-hexadecimal digits."
msgstr "Az IV nem hexadecimális számjegyeket tartalmaz."
#: ../libnm-util/crypto.c:386 ../libnm-util/crypto_gnutls.c:142
#: ../libnm-util/crypto_nss.c:155
#, c-format
msgid "Private key cipher '%s' was unknown."
msgstr "A(z) „%s” személyeskulcs-titkosító ismeretlen."
#: ../libnm-util/crypto.c:395
#, c-format
msgid "Not enough memory to create private key decryption key."
msgstr "Nincs elég memória a személyes kulcs visszafejtési kulcsának létrehozásához."
#: ../libnm-util/crypto.c:513
#, c-format
msgid "Not enough memory to store decrypted private key."
msgstr "Nincs elég memória a visszafejtett személyes kulcs tárolásához."
#: ../libnm-util/crypto_gnutls.c:43
msgid "Failed to initialize the crypto engine."
msgstr "A titkosító alrendszer előkészítése meghiúsult."
#: ../libnm-util/crypto_gnutls.c:88
#, c-format
msgid "Failed to initialize the MD5 engine: %s / %s."
msgstr "Az MD5 alrendszer előkészítése meghiúsult: %s / %s."
#: ../libnm-util/crypto_gnutls.c:151 ../libnm-util/crypto_nss.c:164
#, c-format
msgid "Not enough memory for decrypted key buffer."
msgstr "Nincs elég memória a visszafejtett kulcspufferhez."
#: ../libnm-util/crypto_gnutls.c:159
#, c-format
msgid "Failed to initialize the decryption cipher context: %s / %s."
msgstr "A visszafejtési titkosító kontextusának előkészítése meghiúsult: %s /%s."
#: ../libnm-util/crypto_gnutls.c:168
#, c-format
msgid "Failed to set symmetric key for decryption: %s / %s."
msgstr "A szimmetrikus kulcs beállítása meghiúsult a visszafejtéshez: %s / %s."
#: ../libnm-util/crypto_gnutls.c:177
#, c-format
msgid "Failed to set IV for decryption: %s / %s."
msgstr "Az IV beállítása meghiúsult a visszafejtéshez: %s / %s."
#: ../libnm-util/crypto_gnutls.c:186
#, c-format
msgid "Failed to decrypt the private key: %s / %s."
msgstr "A személyes kulcs visszafejtése meghiúsult: %s / %s."
#: ../libnm-util/crypto_gnutls.c:224
#, c-format
msgid "Error initializing certificate data: %s"
msgstr "Hiba a tanúsítvány adatainak előkészítésekor: %s"
#: ../libnm-util/crypto_gnutls.c:236
#, c-format
msgid "Couldn't decode certificate: %s"
msgstr "A tanúsítvány nem fejthető vissza: %s"
#: ../libnm-util/crypto_nss.c:49
#, c-format
msgid "Failed to initialize the crypto engine: %d."
msgstr "A titkosító alrendszer előkészítése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:96
#, c-format
msgid "Failed to initialize the MD5 context: %d."
msgstr "Az MD5 kontextus előkészítése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:172
#, c-format
msgid "Failed to initialize the decryption cipher slot."
msgstr "A visszafejtési titkosítóhely előkészítése meghiúsult."
#: ../libnm-util/crypto_nss.c:182
#, c-format
msgid "Failed to set symmetric key for decryption."
msgstr "A szimmetrikus kulcs nem állítható be a visszafejtéshez."
#: ../libnm-util/crypto_nss.c:192
#, c-format
msgid "Failed to set IV for decryption."
msgstr "Az IV nem állítható be a visszafejtéshez."
#: ../libnm-util/crypto_nss.c:200
#, c-format
msgid "Failed to initialize the decryption context."
msgstr "A visszafejtési kontextus előkészítése meghiúsult."
#: ../libnm-util/crypto_nss.c:213
#, c-format
msgid "Failed to decrypt the private key: %d."
msgstr "A személyes kulcs visszafejtése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:225
#, c-format
msgid "Failed to finalize decryption of the private key: %d."
msgstr "A személyes kulcs visszafejtésének befejezése meghiúsult: %d."
#: ../libnm-util/crypto_nss.c:269
#, c-format
msgid "Couldn't decode certificate: %d"
msgstr "A tanúsítvány nem fejthető vissza: %d"
#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:8
msgid "System policy prevents sharing connections via an open WiFi network"
msgstr ""
"A rendszer házirendje megakadályozza a kapcsolatok megosztását nyílt WiFi "
"hálózaton"

1702
po/sl.po

File diff suppressed because it is too large Load diff

View file

@ -315,9 +315,9 @@ update_etc_hosts (const char *hostname)
/* Hmm, /etc/hosts was empty for some reason */
if (!added) {
g_string_append (new_contents, "# Do not remove the following line, or various programs");
g_string_append (new_contents, "# that require network functionality will fail.");
g_string_append (new_contents, "127.0.0.1\t" FALLBACK_HOSTNAME "\tlocalhost");
g_string_append (new_contents, "# Do not remove the following line, or various programs\n");
g_string_append (new_contents, "# that require network functionality will fail.\n");
g_string_append (new_contents, "127.0.0.1\t" FALLBACK_HOSTNAME "\tlocalhost\n");
}
error = NULL;

View file

@ -49,6 +49,10 @@ if TARGET_MANDRIVA
libnmbackend_la_SOURCES += NetworkManagerMandriva.c
endif
if TARGET_PARDUS
libnmbackend_la_SOURCES += NetworkManagerPardus.c
endif
libnmbackend_la_LIBADD += $(DBUS_LIBS) $(GLIB_LIBS)
libnmbackend_la_CPPFLAGS = \
$(DBUS_CFLAGS) \

View file

@ -0,0 +1,57 @@
/* NetworkManager -- Network link manager
*
* Ozan Caglayan <ozan@pardus.org.tr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* (C) Copyright 2004 RedHat, Inc.
* (C) Copyright 2009 TUBITAK/UEKAE
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "NetworkManagerGeneric.h"
#include "NetworkManagerSystem.h"
/*
* nm_system_enable_loopback
*
* Bring up the loopback interface
*
*/
void nm_system_enable_loopback (void)
{
nm_generic_enable_loopback ();
}
/*
* nm_system_update_dns
*
* Make glibc/nscd aware of any changes to the resolv.conf file by
* restarting nscd.
*
*/
void nm_system_update_dns (void)
{
/* I'm not running nscd */
}

View file

@ -682,7 +682,10 @@ get_property (GObject *object, guint prop_id,
g_value_take_string (value, nm_ether_ntop (&hw_addr));
break;
case PROP_COMPANION:
g_value_set_string (value, nm_device_get_path (priv->companion));
if (priv->companion)
g_value_set_boxed (value, nm_device_get_path (priv->companion));
else
g_value_set_boxed (value, "/");
break;
case PROP_ACTIVE_CHANNEL:
g_value_set_uint (value, nm_device_olpc_mesh_get_channel (device));
@ -749,13 +752,15 @@ nm_device_olpc_mesh_class_init (NMDeviceOlpcMeshClass *klass)
"Hardware MAC address",
NULL,
G_PARAM_READABLE));
g_object_class_install_property
(object_class, PROP_COMPANION,
g_param_spec_string (NM_DEVICE_OLPC_MESH_COMPANION,
"Companion device",
"Companion device object path",
NULL,
G_PARAM_READABLE));
g_param_spec_boxed (NM_DEVICE_OLPC_MESH_COMPANION,
"Companion device",
"Companion device object path",
DBUS_TYPE_G_OBJECT_PATH,
G_PARAM_READABLE));
g_object_class_install_property
(object_class, PROP_ACTIVE_CHANNEL,
g_param_spec_uint (NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL,
@ -801,7 +806,11 @@ companion_notify_cb (NMDeviceWifi *companion, GParamSpec *pspec, gpointer user_d
/* disconnect from mesh if someone starts using the companion */
static void
companion_state_changed_cb (NMDeviceWifi *companion, NMDeviceState state, NMDeviceState old_state, NMDeviceStateReason reason, gpointer user_data)
companion_state_changed_cb (NMDeviceWifi *companion,
NMDeviceState state,
NMDeviceState old_state,
NMDeviceStateReason reason,
gpointer user_data)
{
NMDeviceOlpcMesh *self = NM_DEVICE_OLPC_MESH (user_data);
NMDeviceState self_state = nm_device_get_state (NM_DEVICE (self));
@ -880,6 +889,8 @@ is_companion (NMDeviceOlpcMesh *self, NMDevice *other)
g_signal_connect (G_OBJECT (other), "autoconnect-allowed",
G_CALLBACK (companion_autoconnect_allowed_cb), self);
g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_COMPANION);
return TRUE;
}

View file

@ -560,6 +560,19 @@ nm_netlink_monitor_get_flags_sync (NMNetlinkMonitor *self,
return FALSE;
}
/* HACK: Apparently to get it working we have to refill the cache twice;
* otherwise some kernels (or maybe libnl?) only send a few of the
* interfaces in the refill request.
*/
if (nl_cache_refill (priv->nlh, priv->nlh_link_cache)) {
g_set_error (error,
NM_NETLINK_MONITOR_ERROR,
NM_NETLINK_MONITOR_ERROR_LINK_CACHE_UPDATE,
_("error updating link cache: %s"),
nl_geterror ());
return FALSE;
}
/* Set up the filter */
filter = rtnl_link_alloc ();
if (!filter) {

View file

@ -15,8 +15,8 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Copyright (C) 2008 Novell, Inc.
* Copyright (C) 2008 Red Hat, Inc.
* Copyright (C) 2008 - 2009 Novell, Inc.
* Copyright (C) 2008 - 2010 Red Hat, Inc.
*/
#include <errno.h>
@ -27,6 +27,7 @@
#include <dbus/dbus-glib.h>
#include <nm-setting.h>
#include <nm-setting-ip4-config.h>
#include <nm-setting-ip6-config.h>
#include <nm-setting-vpn.h>
#include <nm-setting-connection.h>
#include <nm-setting-wired.h>
@ -69,7 +70,7 @@ get_one_int (const char *str, guint32 max_val, const char *key_name, guint32 *ou
errno = 0;
tmp = strtol (str, NULL, 10);
if (errno || (tmp < 0) || (tmp > max_val)) {
g_warning ("%s: ignoring invalid IPv4 %s item '%s'", __func__, key_name, str);
g_warning ("%s: ignoring invalid IP %s item '%s'", __func__, key_name, str);
return FALSE;
}
@ -78,13 +79,13 @@ get_one_int (const char *str, guint32 max_val, const char *key_name, guint32 *ou
}
static void
free_one_address (gpointer data, gpointer user_data)
free_one_ip4_address (gpointer data, gpointer user_data)
{
g_array_free ((GArray *) data, TRUE);
}
static GPtrArray *
read_addresses (GKeyFile *file,
read_ip4_addresses (GKeyFile *file,
const char *setting_name,
const char *key)
{
@ -166,27 +167,27 @@ ip4_addr_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
GPtrArray *addresses;
const char *setting_name = nm_setting_get_name (setting);
addresses = read_addresses (keyfile, setting_name, key);
addresses = read_ip4_addresses (keyfile, setting_name, key);
/* Work around for previous syntax */
if (!addresses && !strcmp (key, NM_SETTING_IP4_CONFIG_ADDRESSES))
addresses = read_addresses (keyfile, setting_name, "address");
addresses = read_ip4_addresses (keyfile, setting_name, "address");
if (addresses) {
g_object_set (setting, key, addresses, NULL);
g_ptr_array_foreach (addresses, free_one_address, NULL);
g_ptr_array_foreach (addresses, free_one_ip4_address, NULL);
g_ptr_array_free (addresses, TRUE);
}
}
static void
free_one_route (gpointer data, gpointer user_data)
free_one_ip4_route (gpointer data, gpointer user_data)
{
g_array_free ((GArray *) data, TRUE);
}
static GPtrArray *
read_routes (GKeyFile *file,
read_ip4_routes (GKeyFile *file,
const char *setting_name,
const char *key)
{
@ -272,10 +273,10 @@ ip4_route_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
GPtrArray *routes;
const char *setting_name = nm_setting_get_name (setting);
routes = read_routes (keyfile, setting_name, key);
routes = read_ip4_routes (keyfile, setting_name, key);
if (routes) {
g_object_set (setting, key, routes, NULL);
g_ptr_array_foreach (routes, free_one_route, NULL);
g_ptr_array_foreach (routes, free_one_ip4_route, NULL);
g_ptr_array_free (routes, TRUE);
}
}
@ -303,8 +304,9 @@ ip4_dns_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
continue;
}
g_array_append_val (array, addr.s_addr);
g_array_append_val (array, addr.s_addr);
}
g_strfreev (list);
if (array) {
g_object_set (setting, key, array, NULL);
@ -312,6 +314,294 @@ ip4_dns_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
}
}
static void
free_one_ip6_address (gpointer data, gpointer user_data)
{
g_value_array_free ((GValueArray *) data);
}
static char *
split_prefix (char *addr)
{
char *slash;
g_return_val_if_fail (addr != NULL, NULL);
/* Find the prefix and split the string */
slash = strchr (addr, '/');
if (slash && slash > addr) {
slash++;
*(slash - 1) = '\0';
}
return slash;
}
static GPtrArray *
read_ip6_addresses (GKeyFile *file,
const char *setting_name,
const char *key)
{
GPtrArray *addresses;
struct in6_addr addr;
guint32 prefix;
int i = 0;
addresses = g_ptr_array_sized_new (3);
/* Look for individual addresses */
while (i++ < 1000) {
char *tmp, *key_name, *str_prefix;
int ret;
GValueArray *values;
GByteArray *address;
GValue value = { 0 };
key_name = g_strdup_printf ("%s%d", key, i);
tmp = g_key_file_get_string (file, setting_name, key_name, NULL);
g_free (key_name);
if (!tmp)
break; /* all done */
/* convert the string array into IPv6 addresses */
values = g_value_array_new (2); /* NMIP6Address has 2 items */
/* Split the address and prefix */
str_prefix = split_prefix (tmp);
/* address */
ret = inet_pton (AF_INET6, tmp, &addr);
if (ret <= 0) {
g_warning ("%s: ignoring invalid IPv6 %s element '%s'", __func__, key_name, tmp);
g_value_array_free (values);
goto next;
}
address = g_byte_array_new ();
g_byte_array_append (address, (guint8 *) addr.s6_addr, 16);
g_value_init (&value, DBUS_TYPE_G_UCHAR_ARRAY);
g_value_take_boxed (&value, address);
g_value_array_append (values, &value);
g_value_unset (&value);
/* prefix */
prefix = 0;
if (str_prefix) {
if (!get_one_int (str_prefix, 128, key_name, &prefix)) {
g_value_array_free (values);
goto next;
}
} else {
/* Missing prefix defaults to /64 */
prefix = 64;
}
g_value_init (&value, G_TYPE_UINT);
g_value_set_uint (&value, prefix);
g_value_array_append (values, &value);
g_value_unset (&value);
g_ptr_array_add (addresses, values);
next:
g_free (tmp);
}
if (addresses->len < 1) {
g_ptr_array_free (addresses, TRUE);
addresses = NULL;
}
return addresses;
}
static void
ip6_addr_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
{
GPtrArray *addresses;
const char *setting_name = nm_setting_get_name (setting);
addresses = read_ip6_addresses (keyfile, setting_name, key);
if (addresses) {
g_object_set (setting, key, addresses, NULL);
g_ptr_array_foreach (addresses, free_one_ip6_address, NULL);
g_ptr_array_free (addresses, TRUE);
}
}
static void
free_one_ip6_route (gpointer data, gpointer user_data)
{
g_value_array_free ((GValueArray *) data);
}
static GPtrArray *
read_ip6_routes (GKeyFile *file,
const char *setting_name,
const char *key)
{
GPtrArray *routes;
struct in6_addr addr;
guint32 prefix, metric;
int i = 0;
routes = g_ptr_array_sized_new (3);
/* Look for individual routes */
while (i++ < 1000) {
gchar **tmp;
char *key_name, *str_prefix;
gsize length = 0;
int ret;
GValueArray *values;
GByteArray *address;
GValue value = { 0 };
key_name = g_strdup_printf ("%s%d", key, i);
tmp = g_key_file_get_string_list (file, setting_name, key_name, &length, NULL);
g_free (key_name);
if (!tmp || !length)
break; /* all done */
if (length != 3) {
g_warning ("%s: ignoring invalid IPv6 address item '%s'", __func__, key_name);
goto next;
}
/* convert the string array into IPv6 routes */
values = g_value_array_new (4); /* NMIP6Route has 4 items */
/* Split the route and prefix */
str_prefix = split_prefix (tmp[0]);
/* destination address */
ret = inet_pton (AF_INET6, tmp[0], &addr);
if (ret <= 0) {
g_warning ("%s: ignoring invalid IPv6 %s element '%s'", __func__, key_name, tmp[0]);
g_value_array_free (values);
goto next;
}
address = g_byte_array_new ();
g_byte_array_append (address, (guint8 *) addr.s6_addr, 16);
g_value_init (&value, DBUS_TYPE_G_UCHAR_ARRAY);
g_value_take_boxed (&value, address);
g_value_array_append (values, &value);
g_value_unset (&value);
/* prefix */
prefix = 0;
if (str_prefix) {
if (!get_one_int (str_prefix, 128, key_name, &prefix)) {
g_value_array_free (values);
goto next;
}
} else {
/* default to 64 if unspecified */
prefix = 64;
}
g_value_init (&value, G_TYPE_UINT);
g_value_set_uint (&value, prefix);
g_value_array_append (values, &value);
g_value_unset (&value);
/* next hop address */
ret = inet_pton (AF_INET6, tmp[1], &addr);
if (ret <= 0) {
g_warning ("%s: ignoring invalid IPv6 %s element '%s'", __func__, key_name, tmp[1]);
g_value_array_free (values);
goto next;
}
address = g_byte_array_new ();
g_byte_array_append (address, (guint8 *) addr.s6_addr, 16);
g_value_init (&value, DBUS_TYPE_G_UCHAR_ARRAY);
g_value_take_boxed (&value, address);
g_value_array_append (values, &value);
g_value_unset (&value);
/* metric */
metric = 0;
if (!get_one_int (tmp[2], G_MAXUINT32, key_name, &metric)) {
g_value_array_free (values);
goto next;
}
g_value_init (&value, G_TYPE_UINT);
g_value_set_uint (&value, metric);
g_value_array_append (values, &value);
g_value_unset (&value);
g_ptr_array_add (routes, values);
next:
g_strfreev (tmp);
}
if (routes->len < 1) {
g_ptr_array_free (routes, TRUE);
routes = NULL;
}
return routes;
}
static void
ip6_route_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
{
GPtrArray *routes;
const char *setting_name = nm_setting_get_name (setting);
routes = read_ip6_routes (keyfile, setting_name, key);
if (routes) {
g_object_set (setting, key, routes, NULL);
g_ptr_array_foreach (routes, free_one_ip6_route, NULL);
g_ptr_array_free (routes, TRUE);
}
}
static void
free_one_ip6_dns (gpointer data, gpointer user_data)
{
g_byte_array_free ((GByteArray *) data, TRUE);
}
static void
ip6_dns_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
{
const char *setting_name = nm_setting_get_name (setting);
GPtrArray *array = NULL;
gsize length;
char **list, **iter;
int ret;
list = g_key_file_get_string_list (keyfile, setting_name, key, &length, NULL);
if (!list || !g_strv_length (list))
return;
array = g_ptr_array_sized_new (length);
for (iter = list; *iter; iter++) {
GByteArray *byte_array;
struct in6_addr addr;
ret = inet_pton (AF_INET6, *iter, &addr);
if (ret <= 0) {
g_warning ("%s: ignoring invalid DNS server IPv6 address '%s'", __func__, *iter);
continue;
}
byte_array = g_byte_array_new ();
g_byte_array_append (byte_array, (guint8 *) addr.s6_addr, 16);
g_ptr_array_add (array, byte_array);
}
g_strfreev (list);
if (array) {
g_object_set (setting, key, array, NULL);
g_ptr_array_foreach (array, free_one_ip6_dns, NULL);
g_ptr_array_free (array, TRUE);
}
}
static void
mac_address_parser (NMSetting *setting, const char *key, GKeyFile *keyfile)
@ -407,22 +697,35 @@ typedef struct {
/* A table of keys that require further parsing/conversion becuase they are
* stored in a format that can't be automatically read using the key's type.
* i.e. IP addresses, which are stored in NetworkManager as guint32, but are
* stored in keyfiles as strings, eg "10.1.1.2".
* i.e. IPv4 addresses, which are stored in NetworkManager as guint32, but are
* stored in keyfiles as strings, eg "10.1.1.2" or IPv6 addresses stored
* in struct in6_addr internally, but as string in keyfiles.
*/
static KeyParser key_parsers[] = {
{ NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_ADDRESSES,
FALSE,
ip4_addr_parser },
{ NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES,
FALSE,
ip6_addr_parser },
{ NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_ROUTES,
FALSE,
ip4_route_parser },
{ NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ROUTES,
FALSE,
ip6_route_parser },
{ NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_DNS,
FALSE,
ip4_dns_parser },
{ NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS,
FALSE,
ip6_dns_parser },
{ NM_SETTING_WIRED_SETTING_NAME,
NM_SETTING_WIRED_MAC_ADDRESS,
TRUE,

View file

@ -16,7 +16,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Copyright (C) 2008 Novell, Inc.
* Copyright (C) 2008 Red Hat, Inc.
* Copyright (C) 2008 - 2010 Red Hat, Inc.
*/
#include <sys/stat.h>
@ -26,6 +26,7 @@
#include <nm-setting.h>
#include <nm-setting-connection.h>
#include <nm-setting-ip4-config.h>
#include <nm-setting-ip6-config.h>
#include <nm-setting-vpn.h>
#include <nm-setting-wired.h>
#include <nm-setting-wireless.h>
@ -184,6 +185,189 @@ ip4_route_writer (GKeyFile *file,
write_ip4_values (file, setting_name, key, array, 4, 0, 2);
}
static void
ip6_dns_writer (GKeyFile *file,
NMSetting *setting,
const char *key,
const GValue *value)
{
GPtrArray *array;
GByteArray *byte_array;
char **list;
int i, num = 0;
g_return_if_fail (G_VALUE_HOLDS (value, DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UCHAR));
array = (GPtrArray *) g_value_get_boxed (value);
if (!array || !array->len)
return;
list = g_new0 (char *, array->len + 1);
for (i = 0; i < array->len; i++) {
char buf[INET6_ADDRSTRLEN];
byte_array = g_ptr_array_index (array, i);
if (!inet_ntop (AF_INET6, (struct in6_addr *) byte_array->data, buf, sizeof (buf))) {
int j;
GString *ip6_str = g_string_new (NULL);
g_string_append_printf (ip6_str, "%02X", byte_array->data[0]);
for (j = 1; j < 16; j++)
g_string_append_printf (ip6_str, " %02X", byte_array->data[j]);
nm_warning ("%s: error converting IP6 address %s",
__func__, ip6_str->str);
g_string_free (ip6_str, TRUE);
} else
list[num++] = g_strdup (buf);
}
g_key_file_set_string_list (file, nm_setting_get_name (setting), key, (const char **) list, num);
g_strfreev (list);
}
static gboolean
ip6_array_to_addr (GValueArray *values, guint32 idx, char *buf, size_t buflen)
{
GByteArray *byte_array;
GValue *addr_val;
g_return_val_if_fail (buflen >= INET6_ADDRSTRLEN, FALSE);
/* address */
addr_val = g_value_array_get_nth (values, idx);
byte_array = g_value_get_boxed (addr_val);
errno = 0;
if (!inet_ntop (AF_INET6, (struct in6_addr *) byte_array->data, buf, buflen)) {
GString *ip6_str = g_string_sized_new (INET6_ADDRSTRLEN + 10);
/* error converting the address */
g_string_append_printf (ip6_str, "%02X", byte_array->data[0]);
for (idx = 1; idx < 16; idx++)
g_string_append_printf (ip6_str, " %02X", byte_array->data[idx]);
nm_warning ("%s: error %d converting IP6 address %s",
__func__, errno, ip6_str->str);
g_string_free (ip6_str, TRUE);
return FALSE;
}
return TRUE;
}
static char *
ip6_array_to_addr_prefix (GValueArray *values)
{
GValue *prefix_val;
char *ret = NULL;
GString *ip6_str;
char buf[INET6_ADDRSTRLEN];
/* address */
if (ip6_array_to_addr (values, 0, buf, sizeof (buf))) {
/* Enough space for the address, '/', and the prefix */
ip6_str = g_string_sized_new (INET6_ADDRSTRLEN + 5);
/* prefix */
g_string_append (ip6_str, buf);
prefix_val = g_value_array_get_nth (values, 1);
g_string_append_printf (ip6_str, "/%u", g_value_get_uint (prefix_val));
ret = ip6_str->str;
g_string_free (ip6_str, FALSE);
}
return ret;
}
static void
ip6_addr_writer (GKeyFile *file,
NMSetting *setting,
const char *key,
const GValue *value)
{
GPtrArray *array;
const char *setting_name = nm_setting_get_name (setting);
int i, j;
g_return_if_fail (G_VALUE_HOLDS (value, DBUS_TYPE_G_ARRAY_OF_IP6_ADDRESS));
array = (GPtrArray *) g_value_get_boxed (value);
if (!array || !array->len)
return;
for (i = 0, j = 1; i < array->len; i++) {
GValueArray *values = g_ptr_array_index (array, i);
char *key_name, *ip6_addr;
if (values->n_values % 2) {
nm_warning ("%s: error writing IP6 address %d; address array length"
" %d is not a multiple of 2.",
__func__, i, values->n_values);
continue;
}
ip6_addr = ip6_array_to_addr_prefix (values);
if (ip6_addr) {
/* Write it out */
key_name = g_strdup_printf ("%s%d", key, j++);
g_key_file_set_string (file, setting_name, key_name, ip6_addr);
g_free (key_name);
g_free (ip6_addr);
}
}
}
static void
ip6_route_writer (GKeyFile *file,
NMSetting *setting,
const char *key,
const GValue *value)
{
GPtrArray *array;
const char *setting_name = nm_setting_get_name (setting);
char *list[3];
int i, j;
g_return_if_fail (G_VALUE_HOLDS (value, DBUS_TYPE_G_ARRAY_OF_IP6_ROUTE));
array = (GPtrArray *) g_value_get_boxed (value);
if (!array || !array->len)
return;
for (i = 0, j = 1; i < array->len; i++) {
GValueArray *values = g_ptr_array_index (array, i);
char *key_name;
guint32 int_val;
char buf[INET6_ADDRSTRLEN];
memset (list, 0, sizeof (list));
/* Address and prefix */
list[0] = ip6_array_to_addr_prefix (values);
if (!list[0])
continue;
/* Next Hop */
if (!ip6_array_to_addr (values, 2, buf, sizeof (buf)))
continue;
list[1] = g_strdup (buf);
/* Metric */
value = g_value_array_get_nth (values, 3);
int_val = g_value_get_uint (value);
list[2] = g_strdup_printf ("%d", int_val);
/* Write it out */
key_name = g_strdup_printf ("%s%d", key, j++);
g_key_file_set_string_list (file, setting_name, key_name, (const char **) list, 3);
g_free (key_name);
g_free (list[0]);
g_free (list[1]);
g_free (list[2]);
}
}
static void
mac_address_writer (GKeyFile *file,
NMSetting *setting,
@ -259,19 +443,29 @@ typedef struct {
/* A table of keys that require further parsing/conversion becuase they are
* stored in a format that can't be automatically read using the key's type.
* i.e. IP addresses, which are stored in NetworkManager as guint32, but are
* stored in keyfiles as strings, eg "10.1.1.2".
* i.e. IPv4 addresses, which are stored in NetworkManager as guint32, but are
* stored in keyfiles as strings, eg "10.1.1.2" or IPv6 addresses stored
* in struct in6_addr internally, but as string in keyfiles.
*/
static KeyWriter key_writers[] = {
{ NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_ADDRESSES,
ip4_addr_writer },
{ NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES,
ip6_addr_writer },
{ NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_ROUTES,
ip4_route_writer },
{ NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ROUTES,
ip6_route_writer },
{ NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_DNS,
ip4_dns_writer },
{ NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS,
ip6_dns_writer },
{ NM_SETTING_WIRED_SETTING_NAME,
NM_SETTING_WIRED_MAC_ADDRESS,
mac_address_writer },

View file

@ -20,3 +20,13 @@ addresses1=192.168.0.5;24;192.168.0.1;
addresses2=1.2.3.4;16;1.2.1.1;
ignore-auto-routes=false
ignore-auto-dns=false
[ipv6]
method=manual
dns=1111:dddd::aaaa;1::cafe;
dns-search=super-domain.com;redhat.com;gnu.org;
addresses1=abcd:1234:ffff::cdde/64
addresses2=1:2:3:4:5:6:7:8/96
routes1=a:b:c:d::/64;f:e:d:c:1:2:3:4;99;
ignore-auto-routes=false
ignore-auto-dns=false

View file

@ -34,6 +34,7 @@
#include <nm-setting-wired.h>
#include <nm-setting-wireless.h>
#include <nm-setting-ip4-config.h>
#include <nm-setting-ip6-config.h>
#include "nm-test-helpers.h"
@ -50,6 +51,7 @@ test_read_valid_wired_connection (void)
NMSettingConnection *s_con;
NMSettingWired *s_wired;
NMSettingIP4Config *s_ip4;
NMSettingIP6Config *s_ip6;
GError *error = NULL;
const GByteArray *array;
char expected_mac_address[ETH_ALEN] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 };
@ -66,6 +68,18 @@ test_read_valid_wired_connection (void)
const char *expected_address1_gw = "192.168.0.1";
const char *expected_address2_gw = "1.2.1.1";
NMIP4Address *ip4_addr;
const char *expected6_dns1 = "1111:dddd::aaaa";
const char *expected6_dns2 = "1::cafe";
const char *expected6_dnssearch1 = "super-domain.com";
const char *expected6_dnssearch2 = "redhat.com";
const char *expected6_dnssearch3 = "gnu.org";
struct in6_addr addr6;
const char *expected6_address1 = "abcd:1234:ffff::cdde";
const char *expected6_address2 = "1:2:3:4:5:6:7:8";
const char *expected6_route_dest = "a:b:c:d::";
const char *expected6_route_nh = "f:e:d:c:1:2:3:4";
NMIP6Address *ip6_addr;
NMIP6Route *ip6_route;
connection = connection_from_file (TEST_WIRED_FILE);
ASSERT (connection != NULL,
@ -215,7 +229,7 @@ test_read_valid_wired_connection (void)
NM_SETTING_IP4_CONFIG_ADDRESSES);
ASSERT (nm_ip4_address_get_prefix (ip4_addr) == 24,
"connection-verify-wired", "failed to verify %s: unexpected IP4 address #1 gateway",
"connection-verify-wired", "failed to verify %s: unexpected IP4 address #1 prefix",
TEST_WIRED_FILE,
NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_ADDRESSES);
@ -251,7 +265,7 @@ test_read_valid_wired_connection (void)
NM_SETTING_IP4_CONFIG_ADDRESSES);
ASSERT (nm_ip4_address_get_prefix (ip4_addr) == 16,
"connection-verify-wired", "failed to verify %s: unexpected IP4 address #2 gateway",
"connection-verify-wired", "failed to verify %s: unexpected IP4 address #2 prefix",
TEST_WIRED_FILE,
NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_ADDRESSES);
@ -278,6 +292,172 @@ test_read_valid_wired_connection (void)
NM_SETTING_IP4_CONFIG_SETTING_NAME,
NM_SETTING_IP4_CONFIG_ADDRESSES);
/* ===== IPv6 SETTING ===== */
s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
ASSERT (s_ip6 != NULL,
"connection-verify-ip6", "failed to verify %s: missing %s setting",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME);
/* Method */
tmp = nm_setting_ip6_config_get_method (s_ip6);
ASSERT (strcmp (tmp, NM_SETTING_IP6_CONFIG_METHOD_MANUAL) == 0,
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_METHOD);
/* DNS Addresses */
ASSERT (nm_setting_ip6_config_get_num_dns (s_ip6) == 2,
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (inet_pton (AF_INET6, expected6_dns1, &addr6) > 0,
"connection-verify-wired", "failed to verify %s: couldn't convert DNS IP6 address #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (IN6_ARE_ADDR_EQUAL (nm_setting_ip6_config_get_dns (s_ip6, 0), &addr6),
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (inet_pton (AF_INET6, expected6_dns2, &addr6) > 0,
"connection-verify-wired", "failed to verify %s: couldn't convert DNS IP address #2",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (IN6_ARE_ADDR_EQUAL (nm_setting_ip6_config_get_dns (s_ip6, 1), &addr6),
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #2",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (nm_setting_ip6_config_get_num_addresses (s_ip6) == 2,
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
/* DNS Searches */
ASSERT (nm_setting_ip6_config_get_num_dns_searches (s_ip6) == 3,
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS_SEARCH);
ASSERT (!strcmp (nm_setting_ip6_config_get_dns_search (s_ip6, 0), expected6_dnssearch1),
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS_SEARCH);
ASSERT (!strcmp (nm_setting_ip6_config_get_dns_search (s_ip6, 1), expected6_dnssearch2),
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #2",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS_SEARCH);
ASSERT (!strcmp (nm_setting_ip6_config_get_dns_search (s_ip6, 2), expected6_dnssearch3),
"connection-verify-wired", "failed to verify %s: unexpected %s / %s key value #3",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS_SEARCH);
/* Address #1 */
ip6_addr = nm_setting_ip6_config_get_address (s_ip6, 0);
ASSERT (ip6_addr,
"connection-verify-wired", "failed to verify %s: missing IP6 address #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES);
ASSERT (nm_ip6_address_get_prefix (ip6_addr) == 64,
"connection-verify-wired", "failed to verify %s: unexpected IP6 address #1 prefix",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES);
ASSERT (inet_pton (AF_INET6, expected6_address1, &addr6) > 0,
"connection-verify-wired", "failed to verify %s: couldn't convert IP address #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (IN6_ARE_ADDR_EQUAL (nm_ip6_address_get_address (ip6_addr), &addr6),
"connection-verify-wired", "failed to verify %s: unexpected IP4 address #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES);
/* Address #2 */
ip6_addr = nm_setting_ip6_config_get_address (s_ip6, 1);
ASSERT (ip6_addr,
"connection-verify-wired", "failed to verify %s: missing IP6 address #2",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES);
ASSERT (nm_ip6_address_get_prefix (ip6_addr) == 96,
"connection-verify-wired", "failed to verify %s: unexpected IP6 address #2 prefix",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES);
ASSERT (inet_pton (AF_INET6, expected6_address2, &addr6) > 0,
"connection-verify-wired", "failed to verify %s: couldn't convert IP address #2",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (IN6_ARE_ADDR_EQUAL (nm_ip6_address_get_address (ip6_addr), &addr6),
"connection-verify-wired", "failed to verify %s: unexpected IP6 address #2",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ADDRESSES);
/* Route #1 */
ip6_route = nm_setting_ip6_config_get_route (s_ip6, 0);
ASSERT (ip6_route,
"connection-verify-wired", "failed to verify %s: missing IP6 route #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ROUTES);
ASSERT (inet_pton (AF_INET6, expected6_route_dest, &addr6) > 0,
"connection-verify-wired", "failed to verify %s: couldn't convert IP route dest #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (IN6_ARE_ADDR_EQUAL (nm_ip6_route_get_dest (ip6_route), &addr6),
"connection-verify-wired", "failed to verify %s: unexpected IP4 route dest #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ROUTES);
ASSERT (nm_ip6_route_get_prefix (ip6_route) == 64,
"connection-verify-wired", "failed to verify %s: unexpected IP6 route #1 prefix",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ROUTES);
ASSERT (inet_pton (AF_INET6, expected6_route_nh, &addr6) > 0,
"connection-verify-wired", "failed to verify %s: couldn't convert IP route next hop #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_DNS);
ASSERT (IN6_ARE_ADDR_EQUAL (nm_ip6_route_get_next_hop (ip6_route), &addr6),
"connection-verify-wired", "failed to verify %s: unexpected IP4 route dest #1",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ROUTES);
ASSERT (nm_ip6_route_get_metric (ip6_route) == 99,
"connection-verify-wired", "failed to verify %s: unexpected IP6 route #1 metric",
TEST_WIRED_FILE,
NM_SETTING_IP6_CONFIG_SETTING_NAME,
NM_SETTING_IP6_CONFIG_ROUTES);
g_object_unref (connection);
}
@ -327,6 +507,49 @@ add_one_ip4_route (NMSettingIP4Config *s_ip4,
nm_ip4_route_unref (route);
}
static void
add_one_ip6_address (NMSettingIP6Config *s_ip6,
const char *addr,
guint32 prefix)
{
struct in6_addr tmp;
NMIP6Address *ip6_addr;
ip6_addr = nm_ip6_address_new ();
nm_ip6_address_set_prefix (ip6_addr, prefix);
inet_pton (AF_INET6, addr, &tmp);
nm_ip6_address_set_address (ip6_addr, &tmp);
nm_setting_ip6_config_add_address (s_ip6, ip6_addr);
nm_ip6_address_unref (ip6_addr);
}
static void
add_one_ip6_route (NMSettingIP6Config *s_ip6,
const char *dest,
const char *nh,
guint32 prefix,
guint32 metric)
{
struct in6_addr addr;
NMIP6Route *route;
route = nm_ip6_route_new ();
nm_ip6_route_set_prefix (route, prefix);
nm_ip6_route_set_metric (route, metric);
inet_pton (AF_INET6, dest, &addr);
nm_ip6_route_set_dest (route, &addr);
inet_pton (AF_INET6, nh, &addr);
nm_ip6_route_set_next_hop (route, &addr);
nm_setting_ip6_config_add_route (s_ip6, route);
nm_ip6_route_unref (route);
}
static void
test_write_wired_connection (void)
{
@ -334,6 +557,7 @@ test_write_wired_connection (void)
NMSettingConnection *s_con;
NMSettingWired *s_wired;
NMSettingIP4Config *s_ip4;
NMSettingIP6Config *s_ip6;
char *uuid;
GByteArray *mac;
unsigned char tmpmac[] = { 0x99, 0x88, 0x77, 0x66, 0x55, 0x44 };
@ -344,6 +568,7 @@ test_write_wired_connection (void)
pid_t owner_grp;
uid_t owner_uid;
struct in_addr addr;
struct in6_addr addr6;
const char *dns1 = "4.2.2.1";
const char *dns2 = "4.2.2.2";
const char *address1 = "192.168.0.5";
@ -354,6 +579,14 @@ test_write_wired_connection (void)
const char *route1_nh = "10.10.10.1";
const char *route2 = "0.0.0.0";
const char *route2_nh = "1.2.1.1";
const char *dns6_1 = "1::cafe";
const char *dns6_2 = "2::cafe";
const char *address6_1 = "abcd::beef";
const char *address6_2 = "dcba::beef";
const char *route6_1 = "1:2:3:4:5:6:7:8";
const char *route6_1_nh = "8:7:6:5:4:3:2:1";
const char *route6_2 = "::";
const char *route6_2_nh = "2001::1111";
guint64 timestamp = 0x12345678L;
connection = nm_connection_new ();
@ -420,6 +653,35 @@ test_write_wired_connection (void)
inet_pton (AF_INET, dns2, &addr);
nm_setting_ip4_config_add_dns (s_ip4, addr.s_addr);
/* IP6 setting */
s_ip6 = NM_SETTING_IP6_CONFIG (nm_setting_ip6_config_new ());
ASSERT (s_ip6 != NULL,
"connection-write", "failed to allocate new %s setting",
NM_SETTING_IP6_CONFIG_SETTING_NAME);
nm_connection_add_setting (connection, NM_SETTING (s_ip6));
g_object_set (s_ip6,
NM_SETTING_IP6_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_MANUAL,
NULL);
/* Addresses */
add_one_ip6_address (s_ip6, address6_1, 64);
add_one_ip6_address (s_ip6, address6_2, 56);
/* Routes */
add_one_ip6_route (s_ip6, route6_1, route6_1_nh, 64, 3);
add_one_ip6_route (s_ip6, route6_2, route6_2_nh, 56, 1);
/* DNS servers */
inet_pton (AF_INET6, dns6_1, &addr6);
nm_setting_ip6_config_add_dns (s_ip6, &addr6);
inet_pton (AF_INET6, dns6_2, &addr6);
nm_setting_ip6_config_add_dns (s_ip6, &addr6);
/* DNS searches */
nm_setting_ip6_config_add_dns_search (s_ip6, "wallaceandgromit.com");
/* Write out the connection */
owner_uid = geteuid ();
owner_grp = getegid ();
@ -570,6 +832,7 @@ test_write_wireless_connection (void)
NMSettingConnection *s_con;
NMSettingWireless *s_wireless;
NMSettingIP4Config *s_ip4;
NMSettingIP6Config *s_ip6;
char *uuid;
GByteArray *bssid;
unsigned char tmpbssid[] = { 0xaa, 0xb9, 0xa1, 0x74, 0x55, 0x44 };
@ -640,6 +903,18 @@ test_write_wireless_connection (void)
NM_SETTING_IP4_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO,
NULL);
/* IP6 setting */
s_ip6 = NM_SETTING_IP6_CONFIG (nm_setting_ip6_config_new ());
ASSERT (s_ip6 != NULL,
"connection-write", "failed to allocate new %s setting",
NM_SETTING_IP6_CONFIG_SETTING_NAME);
nm_connection_add_setting (connection, NM_SETTING (s_ip6));
g_object_set (s_ip6,
NM_SETTING_IP6_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_AUTO,
NULL);
/* Write out the connection */
owner_uid = geteuid ();
owner_grp = getegid ();
@ -688,6 +963,7 @@ int main (int argc, char **argv)
base = g_path_get_basename (argv[0]);
fprintf (stdout, "%s: SUCCESS\n", base);
g_free (base);
dbus_g_connection_unref (bus);
return 0;
}