Richard,
Could you try this simpler patch instead of the previous one?
Jean-Louis
Richard Stockton wrote:
OS: FreeBSD 6.2
amcheck displays this;
====================================================================
Amanda Tape Server Host Check
-----------------------------
ERROR: Cannot resolve `localhost': Invalid value for ai_flags
read label `VOL130', date `20070504193456'
NOTE: skipping tape-writable test
Tape VOL130 label ok
NOTE: conf info dir /work/amanda/bak13/curinfo does not exist
NOTE: it will be created on the next run.
NOTE: index dir /work/amanda/bak13/index does not exist
NOTE: it will be created on the next run.
Server check took 0.081 seconds
Amanda Backup Client Hosts Check
--------------------------------
WARNING: bak-05: selfcheck request failed: getaddrinfo(bak-05):
Invalid value for ai_flags
Client check: 1 host checked in 10.003 seconds, 1 problem found
(brought to you by Amanda 2.5.2)
======================================================================
My /etc/hosts file looks like this;
======================================================================
::1 localhost.adhost.com localhost
127.0.0.1 localhost.adhost.com localhost
10.211.1.105 bak-05.adhost.com bak-05
10.211.1.105 bak-05.adhost.com.
=======================================================================
So why is amanda unable to resolve "localhost"?
TIA.
- Richard
diff -u -r --show-c-function --new-file
--exclude-from=/home/martinea/src.orig/amanda.diff
--ignore-matching-lines='$Id:' amanda-2.5.2/common-src/bsd-security.c
amanda-2.5.2.ai_flags/common-src/bsd-security.c
--- amanda-2.5.2/common-src/bsd-security.c 2007-04-28 16:37:55.000000000
-0400
+++ amanda-2.5.2.ai_flags/common-src/bsd-security.c 2007-05-04
14:02:46.000000000 -0400
@@ -165,6 +165,7 @@ bsd_connect(
result = getaddrinfo(hostname, NULL, &hints, &res);
#ifdef WORKING_IPV6
if (result != 0) {
+ hints.ai_flags = AI_CANONNAME;
hints.ai_family = AF_UNSPEC;
result = getaddrinfo(hostname, NULL, &hints, &res);
}
diff -u -r --show-c-function --new-file
--exclude-from=/home/martinea/src.orig/amanda.diff
--ignore-matching-lines='$Id:' amanda-2.5.2/common-src/bsdtcp-security.c
amanda-2.5.2.ai_flags/common-src/bsdtcp-security.c
--- amanda-2.5.2/common-src/bsdtcp-security.c 2007-04-03 09:08:41.000000000
-0400
+++ amanda-2.5.2.ai_flags/common-src/bsdtcp-security.c 2007-05-04
14:02:34.000000000 -0400
@@ -139,6 +139,13 @@ bsdtcp_connect(
hints.ai_canonname = NULL;
hints.ai_next = NULL;
result = getaddrinfo(hostname, NULL, &hints, &res);
+#ifdef WORKING_IPV6
+ if (result != 0) {
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_UNSPEC;
+ result = getaddrinfo(hostname, NULL, &hints, &res);
+ }
+#endif
if(result != 0) {
dbprintf(("getaddrinfo(%s): %s\n", hostname, gai_strerror(result)));
security_seterror(&rh->sech, "getaddrinfo(%s): %s\n", hostname,
diff -u -r --show-c-function --new-file
--exclude-from=/home/martinea/src.orig/amanda.diff
--ignore-matching-lines='$Id:' amanda-2.5.2/common-src/bsdudp-security.c
amanda-2.5.2.ai_flags/common-src/bsdudp-security.c
--- amanda-2.5.2/common-src/bsdudp-security.c 2007-04-28 16:37:55.000000000
-0400
+++ amanda-2.5.2.ai_flags/common-src/bsdudp-security.c 2007-05-04
14:02:52.000000000 -0400
@@ -145,6 +145,7 @@ bsdudp_connect(
result = getaddrinfo(hostname, NULL, &hints, &res);
#ifdef WORKING_IPV6
if (result != 0) {
+ hints.ai_flags = AI_CANONNAME;
hints.ai_family = AF_UNSPEC;
result = getaddrinfo(hostname, NULL, &hints, &res);
}
diff -u -r --show-c-function --new-file
--exclude-from=/home/martinea/src.orig/amanda.diff
--ignore-matching-lines='$Id:' amanda-2.5.2/common-src/krb5-security.c
amanda-2.5.2.ai_flags/common-src/krb5-security.c
--- amanda-2.5.2/common-src/krb5-security.c 2007-04-10 09:06:11.000000000
-0400
+++ amanda-2.5.2.ai_flags/common-src/krb5-security.c 2007-05-04
14:03:08.000000000 -0400
@@ -273,6 +273,13 @@ krb5_connect(
hints.ai_canonname = NULL;
hints.ai_next = NULL;
result = getaddrinfo(hostname, NULL, &hints, &res);
+#ifdef WORKING_IPV6
+ if (result != 0) {
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_UNSPEC;
+ result = getaddrinfo(hostname, NULL, &hints, &res);
+ }
+#endif
if(result != 0) {
dbprintf(("krb5_connect: getaddrinfo(%s): %s\n", hostname,
gai_strerror(result)));
security_seterror(&rh->sech, "getaddrinfo(%s): %s\n", hostname,
diff -u -r --show-c-function --new-file
--exclude-from=/home/martinea/src.orig/amanda.diff
--ignore-matching-lines='$Id:' amanda-2.5.2/server-src/amcheck.c
amanda-2.5.2.ai_flags/server-src/amcheck.c
--- amanda-2.5.2/server-src/amcheck.c 2007-04-27 07:04:00.000000000 -0400
+++ amanda-2.5.2.ai_flags/server-src/amcheck.c 2007-05-04 14:06:52.000000000
-0400
@@ -685,7 +685,15 @@ start_server_check(
hints.ai_addr = NULL;
hints.ai_canonname = NULL;
hints.ai_next = NULL;
- if ((res = getaddrinfo("localhost", NULL, &hints, &gaires)) != 0) {
+ res = getaddrinfo("localhost", NULL, &hints, &gaires);
+#ifdef WORKING_IPV6
+ if (res != 0) {
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_UNSPEC;
+ res = getaddrinfo("localhost", NULL, &hints, &gaires);
+ }
+#endif
+ if (res != 0) {
fprintf(outf, _("ERROR: Cannot resolve `localhost': %s\n"),
gai_strerror(res));
}
if (gaires) freeaddrinfo(gaires);
diff -u -r --show-c-function --new-file
--exclude-from=/home/martinea/src.orig/amanda.diff
--ignore-matching-lines='$Id:' amanda-2.5.2/server-src/dumper.c
amanda-2.5.2.ai_flags/server-src/dumper.c
--- amanda-2.5.2/server-src/dumper.c 2007-04-13 10:10:19.000000000 -0400
+++ amanda-2.5.2.ai_flags/server-src/dumper.c 2007-05-04 14:07:09.000000000
-0400
@@ -477,7 +477,15 @@ main(
hints.ai_addr = NULL;
hints.ai_canonname = NULL;
hints.ai_next = NULL;
- if ((res = getaddrinfo("localhost", NULL, &hints, &gaires)) != 0) {
+ res = getaddrinfo("localhost", NULL, &hints, &gaires);
+#ifdef WORKING_IPV6
+ if (res != 0) {
+ hints.ai_flags = AI_CANONNAME;
+ hints.ai_family = AF_UNSPEC;
+ res = getaddrinfo("localhost", NULL, &hints, &gaires);
+ }
+#endif
+ if (res != 0) {
errstr = newvstralloc(errstr,
_("could not resolve localhost: "),
gai_strerror(res), NULL);
|