- Fixed memory leak.

- Implemented SIGHUP configuration file reloading.
- Other small changes.
This commit is contained in:
Guus Sliepen 2000-06-29 19:47:04 +00:00
parent 18c85caac3
commit 0f9ad1f047
6 changed files with 230 additions and 178 deletions

215
po/nl.po
View file

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: tinc 1.0pre3\n" "Project-Id-Version: tinc 1.0pre3\n"
"POT-Creation-Date: 2000-06-29 18:49+0200\n" "POT-Creation-Date: 2000-06-29 21:32+0200\n"
"PO-Revision-Date: 2000-05-31 20:14+02:00\n" "PO-Revision-Date: 2000-05-31 20:14+02:00\n"
"Last-Translator: Ivo Timmermans <itimmermans@bigfoot.com>\n" "Last-Translator: Ivo Timmermans <itimmermans@bigfoot.com>\n"
"Language-Team: Dutch <vertaling@nl.linux.org>\n" "Language-Team: Dutch <vertaling@nl.linux.org>\n"
@ -14,22 +14,22 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n" "Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: src/conf.c:167 #: src/conf.c:171
#, c-format #, c-format
msgid "%s: %d: Invalid variable name `%s'.\n" msgid "%s: %d: Invalid variable name `%s'.\n"
msgstr "%s: %d: Ongeldige variabelenaam `%s'.\n" msgstr "%s: %d: Ongeldige variabelenaam `%s'.\n"
#: src/conf.c:174 #: src/conf.c:178
#, c-format #, c-format
msgid "%s: %d: No value given for `%s'.\n" msgid "%s: %d: No value given for `%s'.\n"
msgstr "%s: %d: Geen waarde gegeven voor `%s'.\n" msgstr "%s: %d: Geen waarde gegeven voor `%s'.\n"
#: src/conf.c:182 #: src/conf.c:186
#, c-format #, c-format
msgid "%s: %d: Invalid value `%s' for variable `%s'.\n" msgid "%s: %d: Invalid value `%s' for variable `%s'.\n"
msgstr "%s: %d: Ongeldige waarde `%s' voor variabele `%s'.\n" msgstr "%s: %d: Ongeldige waarde `%s' voor variabele `%s'.\n"
#: src/conf.c:203 #: src/conf.c:208
#, c-format #, c-format
msgid "Could not open %s: %s\n" msgid "Could not open %s: %s\n"
msgstr "Kon %s niet openen: %s\n" msgstr "Kon %s niet openen: %s\n"
@ -268,7 +268,7 @@ msgstr "Aanmaak UDP socket mislukte: %m"
msgid "Connecting to %s port %d failed: %m" msgid "Connecting to %s port %d failed: %m"
msgstr "Verbinding naar %s poort %d mislukt: %m" msgstr "Verbinding naar %s poort %d mislukt: %m"
#: src/net.c:754 src/net.c:841 src/net.c:1044 #: src/net.c:754 src/net.c:841 src/net.c:1037
#, c-format #, c-format
msgid "This is a bug: %s:%d: %d:%m" msgid "This is a bug: %s:%d: %d:%m"
msgstr "Dit is een programmeerfout: %s:%d: %d:%m" msgstr "Dit is een programmeerfout: %s:%d: %d:%m"
@ -307,82 +307,90 @@ msgstr "Kreeg pakket van %s (%s) met onbekende herkomst %d.%d.%d.%d?"
msgid "Closing connection with %s (%s)" msgid "Closing connection with %s (%s)"
msgstr "Beëindigen verbinding met %s (%s)" msgstr "Beëindigen verbinding met %s (%s)"
#: src/net.c:919 #: src/net.c:946
msgid "Trying to re-establish outgoing connection in 5 seconds" msgid "Trying to re-establish outgoing connection in 5 seconds"
msgstr "Poging tot herstellen van uitgaande verbinding over 5 seconden" msgstr "Poging tot herstellen van uitgaande verbinding over 5 seconden"
#: src/net.c:983 #: src/net.c:976
#, c-format #, c-format
msgid "%s (%s) didn't respond to PING" msgid "%s (%s) didn't respond to PING"
msgstr "%s (%s) antwoordde niet op ping" msgstr "%s (%s) antwoordde niet op ping"
#: src/net.c:1014 #: src/net.c:1007
#, c-format #, c-format
msgid "Accepting a new connection failed: %m" msgid "Accepting a new connection failed: %m"
msgstr "Aanname van nieuwe verbinding is mislukt: %m" msgstr "Aanname van nieuwe verbinding is mislukt: %m"
#: src/net.c:1022 #: src/net.c:1015
msgid "Closed attempted connection" msgid "Closed attempted connection"
msgstr "Aangenomen verbinding verbroken" msgstr "Aangenomen verbinding verbroken"
#: src/net.c:1049 #: src/net.c:1042
#, c-format #, c-format
msgid "Metadata socket error: %s" msgid "Metadata socket error: %s"
msgstr "Fout op socket voor metaverkeer: %s" msgstr "Fout op socket voor metaverkeer: %s"
#: src/net.c:1055 #: src/net.c:1048
msgid "Metadata read buffer overflow!" msgid "Metadata read buffer overflow!"
msgstr "Metadata ontvangstbuffer overloop!" msgstr "Metadata ontvangstbuffer overloop!"
#: src/net.c:1065 #: src/net.c:1058
#, c-format #, c-format
msgid "Metadata socket read error: %m" msgid "Metadata socket read error: %m"
msgstr "Fout op socket voor metaverkeer tijdens lezen: %m" msgstr "Fout op socket voor metaverkeer tijdens lezen: %m"
#: src/net.c:1089 #: src/net.c:1082
#, c-format #, c-format
msgid "Got request from %s (%s): %s" msgid "Got request from %s (%s): %s"
msgstr "Ontving verzoek van %s (%s): %s" msgstr "Ontving verzoek van %s (%s): %s"
#: src/net.c:1095 #: src/net.c:1088
#, c-format #, c-format
msgid "Unknown request from %s (%s)" msgid "Unknown request from %s (%s)"
msgstr "Onbekend verzoek van %s (%s)" msgstr "Onbekend verzoek van %s (%s)"
#: src/net.c:1102 #: src/net.c:1095
#, c-format #, c-format
msgid "Error while processing request from %s (%s)" msgid "Error while processing request from %s (%s)"
msgstr "Fout tijdens afhandelen van verzoek van %s (%s)" msgstr "Fout tijdens afhandelen van verzoek van %s (%s)"
#: src/net.c:1109 #: src/net.c:1102
#, c-format #, c-format
msgid "Bogus data received from %s (%s)" msgid "Bogus data received from %s (%s)"
msgstr "Onzinnige data ontvangen van %s (%s)" msgstr "Onzinnige data ontvangen van %s (%s)"
#: src/net.c:1154 #: src/net.c:1147
#, c-format #, c-format
msgid "Outgoing data socket error for %s (%s): %s" msgid "Outgoing data socket error for %s (%s): %s"
msgstr "Fout op socket voor uitgaand verkeer voor %s (%s): %s" msgstr "Fout op socket voor uitgaand verkeer voor %s (%s): %s"
#: src/net.c:1190 #: src/net.c:1183
#, c-format #, c-format
msgid "Error while reading from tapdevice: %m" msgid "Error while reading from tapdevice: %m"
msgstr "Fout tijdens lezen van tap-apparaatbestand tijdens lezen: %m" msgstr "Fout tijdens lezen van tap-apparaatbestand tijdens lezen: %m"
#: src/net.c:1200 #: src/net.c:1193
#, c-format #, c-format
msgid "Non-IP ethernet frame %04x from " msgid "Non-IP ethernet frame %04x from "
msgstr "Niet-IP ethernet pakket %04x van " msgstr "Niet-IP ethernet pakket %04x van "
#: src/net.c:1208 #: src/net.c:1201
msgid "Dropping short packet" msgid "Dropping short packet"
msgstr "Te kort pakket genegeerd" msgstr "Te kort pakket genegeerd"
#: src/net.c:1247 #: src/net.c:1240
#, c-format #, c-format
msgid "Error while waiting for input: %m" msgid "Error while waiting for input: %m"
msgstr "Fout tijdens wachten op invoer: %m" msgstr "Fout tijdens wachten op invoer: %m"
#: src/net.c:1251
msgid "Unable to reread configuration file, exitting"
msgstr "Fout tijdens herlezen configuratie bestand, beëindigen"
#: src/net.c:1256
msgid "Unable to restart, exitting"
msgstr "Kon niet herstarten, beëindigen"
#: src/netutl.c:222 #: src/netutl.c:222
#, c-format #, c-format
msgid "Error looking up `%s': %s\n" msgid "Error looking up `%s': %s\n"
@ -417,7 +425,7 @@ msgstr "Verzending TERMREQ naar %s (%s)"
#: src/protocol.c:80 src/protocol.c:98 src/protocol.c:116 src/protocol.c:134 #: src/protocol.c:80 src/protocol.c:98 src/protocol.c:116 src/protocol.c:134
#: src/protocol.c:152 src/protocol.c:191 src/protocol.c:209 src/protocol.c:237 #: src/protocol.c:152 src/protocol.c:191 src/protocol.c:209 src/protocol.c:237
#: src/protocol.c:258 src/protocol.c:276 src/protocol.c:319 src/protocol.c:349 #: src/protocol.c:258 src/protocol.c:276 src/protocol.c:319 src/protocol.c:349
#: src/protocol.c:779 src/protocol.c:882 #: src/protocol.c:784 src/protocol.c:887
#, c-format #, c-format
msgid "Send failed: %s:%d: %m" msgid "Send failed: %s:%d: %m"
msgstr "Verzenden mislukte: %s:%d: %m" msgstr "Verzenden mislukte: %s:%d: %m"
@ -487,236 +495,236 @@ msgstr "Poging tot verzenden ANS_KEY naar %d.%d.%d.%d, die niet bestaat?"
msgid "Sending ANS_KEY to %s (%s)" msgid "Sending ANS_KEY to %s (%s)"
msgstr "Verzending ANS_KEY naar %s (%s)" msgstr "Verzending ANS_KEY naar %s (%s)"
#: src/protocol.c:396 #: src/protocol.c:397
#, c-format #, c-format
msgid "Got BASIC_INFO from %s" msgid "Got BASIC_INFO from %s"
msgstr "Kreeg BASIC_INFO van %s" msgstr "Kreeg BASIC_INFO van %s"
#: src/protocol.c:400 #: src/protocol.c:401
#, c-format #, c-format
msgid "Got bad BASIC_INFO from %s" msgid "Got bad BASIC_INFO from %s"
msgstr "Kreeg ongeldige BASIC_INFO van %s" msgstr "Kreeg ongeldige BASIC_INFO van %s"
#: src/protocol.c:409 #: src/protocol.c:410
#, c-format #, c-format
msgid "Peer uses incompatible protocol version %d" msgid "Peer uses incompatible protocol version %d"
msgstr "De ander gebruikt een niet-compatibel protocol versie %d" msgstr "De ander gebruikt een niet-compatibel protocol versie %d"
#: src/protocol.c:430 #: src/protocol.c:425
#, c-format #, c-format
msgid "Uplink %s (%s) is already in our connection list, aborting connect" msgid "Uplink %s (%s) is already in our connection list"
msgstr "" msgstr ""
#: src/protocol.c:450 #: src/protocol.c:455
#, c-format #, c-format
msgid "Got bad PASSPHRASE from %s (%s)" msgid "Got bad PASSPHRASE from %s (%s)"
msgstr "Kreeg ongeldige PASSPHRASE van %s (%s)" msgstr "Kreeg ongeldige PASSPHRASE van %s (%s)"
#: src/protocol.c:457 #: src/protocol.c:462
#, c-format #, c-format
msgid "Got PASSPHRASE from %s (%s)" msgid "Got PASSPHRASE from %s (%s)"
msgstr "Kreeg PASSPHRASE van %s (%s)" msgstr "Kreeg PASSPHRASE van %s (%s)"
#: src/protocol.c:475 #: src/protocol.c:480
#, c-format #, c-format
msgid "Got bad PUBLIC_KEY from %s (%s)" msgid "Got bad PUBLIC_KEY from %s (%s)"
msgstr "Kreeg ongeldige PUBLIC_KEY van %s (%s)" msgstr "Kreeg ongeldige PUBLIC_KEY van %s (%s)"
#: src/protocol.c:481 #: src/protocol.c:486
#, c-format #, c-format
msgid "Got PUBLIC_KEY from %s (%s)" msgid "Got PUBLIC_KEY from %s (%s)"
msgstr "Kreeg PUBLIC_KEY van %s (%s)" msgstr "Kreeg PUBLIC_KEY van %s (%s)"
#. intruder! #. intruder!
#: src/protocol.c:487 #: src/protocol.c:492
#, c-format #, c-format
msgid "Intruder from %s: passphrase for %s does not match!" msgid "Intruder from %s: passphrase for %s does not match!"
msgstr "Indringer van %s: wachwoord voor %s komt niet overeen!" msgstr "Indringer van %s: wachwoord voor %s komt niet overeen!"
#: src/protocol.c:505 #: src/protocol.c:510
#, c-format #, c-format
msgid "Removing old entry for %s at %s in favour of new connection from %s" msgid "Removing old entry for %s at %s in favour of new connection from %s"
msgstr "" msgstr ""
"Verwijdering oude verbinding voor %s op %s in voordeel van nieuwe verbinding " "Verwijdering oude verbinding voor %s op %s in voordeel van nieuwe verbinding "
"van %s" "van %s"
#: src/protocol.c:514 src/protocol.c:533 #: src/protocol.c:519 src/protocol.c:538
#, c-format #, c-format
msgid "Connection with %s (%s) activated" msgid "Connection with %s (%s) activated"
msgstr "Verbinding met %s (%s) geactiveerd" msgstr "Verbinding met %s (%s) geactiveerd"
#: src/protocol.c:528 #: src/protocol.c:533
#, c-format #, c-format
msgid "Got ACK from %s (%s)" msgid "Got ACK from %s (%s)"
msgstr "Kreeg ACK van %s (%s)" msgstr "Kreeg ACK van %s (%s)"
#: src/protocol.c:549 #: src/protocol.c:554
#, c-format #, c-format
msgid "Got unauthorized TERMREQ from %s (%s)" msgid "Got unauthorized TERMREQ from %s (%s)"
msgstr "Kreeg niet-geautoriseerde TERMREQ van %s (%s)" msgstr "Kreeg niet-geautoriseerde TERMREQ van %s (%s)"
#: src/protocol.c:555 #: src/protocol.c:560
#, c-format #, c-format
msgid "Got TERMREQ from %s (%s)" msgid "Got TERMREQ from %s (%s)"
msgstr "Kreeg TERMREQ van %s (%s)" msgstr "Kreeg TERMREQ van %s (%s)"
#: src/protocol.c:570 #: src/protocol.c:575
#, c-format #, c-format
msgid "Got unauthorized TIMEOUT from %s (%s)" msgid "Got unauthorized TIMEOUT from %s (%s)"
msgstr "Kreeg niet-geautoriseerde TIMEOUT van %s (%s)" msgstr "Kreeg niet-geautoriseerde TIMEOUT van %s (%s)"
#: src/protocol.c:576 #: src/protocol.c:581
#, c-format #, c-format
msgid "Got TIMEOUT from %s (%s)" msgid "Got TIMEOUT from %s (%s)"
msgstr "Kreeg TIMEOUT van %s (%s)" msgstr "Kreeg TIMEOUT van %s (%s)"
#: src/protocol.c:592 #: src/protocol.c:597
#, c-format #, c-format
msgid "Got unauthorized DEL_HOST from %s (%s)" msgid "Got unauthorized DEL_HOST from %s (%s)"
msgstr "Kreeg niet-geautoriseerde DEL_HOST van %s (%s)" msgstr "Kreeg niet-geautoriseerde DEL_HOST van %s (%s)"
#: src/protocol.c:599 #: src/protocol.c:604
#, c-format #, c-format
msgid "Got bad DEL_HOST from %s (%s)" msgid "Got bad DEL_HOST from %s (%s)"
msgstr "Kreeg ongeldige DEL_HOST van %s (%s)" msgstr "Kreeg ongeldige DEL_HOST van %s (%s)"
#: src/protocol.c:606 #: src/protocol.c:611
#, c-format #, c-format
msgid "Got DEL_HOST for %d.%d.%d.%d from %s (%s) which does not exist?" msgid "Got DEL_HOST for %d.%d.%d.%d from %s (%s) which does not exist?"
msgstr "Kreeg DEL_HOST voor %d.%d.%d.%d van %s (%s), die niet bestaat?" msgstr "Kreeg DEL_HOST voor %d.%d.%d.%d van %s (%s), die niet bestaat?"
#: src/protocol.c:612 #: src/protocol.c:617
#, c-format #, c-format
msgid "Got DEL_HOST for %s (%s) from %s (%s)" msgid "Got DEL_HOST for %s (%s) from %s (%s)"
msgstr "Kreeg DEL_HOST voor %s (%s) van %s (%s)" msgstr "Kreeg DEL_HOST voor %s (%s) van %s (%s)"
#: src/protocol.c:630 #: src/protocol.c:635
#, c-format #, c-format
msgid "Got unauthorized PING from %s (%s)" msgid "Got unauthorized PING from %s (%s)"
msgstr "Kreeg niet-geautoriseerde PING van %s (%s)" msgstr "Kreeg niet-geautoriseerde PING van %s (%s)"
#: src/protocol.c:636 #: src/protocol.c:641
#, c-format #, c-format
msgid "Got PING from %s (%s)" msgid "Got PING from %s (%s)"
msgstr "Kreeg PING van %s (%s)" msgstr "Kreeg PING van %s (%s)"
#: src/protocol.c:652 #: src/protocol.c:657
#, c-format #, c-format
msgid "Got unauthorized PONG from %s (%s)" msgid "Got unauthorized PONG from %s (%s)"
msgstr "Kreeg niet-geautoriseerde PONG van %s (%s)" msgstr "Kreeg niet-geautoriseerde PONG van %s (%s)"
#: src/protocol.c:658 #: src/protocol.c:663
#, c-format #, c-format
msgid "Got PONG from %s (%s)" msgid "Got PONG from %s (%s)"
msgstr "Kreeg PONG van %s (%s)" msgstr "Kreeg PONG van %s (%s)"
#: src/protocol.c:677 #: src/protocol.c:682
#, c-format #, c-format
msgid "Got unauthorized ADD_HOST from %s (%s)" msgid "Got unauthorized ADD_HOST from %s (%s)"
msgstr "Kreeg niet-geautoriseerde ADD_HOST van %s (%s)" msgstr "Kreeg niet-geautoriseerde ADD_HOST van %s (%s)"
#: src/protocol.c:684 #: src/protocol.c:689
#, c-format #, c-format
msgid "Got bad ADD_HOST from %s (%s)" msgid "Got bad ADD_HOST from %s (%s)"
msgstr "Kreeg ongeldige ADD_HOST van %s (%s)" msgstr "Kreeg ongeldige ADD_HOST van %s (%s)"
#: src/protocol.c:694 #: src/protocol.c:699
#, c-format #, c-format
msgid "Got duplicate ADD_HOST for %s (%s) from %s (%s)" msgid "Got duplicate ADD_HOST for %s (%s) from %s (%s)"
msgstr "Kreeg een tweede ADD_HOST voor %s (%s) van %s (%s)" msgstr "Kreeg een tweede ADD_HOST voor %s (%s) van %s (%s)"
#: src/protocol.c:701 #: src/protocol.c:706
#, c-format #, c-format
msgid "Removing old entry for %s (%s)" msgid "Removing old entry for %s (%s)"
msgstr "Verwijdering oude verbinding voor %s (%s)" msgstr "Verwijdering oude verbinding voor %s (%s)"
#: src/protocol.c:722 #: src/protocol.c:727
#, c-format #, c-format
msgid "Got ADD_HOST for %s (%s) from %s (%s)" msgid "Got ADD_HOST for %s (%s) from %s (%s)"
msgstr "Kreeg ADD_HOST voor %s (%s) van %s (%s)" msgstr "Kreeg ADD_HOST voor %s (%s) van %s (%s)"
#: src/protocol.c:740 #: src/protocol.c:745
#, c-format #, c-format
msgid "Got unauthorized REQ_KEY from %s (%s)" msgid "Got unauthorized REQ_KEY from %s (%s)"
msgstr "Kreeg niet-geautoriseerde REQ_KEY van %s (%s)" msgstr "Kreeg niet-geautoriseerde REQ_KEY van %s (%s)"
#: src/protocol.c:747 #: src/protocol.c:752
#, c-format #, c-format
msgid "Got bad REQ_KEY from %s (%s)" msgid "Got bad REQ_KEY from %s (%s)"
msgstr "Kreeg ongeldige REQ_KEY van %s (%s)" msgstr "Kreeg ongeldige REQ_KEY van %s (%s)"
#: src/protocol.c:753 #: src/protocol.c:758
#, c-format #, c-format
msgid "Got REQ_KEY origin %d.%d.%d.%d destination %d.%d.%d.%d from %s (%s)" msgid "Got REQ_KEY origin %d.%d.%d.%d destination %d.%d.%d.%d from %s (%s)"
msgstr "Kreeg REQ_KEY herkmonst %d.%d.%d.%d bestemming %d.%d.%d.%d van %s (%s)" msgstr "Kreeg REQ_KEY herkmonst %d.%d.%d.%d bestemming %d.%d.%d.%d van %s (%s)"
#: src/protocol.c:766 #: src/protocol.c:771
#, c-format #, c-format
msgid "Attempting to forward REQ_KEY to %d.%d.%d.%d, which does not exist?" msgid "Attempting to forward REQ_KEY to %d.%d.%d.%d, which does not exist?"
msgstr "Poging tot doorsturen REQ_KEY naar %d.%d.%d.%d, die niet bestaat?" msgstr "Poging tot doorsturen REQ_KEY naar %d.%d.%d.%d, die niet bestaat?"
#: src/protocol.c:772 #: src/protocol.c:777
#, c-format #, c-format
msgid "Forwarding REQ_KEY to %s (%s)" msgid "Forwarding REQ_KEY to %s (%s)"
msgstr "Doorsturen REQ_KEY naar %s (%s)" msgstr "Doorsturen REQ_KEY naar %s (%s)"
#: src/protocol.c:831 #: src/protocol.c:836
#, c-format #, c-format
msgid "Got unauthorized ANS_KEY from %s (%s)" msgid "Got unauthorized ANS_KEY from %s (%s)"
msgstr "Kreeg niet-geautoriseerde ANS_KEY van %s (%s)" msgstr "Kreeg niet-geautoriseerde ANS_KEY van %s (%s)"
#: src/protocol.c:838 #: src/protocol.c:843
#, c-format #, c-format
msgid "Got bad ANS_KEY from %s (%s)" msgid "Got bad ANS_KEY from %s (%s)"
msgstr "Kreeg ongeldige ANS_KEY van %s (%s)" msgstr "Kreeg ongeldige ANS_KEY van %s (%s)"
#: src/protocol.c:844 #: src/protocol.c:849
#, c-format #, c-format
msgid "Got ANS_KEY origin %d.%d.%d.%d destination %d.%d.%d.%d from %s (%s)" msgid "Got ANS_KEY origin %d.%d.%d.%d destination %d.%d.%d.%d from %s (%s)"
msgstr "Kreeg ANS_KEY herkomst %d.%d.%d.%d bestemming %d.%d.%d.%d van %s (%s)" msgstr "Kreeg ANS_KEY herkomst %d.%d.%d.%d bestemming %d.%d.%d.%d van %s (%s)"
#: src/protocol.c:853 #: src/protocol.c:858
#, c-format #, c-format
msgid "" msgid ""
"Receiving ANS_KEY origin %d.%d.%d.%d from %s (%s), which does not exist?" "Receiving ANS_KEY origin %d.%d.%d.%d from %s (%s), which does not exist?"
msgstr "Kreeg ANS_KEY herkomst %d.%d.%d.%d van %s (%s), die niet bestaat?" msgstr "Kreeg ANS_KEY herkomst %d.%d.%d.%d van %s (%s), die niet bestaat?"
#: src/protocol.c:869 #: src/protocol.c:874
#, c-format #, c-format
msgid "Attempting to forward ANS_KEY to %d.%d.%d.%d, which does not exist?" msgid "Attempting to forward ANS_KEY to %d.%d.%d.%d, which does not exist?"
msgstr "Poging tot doorsturen ANS_KEY naar %d.%d.%d.%d, die niet besttaat?" msgstr "Poging tot doorsturen ANS_KEY naar %d.%d.%d.%d, die niet besttaat?"
#: src/protocol.c:875 #: src/protocol.c:880
#, c-format #, c-format
msgid "Forwarding ANS_KEY to %s (%s)" msgid "Forwarding ANS_KEY to %s (%s)"
msgstr "Doorsturen ANS_KEY naar %s (%s)" msgstr "Doorsturen ANS_KEY naar %s (%s)"
#: src/protocol.c:896 #: src/protocol.c:901
#, c-format #, c-format
msgid "Got unauthorized KEY_CHANGED from %s (%s)" msgid "Got unauthorized KEY_CHANGED from %s (%s)"
msgstr "Kreeg niet-geautoriseerde KEY_CHANGED van %s (%s)" msgstr "Kreeg niet-geautoriseerde KEY_CHANGED van %s (%s)"
#: src/protocol.c:903 #: src/protocol.c:908
#, c-format #, c-format
msgid "Got bad KEY_CHANGED from %s (%s)" msgid "Got bad KEY_CHANGED from %s (%s)"
msgstr "Kreeg ongeldige KEY_CHANGED van %s (%s)" msgstr "Kreeg ongeldige KEY_CHANGED van %s (%s)"
#: src/protocol.c:912 #: src/protocol.c:917
#, c-format #, c-format
msgid "Got KEY_CHANGED origin %d.%d.%d.%d from %s (%s), which does not exist?" msgid "Got KEY_CHANGED origin %d.%d.%d.%d from %s (%s), which does not exist?"
msgstr "Kreeg KEY_CHANGED herkomst %d.%d.%d.%d van %s (%s), die niet bestaat?" msgstr "Kreeg KEY_CHANGED herkomst %d.%d.%d.%d van %s (%s), die niet bestaat?"
#: src/protocol.c:918 #: src/protocol.c:923
#, c-format #, c-format
msgid "Got KEY_CHANGED origin %s from %s (%s)" msgid "Got KEY_CHANGED origin %s from %s (%s)"
msgstr "Kreeg KEY_CHANGED herkomst %s van %s (%s)" msgstr "Kreeg KEY_CHANGED herkomst %s van %s (%s)"
#: src/tincd.c:95 #: src/tincd.c:98
#, c-format #, c-format
msgid "Try `%s --help' for more information.\n" msgid "Try `%s --help' for more information.\n"
msgstr "Probeer `%s --help' voor meer informatie.\n" msgstr "Probeer `%s --help' voor meer informatie.\n"
#: src/tincd.c:98 #: src/tincd.c:101
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [option]...\n" "Usage: %s [option]...\n"
@ -725,7 +733,7 @@ msgstr ""
"Gebruik: %s [optie]...\n" "Gebruik: %s [optie]...\n"
"\n" "\n"
#: src/tincd.c:99 #: src/tincd.c:102
msgid "" msgid ""
" -c, --config=FILE Read configuration options from FILE.\n" " -c, --config=FILE Read configuration options from FILE.\n"
" -D, --no-detach Don't fork and detach.\n" " -D, --no-detach Don't fork and detach.\n"
@ -741,7 +749,7 @@ msgstr ""
" -n, --net=NETNAAM Verbind met net NETNAAM.\n" " -n, --net=NETNAAM Verbind met net NETNAAM.\n"
" -t, --timeout=TIMEOUT Seconden wachten op timeout.\n" " -t, --timeout=TIMEOUT Seconden wachten op timeout.\n"
#: src/tincd.c:105 #: src/tincd.c:108
msgid "" msgid ""
" --help Display this help and exit.\n" " --help Display this help and exit.\n"
" --version Output version information and exit.\n" " --version Output version information and exit.\n"
@ -751,69 +759,69 @@ msgstr ""
" --version Geef versie informatie en beëindig.\n" " --version Geef versie informatie en beëindig.\n"
"\n" "\n"
#: src/tincd.c:107 #: src/tincd.c:110
msgid "Report bugs to tinc@nl.linux.org.\n" msgid "Report bugs to tinc@nl.linux.org.\n"
msgstr "" msgstr ""
"Meld fouten in het programma aan tinc@nl.linux.org;\n" "Meld fouten in het programma aan tinc@nl.linux.org;\n"
"meld fouten in de vertaling aan vertaling@nl.linux.org.\n" "meld fouten in de vertaling aan vertaling@nl.linux.org.\n"
#: src/tincd.c:145 #: src/tincd.c:148
#, c-format #, c-format
msgid "Invalid timeout value `%s'.\n" msgid "Invalid timeout value `%s'.\n"
msgstr "Ongeldige timeout waarde `%s'.\n" msgstr "Ongeldige timeout waarde `%s'.\n"
#: src/tincd.c:159 #: src/tincd.c:162
#, c-format #, c-format
msgid "Memory exhausted (last is %s:%d) (couldn't allocate %d bytes), exiting." msgid "Memory exhausted (last is %s:%d) (couldn't allocate %d bytes), exiting"
msgstr "" msgstr ""
"Geheugen is vol (laatste %s:%d) (kon geen %d bytes vrijmaken); beëindigen." "Geheugen is vol (laatste %s:%d) (kon geen %d bytes vrijmaken), beëindigen"
#: src/tincd.c:214 #: src/tincd.c:217
#, c-format #, c-format
msgid "tincd %s (%s %s) starting, debug level %d" msgid "tincd %s (%s %s) starting, debug level %d"
msgstr "tincd %s (%s %s) gestart, debugniveau %d." msgstr "tincd %s (%s %s) gestart, debugniveau %d."
#: src/tincd.c:217 #: src/tincd.c:220
#, c-format #, c-format
msgid "tincd %s starting" msgid "tincd %s starting"
msgstr "tincd %s gestart" msgstr "tincd %s gestart"
#: src/tincd.c:232 #: src/tincd.c:235
#, c-format #, c-format
msgid "Total bytes written: tap %d, socket %d; bytes read: tap %d, socket %d" msgid "Total bytes written: tap %d, socket %d; bytes read: tap %d, socket %d"
msgstr "" msgstr ""
"Totaal aantal bytes geschreven: tap %d, socket %d; bytes gelezen: top %d, " "Totaal aantal bytes geschreven: tap %d, socket %d; bytes gelezen: top %d, "
"socket %d." "socket %d."
#: src/tincd.c:250 #: src/tincd.c:253
#, c-format #, c-format
msgid "A tincd is already running for net `%s' with pid %d.\n" msgid "A tincd is already running for net `%s' with pid %d.\n"
msgstr "Een tincd voor net `%s' draait al met procesnummer %d.\n" msgstr "Een tincd voor net `%s' draait al met procesnummer %d.\n"
#: src/tincd.c:253 #: src/tincd.c:256
#, c-format #, c-format
msgid "A tincd is already running with pid %d.\n" msgid "A tincd is already running with pid %d.\n"
msgstr "Een tincd draait al met procesnummer %d.\n" msgstr "Een tincd draait al met procesnummer %d.\n"
#: src/tincd.c:274 #: src/tincd.c:277
#, c-format #, c-format
msgid "No other tincd is running for net `%s'.\n" msgid "No other tincd is running for net `%s'.\n"
msgstr "Geen andere tincd gevonden voor net `%s'.\n" msgstr "Geen andere tincd gevonden voor net `%s'.\n"
#: src/tincd.c:276 #: src/tincd.c:279
msgid "No other tincd is running.\n" msgid "No other tincd is running.\n"
msgstr "Geen andere tincd gevonden.\n" msgstr "Geen andere tincd gevonden.\n"
#: src/tincd.c:283 #: src/tincd.c:286
msgid "Removing stale lock file.\n" msgid "Removing stale lock file.\n"
msgstr "Ongebruikt vergrendelingsbestand verwijderd.\n" msgstr "Ongebruikt vergrendelingsbestand verwijderd.\n"
#: src/tincd.c:339 #: src/tincd.c:342
#, c-format #, c-format
msgid "%s version %s\n" msgid "%s version %s\n"
msgstr "%s versie %s\n" msgstr "%s versie %s\n"
#: src/tincd.c:340 #: src/tincd.c:343
msgid "" msgid ""
"Copyright (C) 1998,1999,2000 Ivo Timmermans and others,\n" "Copyright (C) 1998,1999,2000 Ivo Timmermans and others,\n"
"see the AUTHORS file for a complete list.\n" "see the AUTHORS file for a complete list.\n"
@ -832,50 +840,50 @@ msgstr ""
"zie het bestand COPYING voor details.\n" "zie het bestand COPYING voor details.\n"
"\n" "\n"
#: src/tincd.c:345 #: src/tincd.c:348
msgid "" msgid ""
"This product includes software developed by Eric Young (eay@mincom.oz.au)\n" "This product includes software developed by Eric Young (eay@mincom.oz.au)\n"
msgstr "" msgstr ""
"Dit produkt bevat programmatuur ontwikkeld door Eric Young " "Dit produkt bevat programmatuur ontwikkeld door Eric Young "
"(eay@mincom.oz.au)\n" "(eay@mincom.oz.au)\n"
#: src/tincd.c:355 #: src/tincd.c:358
msgid "You must be root to run this program. Sorry.\n" msgid "You must be root to run this program. Sorry.\n"
msgstr "" msgstr ""
"Je moet systeembeheerder zijn om dit programma te kunnen draaien. Sorry.\n" "Je moet systeembeheerder zijn om dit programma te kunnen draaien. Sorry.\n"
#: src/tincd.c:390 #: src/tincd.c:393
msgid "Got TERM signal" msgid "Got TERM signal"
msgstr "Kreeg TERM signaal" msgstr "Kreeg TERM signaal"
#: src/tincd.c:398 #: src/tincd.c:401
msgid "Got QUIT signal" msgid "Got QUIT signal"
msgstr "Kreeg QUIT signaal" msgstr "Kreeg QUIT signaal"
#: src/tincd.c:405 #: src/tincd.c:408
msgid "Got another SEGV signal: not restarting" msgid "Got another SEGV signal: not restarting"
msgstr "Kreeg nog een SEGV signaal: niet herstarten" msgstr "Kreeg nog een SEGV signaal: niet herstarten"
#: src/tincd.c:413 #: src/tincd.c:416
#, c-format #, c-format
msgid "Got SEGV signal after %s line %d, trying to re-execute" msgid "Got SEGV signal after %s line %d, trying to re-execute"
msgstr "Kreeg SEGV signaal na %s regel %d. Probeer opnieuw opstarten." msgstr "Kreeg SEGV signaal na %s regel %d, probeer opnieuw opstarten"
#: src/tincd.c:416 #: src/tincd.c:419
msgid "Got SEGV signal, trying to re-execute" msgid "Got SEGV signal, trying to re-execute"
msgstr "Kreeg SEGV signaal, probeer opnieuw opstarten" msgstr "Kreeg SEGV signaal, probeer opnieuw opstarten"
#: src/tincd.c:429 #: src/tincd.c:431
msgid "Got HUP signal" msgid "Got HUP signal, rereading configuration and restarting"
msgstr "Kreeg HUP signaal" msgstr "Kreeg HUP signaal, herlezen configuratie en herstarten"
#: src/tincd.c:439 #: src/tincd.c:439
msgid "Got INT signal" msgid "Got INT signal, exitting"
msgstr "Kreeg INT signaal" msgstr "Kreeg INT signaal, beëindigen"
#: src/tincd.c:453 #: src/tincd.c:453
msgid "Forcing new key generation" msgid "Got USR2 signal, forcing new key generation"
msgstr "Nieuwe sleutels geforceerd" msgstr "Kreeg USR2 signaal, nieuwe sleutels geforceerd"
#: src/tincd.c:461 #: src/tincd.c:461
#, c-format #, c-format
@ -886,3 +894,6 @@ msgstr "Kreeg onverwacht signaal %d na %s regel %d"
#, c-format #, c-format
msgid "Got unexpected signal %d" msgid "Got unexpected signal %d"
msgstr "Kreeg onverwacht signaal %d" msgstr "Kreeg onverwacht signaal %d"
#~ msgid "Got HUP signal"
#~ msgstr "Kreeg HUP signaal"

