Compare commits

...

No commits in common. "c8s" and "c9s" have entirely different histories.
c8s ... c9s

22 changed files with 1 additions and 1957 deletions

View File

@ -1,2 +0,0 @@
0ef6b84a3942c45a4144f8f6412e821ab29b8ac6 SOURCES/activate-devpay.1.gz
88d820f618bcb0054b82a7955544661f99524578 SOURCES/amanda-3.5.1.tar.gz

2
.gitignore vendored
View File

@ -1,2 +0,0 @@
SOURCES/activate-devpay.1.gz
SOURCES/amanda-3.5.1.tar.gz

View File

@ -1,29 +0,0 @@
diff -up amanda-3.1.1/example/amanda-client.conf.in.tcpport amanda-3.1.1/example/amanda-client.conf.in
--- amanda-3.1.1/example/amanda-client.conf.in.tcpport 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/amanda-client.conf.in 2010-08-10 14:44:32.372879810 +0200
@@ -22,3 +22,5 @@ auth "bsdtcp"
ssh_keys "" # your ssh keys file if you use ssh auth
+#resolves "resource temporarily unavailable" bug
+unreserved-tcp-port 1025,65535
diff -up amanda-3.1.1/example/amanda-client-postgresql.conf.in.tcpport amanda-3.1.1/example/amanda-client-postgresql.conf.in
--- amanda-3.1.1/example/amanda-client-postgresql.conf.in.tcpport 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/amanda-client-postgresql.conf.in 2010-08-10 14:44:41.423755630 +0200
@@ -44,3 +44,6 @@ property "foo-PG-DATADIR" "/var/postgres
# For this example:
# archive_command = 'test ! -f /var/postgresql/archive/%f && cp %p /var/postgresql/archive/%f'
property "foo-PG-ARCHIVEDIR" "/var/postgresql/archive"
+
+#resolves "resource temporarily unavailable" bug
+unreserved-tcp-port 1025,65535
diff -up amanda-3.1.1/example/amanda.conf.in.tcpport amanda-3.1.1/example/amanda.conf.in
--- amanda-3.1.1/example/amanda.conf.in.tcpport 2010-08-10 14:43:55.640754722 +0200
+++ amanda-3.1.1/example/amanda.conf.in 2010-08-10 14:44:50.760880089 +0200
@@ -761,3 +761,6 @@ define script-tool sc-email {
# configurations.
#includefile "@CONFIG_DIR@/amanda.conf.main"
+
+#resolves "resource temporarily unavailable" bug
+unreserved-tcp-port 1025,65535

View File

@ -1,55 +0,0 @@
diff -up amanda-3.1.1/example/amanda.conf.in.xattrs amanda-3.1.1/example/amanda.conf.in
--- amanda-3.1.1/example/amanda.conf.in.xattrs 2010-08-03 14:45:25.000000000 +0200
+++ amanda-3.1.1/example/amanda.conf.in 2010-08-03 14:47:42.516753010 +0200
@@ -718,6 +718,7 @@ define interface local {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
#default from gnutar_list_dir setting in amanda-client.conf
diff -up amanda-3.1.1/example/template.d/amanda-harddisk.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-harddisk.conf.in
--- amanda-3.1.1/example/template.d/amanda-harddisk.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-harddisk.conf.in 2010-08-03 14:47:17.027752940 +0200
@@ -30,6 +30,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}
diff -up amanda-3.1.1/example/template.d/amanda-single-tape.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-single-tape.conf.in
--- amanda-3.1.1/example/template.d/amanda-single-tape.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-single-tape.conf.in 2010-08-03 14:47:21.307753002 +0200
@@ -37,6 +37,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}
diff -up amanda-3.1.1/example/template.d/amanda-S3.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-S3.conf.in
--- amanda-3.1.1/example/template.d/amanda-S3.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-S3.conf.in 2010-08-03 14:47:26.723752659 +0200
@@ -38,6 +38,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}
diff -up amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in.xattrs amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in
--- amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in.xattrs 2010-06-29 19:09:55.000000000 +0200
+++ amanda-3.1.1/example/template.d/amanda-tape-changer.conf.in 2010-08-03 14:47:30.827752997 +0200
@@ -37,6 +37,7 @@ define dumptype global {
define application-tool app_amgtar {
comment "amgtar"
plugin "amgtar"
+ property "XATTRS" "YES"
#property "GNUTAR-PATH" "/path/to/gtar"
#property "GNUTAR-LISTDIR" "/path/to/gnutar_list_dir"
}

View File

@ -1,19 +0,0 @@
diff --git a/example/amanda.conf.in b/example/amanda.conf.in
index 5c6ced7..721d683 100644
--- a/example/amanda.conf.in
+++ b/example/amanda.conf.in
@@ -225,10 +225,10 @@ holdingdisk hd1 {
# Note that, although the keyword below is infofile, it is only so for
# historic reasons, since now it is supposed to be a directory (unless
# you have selected some database format other than the `text' default)
-infofile "@CONFIG_DIR@/@DEFAULT_CONFIG@/curinfo" # database DIRECTORY
-logdir "@CONFIG_DIR@/@DEFAULT_CONFIG@" # log directory
-indexdir "@CONFIG_DIR@/@DEFAULT_CONFIG@/index" # index directory
-#tapelist "@CONFIG_DIR@/@DEFAULT_CONFIG@/tapelist" # list of used tapes
+infofile "/var/lib/amanda/@DEFAULT_CONFIG@/curinfo" # database DIRECTORY
+logdir "/var/lib/amanda/@DEFAULT_CONFIG@" # log directory
+indexdir "/var/lib/amanda/@DEFAULT_CONFIG@/index" # index directory
+tapelist "/var/lib/amanda/@DEFAULT_CONFIG@/tapelist" # list of used tapes
# tapelist is stored, by default, in the directory that contains amanda.conf
# tapetypes

View File

@ -1,12 +0,0 @@
diff --git a/server-src/amserverconfig.pl b/server-src/amserverconfig.pl
index 5748dfc..18f59f0 100755
--- a/server-src/amserverconfig.pl
+++ b/server-src/amserverconfig.pl
@@ -656,7 +656,6 @@ if ( defined $template ) {
&create_customconf;
}
-&check_xinetd;
&build_amanda_ssh_key;
if ( $vtape_err ) {

View File

@ -1,102 +0,0 @@
diff --git a/client-src/rundump.c b/client-src/rundump.c
index bba569984..85962d11c 100644
--- a/client-src/rundump.c
+++ b/client-src/rundump.c
@@ -43,6 +43,16 @@ int main(int argc, char **argv);
static void validate_dump_option(int argc, char ** argv);
static void validate_xfsdump_options(int argc, char ** argv);
+/*
+ * Has USE_RUNDUMP been explicitly requsted?
+ * If not, we will not use rundump for DUMP,
+ * although we sill may need to use it for
+ * VDUMP or XFSDUMP
+ */
+#if defined(USE_RUNDUMP)
+# define USE_RUNDUMP_FOR_DUMP
+#endif
+
#if defined(VDUMP) || defined(XFSDUMP)
# undef USE_RUNDUMP
# define USE_RUNDUMP
@@ -138,9 +148,10 @@ main(
#ifdef XFSDUMP
- if (g_str_equal(argv[0], "xfsdump"))
+ if (g_str_equal(argv[0], "xfsdump")) {
dump_program = XFSDUMP;
- else /* strcmp(argv[0], "xfsdump") != 0 */
+ validate_xfsdump_options(argc, argv);
+ } else /* strcmp(argv[0], "xfsdump") != 0 */
#endif
@@ -160,9 +171,14 @@ main(
#endif
+ {
#if defined(DUMP)
+# if defined(USE_RUNDUMP_FOR_DUMP)
dump_program = DUMP;
validate_dump_option(argc, argv);
+# else
+ error("error [%s not running %s : run it directly]\n", get_pname(), DUMP);
+# endif
#else
# if defined(XFSDUMP)
dump_program = XFSDUMP;
@@ -176,6 +192,7 @@ main(
# endif
# endif
#endif
+ }
/*
@@ -197,6 +214,24 @@ main(
amfree(cmdline);
env = safe_env();
+ //Filter or Discard RSH Environmental variable
+ int env_count = 0;
+ for (int i = 0; env[i] != NULL; i++){
+ env_count++;
+ }
+ for (int i = 0; i < env_count; i++){
+ if (strncmp(env[i], "RSH=", 4) == 0){
+ // Remove RSH
+ g_free(env[i]);
+ // move array elements one step left - which are after "RSH"
+ for (int j = i; j < env_count; j++){
+ env[j] = env[j + 1];
+ }
+ //decrease the variable count
+ env[env_count-1] = NULL;
+ break;
+ }
+ }
execve(dump_program, argv, env);
free_env(env);
diff --git a/client-src/runtar.c b/client-src/runtar.c
index 499c7dfec..880068bc4 100644
--- a/client-src/runtar.c
+++ b/client-src/runtar.c
@@ -191,9 +191,13 @@ main(
g_str_has_prefix(argv[i],"--newer") ||
g_str_has_prefix(argv[i],"--exclude-from") ||
g_str_has_prefix(argv[i],"--files-from")) {
- good_option++;
+ if (strchr(argv[i], '=')) {
+ good_option++;
+ } else {
+ /* Accept theses options with the following argument */
+ good_option += 2;
+ }
} else if (argv[i][0] != '-') {
- /* argument values are accounted for here */
good_option++;
}
}

View File

@ -1,175 +0,0 @@
From e890d08e16ea0621966a7ae35cce53ccb44a472e Mon Sep 17 00:00:00 2001
From: seetharaman-rajagopal <seetharaman.chn@gmail.com>
Date: Mon, 13 Feb 2023 08:14:04 +0000
Subject: [PATCH] CVE-2022-37704 - privilege escaltion form amandabackup user
to root -fix
---
client-src/rundump.c | 135 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 135 insertions(+)
diff --git a/client-src/rundump.c b/client-src/rundump.c
index 0b354d70bf..bba5699847 100644
--- a/client-src/rundump.c
+++ b/client-src/rundump.c
@@ -40,6 +40,8 @@
#include "conffile.h"
int main(int argc, char **argv);
+static void validate_dump_option(int argc, char ** argv);
+static void validate_xfsdump_options(int argc, char ** argv);
#if defined(VDUMP) || defined(XFSDUMP)
# undef USE_RUNDUMP
@@ -160,14 +162,17 @@ main(
#if defined(DUMP)
dump_program = DUMP;
+ validate_dump_option(argc, argv);
#else
# if defined(XFSDUMP)
dump_program = XFSDUMP;
+ validate_xfsdump_options(argc, argv);
# else
# if defined(VXDUMP)
dump_program = VXDUMP;
# else
dump_program = "dump";
+ validate_dump_option(argc, argv);
# endif
# endif
#endif
@@ -203,3 +208,133 @@ main(
return 1;
#endif /* } */
}
+
+void validate_dump_option(int argc, char ** argv)
+{
+ int c;
+ int numargs = argc;
+ while (numargs > 0)
+ {
+ c = getopt(argc, argv, "0123456789ab:cd:e:f:h:j:kmnqs:uvwyz:A:B:D:I:L:MQ:ST:W");
+ switch (c) {
+ case -1:
+ optind++;
+ break;
+ case '?':
+ //option is not valid
+ error("error [%s invalid option: %s]\n", get_pname(), argv[optind-1]);
+ break;
+ // All this options takes another argument
+ case 'b':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'h':
+ case 'j':
+ case 's':
+ case 'z':
+ case 'A':
+ case 'B':
+ case 'D':
+ case 'I':
+ case 'L':
+ case 'Q':
+ case 'T':
+ {
+ // get optarg and check it against NULL. If it is null, then return error.
+ if (optarg == NULL) {
+ error ("error [%s additional parameter is missing for option: %c]\n", get_pname(), c);
+ }
+ break;
+ }
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'a':
+ case 'c':
+ case 'k':
+ case 'm':
+ case 'n':
+ case 'q':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'y':
+ case 'M':
+ case 'S':
+ case 'W':
+ {
+ break;
+ }
+ default:
+ error ("error [%s invalid option: %c]\n", get_pname(), c);
+ break;
+ }
+ numargs--;
+ }
+}
+
+void validate_xfsdump_options(int argc, char ** argv)
+{
+ int c;
+ int numargs = argc;
+ while (numargs > 0)
+ {
+ c = getopt(argc, argv, "ab:d:ef:l:mop:qs:t:v:z:AB:DFI:JL:M:RT");
+ switch (c) {
+ case -1:
+ optind++;
+ break;
+ case '?':
+ //option is not valid
+ error ("error [%s invalid option: %s]\n", get_pname(), argv[optind-1]);
+ break;
+ // All this options takes another argument
+ case 'b':
+ case 'd':
+ case 'f':
+ case 'l':
+ case 'p':
+ case 's':
+ case 't':
+ case 'v':
+ case 'z':
+ case 'B':
+ case 'I':
+ case 'L':
+ case 'M':
+ {
+ // get optarg and check it against NULL. If it is null, then return error.
+ if (optarg == NULL) {
+ error ("error [%s additional parameter is missing for option: %c]\n", get_pname(), c);
+ }
+ break;
+ }
+ case 'a':
+ case 'e':
+ case 'm':
+ case 'o':
+ case 'q':
+ case 'A':
+ case 'D':
+ case 'F':
+ case 'J':
+ case 'R':
+ case 'T':
+ {
+ break;
+ }
+ default:
+ error ("error [%s invalid option: %c]\n", get_pname(), c);
+ break;
+ }
+ numargs--;
+ }
+}

View File

@ -1,26 +0,0 @@
From ed37ddf8421e34a255eaedfc1e9c3a3f9d454b95 Mon Sep 17 00:00:00 2001
From: Prajwal T R <prajwaltr93@gmail.com>
Date: Thu, 22 Dec 2022 10:37:30 -0700
Subject: [PATCH] fix : fix increment logic for good_option
- for arguements of type --file=x or --file x, fixed logic while incrementing value.
---
client-src/runtar.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/client-src/runtar.c b/client-src/runtar.c
index d04a1385f6..499c7dfecb 100644
--- a/client-src/runtar.c
+++ b/client-src/runtar.c
@@ -191,9 +191,9 @@ main(
g_str_has_prefix(argv[i],"--newer") ||
g_str_has_prefix(argv[i],"--exclude-from") ||
g_str_has_prefix(argv[i],"--files-from")) {
- /* Accept theses options with the following argument */
- good_option += 2;
+ good_option++;
} else if (argv[i][0] != '-') {
+ /* argument values are accounted for here */
good_option++;
}
}

View File

@ -1,9 +0,0 @@
[Unit]
Description=Amanda Backup System
After=local-fs.target
[Service]
User=amandabackup
Group=disk
ExecStart=/usr/sbin/amandad -auth=bsd amdump amindexd amidxtaped
StandardInput=socket

View File

@ -1,9 +0,0 @@
[Unit]
Description=Amanda Activation Socket
[Socket]
Service=amanda-udp.service
ListenDatagram=10080
[Install]
WantedBy=sockets.target

View File

@ -1,9 +0,0 @@
# This is an example for a crontab entry for automated backup with amanda
# With these cron lines, Amanda will check that the correct tape is in
# the drive every weekday afternoon at 4pm (if it isn't, all the
# operators will get mail). At 12:45am that night the dumps will be run.
#
# This should be put in user operator's crontab
#
0 16 * * 1-5 /usr/sbin/amcheck -m DailySet1
45 0 * * 2-6 /usr/sbin/amdump DailySet1

View File

@ -1,9 +0,0 @@
[Unit]
Description=Amanda Activation Socket
[Socket]
ListenStream=10080
Accept=true
[Install]
WantedBy=sockets.target

View File

@ -1,9 +0,0 @@
[Unit]
Description=Amanda Backup System
After=local-fs.target
[Service]
User=amandabackup
Group=disk
ExecStart=/usr/sbin/amandad -auth=bsdtcp amdump amindexd amidxtaped
StandardInput=socket

View File

@ -1,29 +0,0 @@
# Allow access to amanda over the network. See 'man amanda'
# 'ambackup' connects to 'amandad'. If your 'disklist' is correctly
# set up, i.e. if it does not use 'localhost' but the fully qualified
# domain name (FQDN) of the target machine, then you must put
# the FQDN here. 'ambackup' must be run by user 'amandabackup', so we allow
# access by user 'amandabackup'. Do not forget to add an 'only_from' line to
# '/etc/xinet.d/amanda' to allow access to 'amandad' only from known
# IP addresses.
# replace mymachine.mydomain by the correct value and uncomment
# mymachine.mydomain amandabackup
# 'amrecover' connects to 'amandaidx', which uses the fully qualified
# domain name when access is done from another machine. 'amrecover'
# must be run by user 'root', so we allow access by user 'root'.
# replace mymachine.mydomain by the correct value and uncomment
# mymachine.mydomain root
# 'amrecover' connects to 'amandaidx', which uses the bare machine
# name w/o domain name when access is done from the same machine.
# 'amrecover' must be run by user 'root', so we allow access by user
# 'root'.
# replace mymachine by the correct value and uncomment
# mymachine root

View File

@ -1,69 +0,0 @@
# sample Amanda2 disklist file, derived from CS.UMD.EDU's disklist
#
# If your configuration is called, say, "csd2", then this file normally goes
# in /etc/amanda/csd2/disklist.
#
# File format is:
#
# hostname diskdev dumptype
#
# where the dumptypes are defined by you in amanda.conf.
# At our site, root partitions have a different dumptype because they
# are of lower priority; they don't contain user data, and don't change
# much from the department prototype. In a crunch, they can be left for
# last or skipped.
## A SPARCstation 1+
#salty sd0a comp-root
#salty sd0g comp-user
#salty sd1g comp-user
#salty sd2a comp-root
#salty sd2g comp-user
#salty sd3c comp-user
#
## A DECstation 3100
#slithy rz1a comp-root
#slithy rz1g comp-user
#slithy rz3a comp-root
#slithy rz3g comp-user
#
## We don't run compression on the master host since it is going to be
## busy enough running amanda.
#master sd0a nocomp-root -1 local
#master sd0g nocomp-user -1 local
## note: -1 is a placeholder for the spindle number
## the holding disk can't be dumped to itself, it uses a disktype that
## specifies the "no-hold" option (see amanda.conf).
#master sd1c holding-disk -1 local
#
## The chairman's disk is high priority to make sure it gets done.
#bigwig sd0a comp-root
#bigwig sd0g comp-high
## Likewise the named databases in the root partition on our primary
## nameserver. Also, compression is turned off because we don't want
## to create any unnecessary load on this baby (it's only a Sun3).
#bozo sd0a nocomp-high
#bozo sd0g nocomp-user
#bozo sd4c nocomp-user
#
## Dump Joe's NetBSD machine, with the mounted MS-DOS partition dumped
## using tar.
#joespc wd0a comp-root
#joespc wd0e comp-user
#joespc /msdos comp-user-tar
#
## Some really slow machines, like Sun2's and some Vaxstations, take
## forever to compress their dumps: it's just not worth it.
#
## A Sun2
#cleo sd0a nocomp-root
#cleo sd0g nocomp-user
## A VaxStation
#susie rz8a nocomp-root
#susie rz8g nocomp-user
#
## and so on ... well, you get the idea
localhost /etc comp-root-tar

View File

@ -1,9 +0,0 @@
[Unit]
Description=Amanda Kerberos Activation Socket
[Socket]
ListenStream=10082
Accept=true
[Install]
WantedBy=sockets.target

View File

@ -1,9 +0,0 @@
[Unit]
Description=Amanda Backup System
After=local-fs.target
[Service]
User=root
Group=disk
ExecStart=/usr/sbin/amandad -auth=krb5 amdump amindexd amidxtaped
StandardInput=socket

View File

@ -1,36 +0,0 @@
.\" This file 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 file; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston,
.\" MA 02111-1307 USA
.\"
.\" HISTORY:
.\" 2006-05-16, created by Rodrigo Rubira Branco <rrbranco@br.ibm.com>
.TH killpgrp 8 "May 16, 2006" "User Manuals" "User Manuals"
.SH NAME
killpgrp \- kill all processes in the same process group
.SH SYNOPSIS
.nf
.fam C
\fBkillpgrp\fP
.fam T
.fi
.SH DESCRIPTION
Kills all processes in its process group when a process group leader is killed.
.PP
This program needs to be called by the client uid defined in amanda, and is used to kill VDUMP, VXDUMP, and XFSDUMP in a safe manner. It is called by sendsize, the amanda client software.
.PP
killpgrp send a SIGTERM to all processes in its process group. If a process in the group does not exit after three seconds
and does not answer, killpgp will send a SIGKILL.
.SH OPTIONS
\fBkillpgrp\fP takes no arguments.
.SH SECURITY
\fBkillpgrp\fP needs to be setuid root unless amanda is compiled with DONT_SUID_ROOT.
.SH SEE ALSO
\fBamanda\fP(8)
.SH AUTHOR
Manpage written by Rodrigo Rubira Branco <rrbranco@br.ibm.com>

View File

@ -1,100 +0,0 @@
diff --git a/config/amanda/amanda_configure.m4 b/config/amanda/amanda_configure.m4
index 5b427ae..f90810f 100644
--- a/config/amanda/amanda_configure.m4
+++ b/config/amanda/amanda_configure.m4
@@ -18,7 +18,6 @@ AC_PREREQ(2.64)
# Take care of some early Amanda-specific setup
#
AMANDA_CONFIGURE_ARGS
-AMANDA_INIT_SUMMARY
AMANDA_SNAPSHOT_STAMP
AMANDA_SPLIT_VERSION
AMANDA_CONFIG_LOCAL
diff --git a/config/amanda/components.m4 b/config/amanda/components.m4
index f2a07db..7628453 100644
--- a/config/amanda/components.m4
+++ b/config/amanda/components.m4
@@ -186,7 +186,21 @@ AC_DEFUN([AMANDA_WITHOUT_NDMP], [
n | no) WANT_NDMP=false;;
*) AC_MSG_ERROR([You must not supply an argument to --with-ndmp option.]) ;;
esac
- ])
+ ])
+ AC_CHECK_HEADERS(rpc/rpc.h, HAVE_RPC_RPC_H=1)
+ if test x"$WANT_NDMP" = x"true"; then
+ if test x"$HAVE_RPC_RPC_H" = x"1"; then
+ WANT_NDMP=true
+ else
+ AMANDA_CHECK_TIRPC
+ if test x"$HAVE_RPC_RPC_H" = x"1"; then
+ WANT_NDMP=true
+ else
+ WANT_NDMP=false
+ AMANDA_MSG_WARN([Disabling NDMP because rpc/rpc.h is not found])
+ fi
+ fi
+ fi
])
# SYNOPSIS
diff --git a/config/amanda/libs.m4 b/config/amanda/libs.m4
index 0388c9b..a640557 100644
--- a/config/amanda/libs.m4
+++ b/config/amanda/libs.m4
@@ -183,6 +183,44 @@ AC_DEFUN([AMANDA_CHECK_GLIB], [
AMANDA_ADD_LIBS($GLIB_LIBS)
])
+# SYNOPSIS
+#
+# AMANDA_CHECK_TIRPC
+#
+# OVERVIEW
+#
+# Search for tirpc.
+#
+AC_DEFUN([AMANDA_CHECK_TIRPC],
+[
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, [], $LOCSYSPATH:/opt/csw/bin:/usr/local/bin:/opt/local/bin)
+
+ tirpc_ld_flags=`$PKG_CONFIG libtirpc --libs-only-L 2>/dev/null`
+ tirpc_lib_flags=`$PKG_CONFIG libtirpc --libs-only-l --libs-only-other 2>/dev/null`
+ tirpc_cppflags=`$PKG_CONFIG libtirpc --cflags-only-I 2>/dev/null`
+ tirpc_cflags=`$PKG_CONFIG libtirpc --cflags-only-other 2>/dev/null`
+
+ _libtirpc_save_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $tirpc_cppflags"
+ _libtirpc_save_libs=$LIBS
+ LIBS="$LIBS $tirpc_lib_flags"
+
+ unset HAVE_RPC_RPC_H
+ unset ac_cv_header_rpc_rpc_h
+ AC_CHECK_HEADERS(rpc/rpc.h, HAVE_RPC_RPC_H=1)
+
+ CPPFLAGS=$_libtirpc_save_cppflags
+ LIBS=$_libtirpc_save_libs
+
+ if test x"$HAVE_RPC_RPC_H" = x"1"; then
+ AMANDA_ADD_LDFLAGS($tirpc_ld_flags)
+ AMANDA_ADD_LIBS($tirpc_lib_flags)
+
+ AMANDA_ADD_CPPFLAGS($tirpc_cppflags)
+ AMANDA_ADD_CFLAGS($tirpc_cflags)
+ fi
+])
+
# LIBCURL_CHECK_CONFIG is from the libcurl
# distribution and licensed under the BSD license:
# Copyright (c) 1996 - 2007, Daniel Stenberg, <daniel@haxx.se>.
diff --git a/configure.ac b/configure.ac
index 89c4890..8d325b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,6 +13,7 @@ AMANDA_VERSION
gl_EARLY
gl_INIT
+AMANDA_INIT_SUMMARY
AMANDA_CONFIGURE
AC_DEFINE([USE_GETTEXT], 1, [Define to 1 if files will be processed with gettextize])

File diff suppressed because it is too large Load Diff

1
dead.package Normal file
View File

@ -0,0 +1 @@
amanda package is retired on c9s for CS-567