* Some old and probably unused code has been removed, notably the pppgetpass program and the passprompt plugin, and some of the files in the sample and scripts directories. * If a remote number has been set, it is available to scripts in the REMOTENUMBER environment variable. * Various other bug fixes and minor enhancements. - Obsoleted patches: * ppp-fix-bashisms.patch - Update to version 2.5.1: * Pppd can now measure and log the round-trip time (RTT) of LCP echo-requests and record them in a binary file structured as a circular buffer. Other programs or scripts can examine the file and provide real-time statistics on link latency. This is enabled by a new "lcp-rtt-file" option. * New scripts net-init, net-pre-up and net-down are executed in the process of bringing the network interface up and down. They provide additional, more deterministic ways for pppd to interact with the rest of the networking configuration. * New options have been added to allow the system administrator to set the location of various scripts and secrets files. * A new "noresolvconf" option tells pppd not to write the /etc/ppp/resolv.conf file; DNS server addresses, if obtained from the peer, are still passed to scripts in the environment. * Pppd will now create the directory for the TDB connection database if it doesn't already exist. - Obsoleted patches: * ppp-mkdir-run.patch * ppp-pidfiles.patch OBS-URL: https://build.opensuse.org/package/show/network/ppp?expand=0&rev=86
454 lines
16 KiB
Diff
454 lines
16 KiB
Diff
From b0e7307b3569a5dad0f2606d2736cc8317851598 Mon Sep 17 00:00:00 2001
|
|
From: Dominique Martinet <dominique.martinet@atmark-techno.com>
|
|
Date: Wed, 30 Aug 2023 11:46:01 +0900
|
|
Subject: [PATCH 1/2] utils: add mkdir_recursive
|
|
|
|
This will be used in the next commit.
|
|
|
|
A test file for utils has also been added to check mkdir works as
|
|
intended.
|
|
|
|
Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com>
|
|
---
|
|
pppd/Makefile.am | 6 ++
|
|
pppd/pppd-private.h | 1 +
|
|
pppd/utils.c | 82 ++++++++++++++++++++++++++
|
|
pppd/utils_utest.c | 139 ++++++++++++++++++++++++++++++++++++++++++++
|
|
4 files changed, 228 insertions(+)
|
|
create mode 100644 pppd/utils_utest.c
|
|
|
|
--- pppd/Makefile.am.orig
|
|
+++ pppd/Makefile.am
|
|
@@ -20,6 +20,12 @@ utest_pppcrypt_LDFLAGS =
|
|
|
|
check_PROGRAMS += utest_crypto
|
|
|
|
+utest_utils_SOURCES = utils.c utils_utest.c
|
|
+utest_utils_CPPFLAGS = -DUNIT_TEST
|
|
+utest_utils_LDFLAGS =
|
|
+
|
|
+check_PROGRAMS += utest_utils
|
|
+
|
|
if WITH_SRP
|
|
sbin_PROGRAMS += srp-entry
|
|
dist_man8_MANS += srp-entry.8
|
|
--- pppd/pppd-private.h.orig
|
|
+++ pppd/pppd-private.h
|
|
@@ -437,6 +437,7 @@ int sifproxyarp(int, u_int32_t);
|
|
int cifproxyarp(int, u_int32_t);
|
|
/* Delete proxy ARP entry for peer */
|
|
u_int32_t GetMask(u_int32_t); /* Get appropriate netmask for address */
|
|
+int mkdir_recursive(const char *); /* Recursively create directory */
|
|
int lock(char *); /* Create lock file for device */
|
|
int relock(int); /* Rewrite lock file with new pid */
|
|
void unlock(void); /* Delete previously-created lock file */
|
|
--- pppd/utils.c.orig
|
|
+++ pppd/utils.c
|
|
@@ -781,6 +781,88 @@ complete_read(int fd, void *buf, size_t
|
|
}
|
|
#endif
|
|
|
|
+/*
|
|
+ * mkdir_check - helper for mkdir_recursive, creates a directory
|
|
+ * but do not error on EEXIST if and only if entry is a directory
|
|
+ * The caller must check for errno == ENOENT if appropriate.
|
|
+ */
|
|
+static int
|
|
+mkdir_check(const char *path)
|
|
+{
|
|
+ struct stat statbuf;
|
|
+
|
|
+ if (mkdir(path, 0755) >= 0)
|
|
+ return 0;
|
|
+
|
|
+ if (errno == EEXIST) {
|
|
+ if (stat(path, &statbuf) < 0)
|
|
+ /* got raced? */
|
|
+ return -1;
|
|
+
|
|
+ if ((statbuf.st_mode & S_IFMT) == S_IFDIR)
|
|
+ return 0;
|
|
+
|
|
+ /* already exists but not a dir, treat as failure */
|
|
+ errno = EEXIST;
|
|
+ return -1;
|
|
+ }
|
|
+
|
|
+ return -1;
|
|
+}
|
|
+
|
|
+/*
|
|
+ * mkdir_parent - helper for mkdir_recursive, modifies the string in place
|
|
+ * Assumes mkdir(path) already failed, so it first creates the parent then
|
|
+ * full path again.
|
|
+ */
|
|
+static int
|
|
+mkdir_parent(char *path)
|
|
+{
|
|
+ char *slash;
|
|
+ int rc;
|
|
+
|
|
+ slash = strrchr(path, '/');
|
|
+ if (!slash)
|
|
+ return -1;
|
|
+
|
|
+ *slash = 0;
|
|
+ if (mkdir_check(path) < 0) {
|
|
+ if (errno != ENOENT) {
|
|
+ *slash = '/';
|
|
+ return -1;
|
|
+ }
|
|
+ if (mkdir_parent(path) < 0) {
|
|
+ *slash = '/';
|
|
+ return -1;
|
|
+ }
|
|
+ }
|
|
+ *slash = '/';
|
|
+
|
|
+ return mkdir_check(path);
|
|
+}
|
|
+
|
|
+/*
|
|
+ * mkdir_recursive - recursively create directory if it didn't exist
|
|
+ */
|
|
+int
|
|
+mkdir_recursive(const char *path)
|
|
+{
|
|
+ char *copy;
|
|
+ int rc;
|
|
+
|
|
+ // optimistically try on full path first to avoid allocation
|
|
+ if (mkdir_check(path) == 0)
|
|
+ return 0;
|
|
+
|
|
+ copy = strdup(path);
|
|
+ if (!copy)
|
|
+ return -1;
|
|
+
|
|
+ rc = mkdir_parent(copy);
|
|
+ free(copy);
|
|
+ return rc;
|
|
+}
|
|
+
|
|
/* Procedures for locking the serial device using a lock file. */
|
|
static char lock_file[MAXPATHLEN];
|
|
|
|
--- /dev/null
|
|
+++ pppd/utils_utest.c
|
|
@@ -0,0 +1,139 @@
|
|
+#include <fcntl.h>
|
|
+#include <string.h>
|
|
+#include <sys/stat.h>
|
|
+#include <unistd.h>
|
|
+
|
|
+#include "pppd-private.h"
|
|
+
|
|
+/* globals used in test.c... */
|
|
+int debug = 1;
|
|
+int error_count;
|
|
+int unsuccess;
|
|
+
|
|
+/* check if path exists and returns its type */
|
|
+static int
|
|
+file_type(char *path)
|
|
+{
|
|
+ struct stat statbuf;
|
|
+
|
|
+ if (stat(path, &statbuf) < 0)
|
|
+ return -1;
|
|
+
|
|
+ return statbuf.st_mode & S_IFMT;
|
|
+}
|
|
+
|
|
+int
|
|
+test_simple() {
|
|
+ if (mkdir_recursive("dir"))
|
|
+ return -1;
|
|
+
|
|
+ if (file_type("dir") != S_IFDIR)
|
|
+ return -1;
|
|
+
|
|
+ rmdir("dir");
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+int
|
|
+test_recurse() {
|
|
+ if (mkdir_recursive("dir/subdir/subsubdir"))
|
|
+ return -1;
|
|
+
|
|
+ if (file_type("dir/subdir/subsubdir") != S_IFDIR)
|
|
+ return -1;
|
|
+
|
|
+ rmdir("dir/subdir/subsubdir");
|
|
+
|
|
+ /* try again with partial existence */
|
|
+ if (mkdir_recursive("dir/subdir/subsubdir"))
|
|
+ return -1;
|
|
+
|
|
+ if (file_type("dir/subdir/subsubdir") != S_IFDIR)
|
|
+ return -1;
|
|
+
|
|
+ rmdir("dir/subdir/subsubdir");
|
|
+ rmdir("dir/subdir");
|
|
+ rmdir("dir");
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+int
|
|
+test_recurse_multislash() {
|
|
+ if (mkdir_recursive("dir/subdir///subsubdir"))
|
|
+ return -1;
|
|
+
|
|
+ if (file_type("dir/subdir/subsubdir") != S_IFDIR)
|
|
+ return -1;
|
|
+
|
|
+ rmdir("dir/subdir/subsubdir");
|
|
+ rmdir("dir/subdir");
|
|
+
|
|
+ /* try again with partial existence */
|
|
+ if (mkdir_recursive("dir/subdir/subsubdir///"))
|
|
+ return -1;
|
|
+
|
|
+ if (file_type("dir/subdir/subsubdir") != S_IFDIR)
|
|
+ return -1;
|
|
+
|
|
+ rmdir("dir/subdir/subsubdir");
|
|
+ rmdir("dir/subdir");
|
|
+ rmdir("dir");
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+int
|
|
+test_parent_notdir() {
|
|
+ int fd = open("file", O_CREAT, 0600);
|
|
+ if (fd < 0)
|
|
+ return -1;
|
|
+ close(fd);
|
|
+
|
|
+ if (mkdir_recursive("file") == 0)
|
|
+ return -1;
|
|
+ if (mkdir_recursive("file/dir") == 0)
|
|
+ return -1;
|
|
+
|
|
+ unlink("file");
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+int
|
|
+main()
|
|
+{
|
|
+ char *base_dir = strdup("/tmp/ppp_utils_utest.XXXXXX");
|
|
+ int failure = 0;
|
|
+
|
|
+ if (mkdtemp(base_dir) == NULL) {
|
|
+ printf("Could not create test directory, aborting\n");
|
|
+ return 1;
|
|
+ }
|
|
+
|
|
+ if (chdir(base_dir) < 0) {
|
|
+ printf("Could not enter newly created test dir, aborting\n");
|
|
+ return 1;
|
|
+ }
|
|
+
|
|
+ if (test_simple()) {
|
|
+ printf("Could not create simple directory\n");
|
|
+ failure++;
|
|
+ }
|
|
+
|
|
+ if (test_recurse()) {
|
|
+ printf("Could not create recursive directory\n");
|
|
+ failure++;
|
|
+ }
|
|
+
|
|
+ if (test_recurse_multislash()) {
|
|
+ printf("Could not create recursive directory with multiple slashes\n");
|
|
+ failure++;
|
|
+ }
|
|
+
|
|
+ if (test_parent_notdir()) {
|
|
+ printf("Creating over a file appeared to work?\n");
|
|
+ failure++;
|
|
+ }
|
|
+
|
|
+ rmdir(base_dir);
|
|
+ free(base_dir);
|
|
+ return failure;
|
|
+}
|
|
--- pppd/tdb.c.orig
|
|
+++ pppd/tdb.c
|
|
@@ -60,8 +60,11 @@
|
|
#include <sys/mman.h>
|
|
#include <sys/stat.h>
|
|
#include <signal.h>
|
|
+
|
|
+#include "pppd-private.h"
|
|
#include "tdb.h"
|
|
#include "spinlock.h"
|
|
+#include "pathnames.h"
|
|
|
|
#define TDB_MAGIC_FOOD "TDB file\n"
|
|
#define TDB_VERSION (0x26011967 + 6)
|
|
@@ -1728,7 +1731,12 @@ TDB_CONTEXT *tdb_open_ex(const char *nam
|
|
goto internal;
|
|
}
|
|
|
|
+again:
|
|
if ((tdb->fd = open(name, open_flags, mode)) == -1) {
|
|
+ if ((open_flags & O_CREAT) && errno == ENOENT &&
|
|
+ mkdir_recursive(PPP_PATH_VARRUN) == 0)
|
|
+ goto again;
|
|
+
|
|
TDB_LOG((tdb, 5, "tdb_open_ex: could not open file %s: %s\n",
|
|
name, strerror(errno)));
|
|
goto fail; /* errno set by open(2) */
|
|
--- pppd/Makefile.in.orig
|
|
+++ pppd/Makefile.in
|
|
@@ -92,8 +92,8 @@ POST_UNINSTALL = :
|
|
build_triplet = @build@
|
|
host_triplet = @host@
|
|
sbin_PROGRAMS = pppd$(EXEEXT) $(am__EXEEXT_4)
|
|
-check_PROGRAMS = utest_crypto$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
|
|
- $(am__EXEEXT_3)
|
|
+check_PROGRAMS = utest_crypto$(EXEEXT) utest_utils$(EXEEXT) \
|
|
+ $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3)
|
|
@WITH_SRP_TRUE@am__append_1 = srp-entry
|
|
@WITH_SRP_TRUE@am__append_2 = srp-entry.8
|
|
@PPP_WITH_SYSTEM_CA_PATH_TRUE@am__append_3 = -DSYSTEM_CA_PATH='"@SYSTEM_CA_PATH@"'
|
|
@@ -258,6 +258,13 @@ utest_pppcrypt_LINK = $(LIBTOOL) $(AM_V_
|
|
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
|
$(AM_CFLAGS) $(CFLAGS) $(utest_pppcrypt_LDFLAGS) $(LDFLAGS) -o \
|
|
$@
|
|
+am_utest_utils_OBJECTS = utest_utils-utils.$(OBJEXT) \
|
|
+ utest_utils-utils_utest.$(OBJEXT)
|
|
+utest_utils_OBJECTS = $(am_utest_utils_OBJECTS)
|
|
+utest_utils_LDADD = $(LDADD)
|
|
+utest_utils_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
|
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
|
+ $(utest_utils_LDFLAGS) $(LDFLAGS) -o $@
|
|
AM_V_P = $(am__v_P_@AM_V@)
|
|
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
|
am__v_P_0 = false
|
|
@@ -300,7 +307,9 @@ am__depfiles_remade = ./$(DEPDIR)/libppp
|
|
./$(DEPDIR)/utest_crypto-crypto.Po \
|
|
./$(DEPDIR)/utest_peap-mppe.Po ./$(DEPDIR)/utest_peap-peap.Po \
|
|
./$(DEPDIR)/utest_peap-utils.Po \
|
|
- ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po
|
|
+ ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po \
|
|
+ ./$(DEPDIR)/utest_utils-utils.Po \
|
|
+ ./$(DEPDIR)/utest_utils-utils_utest.Po
|
|
am__mv = mv -f
|
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
@@ -323,11 +332,11 @@ am__v_CCLD_1 =
|
|
SOURCES = $(libppp_crypto_la_SOURCES) $(pppd_SOURCES) \
|
|
$(srp_entry_SOURCES) $(utest_chap_SOURCES) \
|
|
$(utest_crypto_SOURCES) $(utest_peap_SOURCES) \
|
|
- $(utest_pppcrypt_SOURCES)
|
|
+ $(utest_pppcrypt_SOURCES) $(utest_utils_SOURCES)
|
|
DIST_SOURCES = $(libppp_crypto_la_SOURCES) $(am__pppd_SOURCES_DIST) \
|
|
$(am__srp_entry_SOURCES_DIST) $(utest_chap_SOURCES) \
|
|
$(utest_crypto_SOURCES) $(utest_peap_SOURCES) \
|
|
- $(utest_pppcrypt_SOURCES)
|
|
+ $(utest_pppcrypt_SOURCES) $(utest_utils_SOURCES)
|
|
am__can_run_installinfo = \
|
|
case $$AM_UPDATE_INFO_DIR in \
|
|
n|no|NO) false;; \
|
|
@@ -733,6 +742,9 @@ utest_crypto_LDFLAGS =
|
|
utest_pppcrypt_SOURCES = crypto_ms.c
|
|
utest_pppcrypt_CPPFLAGS = -DUNIT_TEST_MSCRYPTO
|
|
utest_pppcrypt_LDFLAGS =
|
|
+utest_utils_SOURCES = utils.c utils_utest.c
|
|
+utest_utils_CPPFLAGS = -DUNIT_TEST
|
|
+utest_utils_LDFLAGS =
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = pppd.pc
|
|
pppd_includedir = $(includedir)/pppd
|
|
@@ -955,6 +967,10 @@ utest_pppcrypt$(EXEEXT): $(utest_pppcryp
|
|
@rm -f utest_pppcrypt$(EXEEXT)
|
|
$(AM_V_CCLD)$(utest_pppcrypt_LINK) $(utest_pppcrypt_OBJECTS) $(utest_pppcrypt_LDADD) $(LIBS)
|
|
|
|
+utest_utils$(EXEEXT): $(utest_utils_OBJECTS) $(utest_utils_DEPENDENCIES) $(EXTRA_utest_utils_DEPENDENCIES)
|
|
+ @rm -f utest_utils$(EXEEXT)
|
|
+ $(AM_V_CCLD)$(utest_utils_LINK) $(utest_utils_OBJECTS) $(utest_utils_LDADD) $(LIBS)
|
|
+
|
|
mostlyclean-compile:
|
|
-rm -f *.$(OBJEXT)
|
|
|
|
@@ -1006,6 +1022,8 @@ distclean-compile:
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_peap-peap.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_peap-utils.Po@am__quote@ # am--include-marker
|
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_utils-utils.Po@am__quote@ # am--include-marker
|
|
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utest_utils-utils_utest.Po@am__quote@ # am--include-marker
|
|
|
|
$(am__depfiles_remade):
|
|
@$(MKDIR_P) $(@D)
|
|
@@ -1629,6 +1647,34 @@ utest_pppcrypt-crypto_ms.obj: crypto_ms.
|
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_pppcrypt_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_pppcrypt-crypto_ms.obj `if test -f 'crypto_ms.c'; then $(CYGPATH_W) 'crypto_ms.c'; else $(CYGPATH_W) '$(srcdir)/crypto_ms.c'; fi`
|
|
|
|
+utest_utils-utils.o: utils.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils.o -MD -MP -MF $(DEPDIR)/utest_utils-utils.Tpo -c -o utest_utils-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils.Tpo $(DEPDIR)/utest_utils-utils.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='utest_utils-utils.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
|
|
+
|
|
+utest_utils-utils.obj: utils.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils.obj -MD -MP -MF $(DEPDIR)/utest_utils-utils.Tpo -c -o utest_utils-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi`
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils.Tpo $(DEPDIR)/utest_utils-utils.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='utest_utils-utils.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi`
|
|
+
|
|
+utest_utils-utils_utest.o: utils_utest.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils_utest.o -MD -MP -MF $(DEPDIR)/utest_utils-utils_utest.Tpo -c -o utest_utils-utils_utest.o `test -f 'utils_utest.c' || echo '$(srcdir)/'`utils_utest.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils_utest.Tpo $(DEPDIR)/utest_utils-utils_utest.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils_utest.c' object='utest_utils-utils_utest.o' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils_utest.o `test -f 'utils_utest.c' || echo '$(srcdir)/'`utils_utest.c
|
|
+
|
|
+utest_utils-utils_utest.obj: utils_utest.c
|
|
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utest_utils-utils_utest.obj -MD -MP -MF $(DEPDIR)/utest_utils-utils_utest.Tpo -c -o utest_utils-utils_utest.obj `if test -f 'utils_utest.c'; then $(CYGPATH_W) 'utils_utest.c'; else $(CYGPATH_W) '$(srcdir)/utils_utest.c'; fi`
|
|
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/utest_utils-utils_utest.Tpo $(DEPDIR)/utest_utils-utils_utest.Po
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils_utest.c' object='utest_utils-utils_utest.obj' libtool=no @AMDEPBACKSLASH@
|
|
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(utest_utils_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utest_utils-utils_utest.obj `if test -f 'utils_utest.c'; then $(CYGPATH_W) 'utils_utest.c'; else $(CYGPATH_W) '$(srcdir)/utils_utest.c'; fi`
|
|
+
|
|
mostlyclean-libtool:
|
|
-rm -f *.lo
|
|
|
|
@@ -1918,6 +1964,13 @@ utest_crypto.log: utest_crypto$(EXEEXT)
|
|
--log-file $$b.log --trs-file $$b.trs \
|
|
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
|
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
|
+utest_utils.log: utest_utils$(EXEEXT)
|
|
+ @p='utest_utils$(EXEEXT)'; \
|
|
+ b='utest_utils'; \
|
|
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
|
|
+ --log-file $$b.log --trs-file $$b.trs \
|
|
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
|
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
|
|
utest_chap.log: utest_chap$(EXEEXT)
|
|
@p='utest_chap$(EXEEXT)'; \
|
|
b='utest_chap'; \
|
|
@@ -2080,6 +2133,8 @@ distclean: distclean-am
|
|
-rm -f ./$(DEPDIR)/utest_peap-peap.Po
|
|
-rm -f ./$(DEPDIR)/utest_peap-utils.Po
|
|
-rm -f ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po
|
|
+ -rm -f ./$(DEPDIR)/utest_utils-utils.Po
|
|
+ -rm -f ./$(DEPDIR)/utest_utils-utils_utest.Po
|
|
-rm -f Makefile
|
|
distclean-am: clean-am distclean-compile distclean-generic \
|
|
distclean-hdr distclean-tags
|
|
@@ -2171,6 +2226,8 @@ maintainer-clean: maintainer-clean-am
|
|
-rm -f ./$(DEPDIR)/utest_peap-peap.Po
|
|
-rm -f ./$(DEPDIR)/utest_peap-utils.Po
|
|
-rm -f ./$(DEPDIR)/utest_pppcrypt-crypto_ms.Po
|
|
+ -rm -f ./$(DEPDIR)/utest_utils-utils.Po
|
|
+ -rm -f ./$(DEPDIR)/utest_utils-utils_utest.Po
|
|
-rm -f Makefile
|
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
|
|