View file

@ -19,7 +19,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: conf.c,v 1.9.4.3 2000/06/27 20:10:47 guus Exp $ $Id: conf.c,v 1.9.4.4 2000/06/29 19:47:02 guus Exp $
*/ */
@ -36,12 +36,17 @@
#include "conf.h" #include "conf.h"
#include "netutl.h" /* for strtoip */ #include "netutl.h" /* for strtoip */
#include <utils.h> /* for cp */
#include "system.h" #include "system.h"
config_t *config; config_t *config;
int debug_lvl = 0; int debug_lvl = 0;
int timeout = 0; /* seconds before timeout */ int timeout = 0; /* seconds before timeout */
char *configfilename = NULL;
/* Will be set if HUP signal is received. It will be processed when it is safe. */
int sighup = 0;
typedef struct internal_config_t { typedef struct internal_config_t {
char *name; char *name;
@ -77,7 +82,7 @@ add_config_val(config_t **cfg, int argtype, char *val)
{ {
config_t *p, *r; config_t *p, *r;
char *q; char *q;
cp
p = (config_t*)xmalloc(sizeof(*p)); p = (config_t*)xmalloc(sizeof(*p));
p->data.val = 0; p->data.val = 0;
@ -120,6 +125,7 @@ add_config_val(config_t **cfg, int argtype, char *val)
} }
free(p); free(p);
cp
return NULL; return NULL;
} }
@ -133,7 +139,7 @@ readconfig(const char *fname, FILE *fp)
char *p, *q; char *p, *q;
int i, lineno = 0; int i, lineno = 0;
config_t *cfg; config_t *cfg;
cp
line = (char *)xmalloc(80 * sizeof(char)); line = (char *)xmalloc(80 * sizeof(char));
temp_buf = (char *)xmalloc(80 * sizeof(char)); temp_buf = (char *)xmalloc(80 * sizeof(char));
@ -188,6 +194,7 @@ readconfig(const char *fname, FILE *fp)
if(!config) if(!config)
config = cfg; config = cfg;
} }
cp
} }
/* /*
@ -197,7 +204,7 @@ int
read_config_file(const char *fname) read_config_file(const char *fname)
{ {
FILE *fp; FILE *fp;
cp
if((fp = fopen (fname, "r")) == NULL) if((fp = fopen (fname, "r")) == NULL)
{ {
fprintf(stderr, _("Could not open %s: %s\n"), fname, sys_errlist[errno]); fprintf(stderr, _("Could not open %s: %s\n"), fname, sys_errlist[errno]);
@ -208,7 +215,7 @@ read_config_file(const char *fname)
return -1; return -1;
fclose (fp); fclose (fp);
cp
return 0; return 0;
} }
@ -219,11 +226,11 @@ const config_t *
get_config_val(which_t type) get_config_val(which_t type)
{ {
config_t *p; config_t *p;
cp
for(p = config; p != NULL; p = p->next) for(p = config; p != NULL; p = p->next)
if(p->which == type) if(p->which == type)
return p; return p;
cp
/* Not found */ /* Not found */
return NULL; return NULL;
} }
@ -236,12 +243,30 @@ const config_t *
get_next_config_val(which_t type, int index) get_next_config_val(which_t type, int index)
{ {
config_t *p; config_t *p;
cp
for(p = config; p != NULL; p = p->next) for(p = config; p != NULL; p = p->next)
if(p->which == type) if(p->which == type)
if(--index < 0) if(--index < 0)
return p; return p;
cp
/* Not found */ /* Not found */
return NULL; return NULL;
} }
/*
Remove the complete configuration tree.
*/
void clear_config()
{
config_t *p, *next;
cp
for(p = config; p; p = next)
{
next = p->next;
if(p->data.ptr)
free(p->data.ptr);
free(p);
}
config = NULL;
cp
}

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: conf.h,v 1.6.4.3 2000/06/27 20:10:47 guus Exp $ $Id: conf.h,v 1.6.4.4 2000/06/29 19:47:03 guus Exp $
*/ */
#ifndef __TINC_CONF_H__ #ifndef __TINC_CONF_H__
@ -71,6 +71,8 @@ extern config_t *config;
extern int debug_lvl; extern int debug_lvl;
extern int timeout; extern int timeout;
extern int upstreamindex; extern int upstreamindex;
extern int sighup;
extern char *configfilename;
extern config_t *add_config_val(config_t **, int, char *); extern config_t *add_config_val(config_t **, int, char *);
extern int read_config_file(const char *); extern int read_config_file(const char *);

100
src/net.c
View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net.c,v 1.35.4.14 2000/06/29 17:09:05 guus Exp $ $Id: net.c,v 1.35.4.15 2000/06/29 19:47:03 guus Exp $
*/ */
#include "config.h" #include "config.h"
@ -794,7 +794,7 @@ cp
if(send_basic_info(p) < 0) if(send_basic_info(p) < 0)
{ {
free(p); free_conn_element(p);
return NULL; return NULL;
} }
cp cp
@ -904,13 +904,40 @@ cp
if(cl->status.timeout) if(cl->status.timeout)
send_timeout(cl); send_timeout(cl);
else if(!cl->status.termreq) /* else if(!cl->status.termreq)
send_termreq(cl); send_termreq(cl);
*/
close(cl->socket);
if(cl->socket)
close(cl->socket);
if(cl->status.meta) if(cl->status.meta)
close(cl->meta_socket); close(cl->meta_socket);
cl->status.remove = 1;
/* If this cl isn't active, don't send any DEL_HOSTs. */
if(cl->status.active)
notify_others(cl,NULL,send_del_host);
cp
/* Find all connections that were lost because they were behind cl
(the connection that was dropped). */
if(cl->status.meta)
for(p = conn_list; p != NULL; p = p->next)
{
if((p->nexthop == cl) && (p != cl))
{
if(cl->status.active && p->status.active)
notify_others(p,cl,send_del_host);
if(cl->socket)
close(cl->socket);
p->status.active = 0;
p->status.remove = 1;
}
}
cl->status.active = 0;
if(cl->status.outgoing) if(cl->status.outgoing)
{ {
signal(SIGALRM, sigalrm_handler); signal(SIGALRM, sigalrm_handler);
@ -918,40 +945,6 @@ cp
alarm(seconds_till_retry); alarm(seconds_till_retry);
syslog(LOG_NOTICE, _("Trying to re-establish outgoing connection in 5 seconds")); syslog(LOG_NOTICE, _("Trying to re-establish outgoing connection in 5 seconds"));
} }
cl->status.remove = 1;
/* If this cl isn't active, don't send any DEL_HOSTs. */
if(!cl->status.active)
return;
cl->status.active = 0;
notify_others(cl,NULL,send_del_host);
cp
/* Find all connections that were lost because they were behind cl
(the connection that was dropped). */
if(cl->status.meta)
for(p = conn_list; p != NULL; p = p->next)
{
if(p->nexthop == cl)
{
if(p->status.active)
notify_others(p,cl,send_del_host);
p->status.active = 0;
p->status.remove = 1;
}
}
cp
/* Then send a notification about all these connections to all hosts
that are still connected to us.
for(p = conn_list; p != NULL; p = p->next)
if(p->status.active && p->status.meta)
for(q = conn_list; q != NULL; q = q->next)
if(q->status.remove)
send_del_host(p, q);
*/
cp cp
} }
@ -1015,7 +1008,7 @@ cp
return -1; return -1;
} }
if((ncn = create_new_connection(nfd)) == NULL) if(!(ncn = create_new_connection(nfd)))
{ {
shutdown(nfd, 2); shutdown(nfd, 2);
close(nfd); close(nfd);
@ -1242,10 +1235,29 @@ cp
if((r = select(FD_SETSIZE, &fset, NULL, NULL, &tv)) < 0) if((r = select(FD_SETSIZE, &fset, NULL, NULL, &tv)) < 0)
{ {
if(errno == EINTR) /* because of alarm */ if(errno != EINTR) /* because of alarm */
continue; {
syslog(LOG_ERR, _("Error while waiting for input: %m")); syslog(LOG_ERR, _("Error while waiting for input: %m"));
return; return;
}
}
if(sighup)
{
close_network_connections();
clear_config();
if(read_config_file(configfilename))
{
syslog(LOG_ERR, _("Unable to reread configuration file, exitting"));
exit(0);
}
if(setup_network_connections())
{
syslog(LOG_ERR, _("Unable to restart, exitting"));
exit(0);
}
sighup = 0;
continue;
} }
if(last_ping_check + timeout < time(NULL)) if(last_ping_check + timeout < time(NULL))

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol.c,v 1.28.4.16 2000/06/29 17:09:06 guus Exp $ $Id: protocol.c,v 1.28.4.17 2000/06/29 19:47:03 guus Exp $
*/ */
#include "config.h" #include "config.h"
@ -391,6 +391,7 @@ cp
int basic_info_h(conn_list_t *cl) int basic_info_h(conn_list_t *cl)
{ {
conn_list_t *old;
cp cp
if(debug_lvl > 1) if(debug_lvl > 1)
syslog(LOG_DEBUG, _("Got BASIC_INFO from %s"), cl->real_hostname); syslog(LOG_DEBUG, _("Got BASIC_INFO from %s"), cl->real_hostname);
@ -413,24 +414,28 @@ cp
if(cl->status.outgoing) if(cl->status.outgoing)
{ {
/* First check if the host we connected to is already in our
connection list. If so, we are probably making a loop, which
is not desirable.
*/
if(old=lookup_conn(cl->vpn_ip))
{
if(debug_lvl>0)
syslog(LOG_NOTICE, _("Uplink %s (%s) is already in our connection list"),
cl->vpn_hostname, cl->real_hostname);
cl->status.outgoing = 0;
old->status.outgoing = 1;
terminate_connection(cl);
return 0;
}
if(setup_vpn_connection(cl) < 0) if(setup_vpn_connection(cl) < 0)
return -1; return -1;
send_basic_info(cl); send_basic_info(cl);
} }
else else
{ {
/* First check if the host we connected to is already in our
connection list. If so, we are probably making a loop, which
is not desirable. It should not happen though.
*/
if(lookup_conn(cl->vpn_ip))
{
if(debug_lvl>0)
syslog(LOG_NOTICE, _("Uplink %s (%s) is already in our connection list, aborting connect"),
cl->vpn_hostname, cl->real_hostname);
return -1;
}
if(setup_vpn_connection(cl) < 0) if(setup_vpn_connection(cl) < 0)
return -1; return -1;

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: tincd.c,v 1.10.4.4 2000/06/29 17:09:08 guus Exp $ $Id: tincd.c,v 1.10.4.5 2000/06/29 19:47:04 guus Exp $
*/ */
#include "config.h" #include "config.h"
@ -62,7 +62,7 @@ static int kill_tincd = 0;
static int do_detach = 1; static int do_detach = 1;
char *confbase = NULL; /* directory in which all config files are */ char *confbase = NULL; /* directory in which all config files are */
char *configfilename = NULL; /* configuration file name */ /* char *configfilename = NULL; /* configuration file name, moved to config.c */
char *identname; /* program name for syslog */ char *identname; /* program name for syslog */
char *netname = NULL; /* name of the vpn network */ char *netname = NULL; /* name of the vpn network */
char *pidfilename; /* pid file location */ char *pidfilename; /* pid file location */
@ -416,7 +416,6 @@ sigsegv_handler(int a)
syslog(LOG_NOTICE, _("Got SEGV signal, trying to re-execute")); syslog(LOG_NOTICE, _("Got SEGV signal, trying to re-execute"));
signal(SIGSEGV, sigsegv_square); signal(SIGSEGV, sigsegv_square);
close_network_connections(); close_network_connections();
remove_pid(pidfilename); remove_pid(pidfilename);
execvp(g_argv[0], g_argv); execvp(g_argv[0], g_argv);
@ -426,17 +425,15 @@ RETSIGTYPE
sighup_handler(int a) sighup_handler(int a)
{ {
if(debug_lvl > 0) if(debug_lvl > 0)
syslog(LOG_NOTICE, _("Got HUP signal")); syslog(LOG_NOTICE, _("Got HUP signal, rereading configuration and restarting"));
close_network_connections(); sighup = 1;
setup_network_connections();
/* FIXME: read config-file and re-establish network connections */
} }
RETSIGTYPE RETSIGTYPE
sigint_handler(int a) sigint_handler(int a)
{ {
if(debug_lvl > 0) if(debug_lvl > 0)
syslog(LOG_NOTICE, _("Got INT signal")); syslog(LOG_NOTICE, _("Got INT signal, exitting"));
cleanup_and_exit(0); cleanup_and_exit(0);
} }
@ -450,7 +447,7 @@ RETSIGTYPE
sigusr2_handler(int a) sigusr2_handler(int a)
{ {
if(debug_lvl > 1) if(debug_lvl > 1)
syslog(LOG_NOTICE, _("Forcing new key generation")); syslog(LOG_NOTICE, _("Got USR2 signal, forcing new key generation"));
regenerate_keys(); regenerate_keys();
} }